|
カテゴリ:プログラム的日記
【プログラム的日記】
最近こんなことを言われます。 「YUWってJavaが出来るんだろ?」 「YUWってC++が出来るんだろ?」 この様に人によって、俺ができる・できないプログラミング言語のイメージが違うみたいです。 ちなみに言っておきますが、俺が一番得意(というか好き)な言語はVisual C++(MFCではなくSDK)とDirect X(まぁ、これもある種のVisual C++ですけどね)です。 なんでこうも勘違いされるのか?と言いますと 大学の授業は基本はJavaで行います。 バイト場でのプログラムはJavaもしくは、Visual C++です。 (てか今のバイト場には、Visual C++のスキルで入れたんですがね だから、時と場合によって俺が扱う言語は違う訳です。 では、沢山の言語を勉強してきたのか?と言うとそうではないです。 実際、第一線で戦っているプログラマも真剣に取り組んだ勉強は、一つか二つだけでしょう。 実際、俺はC++(その延長線上のVisual C++)くらいしか勉強していません。 何が言いたいのか?って言うと、沢山の言語を勉強するよりも、一つの言語を集中的に勉強した方がいいってことですね。 一つの言語で色々と組みまくると、『アルゴリズム』並びに『論理ロジック』が自然に成長します。 ぶっちゃけ、プログラミング言語(関数型と手続き型では違うのですが)は、アルゴリズムと論理ロジックさえあれば、どの言語にも対応できるんですよね。 だから、俺が始めてJavaを触った時でも、メインの宣言方法やJavaの仕様を調べただけで、後はリファレンスを参考に簡単に取り込むことができました。 よく、『何からプログラムを勉強していっていいのか分からない』と質問を受けます。 そういう時は、『どの言語からやってもかまわんよ、いずれ全ての言語に対応できるようになっているから』と答えるようにしています。 俺もはじめは、そんな馬鹿なことがあるのか?って思っていましたが、プログラムをやり始めて数年・・・いつの間にかそのように言えるようになっていました。 これからプログラムを始めようと思っている人は、なんでもいいです、どの言語でもいいからそれを中心に、てかそればっか勉強してください(笑 ちなみに、今どの言語でもいいですといいましたが、本当の話、どの言語でもよくは無いわけで・・・(上記と矛盾していますが プログラムには、大きく分けて関数型言語と、手続き型言語(オブジェクト指向プログラムもあえて手続き型言語のカテゴリに入れます)に分かれます。 簡単に二つの言語の説明をしまうと、関数型言語は 状態と言う概念を持たない為、参照透過性が保たれる 簡単に言うと、変数への代入処理は値を宣言した最初しか無理な訳です。 次に手続き型言語は 関数言語とは違い、参照透過性が保たれない 簡単に言うと、状況に応じて複数回変数に代入する必要があると言う意味です。 さぁ、何言ってるのか分からなくなりましたね。 代表的な言語を紹介しますと 関数型言語は、ハスケル・COBOL・FORTRANなどで 手続き型言語は、C/C++、Java 関数型言語は、基本的にシステム設計などで使われると聞きます、ぶっちゃけ俺は関数型言語で仕事したことがないので何もいえないのが実情です。 手続き型言語は、アプリケーション開発や、ネットワークプログラミング、果てはゲームプログラミングでも用いられます。(関数型言語でもゲームプログラミングをしているという話は聞いたことがありますが、本当かどうかは分かりません) まず、プログラムを勉強するに当たって、将来どんなプログラムを組んでみたいか?と言うことを考えないといけません。 その上で、関数型言語か手続き型言語かを選択して、そのカテゴリ内のプログラムを勉強していれば間違いないというわけです。 といっても、今大学の方でハスケルやらCOBOLやらやらされていますが、あんま苦になっていないので、どっちの言語から勉強してもいいのかもしれないと思うようになったんですけどね(笑 お気に入りの記事を「いいね!」で応援しよう
Last updated
Jan 25, 2006 03:43:20 AM
コメント(0) | コメントを書く
[プログラム的日記] カテゴリの最新記事
|