アカウント名:
パスワード:
はじめてあれを読んだ時はよくできたジョーク文書だと感心するだけだったが、その後授業でPascalやらされたときに確信した。Pascalはクソ。滅ぶべき。慈悲はない。
なにがクソって、Pascalとかいう聳えたつウンコの根幹を成してる型システム。これ。たとえばintをtypedefしてint32という型として宣言したとする、その結果intとint32が各々別の型であると認識されるまでは良い。そこまでは。しかし配列をも型とみなしていて、int[32]とint[64]が別種の型と認識されるのは話にならない。現代的な文字列型などもないので、すなわちすべての文字列は長さによって別々の
Pascalが開発された時点では、プラットフォームは非常に多種だったが、標準的なI/Oやモジュール化は一切なかった。当初のPascalにはモジュールはなく、I/Oも極めて貧相だった。配列長にはconstで定義した定数を使えるので、必要なら再コンパイルした。メモリも少なくプログラマが完全に把握する必要があった。あんたが知らないだけでそのへんが強化された処理系はいろいろある。Cと違い標準的なものが存在しなかっただけ。
不定長の配列を手続きに渡すには、引数としてアドレスと長さの2ワードが必要になる。これを嫌い、1引数1ワードの単純な実装を指向したという事情もある。まず制約の強い設計にし、知見が得られてから緩めるというのは正しい方針だ。制約を強めることは事実不可能で、MSが強力にコントロールしているC#ですらnull非許容型の導入まで20年もかかったし、他の有力言語はできていない。
言いたいことは概ね同意するけど、null非許容型は制約を強める方向の変更ではないのか?
おまけ: null参照の考案は10億ドル単位の過ち? [developers.srad.jp]
Microsoftですら制約を強める方向の変更を導入するには20年も掛かるほど困難だったと言いたいんでしょ。そんなに読解が困難な文章か? 確かに言われてみたら不可能じゃなかったのかよとツッコミたくなるが
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
本物のプログラマはPascalを使わない (スコア:0)
はじめてあれを読んだ時はよくできたジョーク文書だと感心するだけだったが、その後授業でPascalやらされたときに確信した。
Pascalはクソ。滅ぶべき。慈悲はない。
なにがクソって、Pascalとかいう聳えたつウンコの根幹を成してる型システム。これ。
たとえばintをtypedefしてint32という型として宣言したとする、その結果intとint32が各々別の型であると認識されるまでは良い。そこまでは。
しかし配列をも型とみなしていて、int[32]とint[64]が別種の型と認識されるのは話にならない。
現代的な文字列型などもないので、すなわちすべての文字列は長さによって別々の
Re: (スコア:1)
Pascalが開発された時点では、プラットフォームは非常に多種だったが、標準的なI/Oやモジュール化は一切なかった。
当初のPascalにはモジュールはなく、I/Oも極めて貧相だった。配列長にはconstで定義した定数を使えるので、必要なら再コンパイルした。メモリも少なくプログラマが完全に把握する必要があった。
あんたが知らないだけでそのへんが強化された処理系はいろいろある。Cと違い標準的なものが存在しなかっただけ。
Re: (スコア:1)
不定長の配列を手続きに渡すには、引数としてアドレスと長さの2ワードが必要になる。これを嫌い、1引数1ワードの単純な実装を指向したという事情もある。
まず制約の強い設計にし、知見が得られてから緩めるというのは正しい方針だ。制約を強めることは事実不可能で、MSが強力にコントロールしているC#ですらnull非許容型の導入まで20年もかかったし、他の有力言語はできていない。
Re:本物のプログラマはPascalを使わない (スコア:0)
言いたいことは概ね同意するけど、null非許容型は制約を強める方向の変更ではないのか?
おまけ: null参照の考案は10億ドル単位の過ち? [developers.srad.jp]
Re: (スコア:0)
Microsoftですら制約を強める方向の変更を導入するには20年も掛かるほど困難だったと言いたいんでしょ。そんなに読解が困難な文章か? 確かに言われてみたら不可能じゃなかったのかよとツッコミたくなるが