LL言語と学習方針を考えてみた

LL言語だいすき

最近は,もっぱらLL言語(軽量プログラミング言語)しか学ぶつもりがなくなっています.どうせハードウェア性能はまだまだ上がっていくでしょうし,ゆるふわWebプログラマのスタンスとして,LL言語にフォーカス絞るほうが良さそうかな,と.

その上で,PHP偏重の1年目から,jQuery( != JavaScript)が加わった2年目を経て,別の言語パラダイムを学ぶことの重要性を痛感したので,今年に入ってからJavaScript方面の知識強化を図っています.

個人的に今年いっぱいの取り組み方針をまとめてみる.

PHP

PHPから入っているゆるふわWebプログラマなので,依然としてPHPは俺の嫁状態です.PHPがdisられてもまけない.(#`^´)=3

使用領域

主に業務として,サーバーサイドは基本的にPHPしか扱っていません.現在の会社は内製フレームワークを使うので,世間一般で使われるFWは使っていません.(密かな危機感)

最近は,PHP5.3以降で動作する謎フレームワーク( Ah - GitHub )作りを週末の趣味にしたりして遊んでいます.

環境

PhpStormでの開発で安定しています.今のところ不満はありません.(使ってるマシンが非力でCPUが悲鳴を上げるけど,それでも不満とは言いません!)適宜,skEdit等の軽量エディタも併用しています.

今後

  • try! catch! throw! な例外脳の醸成
  • ユニットテスト等のテスト・デバッグ技法の修得

上記2点を,目下のテーマとしたい所.現在もXDebugでプロファイリングとかをすることはありますが,テスト・デバッグ全般についての知識&経験に欠けているのでそこを補っていこうかと.あと例外脳.

FW絡みの危機感はありつつも,会社で余所のFWを使うことはないでしょうし,趣味で何か立ち上げるにしても恐らく自作フレームワークを拡張して遊ぶ方向に突っ走ると思います.だから年内に,SymfonyやCodeIgniterをまじめに触る可能性は低め.

あー,でもCIぐらいならちょろっとミニアプリに使ってみるのはいいですよね.

JavaScript

本当にごく最近,jQuery脳からの脱出を試みて,jQueryを使わないJavaScriptの修行をはじめました.書き方が柔軟でJavaScript楽しいですね!

使用領域

業務ではjQueryによるフロントの実装が主ですが,製品以外はライブラリに縛りがあるわけではないので,試そうと思ったらわりと自由に選べています.たとえば今の案件はuupaa.jsに依存しています.

環境

エディタは,これもPhpStormで安定.(PhpStormは,JavaScriptについてWebStormと同様の機能を備えているため)

今後

  • JavaScriptを書き慣れる
  • node.jsでアプリ作ってみる
  • Titanium Mobileも試してみたい

クロスブラウザがどうこうという所は,ある程度把握した上で,実際には既存のライブラリを頼っています.あと,Webブラウザ以外で動作させるJavaScriptには興味津々.ブラウザ間の変なしがらみなくJavaScriptを楽しめる感じなので期待しています.

本当は,Sencha TouchやExt JSも突っ込んでみたいところですが,これらは業務案件の巡り合わせがないとなかなか機会に乏しそう.

Ruby

純粋オブジェクト指向でメタプロでPerlとLispが結婚して隔世遺伝が黒魔術で生まれた言語。主な出産地は島根県の県庁所在地、松江市。小学校の頃に全県の県庁所在地を覚えるように言われた時、どうしても覚えられなかった松江市。 プログラミング言語人気TOP10の簡易解説

解説ワロスw JavaScriptと並行して,自分の中で株が急上昇しています.

使用領域

つい最近,業務スクリプト(ルーチンワークの解決や自動化)に,Rubyを使い始めました.そのうち機会があれば,Ruby on Railsとかは使ってみたいところですが,Webで使う予定は今のところ無し.

環境

Emacsのruby-modeで十分な感じ.

今後

  • とにかく書き続ける

まだまだ文法レベルの知識も足りていないので,当面は地道に書いて使ってみることで,ノリを習得するところから.

いまのところスクリプト的な用途なので,文字列操作とファイル操作が主ですがPHPよりラクな印象.少なくともこれらの領域なら,組み込み関数天国のPHPと比べても不便しないぐらい,メソッドとかユーティリティが揃ってて良い感じ.

その他

さくらのVPSのおかげで,いまのところ実経験はCentOSだけですが,自力で開発環境ぐらいは立ち上げられるようになりました.やればUbuntsuとかFedoraもいけるはず.

apache, nginx, mysql 等のミドルウェアのセッティング・チューニングも,これからの守備範囲として見ています.rubyと絡めて,自動化用のシェルスクリプトも書くようになってます.

サーバー・インフラの深淵も徐々にたぐっていきたいところ.クライアントも含めてですが,何事もパフォーマンス重要.パフォーマンスのための知識・経験は超重要.という認識.

来年以降は...

次は..あるとしたら,Java(or Scala)か,Objective Cってことで,ブラウザ以外のクライアント環境をどうこうできるようにしたくなるのかなー,という所です.でもやっぱLL言語が最優先かな.

2011-03-07 追記

[ブログ投下] LL言語と学習方針を考えてみた http://bit.ly/fqxRkS .@ahomuさんのブログにインスパイアな記事。Sun Mar 06 07:45:42 via Echofon

伊藤清徳の垂直落下式ムーンサルトプレス » Blog Archive » LL言語と学習方針を考えてみた

インスパイアしちゃったみたいです(*´-`)ノ

まず最初思った。私も「LL言語」って言葉使っちゃうんですが、LL = Light weight Language なので「LL言語」は重複表現ですな(^-^;

あ...(;´-`)