Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

90'lı yıllarda okul "bilgisayar biliminin" nasıl olduğu ve o zamanlar neden tüm programcıların yalnızca kendi kendini yetiştirdiği hakkında biraz bilgi.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Çocuklara hangi konularda programlama öğretildi?

90'lı yılların başında Moskova okulları seçici olarak bilgisayar sınıflarıyla donatılmaya başlandı. Odalar hemen pencerelerde parmaklıklar ve ağır, demir kaplı bir kapıyla donatıldı. Bir yerden, asıl görevi kimsenin hiçbir şeye dokunmamasını sağlamak olan bir bilgisayar bilimleri öğretmeni belirdi (yönetmenden sonra en önemli yoldaş gibi görünüyordu). Hiçbir şey. Ön kapı bile.
Sınıflarda çoğunlukla BK-0010 (çeşitlerinde) ve BK-0011M sistemleri bulunabilir.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?
Fotoğraf çekildi bundan dolayı

Çocuklara genel yapının yanı sıra ekranda çizgiler ve daireler çizebilmeleri için bir düzine BASIC komutu anlatıldı. Orta ve orta sınıflar için bu muhtemelen yeterliydi.

Kişinin yaratımlarını (programlarını) koruma konusunda bazı sorunlar vardı. Çoğu zaman, tek kanallı denetleyicileri kullanan bilgisayarlar, "ortak veri yolu" topolojisine ve 57600 baud iletim hızına sahip bir ağda birleştirildi. Kural olarak, yalnızca bir disk sürücüsü vardı ve çoğu zaman işler ters gidiyordu. Bazen çalışıyor, bazen çalışmıyor, bazen ağ donuyor, bazen de disket okunamıyor.

Daha sonra 360 kB kapasiteli bu yaratımı yanımda taşıdım.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Programımın tekrar dışına çıkma şansım yüzde 50-70 idi.

Ancak BC bilgisayarlarıyla ilgili tüm bu hikayelerdeki asıl sorun sonsuz donmalardı.

Bu, kod yazarken veya bir programı çalıştırırken herhangi bir zamanda gerçekleşebilir. Donmuş bir sistem, 45 dakikanızı boşa harcadığınız anlamına geliyordu çünkü... Her şeyi yeniden yapmak zorunda kaldım ama kalan ders süresi artık buna yetmiyordu.

1993'e yaklaştıkça, bazı okullarda ve liselerde 286 arabalı normal sınıflar ortaya çıktı ve bazı yerlerde üç ruble bile vardı. Programlama dilleri açısından iki seçenek vardı: “BASIC”in bittiği yerde “Turbo Pascal” başlıyordu.

"Tanklar" örneğini kullanarak "Turbo Pascal" ile programlama

Pascal'ı kullanarak çocuklara döngüler oluşturmayı, her türlü fonksiyonu çizmeyi ve dizilerle çalışmayı öğrettiler. Bir süre “yaşadığım” fizik ve matematik lisesinde haftada bir çift bilgisayar bilimlerine atandı. Ve iki yıl boyunca bu sıkıcı yer vardı. Elbette bir dizinin veya bir tür sinüzoidin değerlerini ekranda göstermekten daha ciddi bir şey yapmak istedim.

Tanklar

Battle City, NES klon konsollarındaki (Dendy vb.) en popüler oyunlardan biriydi.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

1996'da 8 bitlerin popülaritesi geçti, uzun süredir dolaplarda toz topluyorlardı ve PC için büyük ölçekli bir "Tanklar" klonu yapmak bana harika göründü. Aşağıda, o zamanlar Pascal'da grafik, fare ve ses içeren bir şeyler yazmak için kaçmanın nasıl gerekli olduğu anlatılmaktadır.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Yalnızca çubuklar ve daireler çizebilirsiniz

Grafiklerle başlayalım.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Pascal, temel versiyonunda bazı şekiller çizmenize, boyamanıza ve noktaların renklerini belirlemenize olanak tanıyordu. Graph modülünde bizi spritelara yaklaştıran en gelişmiş prosedürler GetImage ve PutImage'dır. Onların yardımıyla ekranın bir bölümünü önceden ayrılmış bir hafıza alanına kaydetmek ve ardından bu parçayı bir bitmap görüntüsü olarak kullanmak mümkün oldu. Yani ekrandaki bazı öğeleri veya görselleri yeniden kullanmak istiyorsanız önce bunları çizer, belleğe kopyalar, ekranı siler, sonrakini çizer ve bellekte istediğiniz kütüphaneyi oluşturana kadar bu şekilde devam edersiniz. Her şey hızlı bir şekilde gerçekleştiği için kullanıcı bu hileleri fark etmez.

Spriteların kullanıldığı ilk modül harita editörüydü.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Belirgin bir oyun alanı vardı. Fareye tıklamak, dört engel seçeneğinden birini seçebileceğiniz bir menüyü açtı. Fareden bahsetmişken...

Fare zaten 90'ların sonu

Elbette herkesin fareleri vardı, ancak 90'ların ortalarına kadar yalnızca Windows 3.11'de, grafik paketlerinde ve az sayıda oyunda kullanılıyorlardı. Wolf ve Doom yalnızca klavyeyle oynanıyordu. Ve DOS ortamında fareye özellikle ihtiyaç duyulmuyordu. Bu nedenle Borland, fare modülünü standart pakete bile dahil etmemişti. Onu, ellerini havaya kaldırıp "Ona ne için ihtiyacın var?" diye bağıran tanıdıklarınız aracılığıyla aramak zorundaydınız.

Ancak fareyi yoklayacak bir modül bulmak işin yalnızca yarısıdır. Ekrandaki düğmelere fareyle basabilmek için çizilmeleri gerekiyordu. Üstelik iki versiyonda (basılmış ve basılmamış). Basılmayan bir düğmenin üst kısmı açık renklidir ve altında bir gölge bulunur. Basıldığında ise tam tersi oluyor. Ve sonra bunu ekrana üç kez çizin (basılmadı, basılmadı, sonra tekrar basılmadı). Ayrıca, görüntüleme için gecikmeleri ayarlamayı ve imleci gizlemeyi unutmayın.

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Örneğin, ana menünün kodda işlenmesi şuna benziyordu:

Pascal'da Tanchiki: 90'larda çocuklara programlama nasıl öğretildi ve bunda yanlış olan neydi?

Ses – Yalnızca PC Hoparlörü

Sesli ayrı bir hikaye. Doksanlı yılların başlarında Sound Blaster klonları zafer yürüyüşlerine hazırlanıyorlardı ve çoğu uygulama yalnızca yerleşik hoparlörle çalışıyordu. Yeteneklerinin maksimumu, yalnızca bir tonun aynı anda çoğaltılmasıdır. Turbo Pascal'ın yapmanıza izin verdiği şey de tam olarak budur. Ses prosedürü sayesinde, silah sesleri ve patlama sesleri için yeterli olan farklı frekanslarda "gıcırdamak" mümkündü, ancak o zamanlar moda olduğu gibi müzikal bir ekran koruyucu için bu uygun değildi. Sonuç olarak, çok kurnaz bir çözüm bulundu: Yazılımın kendi arşivinde, bir kez bazı BBS'lerden indirilen bir "exe dosyası" keşfedildi. Mucizeler yaratabilirdi; bir PC Hoparlörü aracılığıyla sıkıştırılmamış dalgalar çalabilirdi ve bunu komut satırından yaptı ve gerçek bir arayüze sahip değildi. Gereken tek şey, onu Pascal yürütme prosedürü aracılığıyla çağırmak ve bu yapının çökmediğinden emin olmaktı.

Sonuç olarak, ekran koruyucuda öldürücü müzik belirdi, ancak onunla birlikte komik bir şey oldu. 1996'da Pentium 75 üzerinde 90'a kadar çıkan bir sistemim vardı. Üzerinde her şey yolunda gitti. İkinci dönemde Pascal'ın bizim için görevlendirildiği üniversitede sınıfta yıpranmış "üç ruble" vardı. Öğretmenle anlaşarak sınava girip bir daha oraya gitmemek için bu tankları ikinci derse götürdüm. Ve böylece, lansmandan sonra, hoparlörden guruldayan gırtlaktan gelen seslerle karışık yüksek bir kükreme çıktı. Genel olarak, 33 megahertz DX "üç rublelik kartın" aynı "yürütülebilir dosyayı" düzgün şekilde döndüremediği ortaya çıktı. Ama bunun dışında her şey yolundaydı. Tabii ki, PC performansından bağımsız olarak tüm oyunu bozan yavaş klavye yoklamasını saymıyoruz.

Ama asıl sorun Pascal'da değil

Anladığım kadarıyla "Tanklar", Turbo Pascal'dan montaj ekleri olmadan sıkıştırılabilecek maksimum miktardır. Nihai ürünün bariz eksiklikleri yavaş klavye sorgulaması ve yavaş grafik oluşturmadır. Durum, son derece az sayıda üçüncü taraf kütüphane ve modül nedeniyle daha da kötüleşti. Bir elin parmakları kadar sayılabilirler.

Ama beni en çok üzen şey okul eğitimine yaklaşımdı. O zamanlar kimse çocuklara diğer dillerin avantajlarından ve olanaklarından bahsetmemişti. Sınıfta neredeyse hemen start, println ve if hakkında konuşmaya başladılar; bu da öğrencileri BASIC-Pascal paradigmasının içine kilitledi. Bu dillerin her ikisi de yalnızca eğitim amaçlı sayılabilir. Onların “savaş” kullanımı nadir görülen bir durumdur.

Çocuklara neden sahte diller öğretildiği benim için bir muamma. Daha görsel olsunlar. BASIC'in çeşitlemelerinin orada burada kullanılmasına izin verin. Ancak her durumda, bir kişi geleceğini programlamaya bağlamaya karar verirse, diğer dilleri sıfırdan öğrenmek zorunda kalacaktır. Öyleyse neden çocuklara aynı eğitim görevleri verilmiyor da, yalnızca bağımsız olarak daha da gelişebilecekleri normal bir platformda (dil) verilmesin?

Görevlerden bahsetmişken. Okulda ve üniversitede bunlar her zaman soyuttu: bir şeyler hesaplayın, bir fonksiyon oluşturun, bir şeyler çizin. Üç farklı okulda okudum, ayrıca enstitünün ilk yılında “Pascal” dersimiz vardı ve öğretmenler bir kez bile gerçek bir uygulamalı problem ortaya koymadı. Örneğin, bir not defteri veya başka bir şeyi kullanışlı hale getirin. Her şey çok uzaktı. Ve bir kişi aylarca boş problemleri çözerek harcadığında ve bunlar daha sonra çöpe gittiğinde... Genelde insanlar enstitüden zaten tükenmiş halde ayrılıyor.

Bu arada aynı üniversitenin üçüncü yılında bize programda “artılar” veriliyordu. İyi bir şey gibi görünüyordu ama insanlar yorgundu, sahtekarlıklarla ve "eğitim" görevleriyle doluydu. Kimse ilk seferki kadar heyecanlı değildi.

Not: Okullardaki bilgisayar bilimi derslerinde artık hangi dillerin öğretildiğini Google'da araştırdım. Her şey 25 yıl öncekiyle aynı: Basic, Pascal. Python ara sıra kapanımlar halinde gelir.

Kaynak: habr.com

Yorum ekle