人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPとLinuxサーバの管理で生きています。20代前半でWeb系に2年くらいいます。PHP以外の言語を使えるようになりたいのですが、これから勉強するならばどの言語をはじめるべきでしょうか? お勧めの言語とライブラリなど組み合わせを教えてください。メリットとデメリットも知りたいです。PythonやJavaまたはRubyやPerlで悩んでいます(社内ではJavaを勧められています)。サーバサイドがいいです。実務で使いたいです。会社の中ではオープンソースのチームに居て、自分自身もそれに満足しています。よろしくおねがいします。

●質問者: hibariya
●カテゴリ:コンピュータ インターネット
✍キーワード:20代 Java Linux Perl PHP
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● pahoo
●20ポイント

この先の業務によって変わると思います。

一般論として、基幹系業務に就くならJava(EJB)、Webフロントエンドを担当するなら Ruby でしょうか。


オープンソースを使い続けるかどうかは、会社の方針があると思います。

GPLについては、過去質問「オープンソースライセンスのGPLにおけるリンクの扱いについて」などにも記されているように、日本の開発習慣にそぐわない点もあるので、GPLな言語だけで大丈夫かと言われると、何とも言えません。

余裕があれば、C#も学んでおくと良いかもしれません。

◎質問者からの返答

ありがとうございます。Ruby面白そうです。C#は綺麗なソースをみたときからこっそり好きです。


2 ● garyo
●20ポイント

>PythonやJavaまたはRubyやPerl

*Perl vs Ruby

Rubyは元々「Perlをオブジェクト指向にして使いやすくしたい」ということから作られているので

Perlを学ぶよりはRubyを学んだほうがいいと思います(Rubyの名前は6月の誕生石がパールで次の7月がルビーだからということにちなんでいるそうです)

*Java vs Ruby

流れ的にはJavaからRubyへ、となっているようでs。

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド

  • 作者: Bruce A. Tate
  • 出版社/メーカー: オライリー・ジャパン
  • メディア: 単行本(ソフトカバー)

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に注力しようと思います。

ありがとうございます。


3 ● あひる
●20ポイント

やはり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ですね。確かに同時に勉強するのも効果がありそうです。

ありがとうございます。


4 ● るびきち
●20ポイント

今はRuby on RailsがアツいのでRubyがいいと思います。

今、Ruby on Rails本ラッシュなのでどれかを当たってみましょう。

RubyやPerlやPythonといったスクリプト言語をやっていると、

日常業務の自動化を促進できるというオマケがついてきます。

オマケというか、スクリプト言語はもともとそれが主眼ですが…

素早いスクリプティングができるのが魅力です。

ああ、めんどくせぇと思ったらスクリプト言語の出番です。

最終的にJavaをやることになったとしても、スクリプト言語を身に付けておくと楽です。

◎質問者からの返答

ちょちょっと書いてさっと解決できる。やはりRubyですか、覚えるのが楽しみです!

詳しくは知らないですが、この頃はRubyの案件増えたみたいですね。

ありがとうございます。


5 ● あひる
●20ポイント

自分の回答にコメントを付けてしまいましたけど、5回まで回答できるんですね。Hatena初心者なのでご容赦願います。

サーバーサイドということであれば、PHPもある意味サーバーサイドですね。もちろんサーバーサイドで代表的なのはJavaで記述したServletなどがあり、

はじめてのJSP&サーブレットプログラミング―Eclipse WTP 2.0対応 (TECHNICAL MASTER)

はじめてのJSP&サーブレットプログラミング―Eclipse WTP 2.0対応 (TECHNICAL MASTER)

  • 作者: アイティーブースト
  • 出版社/メーカー: 秀和システム
  • メディア: 単行本

、JavaScriptなどをサーバーサイドで使用することによる動的WEBページの生成なども可能です。

サーブレット&JSP逆引き大全650の極意

サーブレット&JSP逆引き大全650の極意

  • 作者: 川崎 克巳
  • 出版社/メーカー: 秀和システム
  • メディア: 単行本

JSP業務アプリケーション短期開発入門

JSP業務アプリケーション短期開発入門

  • 作者: 竹形 誠司
  • 出版社/メーカー: ラトルズ
  • メディア: 単行本

◎質問者からの返答

ぼくも初心者ですです。ポイントの使い方もいまいち分かっていないかもです。

(ポイントについての指摘や罵倒を是非!)

> JavaScriptなどをサーバーサイドで使用

こんなこともできるんですね!

Javaは大きくて複雑でとても奥が深そうなので、長い目で勉強していきたいと思います。

お勧めいただいた本、チェックしてみます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ