2014-09-02

初心者が学ぶプログラミング言語について

意見を聞かせて欲しい。

今更Perlを始める理由なんてないと言われて久しい。

なるほど確かに教養としてPerlは知っておいた方が良いが、より優れた言語がある。

そして、推される筆頭はRubyだろうか。

そう思ってきた。

が、どうしてもPerlより良いと思える言語がない。

ブラウザで使うなら選択の余地はないので、あの言語は除外しよう。

で、未経験者でも聞いたことの有りそうなこのあたりはこの辺り。

C, C++, C#JavaPerlPHPRubyPython

Hello, World!を見比べたら

「publicてなに?staticってなに?voidってなに? mainはメインなんだろうけど []ってなに?argsってなに?なんでint mainstr mainとかあかんの?たまに*印ついてるのなに?全部意味分からんし解説もなしにおまじないって言って飛ばしてるケースも多いしなんか詳しく言ってるっぽいのもあるけどその分かる人だけが分かるような言い方やめて私のライフはもう0よ!なんで一言「やぁ!」っていうのにどれだけのことを理解せなあかんのよ!」

となるのでスクリプト言語が残るだろう。

Webしか使わない言語関数名もキモイから除外しておくと、PerlRubyPythonの三択となる。

私がPerlを選んだ当時は、Ruby信者が先鋭的で他人攻撃しないと気が済まないという風評を目にしたので外した。

そしてPythonはまだ日本では弱いらしい一方、PerlはてなmixiAmazonでまで使われていて、

恰幅のいいヒゲおっさん他、情報を発信する人の量・質ともに非常に高い様子だったから、Perlを選んだ。

ここから本題。

あれから数年。

新たなものを学ぼうと思い、Pythonは昔バージョンの違いでなかなか動かせず、またPython2と3で随分変わってしまうようなので、

Rubyを始めてみようと思ったんだ。

Next Perlというだけあって馴染みやすい書き方も多く、洗練されてるなってすごく関心した。

マ・クベでなくてもキリシア様に届けたくなる言語だ。

ところで、学ぶには目的必要である

学ぶこと自体目的なので、何をしたいって、何もないので、とりあえずPerlでやってることを全て移植してみることから始めた。

Net::FTPSSL

 うごかない。

 まぁそんなこともあるよね。

Net::LDAP

 うごかない。

 まぁPerlでもActive Directoryに繋ぐのは随分苦労したしな・・・

WWW::Mechanize:

 うごかない。

 CentOS 6に入ってるRubyではバージョンが違って動かないって・・・

結論Rubyでは俺の仕事は何もできない。

上手くいかないのは仕方ないよ。でもmechanize、昔動いてたのに今動かないって何なの?

それにgemsのサイト、もうちょっと何とかならんの?

モジュールクリックしたら作者のサイトに飛ぶし、マニュアルの書き方も作者次第でバラバラ…読みづらい…

CPANみたいにちゃんとやってよ。

ネット上の情報バージョンが違って動かないことも多々あるようだ。Perlなら5.8で書いたものが5.20になっても当たり前に動くよ?

CentOS 6とFedora 20のそれぞれで出てくるエラーも違うし、Perl下地があっても正直キツイ

洗練されていいな!って思った分余計に残念だ。

こんなバージョン違えば動かなくて当たり前で、Rail抜いたら情報も半減するような言語、本当に初心者向けでいいの?

使える人が使える用途で使えるバージョンを選んで使うとステキ。そんなん初心者向けじゃねぇぇぇっぇ。

いや、言語の学びやすさとこれとは別問題なんだろうけど、Perlの安定度と情報の量・質・多彩さで比較になってない。

言語のものRubyの方が上でも、使えない道具は劣る道具じゃんよ。

身の回りの雑多な仕事を片付ける」って用途の方が特殊なんだろうか。

Rubyは良い言語だって思ってた。しかし、分からなくなってしまった。

教えてくれ。

キリシア様に届けていい言語はなんなんだ?

  • 追記

s/キリシア/キシリア/

すまない、ちょっと距離と速度を確認して全門斉射してくる。

  • 追記2

一晩経ってたくさんブクマ、見てくれてありがとう

でもたいした議論もないということは、概ね合ってるのだろうか。

あと、perldocの情報量もすごいと思う。ある程度Perlが使えるようになってからじゃないと読むのはキツイけど、

言語書籍じゃなしにあれだけ詳しく書かれたものってあるかな

kiyo_hiko型が動的なのが耐えられなくて結局Java

冗長になったので削除したけど → 「Perlで学ぶ欠点は型の意識が非常に希薄なままになること」

これホントに身につかなかった。静的型付け言語に行こうとして盛大に躓く。

  • マジレスするとPHPがええやろ。バージョン上げるだけで殆どの機能は使えるようになるし、(逆もあるっちゃあるが)プラグインとかはapt-getで入れりゃええ。 管理楽やで。ソース書くの...

  • タイトルにだけ答えるならJavaScript一択。 環境準備が簡単 情報が豊富 結果が目に見える 仕事にも繋がる キリシア様に届けていい言語、golangとか?

  • 「publicてなに?staticってなに?voidってなに? mainはメインなんだろうけど []ってなに?argsってなに?なんでint main?str mainとかあかんの?たまに*印ついてるのなに?全部意味が分からん...

    • 異議あり! C++ではvoidは必要ないかもしれないけどintが必要だから、(初歩レベルでの)実質的な複雑さはCと変わりない!

  • そーやって嘘かいて滅亡するべきクソperlを進めるのはやめろ

  • 全体に何を言ってるかよくわからんかったが、WWW::Mechanizeだけ使ったことがあって心当たりがあったので調べてみた。 出典は↓のサイトhttp://d.hatena.ne.jp/kitamomonga/20110628/ruby_mechanize_2_0 こ...

    • 元増田です。さすがにそこまでアホじゃないです。 簡単に言いましょう。今も昔もOSはCentOS 6.x。  昔:gem install mechanize -> OK  今:gem install mechanize -> ERROR: Error installing mechanize: mime-ty...

      • ぶっちゃけも何も、サーバ用途でCentOS選んでるのってかなり情弱っぽい気がしないでもない。ubuntu serverでええやん。

  • Perlでの業務経験5年超を経て数年前Rubyに転身した俺が通りますよ。 自分がそうだったのでよくわかるけど、PerlとRubyは良く似ているからこそ、Perlに慣れた人が不慣れなRubyを使い始める...

    • 元増田です。 while(<>){ } とかの書き方の差はどうでも良いのです。 基本的にその辺はRubyの方が上だと思っているので。 困ったのは ・ネットで見つけたコードがバージョンの違いで動...

      • あなたみたいに、ニッチなことはやるけど情報が見つからないとお手上げみたいな、微妙な上級者だか初心者だか分からないような層って少なさそうだから、あんまり共感は得られない...

        • http://anond.hatelabo.jp/20140905152346 http://anond.hatelabo.jp/20140905152302 あ、いや、全然上級なことはなくて。 単に「社内にある昔ながらのモノ」を使わないといけないというだけで・・・ 今どき...

          • インフラ屋とプログラマって違う人種だからね。似たような業務だから両方こなす場合もあるけど、思想は共に極にあるもんだから。 プログラマ屋を無理にめざすなら、とりあえず「破...

      • APIの仕様がちょっと変わっただけでにっちもさっちもいかなくなるって増田は相当…じゃねえか。 そんなに転んでばっかなら、そろそろ自分用のライブラリとか創り出してもおかしくな...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん