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/キリシア/キシリア/

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

トラックバック - http://anond.hatelabo.jp/20140902151456
  • http://anond.hatelabo.jp/20140902151456

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

    • http://anond.hatelabo.jp/20140902154624

      Webアプリ開発したいわけでも無さそうな相手になーんでPHP薦めてんのよー PHPしか知らないおじさんですかー

      • http://anond.hatelabo.jp/20140902154907

        どの言語だってクライアントでも動くんやから、PHPで悪い理由にはならへんで。 というか、ちょい複雑なシェルスクリプト書く場合とかにPHPで書くケースは結構あるで。mapとかreduce、filt...

        • http://anond.hatelabo.jp/20140902155559

          というか、ちょい複雑なシェルスクリプト書く場合とかにPHPで書くケースは結構あるで。mapとかreduce、filterとか普通に使えるからな。 そんな奴見たこと無い。awkとかで大概どうでもな...

          • http://anond.hatelabo.jp/20140902160914

            「ちょっと」複雑な。具体的にはクローラーやで。 bashメインで書いてるんだけど、jsonだったりURL文字列だったりの複号/符号化はbash単体でやるにはちと辛い。 そんな時にスクリプト内...

            • http://anond.hatelabo.jp/20140902161559

              いや、bashと組み合わせるなら、それこそrubyとかperl、pythonが簡単だよ。 コマンドの実行結果取得だってrubyは簡単。 result = `ls -l` お前がbashとPHPとJavaしか知らなくて、新しいこと覚えたく...

              • http://anond.hatelabo.jp/20140902163749

                依存が逆や。pythonの中でコマンド呼ぶんやなくて、bashの中でPHPを呼ぶんや。PHPは初期化が必要ないから、一行の中に概ねコマンドが収まるんやで。 便利やぞ。

                • http://anond.hatelabo.jp/20140902164308

                  bashの中でPHPを呼ぶんや。PHPは初期化が必要ないから、一行の中に概ねコマンドが収まるんやで。 一行に収まらないならそもそもBashで書くなよ。 全部PHPをで書けよ。 それが無理だから...

  • http://anond.hatelabo.jp/20140902151456

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

  • http://anond.hatelabo.jp/20140902151456

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