- ベストアンサー
プログラミングについて学んでいきたいのですが・・・
現在高校2年なのですが、将来プログラマーの職につければなとおもっています。 ここで質問なのですが、まずプログラミング言語を学びたいのですが、「c」とか「c++」など様々な言語があってどれから学べばいいかわかりません。 あと将来的にプログラマーはすべてのプログラミング言語を使えなければならないのでしょうか?あるいはいくつぐらい(種類など)を使いこなせなければならないのでしょうか? プログラマー等の方おしえてください。 判断材料がたりなければ補足していきます。 長文にて
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 通りすがりのエンジニアです。 現場(職場)で感じることを含めて、回答いたします^^ 参考になれば幸です。 > ここで質問なのですが、まずプログラミング言語を学びたいのですが、 >「c」とか「c++」など様々な言語があってどれから学べばいいかわかり >ません。 プログラミング言語を勉強したいのであれば、なんでも良いと思います。 これでは質問の答えにならないかもしれませんが、目的が「プログラミング言語」の勉強であれば、自分が好きな言語を勉強して問題ないと思います。 その場合のポイントとしては ・日本語の参考書及び参考サイトが沢山あること。 ・質問サイトやメーリングリストで活発に質疑応答されている言語であること。 ・無理なく続けられる言語であること。 あまりにもマイナーな言語を選んだ場合、プログラミング言語そのものの開発が終了する事もあります。 くらいではないでしょうか。 ちなみに、最新の言語だろうが古い言語だろうが関係ありません。 上記の条件に当てはまる言語は必然的に比較的新しい言語になるとは思いますが、気に入った言語がアセンブラだろうがBasicだろうがプログラミング作法や用法を学ぶことに何も問題は無いからです。 何を伝えたいかと申しますと・・・・ プログラミング言語の勉強であれば、興味のある言語を好きに勉強すれば問題ありません。 「どのプログラミング言語が良いの?」と言った質問については、回答してくれる人が得意な言語をそれぞれに勧められるでしょうから、ありとあらゆる言語を紹介される結果になるだけだと思われます。^^; ※C言語、PHP、C#、Basic、Ruby・・・星の数ほど沢山 もしも目的が「プログラマ及びシステムエンジニアになるための勉強」であれば、「基本情報処理技術者」の資格取得が登竜門です。 私のアドバイスですが、当面は基本情報処理技術者の勉強を始め、必要となる知識を固めるためにプログラミング言語を選ぶ方が近道だと思います。 試験問題を検証及び実験するためには、そのための知識を固める事が必要となります。 その時に、何かしらのプログラミング言語で実験したり検証したりする事が大切です。 どのようなプログラミング言語であろうが、その「何かしら」を結果的に具現化することは可能なのです。 「何かしら」の為の最短のプログラミング言語なんてわかりませんよね? 自分が選んだ言語で一生懸命やってみて、はじめて気がつく事だと私は思います。 私が受験した頃は、アセンブラ、C、フォートラン、COBOLでしたが、現在は詳しく知りません。^^; ※もう10年くらい前になります。 当時は情報処理技術者第二種と呼ばれる資格でした。 > あと将来的にプログラマーはすべてのプログラミング言語を使えなけれ >ばならないのでしょうか?あるいはいくつぐらい(種類など)を使いこな >なければならないのでしょうか? 私の意見ですが、全てのプログラミング言語を使えるようになる事は不可能だと思っています。 技術進歩のスピードは非常に早く、勉強しても勉強しても時間が足りません。 結果として、自分が一生懸命に勉強した言語を応用して、様々な現場に対応する仕事になります。 しかしながら、どの言語がどの分野で威力を発揮するかという「知識」は知っておかなければいけません。 それを知らなければプログラミング言語を選ぶ事が出来ませんし、他の言語なら簡単に作成できるプログラムを、わざわざ難しい言語で作る事になりかねません。 どんな言語でも良いので、一つの言語を極める気持ちで深く掘り下げて勉強する事をお勧めします。 おそらく、Windows上又はPCUnix上でのプログラミングになるかと思うので、選ぶ言語は質問者様が気に入った言語なら何でも良いと思いますよ。 ※マイコンキットを利用する場合、話は別です。 その場合はアセンブラから勉強する事をお勧めします。 それと平行して、他の言語の得意分野や利用方法の知識を勉強すれば、おのずと必要な時に必要なだけ新しい技術を取り入れることが出来ますよ。 <PS> ・手っ取り早くアルゴリズムや試験問題を実験する場合のオススメ Ruby、Perl、Python等のスクリプト言語。 Rubyは純国産なので日本語の資料が豊富です。 ・OSを作成するようなハードウェアに近いソフトを作成する場合のオススメ C言語、アセンブラ ・最新のプラットフォームを利用して実験したい場合のオススメ NETプラットフォームを利用した言語→C#、VB等 VMを利用した言語→Java、JRuby等 Windows上であれば開発環境も無料で高機能の物が沢山ある。 VisualStudio、WideStudio等 以上、長文失礼しました。
その他の回答 (5)
- ABE Yasuhiro(@yadiary)
- ベストアンサー率66% (18/27)
何かしらのプログラミング言語を良く知っている事は、他の言語を理解する土台として重要です。 ただ最初に学ぶ言語はアルゴリズムや設計を理解するためのとっかかりなので何でも良いです。 挫折しなければC言語でも良いですが、最初はシンプルなRubyなんかが良いと思います。 最終的にどういった規模、内容の仕事をしたいかによっても違いますが、大切な事は言語の数とか表面的な事ではなくて、プログラムがその裏でどのように動いているか、どんな風に設計されているか、とかそんな事に興味を持って突き詰めて行けるかどうか、ではないかなと思っています。 効率良く進めるような王道はないので、仕事にしない間に興味を持てそうなものには全部手を出してみるのが良いでしょう。「好きこそものの上手なれ」といいますから。
補足
回答ありがとうございます。 基礎をみっちりとがんばっていきます ありがとうございました。
- cametan_42
- ベストアンサー率62% (162/261)
黙ってこれをやる。 プログラミング入門: http://www1.tf.chiba-u.jp/~shin/tutorial/index.rb
補足
まったくの素人なもので、こういう入門のURLうれしいです。 ありがとうございました。
- Tasuke22
- ベストアンサー率33% (1799/5383)
ネット系のプログラミングとして、 JavaScript+PHP+MySQL+ActionScript(Flash)は 入りやすいし、直ぐに結果が見えますから分か り易いし、今後の需要も多いんじゃないかと 思います。 それでも、ベースとしてC++を抑えておきたいで すね。C++は何でも出来る基本のようなものでしょう。 例えば、デバイスドライバはネット系の言語では 出来ませんが、C++は出来るとか。 私があなたの年のときはCOBOLとFORTRANしかなかった ことを考えると羨ましい限りです。コンピュータも 能力が低くて、出来ることが少なかったですしね。 習い事は真似事からです。人が作ったものを自分の 手で1文字ずつコピーして動かしてみましょう。 見た目も楽しいFlashを手始めとしてお奨めします。 平行してコンピュータの基礎の勉強も忘れないように。 実際の仕事は仕事に就かなければ分からないことが多い です。ではプログラミングの仕事が出来るか、となると 情報処理系の国家試験とか取れば有利でしょう。 私も高校在学中に取りましたよ。 自分の希望のOSの開発部隊に入れました。
補足
回答ありがとうございます。 やっぱり時代的には学びやすいんですね。 ワー検3級しかもってない自分がかなしくなってきました(笑 これからいろいろな検定になるべく挑戦したいとおもいます。 ありがとうございました。
- OKwebb
- ベストアンサー率44% (92/208)
ひとつの言語をきっちり書けるようになれば、あとはその応用でどうにかなるもんだと思います。 要はアルゴリズムの考え方です。 > すべてのプログラミング言語を使えなければならないのでしょうか? こんな人は知っている限り1人もいません。 でも、知らない言語で仕事をしなければならない状態になっても別に抵抗なくこなします。
補足
回答ありがとうございます。 やっぱり全てというのはありえないですね。 しらない言語でも出来るっていうのはスゴイですね! ありがとうございました。
- nemoax006
- ベストアンサー率14% (343/2433)
仕事の要求があって色々ですコボルやフォートランが未だに必要なところもありますしフラッシュが必要なところもありますCやアセンブラなど色々ですね、プログラマでで何の仕事をするのか、考えて置いてください
補足
回答ありがとうございます。 恥ずかしながら未だにどんな仕事がしたいのか「プログラマ」というカテゴリしか決まっていませんでした。 これから少し時間をかけて決めていきたいと思います。とりあえずは何かの言語でアルゴリズムとゆうのをつかんでいきたいです。 ありがとうございました。
補足
回答ありがとうございます。 沢山書いてくれて納得できる説明でした 基礎やアルゴリズムといったことを考えて当面は「Rudy」から挑戦したいとおもいます。 ありがとうございました。