- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
802 :デフォルトの名無しさん[sage]:2016/10/25(火) 11:46:36.29 ID:KeM7pIn3 - 教育用ならJavaかC#
もしくは歴史があって今でもたくさん使われているC でもたぶんBASICになるだろうな なぜなら、大学入試のセンター試験でプログラムを選択したらBASICだから すなわち、難しい数学の代わりに簡単なBASICを選択できるのだ! 満点確実圧倒的有利 しかも10分とかで解けるから、その分ほかの問題に時間を回せる 時間配分的にも圧倒的有利 お役所的に、センター試験がBASICだから教えるのもBASICで統一ってのは有りそうだし 学生や保護者からしても、センター試験で有利に運べるBASICを学校で教えてくれたほうが 有難いだろう センター試験はBASICなのに学校ではDelphiを教えるとか、誰得 ほとんどの人が将来、プログラミングが出来ても出来なくても、どっちでもよい 職業に就くのは明白なので、プログラミングの本質とかはどうでもよく 単に、センター試験で有利なBASICを教えてもらったほうが有難がる
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
804 :デフォルトの名無しさん[sage]:2016/10/25(火) 12:26:30.24 ID:KeM7pIn3 - あと、みんながプログラミングができるようになると
センター試験のBASICの設問が難しくなるんじゃないかという懸念があるけど たぶんそれはない 1万行のプログラムを解読とか、そういうことになってくると時間がかかるが 紙面の関係でそれはない センター試験で出せるのは、せいぜい50行とか100行とか、その程度の分量であるので まぁ、このぐらいの長さのプログラムを読むのはワケない この行数で設問を難しくするにはgoto文を変な風に使うとか、妙なことをしなければ無理であるが そんなダーティーなものはセンター試験の設問として相応しくないので 難しくするにも限度があるだろう FFTとかビタビアルゴリズムとかデジタルフィルターとかのソースコードを設問にすれば 難しくすることは可能であるが、これらは大学で習う数学の内容であり センター試験に相応しくない というか、離散数学全般が大学で習うということになっているので 高校生が解ける範囲で難しい設問を作るということが根本的に不可能 大体は何かの足し算の繰り返しであるとか、プログラムさえ読めれば 勝手に答えがわかる程度の設問しか作れない goto文とかのBASICの基本的な文法と、四則演算だけ知ってれば解けるという超サービス問題 おそらく小学生でも誰でも満点が取れる唯一の分野
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
805 :デフォルトの名無しさん[sage]:2016/10/25(火) 12:28:49.23 ID:KeM7pIn3 - 何に使う?センター試験に使う
それが全て 古文漢文なんか人生で何にも使わないけど センター試験で必要だから学校でやる その程度のもの それが学校
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
809 :デフォルトの名無しさん[sage]:2016/10/25(火) 13:55:21.31 ID:KeM7pIn3 - Pascalみたに現場でだれも使ってないうえ
センター試験で使われる言語ですらない言語を教えて何になるの? 実用性皆無 仕事で使えるわけでもないし、センター試験で点が取れるわけでもない 基本情報技術者試験もPascal無いし、何の意味もない そんなの、全国の子供全員に基礎教養として教えるとか、ありえない 完全にズレてる それならC言語をやったほうがマシ C言語はいまだに使われているし、ほとんどのメジャー言語は Cの文法を模倣しているから少なくとも実用性がある CとPascalは機能的にも文法的にもほぼコンパチであるから あえて需要のないPascalを選択する意味がない 日本中の子供たちが何故か漏れなく全員Pascalにだけやたら詳しいとか そんな状況、何なの?いったいどこへ日本を向かわせたいのか コワいわ
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
812 :デフォルトの名無しさん[sage]:2016/10/25(火) 14:03:48.63 ID:KeM7pIn3 - 別にC言語を義務教育として取り入れるべきと言っているわけじゃないからね
ただ単に、全国の子供たちに義務でPascalやらすぐらいだったら C言語の方が遥かにマシと言ってるだけだから CとPascalはほぼ似たようなものだし 今の時代に負け言語のPascalをあえて義務で強いる必要性は無いだろう なんで、あえてPascalの文法に慣れる必要性がある?使い道ないのに 基本情報技術者試験の役にも立たんし Pascalの文法にやたら詳しいPascal脳な子供たちを量産して何になるのか 何か怖いわ
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
815 :デフォルトの名無しさん[sage]:2016/10/25(火) 14:28:14.66 ID:KeM7pIn3 - Cはmallocを使い始めたらキャストだらけになって節操がなくなるというだけで
malloc使わない範囲で基本的なこと、例えば配列使ってちょっと計算するだとか もしくは配列すら使わずに、1から100までの合計を求めるだとか そのレベルのことであればPascalと何ら変わりない 義務教育でするのは多分この程度のこと Pascalを教えるにしても小学生にnew()させるとは思えん PascalもGCが無いので、メモリ管理を自分でしなければならないのはCと同じだし メモリ管理を小学生にさせるとは思えない メモリ管理をしない範囲であれば、ただの数値計算の範囲であれば CだろうがPascalだろうが大差ない なら、あえてPascalを選択する意味もない PascalはC言語より文法的に優れていてキレイという人もいるが、全然そんなことはない Pascalにはreturnが無い だから必ず関数の最後まで到達しないと関数を抜けることができない 途中で抜けれないから結局フラグを使いまくるか もしくはif文をものすごーーーくネストしまくる初心者的なプログラムになる こういった悪い作法を初心者に強いることになる Pascalではどうやってもきれいにプログラムを書くことはできないのだ これは構造化の一環であり、入口と出口は一つにすべし、という思想の元そうなっているわけだが ではなんでreturnはないのにbreakはあるんだという話で、そいうった意味でも一貫性がない Delphiを使っている人は、純正のPascalにreturnが無いということを知らないのだろう あの不便さ、汚らしさ、決して良い作法は身につかない
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
816 :デフォルトの名無しさん[sage]:2016/10/25(火) 14:36:45.21 ID:KeM7pIn3 - C言語であれば、関数の頭のほうで何かエラーが発生した
もしくはループの中とかで答えが出た ともかく、これ以上処理の必要がなくなったら その場でreturnすればよい ところがPascalにはreturnが無い 必ず関数の最後まで処理が到達しなければ関数を抜けることができない もうこれ以降処理をする必要はないのに関数の最後まで行かなければならない なら、関数の最後までジャンプさせる必要がある フラグとif文を組み合わせるか もしくはgoto文を使ってジャンプするか returnは無いけど何故かbreakはあるので、関数全体をループで囲って breakをreturnの代わりに使うか ろくなことにならない 悪い作法ばかり身につく
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
834 :デフォルトの名無しさん[sage]:2016/10/25(火) 21:12:27.52 ID:KeM7pIn3 - >何れにしろ構造化やオブジェクト指向的アプローチを取れない開発言語は教育には適さないと思う。
そしてオブジェクト指向とか言い出す以前の問題として returnの無い言語はもっと教育に適さないわけだ そもそも構造化の目的の一つには、gotoをなるべく使わないで済むようにしよう というものがあると思うが returnが無いせいで、以降の処理をスキップして 関数末尾にジャンプしたいとき、gotoを使うのが一番手っ取り早い となってしまっては、何のための構造化であったのか、全くのナンセンスはだはだしい 結局gotoかい、と 我々はある程度分別がつくので、returnが無いなら代わりにgotoで関数末尾にジャンプしようと考えるが 学校ではきっとgotoは使わないほうが良いと教わるだろうし そうなるとreturnに相当する処理を書くのに非常に苦労することになる とにかく関数の末尾まで到達しないと関数を抜けることができない、うっとうしい これは全く無駄な苦労、なぜなら現在のメジャー言語はreturnがあるのは当たり前だし 最近の言語はGCがあったりC++でもスマポがあったりして、リソースの跡片付けを 自分でしなくてもよくなっているので、C言語の時代よりもより一層手軽に好きなタイミングで returnするし、もうそれが当たり前になっている 今更returnが無いなんて考えられないし、無いとあまりにも不便だから 多くの実用性を重視したPascalコンパイラは独自にreturnを追加してきた事実があるわけで 我々は拡張されたreturnのあるPascalコンパイラを選択できるし、そうするが 小学生に教えるとなると厳密さを要求されるからreturnは使えないし、教えないということになり 非常になんというか、ここにPascalに対する認識のギャップがある
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
836 :デフォルトの名無しさん[sage]:2016/10/25(火) 21:25:22.96 ID:KeM7pIn3 - つまり、returnのない素のPascalは、普通の言語がreturnを使う場面で
関数末尾に飛ぶためにgotoを使うのが一番手っ取り早くなってしまうという意味で 構造化言語になってない、構造化言語未満の欠陥構造化言語 であるから教育用言語として不適切といえる returnの代わりにgotoを使うか それかフラグとif文を駆使してみょうちくりんなコードを書く羽目になる 小学生にそんなコードは書いてほしくない、教育によくない そもそも他の言語にはreturnが有るのが当たり前なんだから そんな苦労は全くの無駄であるし Pascalにしてもまともなコンパイラはreturnが追加対応されているのだから本当に無駄 「どうやって関数の末尾にジャンプしようか」こんなこと考えるの、まったくの無駄 これは見た目がどうとか、文法の表面上のキレイ汚いとかそういう次元ではない プログラムの本質である制御構造の根幹の部分がPascalは汚いということ 一般的によくあるであろう関数を途中で抜けるという頻出制御構造が gotoを使わないと完結に書けない、構造化言語としてオワットル 何のための構造化だったのか、完全な設計ミス そもそもreturnが無いのにbreakはあるのも意味不明である breakを認めるのであればreturnも認めるべきであるし returnを認めないのであればbreakも認めないということでないと 入口と出口をそれぞれ一つづつに制限しよう、という主義主張に一貫性がない 何がやりたいのか良くわからない言語、それがPascal
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
841 :デフォルトの名無しさん[sage]:2016/10/25(火) 23:03:39.30 ID:KeM7pIn3 - DelphiはPascalを使い物になるように改良したものである
Delphiの話はしていない 素のPascalの話 素のPascalにはExitは「無い」 returnの代わりになるようなものは、何も用意されていない しいて言えばgotoしか無い 関数を途中で抜けるというありふれた処理を書くためだけに gotoを使わなければならないのは gotoをなるべく使わなくて済むようにしようという構造化の基本理念から考えて 構造化言語失格 そもそもbreakはあるのだから、returnが無いのは単に設計ミス 理念の問題ではない、設計ミス なぜ素のPascalなどという終わった言語の話などしたかというと 小学生に義務教育でPascalを教えるのがよいと言っている人がいたり 構造化がどーのこーの言っている人たちがいたから 素のPascalは要件を満たしていないということ 今更returnの無い言語で制御構造を構築する練習をさせる意味はない
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
842 :デフォルトの名無しさん[sage]:2016/10/25(火) 23:11:20.66 ID:KeM7pIn3 - returnも関数末尾へのgotoも使わないとなると
(なぜgotoを使わないかというと、たぶん学校でgotoは使うなと言われるから) かなり特殊なプログラミングスタイルを強いられることになるが そんなことは全く練習する必要なし 変な癖がつくだけ
|
- 【Delphi】Embarcaderoオッチャ その32【C++ビルダ】 [無断転載禁止]©2ch.net
844 :デフォルトの名無しさん[sage]:2016/10/25(火) 23:24:35.47 ID:KeM7pIn3 - もし義務教育でPascalをやると文部科学省が決定したなら
当然、厳格な素のPascalになる
|