- 「COBOLでのプログラミングは脳を不自由にするので、学習することは犯罪として扱われるべきです。」 (「COBOLの使用は心を傷つけます。したがって、その教えは犯罪と見なされるべきです。」)
- 「以前にBasicを学んだ学生は、優れたプログラミングを教えることはほとんど不可能です。 潜在的なプログラマとして、彼らは不可逆的な精神的劣化を経験しています。」 (「BASICを以前に経験したことのある学生に良いプログラミングを教えることは事実上不可能です。潜在的なプログラマとして、彼らは再生の希望を超えて精神的に切断されています。」)
ダイクストラは2002年8月6日に亡くなりました。 今日、彼の死から10年以上経った今、私たちは周りを見回して自分自身に問いかける権利を持っています。 言い換えると、現在(現在)広く使用されているプログラミング言語の中に、使用する傾向のあるプログラマーにとって、プロによる顕著な変形のほとんど避けられないリスクを伴う言語がありますか?
彼らはそうだと思う。 そして、これらは主に
これらの言語の中で最も一般的なの
落ち着いてください:Perlを指差して悪いことを宣言するつもりはありません。 証拠も詳細もなければ説得力のない結果になっていたでしょう。 そして、それが今、人生から取られた例を使用して、Perlがプログラマーの意識に作用し、見苦しい
この例はfidosです。
3日前、50番目の地域のsysopsのFidonetエコー会議は、タイムフラグ
╔═════════════════════════════════════════════════════──────────────────────── ║ : R50.SysOp ( ) ║ URL : area://R50.SysOp?msgid=2:5000/111+503b7f4b ║ : Oleg Redut, 2:5000/111 (27 Aug 12 21:06) ║ : Vladimir Donskoy ║ : Txy ╚════════════════════════════════════════════════════════════════════───────── @REPLY: 2:5020/5480 503a828c @MSGID: 2:5000/111 503b7f4b @CHRS: CP866 2 @TZUTC: 0700 @TID: hpt/w32-mvcdll 1.9.0-cur 12-03-11 (current) , Vladimir! VD>> , - VD>> . AB> - . . :) , . - , . . :) ?.. Oleg ... AKA oleg(&)redut.info AKA ICQ 28852595 ■■■ GoldED+/W32-MINGW 1.1.5-b20120515 ( ) √ Origin: --- ... ... --- (2:5000/111) @PATH: 5000/111 5020/1042 830 ────────────────────────════════╪══╬═╣()╠═╬══╪════════────────────────────────
私は意図的にすべての技術情報とともにこの手紙を引用しました。 手紙の冒頭に
そして、この手紙に対するPerlプログラマーの応答は次のとおりです。
╔═════════════════════════════════════════════════════──────────────────────── ║ : R50.SysOp ( ) ║ URL : area://R50.SysOp?msgid=2:463/68+503b854d ║ : Pavel Gulchouck, 2:463/68 (27 Aug 12 17:32) ║ : Oleg Redut ║ : Re: Txy ╚════════════════════════════════════════════════════════════════════───────── 27 Aug 12, Oleg Redut ==> Vladimir Donskoy: VD>>> , - VD>>> . AB>> - . . :) OR> , . - OR> , . OR> . :) U,Txy : perl -pe 'next unless /(([^,]*,){6,})U(.*)/; ($l,$u)=($1,$3); while ($u =~ /^(.*,)?(T[A-Xa-x]{2}),?(.*)/) { $l.="$2,"; $u="$1$3" }; $_="${l}U$u\n"; s/,U?,?\s*$/\n/' ────────────────────────════════╪══╬═╣()╠═╬══╪════════────────────────────────
Perlの2行と数行のコード。 このコードは、簡単にわかるように、
しかし、Perlはこのコードを正確に何にするのでしょうか?
まず、正規表現の控えめな豊富さ。 Perl言語は、関数を呼び出すよりも正規表現を使用する方が多少便利になるように設計されています。 これにより、Perlプログラマーは、単純な関数(たとえば、文字列からコンマまたは他の文字で区切られたフラグメントを抽出する
第二に、セマンティック
第三に、Perlでは、制御構造を不自然な順序「コード演算子条件」で記述することができます(たとえば、「条件のないコード」または「条件のコード」)。 ソースコードは
第4に、
考えて考えてみてください:レシピは、コマンドライン用の数行のPerlのこれら2つだけで構成されますか?
perl -pe 'next unless /(([^,]*,){6,})U(.*)/; ($l,$u)=($1,$3); while ($u =~ /^(.*,)?(T[A-Xa-x]{2}),?(.*)/) { $l.="$2,"; $u="$1$3" }; $_="${l}U$u\n"; s/,U?,?\s*$/\n/'
レシピは、Perlがすでにインストールされ、PATHに登録されているという事実に依存していることがわかります。 これはLinuxで正確に発生しますが、通常はWindowsの場合とはほど遠いです(受信者がWindowsを使用しているよりも少し高いことをすべての皆さんに意図的に指摘しました)。 しかし、Perlプログラマーは、
スクリプトがソースデータ(ノードリスト)を標準入力に送信し、標準出力(変更されたノードリスト)から作業の結果を受け入れる必要があることは容易に推測できます。 しかし、Perlプログラマーは、このかなり単純な知識には触れませんでしたが、エンドユーザーによって簡単に不明になったり忘れられたりすることがあります。
さらに、上記のアポストロフィを使用したソースコードのフレーミングは、Windowsでは機能しません。 つまり、レシピの受信者が
その結果、コードは読み取り専用の場合
(ところで、考えてみてください。なぜザッハー・マゾフの教えは、シェリスムではなくマゾヒズムと呼ばれることを受け入れられますか?ロシア語で「ペニスのために」、この性的行為と直接、直接的な関係を持っていますか?)
90年代の終わりに、Fidonetで悲観的な予言が広まりました。「 Fidonetは同性愛者によって作成され、ファゴットはそれを破壊します。」 一方で、ジェニングス(フィドネットの作者)の有名な型破りな性的指向と、他方で虐待的に振る舞う組織化されたスカムの増加が理解されました。 しかし、過去数年にわたって、私はこのフレーズの私自身のバージョンを使用してきました:「 フィドネットは盗聴者によって作成され、マゾヒストはそれを破壊します。」 同性愛者に対する政治的に誤った態度を示していますが、主なことは、現代のフィドネットの主な問題は、非常に不便なソフトウェアを使用することの根深い習慣であり、時にはセックスをして苦しむ必要があるという深い確信です。
念のため、強調するのが適切です。上記の例では、Pavel Gulchukのせい(優秀なプログラマー、binkp.netドメインをサポートする有力な開発者など)ではなく、Perl言語のせいでプログラマーが徐々に書き込み
これは、ジョージオーウェルの小説
そして、サミュエル・ディレニーによる同名の小説の幻想的な言語(コンピューターではなく人間)
(