2008/03/27

マイスペック2008

B0015IQ776
日経ソフトウエア2008年5月号は「はじめてのプログラミング」総力特集号。プログラミングを始めるその瞬間に知っておきたいことを,ぐぐっとまとめてお届けします。はじめてのプログラミングでは,迷いと不安がつきものです。先輩プログラマからの手紙に始まり,プログラミング言語カタログ,多くの言語で共通するプログラミングの基本概念,学ぶときに気を付けたいことなどをやさしく解説して,“着実な一歩”をしっかりサポートします。

さてはてMSっ子のじょにです。日経ソフトウエアを読んでいたら、結城先生からの手紙に以下のような部分がありました。

今の自分が知っている言葉を紙に書き出してみましょう。

~中略~

そうやって、自分のノート、自分の理解の現状を具体的な形にしていきます。そして、例えば、1年後、そのノートを振り返ったとき、あなたは格段に変化している自分に気づくでしょう。

このブログのそもそもの私の目的はそれに近いので…(学習記録帳。恥を晒す)。かなりの恥さらしと自覚しつつ、現状把握の為、マイスペックを書き出してみることにしました。

わかっていること・LOVE・使えるレベル

  • Excel(2000/2003):LOVE。関数からマクロまで。ちなみにに汚いデータを整形したり(全角・半角を整えたり、桁数を揃えたり)、表の作成等については、かなりスピードに自信あります。
  • Access(97/2000/2003):LOVE。クエリも好きですが、Accessの大抵のVBAでの操作はかなりあれこれ大技・小技を含めて使っている方だと思います。ちなみにマクロ機能はまず使いません(VBAで大抵のことはコントロールできますし、ソースだけを見れば全体像がつかめて視認性が良いので)。
  • VB6.0:主にAccessとの連携プログラムばかり作成。生成物としてはCSV、Excelデータ作成など。レポート出力はAccessのレポート機能を使っていて、クリスタルレポートは使ったことナシ。データを管理する(インポート・検索・新規登録・編集・削除・レポート出力など)ようなものや、バッチ処理系のスタンドアローンなプログラムばかり作成。APIは、パクったものの利用くらいしか使えていません。他、dll利用の圧縮ツール等。
  • Visual Basic 2005:現在主に利用中。作成しているプログラムの内容的にはVB6.0時代と同様スタンドアローンのツール。レポート出力はActiveReportにて。たまーにバッチ処理的な画像処理のクラスの作成など。TIFのフォーマットについては多少勉強。他にはAccessのDB解析プログラムなど。
  • VBScript:主にEmEditorのマクロで。WinのDBサーバーへVBScriptでODBC経由でエラーチェックつきのインポートツールを作ってみたり。Winでありさえすればなにはなくとも動くので、ちょっと楽しいと思いはじめている。

遊んだことがあるもの

  • Basic:学生時代の授業にて半年だったか1年だったか…。毎週課題が出るわけですが、今で言うギークっぽい子たちに、毎度毎度助けられていました(ちなみに私の初PC購入にあたっても、彼らに付き合ってもらいました。予算とやりたいことのみ伝えて、機器の選定から値段交渉まで全部お任せ…。配線や設定等は自力でやりましたが)。気がついたら、学期の後半には、このクラスには彼らと私しか残っていませんでした(他は全員脱落…)。
  • C言語:社会人になってからの最初の研修で10日くらい???家ではTURBO Cを入れて、ちらっと遊んでいました。ほぼ最初に触れた言語がCだったせいか、今でも型宣言等がキッチリしている言語の方が読みやすいとは感じます。
  • Java:結城本(プログラムレッスンの上下巻)を2冊読んで、OOP本の入門系のサンプルソースくらいは読めるレベル(ま、VB.NETとも似ているので…)。但し、当然、アプリを作るレベルではありません。
  • JavaScript:たまーにアイディアを思いつくと、ブラウザ上で動くミニツールを作成。ブラウザさえあれば、動くものを作れるので、ちょっと楽しいと思い始めているところ。でも普段あまり使わない言語なので、VBScriptほどにはサクサク書けず、もどかしい。
  • ASP:VBScriptとAccess連携で、セキュリティ無視の遊びレベルのツールくらいは作ったことあり(ホワイトボードや検索系)。でもセッションの使い方は、実は当時なんだかよくわかっていませんでした。今は概念はわかっていますが、実装レベルではどーでしょ?
  • ColdFusion:一週間くらい何故かいじったことがあります。業務アプリ・改修経験はナシ。
  • Python:Zope上で数日体験した程度。
  • Perl:初心者本を2冊通読した程度。インストールして多少いじったことはあるものの、ひとさまのソースもロクに読めない状況…。ソースになかなか慣れない原因その1.書き方のバリエーションがなんだか随分あるように感じられ、まごつく。その2.引数を明示しないファンクションになじめず、どこからともなく降ってわいた値がいきなり動き出しているような印象をもってしまう。その3.苦手な正規表現をばんばん使っているソースが多い。その4.Perlの関数を知らなさ過ぎる。
  • FileMaker:お友だちがこれの使い方がわからずパニくっていたので、お試し版を落として、多少のヘルプに入ったことアリ。でも根っからのAccessユーザーなので、これならAccessの方がいいや…、と思って、用が済んだらさっさとアンインストール。
  • Oracle10gEx:タダなので入れてみました。標準SQLを試しに叩いてみる程度。
  • MySQL:タダなので入れてみたことアリ。他人の作ったWebアプリを使うにあたって、ちらっといじってみたことがある程度。
  • CSS:カスケードとかはわかっていますが、あまり体系的に勉強はしておらず。整理されたCSSを書く力量はナシ。

壁を感じること・アイタタタ

  • UMLなど:設計書の類を読んだり、書いたりすること。当然、いきなりソースを書き出すタイプです。設計~開発までがある意味守備範囲なので、端折ろうと思えば端折れ、仕様を残せといわれて、大抵、作った後にごそごそ書類を書いています。設計~開発まで一人で担当できるレベルだから、どうにかなってはいるものの…。.NETに移行した際に、これからはUML図だ!──と思ったのもつかのま、挫折…。
  • ポインタ変数:C言語やC#の参考書を読むたびに、挫折。VBからC#へ移動したい気持ちはあるのに、毎回この山の麓あたりで挫折。
  • 再帰処理:どーにか他人のソースは読むものの、自力では書けない感じ。シナプスが切れている感じで、思いつけません…。
  • スレッド:追いかけているうちに、何がなんだかわからなくなります。sleepしか使ったことがないなんて…。
  • 正規表現:毎回何かしようと思うたびに、自分が欲しいと思っているモデルとなるサンプルをググって、多少改造するレベルでしか使えていません。
  • XMLとかXSLとか:入門書トライの度に、最初はわかったつもりでふんふんと思っているうちに、いつの間にか何がなんだかわからなくなってしまう。たまーに.Netから単純なものは利用したりもしますが、一体、なんなんですかー?
  • Webセキュリティ:全然知りません。SQLインジェクションとかブラインドSQLインジェクション、XSSについてもわりと最近知っておぉ…と思った暢気さ加減。いや、だからこそWebアプリは作ってこなかったわけですが。

こうして書き出してみると、アプリ使いって感じですね。自信があるのはExcelとAccessだけか!…みたいな。来年の今頃は、多少スペックは上がっているのでしょうか。

0 件のコメント: