現在SEの仕事をしています。業務ではJavaやPHPなどを使っていますが、

自己啓発の為、独学で他の言語を学習したいと考えています。
C/C++、Ruby、JavaScript、Objective-C、Scheme等々考えられます。

いくつかの言語を同時に身につけたいと考えておりますが、
そのようにして、学習をされている方はおられるでしょうか?
要領よく身につける方法や、注意点などがございましたらお教え願えませんでしょうか?
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/05/27 22:30:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント20pt

自分の駆け出しのころの話ですが、ご参考までに――。


要件を1つだけ決めて、同じアルゴリズムを複数の言語で実装するという修行をしていました。

算術処理系は、ハレー彗星の出現予報をするという要件で(年代が分かっちゃいますね)、これを C, FORTRAN, BASIC, PL/1 で実装しました。

論理処理系は診療支援エキスパートシステムという要件で、これを Lisp, Prolog, SmallTalk で実装しました。


同じ要件を同時に実装すると、モジュールの作り方の癖や、レスポンス向上のための肝が分かりますね。

注意点としては、できるだけ簡単なプログラムから始めることです。実用的で複雑なものを手がけようとすると、途中で息切れしてしまいます。

いまなら、暗号化処理とかどうでしょう。

また、うちのホームページの「PHP中級テクニック」で毎回簡単なプログラムを紹介していますので、これを他言語へ移植してみるのも面白いかもしれません。

id:kujoqtaro

お返事、ありがとうございます。

pahooさんは、色々な言語で実装をされておられるのですね。驚きました。

僕自身は、画像処理に興味がありますので、

同じ処理を別々の言語で実装するという、勉強方法が良さそうです。

ご丁寧にありがとうございました。

2009/05/21 22:12:47
id:AZUY No.2

回答回数343ベストアンサー獲得回数12

ポイント20pt

Haskell 、Cをまずおさえたほうがよいです。

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門山下 伸夫

ソフトバンククリエイティブ 2006-06-01
売り上げランキング : 49756

おすすめ平均 star
star関数型言語入門の決定版
starHaskellに触れるにはこの本からが良いと思います。

Amazonで詳しく見る
by G-Tools

id:kujoqtaro

C/C++言語は独学で少しかじった程度です。

ご紹介いただいたHaskellの本も購入して、勉強してみたいと思います。

どうもありがとうございました。

2009/05/21 22:14:01
id:garyo No.3

回答回数1782ベストアンサー獲得回数96

ポイント20pt

やはり、ただ本のサンプルなどを入力するだけだと、モチベーションが上がらないので

基本的な文法などを覚えたら、仕事のツールなどを他の言語で作ったりすると良いと思います。

簡単なツールを勉強中の言語で作成して、仕事で使ってみたり、他の人に公開してみるといいのではないでしょうか。

私もいろんなツールを色々な言語で書いたりしています(他の人がメンテしないツール限定ですが)

会社の同僚に使ってもらったり、オープンソースやフリーソフトとして公開してみるのもいいと思います。

id:kujoqtaro

仕事のツールとは、具体的にはどのようなツールなのでしょうか?

自作のツールを用いて仕事をするという事がなかなか想像出来ません。。

ある程度、実装が進めばオープンソースにしてみたいと考えています。

どうもありがとうございました。

2009/05/21 22:17:36
id:garyo No.4

回答回数1782ベストアンサー獲得回数96

ポイント20pt

>仕事のツールとは、具体的にはどのようなツールなのでしょうか?

>自作のツールを用いて仕事をするという事がなかなか想像出来ません。。

私は組込み系のプログラマなので、いろいろ仕事用のツールを自作することがあります。

例えば最近はZigBeeのRSSIとPERを測定してパソコンで表示するツールを作成しました。

本業はC/C++のプログラマですが、簡単なツールは勉強がてら、RubyやVB.netで作ったりします。

あるいは通常の業務を楽にするためのツール(例えばEXCEL,WORDなどの定型処理を自動化したりするツール)などであれば、自分用に作ったツールが他の方にも使ってもらえるのではないでしょうか。

id:randk No.5

回答回数77ベストアンサー獲得回数4

ポイント20pt

まぁ正解なんてないですけど・・・

私はRubyとRuby on Railsをお勧めしておきます。

実装に近いCとオブジェクト指向のJavaを習得されたとのことですので、

次は洗練されたObject指向の実装のひとつであり、ツールとしても利用の容易なスクリプト言語としてRubyをどうぞ。

また、いまどきのWebフレームワークの代表格であるRuby on Railsを習得されると、

ここ数年のフレームワーク(とそれによる生産性向上)の進化が理解できるかとおもいます。

その後Javaの世界に戻ったときにもきっと今までのJavaのスキルとは一味違った見識が持てる(あらたな発想が身につく)と思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません