スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

覚えてきたプログラム言語

CATEGORYプログラム
おもしろいじゃない >他の人の遍歴
ほんの少しJava→少しHSP→少しC→わりとHSP→わりとPerl→わりとHSP→かなりPerl→わりとAction Script→かなりPHP→かなりC→わりとScheme→かなりC(今ココ!)
僕のプログラミング習得記

じゃあ、ぼくも。

  1. ペーパー Z80 assembler
  2. しっかり N80-BASIC
  3. ちょっと Fortran
  4. それなりに Turbo pascal
  5. 少しは 8086 assembler
  6. しっかり C
  7. どっぷり Fortran
  8. 必要に応じて VBA
  9. どっぷり C++
  10. ちょこちょこ awk
  11. ちょこちょこ sh
  12. ちょっと javascript
  13. どっぷり java
  14. 暇をみて ruby
  15. 仕方なく VB
  16. 読むだけ COBOL
  17. どっぷり javascript
  18. 仕方なく perl
  19. まだまだ javascript


入り口は、ワンチップのボードマイコンのアセンブラ。
とても手が出る買い物じゃなかったので、雑誌と書籍で覚えて、頭の中だけでエヘエヘしてた。

ようやく買ってもらったPCは、PC-8001 mk2。
グラフィックが楽しかった (今にして思えば、かなりしょぼい)。

(実習の Fortran を除いて) 学校で使うときの選択肢は、Turbo pascal と Lattice C。
コンパイルって何かよくわからなくて、選んだのは Turbo pascal。
データ処理とか、プロッターでグラフを書いたりとか、それなりにのめりこんだ。

会社に入って使ったのは、C と Fortran。
世の中は unix が流行りつつあるときだったのだけれど、担当したのは汎用機もどき。
当然のようにメインの言語は Fortran に。

言語として制約は多いし、流通しているライブラリもない。
プログラマの実力がそのまま品質につながっているような仕事で、クズのような他人のソースを一杯なおした。
でも、そのおかげで、コーディングする前の設計の大事さとか、いわゆるソフトウェア工学で習うような常識の大事さとか、
障害を作りこみにくいコーディングの仕方とか、いろいろ大事なことを学習した。

メインは Fortran だったけど、PC を LAN でつないだりもしたので、C も覚えることに。
時代は OS/2 だったので、WindowProc を覚えたのは OS/2。WIN32API じゃなくて、Presentation Manager ね。
しばらくしてから WindowsNT もやったけど、クソみたいに遅くて、泣いた日もあった。

時代はパソコン通信。
NIFTY のフォーラムとかを見ててずっと気になってた C++。
ちょっとボリュームがある Fortran のプログラムを 汎用機→unix に移植しなきゃいけない
プロジェクトを任されたのを幸いに、C++ でやることを決めた。

しばらくは、どっぷり C++ & OO。
STL の楽しさを覚えた。
「設計が大事」と言いつつも、具体的な答えをくれなかったのが、それまでの手法だったが、OMT が答えをくれたように思えた。

当然、unix 系の OS なので、自然と shell script や sed/awk を覚えることになる。

資料は、Word や Excel で作ることが多くなり、必要に迫られて VBA でコードを書くようになった。

何個目かのプロジェクトで、ちょっと余裕があったので、それまでクラサバっぽく画面を作ってたのを、WEB でやってみることに。
今じゃ考えられないけど、周りは「perl って?」みたいな感じだったので、CGI を C と shell script で無理矢理作らせた :-)
今にして思えば、付け焼刃の中途半端なんだけど、HTML と javascript をかじった。


2000年問題を仕事として経験した後、それまでの分野では食っていくのが厳しくなって、配置転換。
配置先では、クライアント:VB + サーバ:COBOL の世界。
それまでクソだと思ってた VB*1 と、一生読むことが無い*2と思ってた COBOL。

幸いにも、java でやらなきゃいけないプロジェクトがあって、そちらに立候補。
要件は Web だったので、javascript にもどっぷり。
今までは、他人任せだった SQL を自分でも書き出したのはこの頃か。

でも、それまで C++ & STL どっぷりだったので、java はフラストレーションがたまる。
はけ口で、個人用のツールは ruby で書くようになった。

perl は論外だと思ってたのだが、出先で使う計算機にいちいち ruby を入れて回るわけにもいかず、ちょっと複雑な処理は perl を使うように。

# おっと、最後に覚えたのは perl かい...



振り返ってみると、システム工学系の学科に居なかったので、LISP や Scheme とは縁が無かったなあ。
次に覚えるのはなんだろう。



最後に、トラックバック先に言及。

まあ結論として、プログラミング学習に王道なんか無いって事です。
僕のプログラミング習得記


元々、一本の道じゃないんだと思う。

ポインタ(というよりは、メモリのアドレスとジャンプテーブルか)を先に知らなくても、素性が良いプログラムは書けるだろう。
でも、(特別な人以外は)ソートのアルゴリズムを(調べることもせずに)自分で考えないで欲しい。

ちょっと視野を広げてみれば、プログラム言語の学習はあくまでも「まともなプログラムを作る」ための手段なのであって、その目的のためには、他にも知っておくべきことはあるのだし。

精神論(は、あまり好きじゃないのだけれど)で言えば、サンプルコードのコピペと(無駄な)試行錯誤の繰り返しで、なんとか動くプログラムを作っただけで「俺はやったぜ」みたいなところで立ち止まらないで、次のステージに進もうとするのが、目指すべき方向なのかな、と思う。

太い道が一本あるんじゃなくて、いろいろ道はあるけれど、向かってる方向は(きっと)ひとつ、みたいな。


# 自戒をこめて




そういえば、会社の研修でシーケンサーをやった。ラダー図は読める(そのときは、読めた)。
あれは、プログラム言語ではないか。
関連記事
スポンサーサイト

0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。