読者です 読者をやめる 読者になる 読者になる

ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)

Gunma.web 勉強会

今回は比較的真面目モード(´・ω・)っ

スライド

  • #5/#6のスライドは凝った背景だったけど、UPしたら壊れた
  • SlideShareにUPすることを想定すると、シンプルがいい
    • というか、SlideShareと関係なく、シンプルにすべきではある

関連

  • 個人ポータル

補足

  • 今回の発表で、特定のプログラム言語を卑下する意図は一切ないです
    • そのように取られる記述があるとすれば、単純に私の勉強不足です
  • 発表で取り上げたのは、以下の条件を満たす言語です
    • 私が本を読んだかコード書いたかしたことがある
    • Webシステムで使われている言語(主にサーバサイド側のロジックとして)
  • よし、予防線は張った∠( ゚д゚)/
  • 今回は補足事項を資料のおまけに入れてしまった・・・
    • いつもやってる手法ではあるけど
    • ちょっと前に「資料だけbuzzった」のも意識にあったかも
  • 言語関連はこだわりがある人が多いので、中立な立場を相当に意識
    • それでもかなり言われまくった(((((( ;゚Д゚)))))
  • タイトルの通り、「プログラマでない人」を意識
    • そのわりには細かいけど(´-ω-)
    • Gunma.webの特性上、非プログラマの人も少なくないため
      • あまりコアな話題をやっても( ゚д゚)ポカーン される
      • 関数型言語のネタとかね!!(つД`)・゚・。
    • もくもく会との差別化の意味もある
  • 「世間で思われていることの逆」を入れる感じに
    • Perl:今でも十分使えるよ!
    • Java:Webでも使うよ!
    • Ruby:(万能感があるけど)使いづらい領域もあるよ!
      • それは単に現場の問題だとmatzは言っているけど、現実問題として
    • PHP:そんな簡単な言語じゃないよ!
      • とりあえず wasbook を読むんだ( ゚Д゚)y─~~
      • PHPをやってなくても読むんだщ(゚Д゚щ)
    • C#:Windows専用ではないよ!
    • Scala:Javaで動くけどJava屋が扱えるかは別問題だよ!
    • JavaScript:サーバでも動くよ!
  • 取り扱わなかった言語について
    • CoffeeScript
      • おまけに入れた理由の通り
      • 私はかなり好きだけど、「プログラマでない人」向けの話ではない
      • 少なくとも、今はまだ
    • Haskell:Webで何か作る場合にこれが最初に挙がるかというと・・・
      • もちろん環境によるけど、人が集まらないのでは
    • Erlang:いまいち把握しきれてない(´・ω・`)
      • CouchDBとかEralngで書かれている
      • 本も一応読んだよ( ゚д゚)o彡゚
    • Python:書いたことがない
      • どうしてもRubyとかぶるので・・・
      • GAEの検証をした時も、「Javaでいいや」と思ってしまった
    • APL:名前だけ見てクスッと笑える人向けの仕込みネタ
    • VB:どっちかというと業務寄りかなって
      • 実際、私がVBを仕事で使ったのも業務システム
      • というか、.net系はC#があればいいかなって
    • ActionScript / (Flex):忘れていた(ノ´・ω・)ノミ(m´_ _)m
      • どうにも私の興味対象がサーバサイド寄りなので・・・
    • Lua:単体ではあまり使わない気がする
      • そもそも何かと併用する、という思想だし
      • TokyoTyrantの中で、とか
      • RO内でのホムンクルスAI記述、とか
      • ゲームを(ミドルウェア上の)Luaで作る流れもあるけど、Webではないね
    • C / C++:Webのロジック層にCを今使うかというと・・・
      • 昔はCで書かれたCGIもあった
      • もちろん、各言語はほぼCで書かれている
    • Lisp:書いたことない
      • お子さんやお孫さんはWebで使われているけども
    • Clojure:完全に忘れていたΣ(゚Д゚)ガーン
    • COBOL:書いたことないし、Webかと言われると・・・
      • Haskellとは違う意味でWeb向きではないような
    • SQL:「ロジック」を記述する言語ではない
    • Objective-C:あいぽんとかMac用=not Web
    • Prolog:「論理型言語」は触ったことない
    • なでしこ:あれこそ業務向けというか、ライセンスがよくわからぬ
    • HSP:ゲームに使いなされ
    • KQ:ダァシエリイェッス!! http://ideone.com/DDWfy
    • ほむほむ:ほむほむ http://bit.ly/l8y3nt
    • マシン語/アセンブラ/秀丸マクロ:君たち、いい加減にしたまへ( ゚Д゚)y─~~
    • きりがないからこの辺で
  • 今回はネタ分少なめ
    • タイトルと画像くらい・・・?
    • あのアニメは1回だけ見たけどさっぱりわからんかった(´-ω-)
    • なので余計にネタ分が薄い
  • 当初は言語で妄想ネタくらいの勢いだった
    • 例えば・・・
Java:初恋の人

あんなに好きだったのに、
お互いのことをよく理解していたと思っていたのに、
ちょっと疎遠になっただけで、いつの間にか冷めてしまった

今でもたまに会うけど、会話が続かない

「元気?」「まあ、それなりに・・・」

一緒に話していても、心のどこかにRubyさんがいる
それをJavaさんもわかっている、そんな微妙な関係
    • こんなんを、それぞれにΣ(・ω・ノ)ノ
    • 元々Blogに書くつもりだったものの、痛すぎて封印的な
    • でもせっかくだから真面目ネタを交えつつやろうかと思ったところ・・・
    • ・・・これを見てしまった後でそんなネタできるかい?(((((( ;゚Д゚)))))
    • そんなわけで、真面目な部分のみ残ってしまった
  • 次回は勢い重視で( ゚д゚)o彡゚
  • ちなみに、今回一番「うけた」のは私の(ある種の)ミス
    • 資料の切れ目的に「そろそろお疲れでしょう?」と入れた
    • そのタイミングで一番疲れていたのが私だったΣ(゚Д゚)ガーン
    • リハでは12分で調整したのに、本番では10分のペースでしゃべってしまった
      • そりゃ息も切れるわ・・・
    • 本番だとあせっていかんね
      • 意図的なクールダウンタイミングを資料に入れた方がいいのかもしれない
  • 質問で聞かれたことにも触れざるを得まい
    • いや、触れたくないんだけど、本当は
  • 「採用の参考にするから、HOTな言語と落ち目な言語を教えて」
    • あまりに巨大な地雷である(((((( ;゚Д゚)))))
  • そもそも、このネタを書くきっかけがまさにこの質問に関する記事
    • スタートアップに最適な言語的な
    • でも、あまりに内容が偏っていたのでここには書かない
    • 発表時にはトレンドなものだけ答えた
      • あくまで「個人的な見解」として
    • 結局、その会社で何を使っているかによるだろうし
    • あえて今までと違う言語を選ぶのなら、何か合理的な理由があるはず
    • その「理由」に沿う人を採用すべき
      • と、全力で逃げておくよΣ(・ω・ノ)ノ
  • そういえば「プログラミング言語グンマー」を作ってと言われたような・・・
    • Brainf*ck準拠で良ければパーサーはすぐできそう
    • ただ、それで何か書きたいかね・・・?
    • というか、グンマー関連で並べて面白いワードって・・・(´・ω・)?