スポンサーサイト

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

ネタつつき170 - 価値がないとされている古い情報技術について思う事

 IT業界の技術的変化は速く、秒進日歩と言われているぐらいです。私はこの業界に10数年従事しており、多くの技術が使用されなくなっていくのを目にしました。そして、学習するのをあきらめた技術者、昔に拘る技術者、新しい技術だけに飛びつく技術者、昔の技術を否定する人、・・・など、秒進日歩の変化に楽しみながらついて言っていない人を数多く目にしました。しかしながら、私はそれらの技術者に同意できません。何故ならば、私の持論は温故知新であり、無駄になった学習や経験は一切ないと考えているからです。
 IT業界は技術がすぐに使えなくなるという人が居ます。確かに古いプログラミング言語などは、実行環境も整備されておらず、動かすことすらできません。また、その仕様がわからないレガシーなシステムの革新などに悩まされた経験もあり、そう言いたい気持ちもわかります。しかし私は、完全に同意することはできません。何故ならば、そういった表面的な事は、真の技術ではないからです。真の技術とは、思想も含めたものであり、動作環境がなくなっても、その思想から学ぶべきことが多いからです。
 古い技術から学ぶべきものがないと考えている人は、今一度考えてみてください。実行環境すらないような古い技術でも、分かったつもりになっているだけではないでしょうか?もし本当に理解しているのならば、貴方は実装できますか?実装できないのであれば、その古い技術を発明した人の過去の技術力に、到達していないと考えていいと思います。つまり、わかっているつもりになっている古い技術すら、真の理解にほど遠いのです。分かっているつもりで、古い技術を馬鹿にするのは間違っています。ですから私は、新しい技術はもちろんのこと、古い技術もいまだに学んでいます。
 例えば、COM (Component Object Model)を覚えているでしょうか?COMの思想の特徴は、インタフェースプログラミングにあります。インタフェースを正しく設計し、適切に実装すれば、実装するプログラミング言語に関係なく、再利用可能なプログラムが得られます。この考えは、情報技術の本質を表わす、いまだに凄い概念です。今はもうCOMプログラミングをしませんが、システム設計能力の一部として生き続けています。
 COMはいまだに現役だという人もいるかもしれませんから、もっと古い例を挙げます。機械語は学習していますか?今はもうアセンブラで開発する人はごく少数でしょうが、それでも未だにハードウェアは、機械語が存在しなければ動作しません。学ぶ意義があります。
 それでも、役に立つから例としてふさわしくないという人が居るかもしれませんから、念押しにもっと動かないものを挙げます。BASIC、COBOL、FORTRANを無駄だと思いますか?私は思いません。何故ならば、それらの文法や技法はいまだに、私の実装能力の一部として生き続けているからです。オブジェクト指向プログラミングが当たり前になった今、純粋な命令型言語は何の役に立つと思われるでしょう。しかし、オブジェクト指向プログラミングは命令+データ+αなので、命令型言語の概念もその一部であり、知らなくてもいいというものではありません。構成要素を知らなくてもいいという事はないでしょう。それに、最終的に機械は命令型の概念で動いています。なので私は、直接使用しない構造化設計技法(私が社会人になった時すでに使えないとされていた)も学び、たまに復習しています。
 秒進日歩のIT業界に身を置けば、古い技術に意味がないと考えがちです。しかし、本当の技術とは、思想を含むものであり、知らなくていいものなんて一つもありません。過去の記憶を、一切覚えていなくてもいいという人はいません。技術の習得もそれと同じです。技術者を名乗るならば、新旧、形式、仕事が来る、という風な表面的な物事で判断せず、深く考え抜き、奥底に潜む知識の宝物を見るべきではないでしょうか?そう考えない人が居る事は承知していますし、その人が自分の持論を持つことを尊重しますが、私自身はそう考えています。
スポンサーサイト

テーマ : 文明・文化&思想
ジャンル : 学問・文化・芸術

コメントの投稿

非公開コメント

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

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