Archiwum kategorii: Programowanie w Python 3

Python vs Turbo Pascal

Jako że na zajęciach kierunku technik informatyk uczą nas Turbo Pascala, a w domu zaczynam z Pythonem – będę sobie notował w tym poście co ciekawsze smaczki dotyczące różnic pomiędzy tymi językami. Turbo Pascala uczyłem się w technikum elektrycznym w latach 90-tych więc jeszcze coś pamiętam. Na dzień dzisiejszy uważam, że to straszne że jest nadal nauczany w szkołach. Ukułem nawet powiedzenie „Turbo Pascal – powinni tego zabronić„. Nie byłem pierwszy, w googlach jest kilka podobnych wypowiedzi.

Odbyłem krótką rozmowę z wykładowcą na temat bezsensu nauczania tego języka. Argumentowałem tym, że przykładowo Python jest łatwiejszy do nauki, ma mniej ograniczeń i jest okienkowy, obiektowy oraz multisystemowy. Wykładowca zszokował mnie odpowiedzią: „Pascal jest jak łacina – jest to język martwy. Ale prosty do nauki i dlatego to dobry wybór w placówkach edukacyjnych„.

Na takie dictum nie ma kontrargumentów. Jest takie przysłowie żeby nie dyskutować z idiotą bo sprowadzi dyskusję do swojego poziomu a następnie pokona doświadczeniem. Sądzę że nauczający Pascala mają pewien bardzo ważny argument z którego jednak nie korzystają. Jak się nauczyli 15 lat temu Turbo Pascala to klepią ten język przez wieki (dosłownie) i skoro nikt na nich nie wymusza zmiany to wykładają tę miernotę ciesząc się po cichu, że sami uczyć się już nie muszą.

A wyobraźmy sobie jak inspirujące byłyby zajęcia dla gimnazjalistów/licealistów gdyby napisany program mogli zaprezentować i ożywić na swojej stronie w internecie albo na telefonie komórkowym !

Dla technika informatyka Pascal jest podwójną porażką. Jeśli uczeń liceum uczy się martwego języka i później go nie używa to traci tylko raz. Natomiast pracując w informatyce nie raz przydałoby się napisać jakiś program/moduł przydatny w pracy. A żeby to zrobić trzeba będzie się nauczyć jakiegoś „normalnego” języka we własnym zakresie. Przeznaczyć na to wiele godzin i dni nauki. A wiadomo, że w grupie (w szkole) jeden wspomaga drugiego i byłoby to o wiele skuteczniejsze.

Odnośnie różnic – niedawno pisaliśmy program weryfikujący poprawność numeru PESEL (składającego się z 11 cyfr). Co trzeba zrobić aby w Pascalu przyporządkować 11 cyfr do zmiennych ?

uses crt;
var
a, b, c, d, e, f, g, h, i, j, k: integer;
begin
a:=1;
b:=2;
c:=3;
d:=4;
e:=5;
f:=6;
g:=7;
h:=8;
i:=9;
j:=0;
k:=1;
end.

A co trzeba napisać w Pythonie ?

a,b,c,d,e,f,g,h,i,j,k = 1,2,3,4,5,6,7,8,9,0,1