アカウント名:
パスワード:
昔の私ならCをお勧めしますが、今ならJavaで良い気がします。クラスの扱いにおいて、ポインタとは言わないまでも格納方法を意識する必要が出てきますし。いきなりCでは、好きな子以外はプログラムの楽しさを覚える前に疲れてしまいそう。
Cのぶっちゃけトーク。確かにそのとおりですね。しかし学生にメモリ破壊のデバッグをさせる事はどうでしょう。新人の時に何回も徹夜した覚えが><w
JNIを使えば、Javaでもポインタと仲良しさんになれますよ
ガッしなかった部下のあなたも同類です
> たとえばFILE*なんてのはFILE_HANDLEに#defineしちまえばいいんですよ。
FILE_HANDLE fh1, fh2;
ってやったら破綻するからtypedefにしてよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
教育現場ではかなり前から切実 (スコア:1, 参考になる)
入門としてCを扱う? アセンブラまで囓るようなカリキュラムならいいが、
ソートアルゴリズム習うのにポインタの扱いに習熟する必要あるんですか?
むしろLLや何かの方が学習には向いているのでは?
いやいやしかしCを扱えないと卒業後に困るのではないか? 今時はCのみでは役にたたない?
ではC++ではどうか? しかし学習に時間がかかりすぎる。初心者が手を付けるには向いていない。
ではC#か? Windows前提というのは如何なものか。javaの方が良いので
Re:教育現場ではかなり前から切実 (スコア:1)
昔の私ならCをお勧めしますが、今ならJavaで良い気がします。
クラスの扱いにおいて、ポインタとは言わないまでも格納方法を意識する必要が出てきますし。
いきなりCでは、好きな子以外はプログラムの楽しさを覚える前に疲れてしまいそう。
Re: (スコア:0)
Javaはポインタが不要だから、という話が出ますが、あれ、全てがポインタだから、とも考えられますよね。
要するにメモリ上にどのようにデータが配置されるかを理解しているかいないかという点が要点であって、
それを明示するかしないかだけなんじゃないでしょうか。それを考えると、Cみたいにぶっちゃけトークが
いちばん正直なんじゃないかという気もしないでもない。
Re:教育現場ではかなり前から切実 (スコア:1)
Cのぶっちゃけトーク。確かにそのとおりですね。
しかし学生にメモリ破壊のデバッグをさせる事はどうでしょう。
新人の時に何回も徹夜した覚えが><w
Re: (スコア:0)
不具合報告でJavaの"NullPointerException"に出くわしたとき、
「Javaってポインタねぇんじゃねぇの?」と叫んだことを思い出した。
Re:教育現場ではかなり前から切実 (スコア:2)
JNIを使えば、Javaでもポインタと仲良しさんになれますよ
Re: (スコア:0)
ガッしなかった部下のあなたも同類です
Re: (スコア:0)
最適化の弱いコンパイラで高効率の文字列操作をするならともかく、
いまどきのコンパイラが相手なら、ハンドルとしての使い方だけで十分です。
たとえばFILE*なんてのはFILE_HANDLEに#defineしちまえばいいんですよ。
ポインタの演算なんかやらずに[]を使えばいいんですよ。
Re: (スコア:0)
> たとえばFILE*なんてのはFILE_HANDLEに#defineしちまえばいいんですよ。
FILE_HANDLE fh1, fh2;
ってやったら破綻するからtypedefにしてよ。
Re: (スコア:0)
http://srad.jp/developers/article.pl?sid=11/03/29/0047205 [srad.jp]
個人的にはCで良いと思います。
記述順序と実行順序がなるべく一致しているようなものでないとよくわからなくなる学生も多くなりますし
それにポインタが難しいから教えないってのは本末転倒で
理系、それこそCSの学生ならコンピュータの中身を理解させながらポインタとは何かと理解させることが重要でしょう。
文系大学でプログラミングの概念だけを教えるならVBAとかでも良い気はします。
Re: (スコア:0)
CSなら関数型と論理型の言語は基礎素養として教えるべきで、
「記述順序と実行順序がなるべく一致しているようなものでないとよく分からない」
なんて軟派な学生は、おとといきやがれ、です。
文系の皆さんは手続き型1点買いでも、おk。