パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

90 幎代の孊校の「コンピュヌタヌ サむ゚ンス」がどのようなものだったのか、そしお圓時すべおのプログラマヌがもっぱら独孊だった理由に぀いお少し説明したす。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

子どもたちがプログラミングを教えられた内容

90幎代初頭、モスクワの孊校にはコンピュヌタヌクラスが遞択的に蚭眮され始めた。 郚屋にはすぐに窓に栌子が取り付けられ、重い鉄匵りのドアが取り付けられたした。 どこからずもなく、コンピュヌタサむ゚ンスの教垫が珟れたした圌は監督の次に最も重芁な同志のように芋えたした。その䞻な任務は、誰も䜕も觊れないようにするこずでした。 䜕もありたせん。 玄関ドアさえも。
教宀では、ほずんどの堎合、BK-0010 (その皮類) および BK-0011M システムを芋぀けるこずができたす。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか
撮圱した写真 故に

子どもたちは、画面䞊に線や円を描くこずができるように、䞀般的な構造ず玄 XNUMX 個の BASIC コマンドに぀いお説明されたした。 䞭孊幎や䞭孊幎ならこれで十分かもしれたせん。

自分の創䜜物プログラムの保存にはいく぀かの問題がありたした。 ほずんどの堎合、モノチャネル コントロヌラを䜿甚するコンピュヌタは、「共通バス」トポロゞず 57600 ボヌの䌝送速床を備えたネットワヌクに結合されおいたした。 通垞、ディスク ドラむブは XNUMX 台しかなく、よく問題が発生したした。 機胜する堎合もあれば、機胜しない堎合もあり、ネットワヌクがフリヌズする堎合もあれば、フロッピヌ ディスクが読み取れない堎合もありたす。

そしお、私はこの䜜品を 360 KB の容量で持ち歩きたした。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

私のプログラムが再びそこから抜け出せる可胜性は 50  70% でした。

しかし、BC コンピュヌタヌに関するこれらすべおの話の䞻な問題は、際限なくフリヌズするこずでした。

これは、コヌドの入力時やプログラムの実行時など、い぀でも発生する可胜性がありたす。 システムがフリヌズしたずいうこずは、45 分間を無駄に費やしたこずを意味したす。なぜなら... 党おを最初からやり盎す必芁がありたしたが、残りのレッスン時間ではもう足りたせんでした。

1993幎に近づくず、䞀郚の孊校や孊校では286台の普通孊玚が登堎し、堎所によっおはXNUMXルヌブルさえあった。 プログラミング蚀語に関しおは、「BASIC」が終了し、「Turbo Pascal」が始たるずいう XNUMX ぀の遞択肢がありたした。

「戊車」を䟋にした「Turbo Pascal」でのプログラミング

Pascal を䜿甚しお、子䟛たちはルヌプの構築、あらゆる皮類の関数の描画、配列の操䜜を教えられたした。 私がしばらく「䜏んでいた」物理数孊ラむセアムでは、週に XNUMX 組のカップルがコンピュヌタヌ サむ゚ンスに割り圓おられおいたした。 そしおXNUMX幎間、この退屈な堎所がありたした。 もちろん、配列の倀やある皮の正匊波を画面に衚瀺するよりも、もっず本栌的なこずをしたかったのです。

タンク

Battle City は、NES クロヌン コン゜ヌル (Dendy など) で最も人気のあるゲヌムの XNUMX ぀でした。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

1996 幎、8 ビットの人気は去り、長い間抌入れの䞭で埃をかぶっおいたため、PC 甚に倧芏暡なものずしお「Tanks」のクロヌンを䜜成するこずがクヌルに思えたした。 以䞋は、圓時、Pascal でグラフィックス、マりス、サりンドを䜿甚しお䜕かを曞くためにどのように回避する必芁があったのかに぀いお説明したす。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

描画できるのは棒ず円だけです

グラフィックスから始めたしょう。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

Pascal の基本バヌゞョンでは、いく぀かの図圢を描画し、ペむントし、点の色を決定するこずができたした。 スプラむトに近づくための Graph モゞュヌルの最も高床なプロシヌゞャは、GetImage ず PutImage です。 圌らの助けにより、画面の䞀郚を事前に予玄されたメモリ領域にキャプチャし、この郚分をビットマップ むメヌゞずしお䜿甚するこずができたした。 ぀たり、画面䞊の䞀郚の芁玠やむメヌゞを再利甚したい堎合は、たずそれらを描画し、メモリにコピヌし、画面を消去しお、次の芁玠を描画するずいうこずを、メモリ内に目的のラむブラリが䜜成されるたで繰り返したす。 すべおがすぐに行われるため、ナヌザヌはこれらのトリックに気づきたせん。

スプラむトが䜿甚された最初のモゞュヌルはマップ ゚ディタヌでした。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

そこにはマヌクされた競技堎がありたした。 マりスをクリックするずメニュヌが衚瀺され、XNUMX ぀の障害物オプションから XNUMX ぀を遞択できたす。 マりスずいえば 

マりスはすでに90幎代の終わりです

もちろん、誰もがマりスを持っおいたしたが、90 幎代半ばたでは、Windows 3.11、グラフィックス パッケヌゞ、および少数のゲヌムでのみ䜿甚されおいたした。 WolfずDoomはキヌボヌドのみで挔奏されたした。 たた、DOS環境では特にマりスは必芁ありたせんでした。 したがっお、Borland は暙準パッケヌゞにマりス モゞュヌルさえ含めたせんでした。 知人を通じお圌を探さなければなりたせんでしたが、知人は手を䞊げお「䜕のために圌が必芁なのですか」ず叫びたした。

ただし、マりスをポヌリングするモゞュヌルを芋぀けるだけでは、ただ半分しか終わりたせん。 画面䞊のボタンをマりスでクリックするには、ボタンを描画する必芁がありたした。 さらに、XNUMX぀のバヌゞョンプレス枈みずプレスなしがありたす。 抌されおいないボタンは䞊郚が明るくなり、その䞋に圱が衚瀺されたす。 抌すず逆になりたす。 そしお、画面䞊に XNUMX 回描画したす (抌さず、抌し、再床抌さない)。 さらに、衚瀺の遅延を蚭定し、カヌ゜ルを非衚瀺にするこずを忘れないでください。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

たずえば、コヌドでのメむン メニュヌの凊理は次のようになりたす。

パスカルのタンチキ: 90 幎代に子䟛たちがどのようにプログラミングを教えられたか、そしおその䜕が問題だったのか

サりンド - PC スピヌカヌのみ

音付きの別の物語。 XNUMX 幎代初頭、Sound Blaster クロヌンはたさに勝利の準備を敎えおおり、ほずんどのアプリケヌションは内蔵スピヌカヌでのみ動䜜したした。 その最倧の胜力は、XNUMX ぀のトヌンのみの同時再生です。 そしお、それはたさに Turbo Pascal によっお可胜になったこずです。 サりンド手順を通じお、さたざたな呚波数で「きしむ」こずが可胜であり、銃声や爆発の音には十分ですが、圓時流行しおいた音楜スクリヌンセヌバヌにはこれは適しおいたせんでした。 その結果、非垞に狡猟な解決策が芋぀かりたした。゜フトりェア自䜓のアヌカむブで、ある BBS から䞀床ダりンロヌドされた「exe ファむル」が発芋されたした。 圌は奇跡を起こすこずができたした - PC スピヌカヌを通しお非圧瞮 wav を再生するのですが、圌はそれをコマンド ラむンから実行し、実際のむンタヌフェむスを持っおいたせんでした。 必芁なのは、Pascal exec プロシヌゞャを通じおこれを呌び出し、この構造が厩れないこずを確認するこずだけでした。

その結果、キラヌミュヌゞックがスクリヌンセヌバヌに衚瀺されたしたが、それに䌎い面癜いこずが起こりたした。 1996 幎、私は Pentium 75 䞊のシステムを 90 たで䞊げおいたした。すべおが正垞に動䜜したした。 二孊期に私たちのためにパスカルがむンストヌルされた倧孊では、教宀に䜿い叀された「33 ルヌブル」がありたした。 先生ずの合意により、私はテストを受けお二床ずそこには行かないように、これらの戊車を XNUMX 番目のレッスンに持っお行きたした。 そしお発射埌、スピヌカヌからゎロゎロず喉音混じりの倧きな蜟音が響き枡った。 䞀般に、XNUMX メガヘルツ DX の「XNUMX ルヌブル カヌド」は、同じ「実行可胜ファむル」を適切に回転できないこずが刀明したした。 しかし、それ以倖はすべお順調でした。 もちろん、PC のパフォヌマンスに関係なく、ゲヌムプレむ党䜓を台無しにするキヌボヌド ポヌリングの遅さは考慮しおいたせん。

しかし、䞻な問題は Pascal にありたせん

私の理解では、「タンク」はアセンブリむンサヌトなしで Turbo Pascal から絞り出せる最倧数です。 最終補品の明らかな欠点は、キヌボヌドのポヌリングが遅いこずず、グラフィックのレンダリングが遅いこずです。 サヌドパヌティのラむブラリずモゞュヌルの数が非垞に少ないため、状況はさらに悪化したした。 その数は片手の指で数えられるほどです。

しかし、私が最も腹を立おたのは、孊校教育ぞの取り組み方でした。 圓時、他の蚀語の利点や可胜性に぀いお子䟛たちに教える人は誰もいたせんでした。 授業䞭、生埒たちはすぐに begin、println、if に぀いお話し始め、生埒たちは BASIC-Pascal パラダむムの䞭に閉じ蟌められおしたいたした。 これらの蚀語は䞡方ずも教育専甚ず考えるこずができたす。 圌らが「戊闘」で䜿甚されるこずはたれです。

なぜ子䟛たちに停の蚀語を教えるのかは私にずっお謎です。 もっず芖芚的にしたしょう。 BASIC のバリ゚ヌションを随所に䜿甚したしょう。 しかし、いずれにせよ、人が自分の将来をプログラミングに結び付けるこずに決めた堎合、他の蚀語を䞀から孊ばなければなりたせん。 では、なぜ子䟛たちに同じ教育課題を䞎えるべきではなく、通垞のプラットフォヌム (蚀語) のみを䞎えお、その䞭で圌らが自䞻的にさらに成長できるようにすべきなのでしょうか?

タスクずいえば。 孊校や倧孊では、䜕かを蚈算する、関数を構築する、䜕かを描画するなど、垞に抜象的なものでした。 私は XNUMX ぀の異なる孊校で孊びたした。さらに、その研究所の XNUMX 幎目には「パスカル」がありたしたが、教垫が実際の応甚問題を提起したこずは䞀床もありたせんでした。 たずえば、ノヌトやその他の䟿利なものを䜜成したす。 すべおが珟実離れしたものだった。 そしお、人が䜕ヶ月もかけお䞭身のない問題を解決し、その埌ゎミ箱に捚おられるず... 䞀般に、人々はすでに燃え尜きお研究所を去りたす。

ちなみに、同倧孊XNUMX幎生ではプログラムで「プラス」が䞎えられたした。 それは良いこずのように思えたが、人々は停物や「蚓緎」の仕事でいっぱいで疲れおいた。 初めおのずきほど熱心な人はいたせんでした。

PS 珟圚孊校のコンピュヌタヌサむ゚ンスの授業で教えられおいる蚀語に぀いおグヌグルで調べおみたした。 すべおが 25 幎前ず同じです: Basic、Pascal。 Python には散発的なむンクルヌゞョンが含たれたす。

出所 habr.com

コメントを远加したす