« バカとテストと腹筋ブレイク3.5 | メイン | 信者乙と感じるとき (主に俺が) »

2008年02月11日

もっともタメになる初心者用言語はもう人それぞれです。

最もタメになる「初心者用言語」まとめ
もうすっかり旬も過ぎているけどw
一応、業務でC、Java、C#といった定義カタめの言語からPerl、Ruby、PHPとスクリプト言語まで使ったことある経験からすると、

 もっとも最初に「叩いてほしい」言語はC。
 もっとも堕落しそうな言語はPHP。

実のところPerlは結構Cライクな気の使い方(多重配列では「配列の参照を配列に渡す」とか)をするので、
なんていうか「適当に書いても動くC」みたいなところがありますが、
PHPに慣れたらもう戻れません。
連想配列の連想配列の連想配列の連想配列でデータを整理したりとかやりたいほうだい。

Rubyは…どうなんだろう。実はそこまで使い込んでないし、コードを見たことが無いけど。
RoRとか使ってこれから流行るといいかも。

PHPもRubyも書きやすい言語だと思うし、実際Rubyは使い続けると手になじむ予感はひしひしとするのだけれど、
最初からあれに慣れてしまうと多分、CとかJavaとかかったるくてやってられない気がする。

だからC。あのメモリの中をいじりまわしてる感覚を、JavaやPHPなんかで組んでいるときにも意識してほしいなぁと思うですよ。

ただ、これはCUIやWebアプリの話で、もしGUIのクライアントアプリを作りたいのであれば、
最初に触るのはVBでもVC++でも、とにかくIDEつきのものがいいと思う。

なぜならCでGTKとかだとくじけるから。JavaでSwingとかでも泣けるから。窓一個だすまでにどんだけとか。
その点からしてお勧めはC#。そしてVisuallStudio。これ。
IDEがサポートしてくれるのでストレスの無い書き方が出来るし、フォームとか作りやすいし。
実は言語としてC#はやってくれないかなぁとも思ってる。意外と増えてきているみたいですよ? VBの代わりに

でもこのあたりは実は「少しは勉強した初心者(または仕事でやんなくちゃいけない初心者)」向けの意見であって、
ほんとうに触ったことも無い趣味の人であれば、もう考えてる前に適当にやっちゃやいいんじゃないとか思う。

もうWebアプリならPHP、GUIなら適当にIDEついたもの(VS+C#かEclipse+Javaあたり?)でしょうか。
※ただしPHP4はオブジェクト関係の実装が超微妙なのでお勧めしない。PHP5からじゃないと絶対駄目。

もうね、これに関しては初心者はPHPで脆弱なウェブアプリをどんどん量産すべしというエントリがアツすぎて激しく同意。
すげー感動した。すばらしすぎる。

御託を並べるより先に作ったもんが勝ちってのは俺たちが一番良くしってるはず。

もうファイル一枚にフォームのHTML書いて投げられたやつを$_GETで受け取ってそのままSQL文に結合でもしてやりゃいい。
別のページでもほとんどおんなじHTMLが吐き出したい? こぴぺすればいいじゃない。
受け取った結果で一寸出力を変えたい? IF文というものがある。そしてPHPはHTMLにコードを混ぜて使える。

それらを駆使して一つ仕上げて、それからCなりJavaなりRubyなり、別の言語を改めて学ぶもいいし、
PHPを続けるのもいい。
そのときに冒頭のようにC言語になれておくといいかなぁとは思う。PHPの慣れが浅いうちに。

で、この結論だと結局「初心者向けはC」とも「初心者向けはPHP」とも取れると思うのだけど、
それは私自身がそういった感じであるからで、(最初はBASIC->VB->C++->Perl->PHP)
他の経歴の人に言わせれば当然違うでしょう。

だから人それぞれってのは、「(周りにいる)人それぞれ」ではないかと思う。
周りにいる質問できそうな詳しい人が知ってる言語。
ネットで調べたり書籍買い込んだんなら、それに載ってる言語。
つまり本当のとっかかりはどれでもいいんじゃないか、挫折しなければというのが結論かなぁ。
※個人的にはアセンブラとか敷居高いと思うけどw

・でも仕事もそれでいいの?
金が絡むと話は別。
いや、基本的に困るのは技術的な側面ではなくて、ビジネス的な側面になりますが。
そういうときは現場のリーダーのいうことを聞いてください。

セキュリティセキュリティとうるさかったり、みんな過剰に反応するのは、
もしそういうアレなことになったときに最終的不利益を被るのは貴方ではない誰かであって、
その誰かさんになる確率が高いからなんじゃないかと思います。
別に貴方たちの作ったサイトがバグってそれを自分らで直ぐに治すのは、
テンションあがってるときなんかだとむしろ使命感すら燃えているんじゃないかと思うのですが、

それが貴方たちのサイトで無い場合に損害賠償をつきつけられるのは貴方たちじゃありませんと。
直したり設計きり直すのは貴方たちじゃありませんと。いうことだけわかってください。
それは技術的な部分とは一切関係ありません。

・え、でも僕(私)はメンバー一人で、もちろん経験0なんですけど……

お前は今、泣いていい


よくあることなのがとても楽しいですね。
そのプロジェクトが貴方の失敗と成長もコミで見積もられているなら、逆に幸運かもしれません。
とにかく動くものを作ってこまめに提出、修正、そして提出を繰り返すといいと思います。
提出するのは客ではなくてプログラムのわかる人または上司でお願い。

つうか昨日までぜんぜん関係ない仕事してた人にノミとカンナ渡して家作って来い。一人でとか普通ありえないと思うんだけどね。
自分がそうなんだけども、イチから教わった経験がないものだから、とりあえず家作ってきてとなってしまうあたりが問題なんだよなぁ。多分。

経験0で挫折しなかったひとと組んだときの経験としては、処理後の結果と日数(最後は自分で全部書き直す可能性も込みで)を決めてやって「とりあえず作ってみて」と投げて、
こまめにこちらから様子を確認してみるとよかったかなと思います。
こちらから聞いたときに疑問とか質問とか聞いてくるし、そのうち向こうから聞いてくるようになるし。
後はメンバーが2人以上は必要かなぁ。経験未経験問わず。
「話しても邪魔にならない人(仕事が同じ人)」が必要だと思います。
個人的には、開発業務の初心者一人プロジェクトってそいつを欝にするためだけにあると思っています

・結局……
個人的に書きやすい、書きづらいということはあるけど、初心者に適した言語は存在しない。
どうせ最初はIFとFORと変数と関数程度わかれば十分だろう。
強いていうなら周りに聞ける人がいる言語。あと日本語。

投稿者 kagerou : 2008年02月11日 17:51

Twitter

この記事をTwitterでつぶやく

トラックバック

このエントリーのトラックバックURL:
http://scriptlife.hacca.jp/cgi-bin/MT/mt-tb.cgi/577

コメント

コメントしてください




保存しますか?