アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
環境依存 (スコア:1)
それに、MS-Windows 以外の環境もあるということも知って、独善的なプログラマにはならな
Re:環境依存 (スコア:3, 興味深い)
.NET はそれ以前のMSのフレームワークよりはだいぶすっきりした気がして,教育にも使ってみてもいいかなと考えています.アカデミックアライアンスプログラムを使えば低コストで導入できますしね.C#も悪い言語じゃないし.ただしこれでも現状のGUIフレームワークはまだ「お約束」ごとが多くて,初級レベルの教育に向いているかどうかは疑問です.
個人的には本当に最初のプログラミング「経験」は Squeak がよさそうで,その後に .NET 上で手続き型や関数型のプログラミングも悪くないと思います.電気・情報系の学科ならどっかで(仮想マシン上じゃない)機械語プログラミングの経験をしてもらいたいところですが.
Re:環境依存 (スコア:2, 興味深い)
機械語とC言語ソースの関係(ポインタや静的/動的変数の使い分けがどのように機械語に落ちるのかとか・・・)を概念すら理解しないでコーディングされちゃうので、大変です。
まあ、Windowsなんかのソフト屋さんとしてならいいんでしょうけど、組み込みでPCのような環境を前提にされちゃうと困ります。(普通、仮想記憶/メモリ保護機構もない、スタック領域も限られる、なんかの制約が多いです。また、マルチタスク環境でmalloc/freeを繰り返されちゃうと・・・(^^;;;;)
moonbearさんは教育関係の方のようですが、ぜひとも学生さんにC言語+アセンブラの混在プログラムを経験させてやってくださいな。(できればソフトウェアがどうやってハードウェアにアクセスするのかも含めて・・・)
『メモリが化けるっ!』とクレームを受けて結局ソフトのポインタ関連バグとかタイプミスを追い回させられている組み込みハード屋の切実なお願いでした。
#まあ、必要は発明の母ともいうように、学生さんが必要性も感じない状況で教育されるのもすごく難しいことだと思いますが・・・。
Re:環境依存 (スコア:1, 余計なもの)
便利な道具が「何も」ない環境での開発もまたナンセンスなので、問題は、
便利な道具が、GUI(笑)の世界「にしかない」などという残念な状況が
生じてしまっていないか?という点にあるように思います。
言ってしまえば、例えばテキスト端末用のSqueak(笑)みたいなものが有ればいいのかな、と。
つまりOOPばりばりを自分でも書けるし恩恵にも与れるような、テキスト環境、ってこと。
#elispでいいじゃん、と言えるのは達人の証かも(笑)。
#OOPとLispとはそんなに遠くない世界なんだけど、それに気付くまでが遠い道だったりしませんかね?
うーん。というわけで、Eclips(だっけ)はどうなんだろう?と最近気になってるところ。
GUIなんざはっきり言って(GUIアプリのビルダーが欲しい時以外は)要らないんだけど、
なんか色々なプラグインが開発効率を上げるうえで便利だそうじゃないですか。
しかもそれらの中の幾つかはきっと、単にテキスト環境でも既に出来てることのラッパ(or再実装)だけじゃなくて
あの世界の中で初めて生まれたものだって、幾つかあるわけですよね。
>機械語とC言語ソースの関係(ポインタや静的/動的変数の使い分けがどのように機械語に落ちるのかとか・・・)を概念すら理解しないで
そりゃそうと、こっちとしては、静的/動的変数の違いと、それらが機械語に落ちるときの違いと、もまた
区別して理解して欲しいと切実に思っています。
だって、静的と動的の変数の差って、機械語に縁が無ければ無視できるもの、では決してナイんだもの。
両者は抽象概念である「寿命」が違う、ってのが話の発端であって、機械語への落ちかたの問題は
いわば副作用でしかない(笑)わけです。
だから、機械語に縁のない人でも、「寿命」という概念はきちんと把握していて貰わないとね。
逆に言えば、機械語に縁の有る人でも、「寿命」と「落ちかた」という二段構えの理解の仕方
をしておくことは、きっと重要だと思います。
まさかCPU乗り換えるたびに静的/動的変数の理解のしかたまで変化するわけじゃないですよね?
変化するのは落ち方の理解のほうですよね?
>学生さんにC言語+アセンブラの混在プログラムを経験させてやってくださいな
というわけで、俺が教育者諸兄お願いしたいことはちょっと違うようです(^^;
アセンブラとかの超実装よりの部分よりもむしろ抽象概念のほうで
駄目な奴らに悩まされてますんで…
Re:環境依存 (スコア:0)
> 変化するのは落ち方の理解のほうですよね?
落ち方に関しても、CPUが変わっても基本的な考え方は変わりません。
最適化の過程でレジスタへの割り付けが行われたりはしますが、どれか素直な(別にややこしいCPUでもいいですが)CPUで理解ができていれば、別なCPUでもそのアセンブリ言語さえ理解してしまえばほ
Re:環境依存 (スコア:0)
これは確かにそうかもしれないですね。
windowsでも本気でデバックしようと思うと結局アセンブラレベルの知識が要求されますし。バイナリデータ扱ったりするとエンディ
そういえば (スコア:1)
Re:環境依存 (スコア:1)
プロでも理論のみではしんどいですよ (スコア:1)
やっぱり動くものが作れた方が楽しいものです。
動く=GUIというのは御幣があると思いますが、
少なくとも、I/F部分ぐらいは何かあったほうがいいと思います。
(デバッグとかにも便利ですし)
ぼくも最初にJAVA(アプレット)を勉強したときは、
2,3日でシューティングゲームみたいなモノを作ってました。
UNIXを作ろうとしたのも、MULTIXで作った連打ゲームを
個人の端末でやりてぇ!という欲求からだったと聞いてます。
本当に単純なものでいいので、ゲーム仕立てのものを作らせたり
したほうがいいのかなぁ?とも思います。(好みにもよりますが)
実際に動くものを作るということが大変だという認識させつつ、
動いたときの喜びを教えてあげることが第一歩だと思います。