2008-02-11

言語の学び方続報

自分の前回のエントリは見事に若い人にもそうでない人にもスルーされ、誰も派生エントリを書いてくれずに凹んでいたけど、全然別口で情報が出てきたからいいや。ばーか。

自分はこの二人の足下にも及ばないけれども、原典派と大量の(コードを含めた)情報派の両方の言い分はなんとなく分かる。

前回なぜ自分があえてどれくらい言語の学習に苦労したか、あるいは逆にこの程度ならそこら辺のボンクラでも使えるようになるのかを書いたかというと、単に自分語りをしてみたかったというだけじゃなくて、その一つは 2ch とかで見かける

「言語なんてどれでも使えてこそプロだし、どれでも一緒」という意見にいつも疑問を感じていた

から。なぜなら

世の中には BASIC のような Perl コードや Java コードが実在し、動いている

からだ。この悪夢のようなクソコードがどうも「どれでも一緒」と言ってはばからない人の所業のように見えてならないのよね。ここはまったく根拠レス。理由は聞かないで。あえて言うなら、

有名なハッカーはたいてい得意な言語を持っていて、「どれでも一緒」と言える状態ではないように見えるから。

かな。話がそれましたか?

まぁクソコードの話はともかく、問題は「らしさ」の方。らしさについて今回

  • より多くのコードに触れる
  • 原典を読む

の二つの方法が挙ってきてるわけだけど、方法はともかく

割となんでも習得できるよと言ってはばからない人が「その言語らしさ」や設計思想を持ち出してくれている

ところがポイント。つまり

「どれでも一緒」なんかじゃねぇ!

ってこと。ちゃんとここを意識して、そのらしさ、設計思想を吸収するために自分に適した方法はコレ、と言ってくれている。ここ重要。

そうなのですよ。ぶっちゃけ「文法をやって何か動くものを書くだけ」だったらなんとかなるんですよ。オレが書いても説得力ないけどさ! 問題はその先。Ruby に「挫折した」ときだって Ruby らしくないコードならそりゃ書けてましたよ。でもそれじゃ面白くないし書きにくいだけなわけ。Ruby らしく書けてこその Ruby でしょうよ。それを含めてものすごいスピードで習得できる人が「どれでも一緒」って言うんなら納得するけど、本当にそんな人いるの?という疑問がどうしても残るわけです。

今回、その疑問はますます強くなったというか、「どれでも一緒」という意見は眉唾で聞こうという思いを新たにした次第でございます。

他人の経験を読めるのはとても面白い。だからみんな自分語りしてくれ。自分語りの文脈のときにね。

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm