« 2007年4月 | トップページ | 2007年10月 »

2007年9月26日 (水)

複雑すぎる件

現在と将来の計画をみていると、プログラムの世界の複雑化が非常な速度で進行しているように感じます。

現在、上級エンジニア・上級プログラマを自負するのならばどれだけのことを知っている必要があるでしょうか?またはどれだけの経験を積んでいる必要があるでしょうか?

VBがどんなに詳しくてもだめです。C#やJavaに詳しくてもだめです。上級を名のるならどれかのプログラミング言語に精通していることはもちろん、データベース・ネットワーク・セキュリティ・Web・スケーラビリティなどをはじめいろいろなことを知っていなくてはいけません。

Javaに精通しているだけでWebサイトを構築できるでしょうか?もちろん、できません。できても穴だらけなはずです。

一昔前はそもそもWeb開発というものがありませんでしたし、セキュリティにもほとんど気を配る必要はありませんでした。データベースも今と比べると低機能・低性能でしたがシンプルでした。そして今、それらは複雑です。複雑系といってもいいくらいです。

さらに、今後の未来を見るとこの傾向は強まるばかりです。

自分の方向性を見定めてポイントしぼった方がいいかも。初学者には敷居が高くなりそうですね。

AJAX、Silverlight、XNA、SAS、VSTS、ADO.NET Entity Framework、SSIS、ADSI、WCF、…、思いつくままに並べてみましたがみなさん、こういった続々と登場する言葉やテクノロジを見て何を感じますか?

あれもこれもと手を出さないで、器用に習得していくことが重要なようです。全部にどっぷりなんてとても無理です。この傾向はなんとなくさびしい感じがします。

| | コメント (0) | トラックバック (0)

2007年9月24日 (月)

そろそろLINQ

そろそろ真面目にLINQに取り組み始めました。

今までも表面的なことはわかって、多少はいじれはしていたのですが、英語のドキュメントも頑張って読みながら本格的に研究し始めました。英語のドキュメントはWeb翻訳の力を借りながらなので読むのにかなり時間がかかります…。

で、まだみなさんの参考になるほどの成果はないのですが大分雰囲気はわかってきました。

どこまで実用的かは未検証ですが、LINQを使用するとコレクションや配列だけでなく、AccessやSQL Serverのデータベースにも簡単に照会を行うことができます。ひょっとすると今後のデータベースアプリケーションのあり方を変えていくことになるかもしれないと思いました。

LINQは冬に発売予定のVisual Basic 2008から導入される機能です。C#にも導入されます。ベータ版は無料でダウンロードできるので意欲的な方はぜひ触ってみてください。

ある程度まとまってきたら、Visual Basic 中学校でも本格的にLINQを取り上げる予定です。

あと、LINQは「リンク」と読みます。「リンキュー」じゃありません。

| | コメント (0) | トラックバック (0)

2007年9月21日 (金)

Enumの読み方

列挙体を宣言するときのキーワードEnumですが、いつも読み方に自信がないのであまり口に出さないようにしています。

今日、私の友人2人はこれを「イーナン」と呼んでいました。私は思わず「えっ?」と聞き返してしまいました。

私自身は「エナム」または「エナン」と呼んでいます。VB中学校では「エナム または エニューマレーション」という読み方を紹介しています。これはEnumがenumerationの略だからです。

enumerationは発音記号によると「イニューマレーション」と読むようです。

どれが正しいということも気になりますが、どれが多数派ということも気になります。みなさんはなんて呼んでますか?

この手の話ってよくありますよね。Charも通常は「キャラ」と読むのですが、「チャー」と呼ぶ人もいますよね。

そういえばImportsのこと「インポート」って読んでませんか?本当は「インポーツ」ですよね?Crystal Reportsも「クリスタルレポート」ってみんな読んでいるし。まぁ通じればいいんですけど。

| | コメント (0) | トラックバック (0)

2007年9月19日 (水)

SQL Server 2008

もうすぐSQL Server 2008がリリースされます。もうすぐと言っても来年半ばくらいらしいですが、機能的には大分完成してきているようでCTP版も意欲的にリリースされています。

一般の方は気にしていないかもしれませんが、企業がSQL Serverを導入する場合、規模にもよりますが数百万から数十億のお金がかかります。
SQL Serverとはそれだけ高い製品です。

これくらい高い製品になると、使う側が求める機能もさまざまなようです。
今回はSQL Server 2005からのマイナーバージョンアップと言う扱いですが、それでも新機能一覧にはいろいろな言葉が並んでいます。

私のような開発側の視点では新しいSQLの機能とか、新しいデータ型、それにSQL CLRなどに関心が行きがちですが、開発よりの機能は飽和状態らしくマイクロソフトは高可用性やスケーラビリティなどに注目しているようです。

とは言え、開発向けの新しい機能がないわけではありません。SQL文にMERGEが追加されました!
簡単に言うと、レコードが存在しなければINSER、存在すればUPDATEのような分岐を可能にする便利なキーワードです。
…が、もっと便利にできないものですかね。

たとえば、架空のキーワードUPSERTを使用して、次のように書くとします。
UPSERT T_社員 SET ID='A001', Name='VB太郎', Age=21
これはID='A001'の社員がいなければ、このデータを追加し、いればこのデータで上書きすると言う処理を表現しています(私が勝手にそう決めただけです)。
こういう風に使えれば便利だと思いませんか?

MERGERはOracleで実績があるようですが、上記のUPSERTのような構文もよさそうだと思いませんか?

私は自作のライブラリではこのような処理を実現しています。

※SQL Server 2008にはMERGE以外にも興味深い機能はいろいろあります。

| | コメント (0) | トラックバック (0)

« 2007年4月 | トップページ | 2007年10月 »