この先の業務によって変わると思います。
一般論として、基幹系業務に就くならJava(EJB)、Webフロントエンドを担当するなら Ruby でしょうか。
オープンソースを使い続けるかどうかは、会社の方針があると思います。
GPLについては、過去質問「オープンソースライセンスのGPLにおけるリンクの扱いについて」などにも記されているように、日本の開発習慣にそぐわない点もあるので、GPLな言語だけで大丈夫かと言われると、何とも言えません。
余裕があれば、C#も学んでおくと良いかもしれません。
>PythonやJavaまたはRubyやPerl
*Perl vs Ruby
Rubyは元々「Perlをオブジェクト指向にして使いやすくしたい」ということから作られているので
Perlを学ぶよりはRubyを学んだほうがいいと思います(Rubyの名前は6月の誕生石がパールで次の7月がルビーだからということにちなんでいるそうです)
*Java vs Ruby
流れ的にはJavaからRubyへ、となっているようでs。
http://www.google.co.jp/search?q=Java%E3%81%8B%E3%82%89Ruby%E3%8...
「静的オブジェクト指向は設計者が苦労を背負込むシステム」こちらでは
http://blogs.wankuma.com/nagise/archive/2008/05/10/137150.aspx
逆にJavaのような静的オブジェクト指向といのは初心者の軍を率いて戦うには向いていると思います。業務用システムのような、大量の仕様を人海戦術で捌かなければならない状況によくマッチする。
RubyなどのLLは中級以上で少数の人による開発に向いていると書いてあります。
静的型付け言語に比べてRubyの動的型付け言語はとても自由で面白いです。少しさわってみるだけで「こんな考え方もあるんだ」と驚かれるでしょう。
*Python vs Ruby
共に構造化スクリプト言語で似ているので好みの問題かも知れません。
*ライブラリ
Rubyのライブラリはgemsで管理されています。「gem install ライブラリ名」で大体インストールできます。一番人気はRuby on Railsでしょう。
個人的なお勧めはRubyですが、質問者さんの状況を考えると以下の考えもあります。
>サーバサイドがいいです。
サーバーサイドとのことなので、同じような言語になってしまいますが、覚えるなら、カバーする領域がまったく異なるものの方が、問題解決能力が広がるという点でいいと思います。
よく言われるのはコンパイルして実行する言語を1つとLLを1つ覚えるというものです。
既にPHPを覚えられているのであれば、クライアント側のソフトも作れるJavaを選択するというの手もあるかも知れません。
今まで全く避けてきたRubyに興味が出てきました。
gemとは素敵な名前ですね。Ruby on Railsは是非チェックしてみたいと思います。
コンパイラ言語も覚えておきたいですね、やることが沢山あります!
Pythonには少し興味があったのですが、今回はその分Rubyに注力しようと思います。
ありがとうございます。
やはりJavaとRubyですね。どちらもJava系と言えますが。Perlは言語自体は簡単ですが、正規表現(1)、正規表現(2)を覚えるのが大変です。しかし、正規表現を覚えることで多様な面でのスキルアップに繋がります。Perlのみならず sed/awkなどのスクリプト言語、find, grep, vi, emacs などのツール(コマンド)使いに直結します。もちろんJavaでも正規表現は使用できますし、DBMSへのアクセス言語であるSQLでも使えます。特にこれらのスクリプト言語はLinux(UNIX)のシステム管理には必須ではないのでしょうか。
なので、WEB面ではJava, Ruby、システム管理の面ではPerlを勉強することをお勧め致します。ソフトウェアエンジニアが複数言語に精通しているのは割と普通のことです。複数の言語を同時に勉強しても良いでしょう。
むむ、正規表現ですね。これは是非きちんと覚えておきたいです。
ひとの書いたawkコマンドはいまだ魔法にしか見えません。
Java+Ruby+Perlですね。確かに同時に勉強するのも効果がありそうです。
ありがとうございます。
今はRuby on RailsがアツいのでRubyがいいと思います。
今、Ruby on Rails本ラッシュなのでどれかを当たってみましょう。
RubyやPerlやPythonといったスクリプト言語をやっていると、
日常業務の自動化を促進できるというオマケがついてきます。
オマケというか、スクリプト言語はもともとそれが主眼ですが…
素早いスクリプティングができるのが魅力です。
ああ、めんどくせぇと思ったらスクリプト言語の出番です。
最終的にJavaをやることになったとしても、スクリプト言語を身に付けておくと楽です。
ちょちょっと書いてさっと解決できる。やはりRubyですか、覚えるのが楽しみです!
詳しくは知らないですが、この頃はRubyの案件増えたみたいですね。
ありがとうございます。
自分の回答にコメントを付けてしまいましたけど、5回まで回答できるんですね。Hatena初心者なのでご容赦願います。
サーバーサイドということであれば、PHPもある意味サーバーサイドですね。もちろんサーバーサイドで代表的なのはJavaで記述したServletなどがあり、
はじめてのJSP&サーブレットプログラミング―Eclipse WTP 2.0対応 (TECHNICAL MASTER)
、JavaScriptなどをサーバーサイドで使用することによる動的WEBページの生成なども可能です。
ぼくも初心者ですです。ポイントの使い方もいまいち分かっていないかもです。
(ポイントについての指摘や罵倒を是非!)
> JavaScriptなどをサーバーサイドで使用
こんなこともできるんですね!
Javaは大きくて複雑でとても奥が深そうなので、長い目で勉強していきたいと思います。
お勧めいただいた本、チェックしてみます!
ありがとうございます。Ruby面白そうです。C#は綺麗なソースをみたときからこっそり好きです。