アカウント名:
パスワード:
通信プログラムをつくるときには、その通信内容が、電気的にどうなっているか、までは問わないけど、イーサネットに流れるビットレベルくらいは想像がつくようになっておけ、とは言ってます。
プログラムも、概念的にどういうマシン語に落ちるかを理解しておくと、最近のマルチスレッドプログラムとかで、競合や粒度などが直感でわかるようになり、バグは減らせます。
電気的にも、わかってるともっといいと思うハード不具合や故障なのにソフト不具合にされてしまうからw
いろいろ理解していることは、いいことだけどそれがすべて理解したと思って自分が知らないことがあるってことをわかってないのも困るよ外注先で、自称ネットワークに詳しい人が、そんなことできませんっていうからおかしいと思ったらPCにIPを2つ以上設定できることをしらなかったとかあった。
いろいろ理解すると知らないことがかなり増え、その知らないことを理解するとさらにさらに知らないことが増えるw
そうそう。どこまでも知って行って損はないですね。
例えば、組み込み系やってるときなんかは、ハードが疑わしい問題が発生するとオシロ繋いで電気的に信号を捕まえて、もっともシンプルなプログラムで発症させてハード担当者に調査をお願いする。なんていうのが普通の手続き。
オシロの使い方を理解していたら、次は回路の動作を理解するとさらに問題解決は早くなる。回路自体を読んだり、そのうち自分は開発中のCPUのマイクロコードを書くところまで降りて行った。そして次は・・・と、知れば知るほど、知らないことの地平がどこまでも続いていることを知る。という状態くらいが技術者にはちょうどいいと思います。
ネットワーク方面だって、安定につながったネットワーク上で動くものばかりじゃありません。遅延、欠落、輻輳などを発生させた状態で、要求仕様を満たすパフォーマンスが出るかどうか。何で試験すればいいか。何で確認すればいいか。中で何をやってるのか。エラーの原因は何か。など、学校を出たばかりの若者なんかは、スクリプトや.NETやJavaVMなどの十分にラップされたソフトウェアの上の例外でしか知らないから、エラーリカバリーなんかは教えるべきところが多々ありました。
知っている事と両手で届く範囲の安定にもたれかかっているだけでは、技術者としての成長は乏しいでしょう。若い人にも、世界の広さを探求しながら、今の業務に必要な技術を突き詰めてもらいたいですね。開拓の終わっているところは、古参者に尋ねてくれれば教えるのは厭いませんし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
一応若いもんには (スコア:2)
通信プログラムをつくるときには、その通信内容が、電気的にどうなっているか、までは問わないけど、イーサネットに流れるビットレベルくらいは想像がつくようになっておけ、とは言ってます。
プログラムも、概念的にどういうマシン語に落ちるかを理解しておくと、最近のマルチスレッドプログラムとかで、競合や粒度などが直感でわかるようになり、バグは減らせます。
Re:一応若いもんには (スコア:0)
電気的にも、わかってるともっといいと思う
ハード不具合や故障なのにソフト不具合にされてしまうからw
いろいろ理解していることは、いいことだけどそれがすべて理解したと思って
自分が知らないことがあるってことをわかってないのも困るよ
外注先で、自称ネットワークに詳しい人が、そんなことできませんっていうから
おかしいと思ったらPCにIPを2つ以上設定できることをしらなかったとかあった。
いろいろ理解すると知らないことがかなり増え、
その知らないことを理解するとさらにさらに知らないことが増えるw
Re:一応若いもんには (スコア:3, 参考になる)
そうそう。
どこまでも知って行って損はないですね。
例えば、組み込み系やってるときなんかは、ハードが疑わしい問題が発生するとオシロ繋いで電気的に信号を捕まえて、もっともシンプルなプログラムで発症させてハード担当者に調査をお願いする。
なんていうのが普通の手続き。
オシロの使い方を理解していたら、次は回路の動作を理解するとさらに問題解決は早くなる。
回路自体を読んだり、そのうち自分は開発中のCPUのマイクロコードを書くところまで降りて行った。
そして次は・・・
と、知れば知るほど、知らないことの地平がどこまでも続いていることを知る。という状態くらいが技術者にはちょうどいいと思います。
ネットワーク方面だって、安定につながったネットワーク上で動くものばかりじゃありません。
遅延、欠落、輻輳などを発生させた状態で、要求仕様を満たすパフォーマンスが出るかどうか。
何で試験すればいいか。何で確認すればいいか。中で何をやってるのか。エラーの原因は何か。
など、学校を出たばかりの若者なんかは、スクリプトや.NETやJavaVMなどの十分にラップされたソフトウェアの上の例外でしか知らないから、エラーリカバリーなんかは教えるべきところが多々ありました。
知っている事と両手で届く範囲の安定にもたれかかっているだけでは、技術者としての成長は乏しいでしょう。
若い人にも、世界の広さを探求しながら、今の業務に必要な技術を突き詰めてもらいたいですね。
開拓の終わっているところは、古参者に尋ねてくれれば教えるのは厭いませんし。