Pascal versus C

Celebra întrebare între liceenii care studiază informatica, ce mediu de programare este mai util pentru ei: Borland Pascal sau Borland C, care este mai uşor de invăţat etc. Ştim bine, că toţi vorbesc despre C de parcă ar vorbi despre Dumnezeu :) ) Cei care îl învaţă, C-ul, îl înjură că e greu, ceilalţi care învaţă Pascal-ul sunt supăraţi că ei nu fac C, deşi mulţi dintre ei invaţă Pasca-ul de 3- 4 ani iar fară ajutor, nu sunt în stare să scrie un Buble Sort.

Dar să analizăm puţin problema, ce ştie Pascal-ul şi ce ştie C-ul şi care ar fi diferenţa de percepere, pentru un copil de clasa a-9-a care vrea să se iniţieze în tainele programării. Pascal-ul, deşi puţini ştiu este un mediu de programare destul de bun pentru multe genuri de programe, doar că fiind prea bătrân este cam scos din uz, dar folosit în scop educaţional acest program dă rezultate excelente.

Pascal-ul poate fi folosit pentru a învăţa algoritmică, pentru a crea diferite programe, poţi să îl foloseşti ca o interfaţă, ca un client pentru o bază de date, îl poţi folosii pentru a crea o grafică mai elementară, specifică Windows “98, pote fi folosit pentru a crea o pagină web(deşi mulţi nu cred asta, fiindcă nu ştiu), poate fifolosit ca un editor bun de text, dar să nu-i uităm menirea de mediu de programare :) , la  fel ca şi in C, Pascalul are colecţii de funcţii si proceduri stocate in aşa numitele “Unit-uri”, care pot fi apelate în funcţie de necesitate.

Un lucru foarte bun este acela, că poţi împărţi un program creat in Pascal, în subprograme, ele pot fi funcţii sau proceduri, care la randul lor pot primi parametrii, care pot fi aduşi prin valoare sau prin referinţă, adică işi modifică valoarea în interiorul programului, sau sunt doar auxiliari, şi nu îşi schimbă valoarea în interiorul subprogramului. Un avantaj pe care îl mai are Pascalul, dar nu il bagă nimeni în seama, este sintaxa foarte simplă!

Am enumerat, în mare câteva lucruri despre Pascal, pentru cei care nu au facut nici odată, să aibă o imagine de ansamblu, despre el. Totuţi mai aproape de zilele noastre s-a creat o variantă de Pascal, numită Free Pascal, deşi iniţial a fost facută pentru Linux, acuma este portabilă şi pe Windows, în acestă ediţie pot fi create programe de o talie superioră, ţin minte că am vazut la un concurs de informatică, o variantă de Paint, mult mult superioară celei care există sub Windows, drept dovadă că e foarte utilă această variantă de Pascal!

Despre Borland C, ce aş putea să spun, că este un mediu de programare foarte bun, că au derivat multe limbaje de programare din el, dar este destul de greu de învăţat pentru un copil de clasa a 9a. Este super ok pentru studenţii la informatică să-l învete, sau pentru liceenii în ani terminali, dar pentru clasele a9a şi a 10 eu zic că este mai mult decât bun bătrânul Pascal, pentru a se forma ca programatorii.

Dacă la Pascal am enumerat o listă de lucruri, ca re pot fi făcute, la C, nu o mai enumăr pentru că şi el poate face aceleşi lucruri, ba chiar mai mult de atâta!

Voi ce credeţi care dintre cele două limbaje ar fi mai indicat să se predea tinerilor liceeni de la informatică in primii doi ani liceu, practic când ei îşi pun bazele in programare. Eu ţin sus ţi tare, că Pascalul, dar cu condiţia ca cel puţin clasa a10-a, să se lase la libera legere, care ce vrea să facă, sau cei care pot studia cele două limbaje, în paralel, sunt mult mai avantajaţi!

Dacă şti C, atunci ai sanşa să treci la limbaje de programare practice mult mai uşor, cum ar fi C#, PHP, Microsoft Visual C++, Java etc.

Dacă şti Pascal atunci vei putea trece uşor la Delphi, sau pentru cei cu Linux, Kylix(Delphy, practic e un pachet), chiar şi C# are sintaxă luată o parte din Pascal…mai sunt şi altele…

Dacă vei avea o gândire limpede în programare şi în algoritmică, atunci îţi va fi mult mai uşor să treci, de la un limbaj de programare la altul!

Nu faptul că în liceu ai făcut Pascal sau C te face să fi programator bun, ci logica ta de a desluşi tainele gândirii de programator.

Stând de vorba cu un profesor de la centrul de cercetare Carpath de la U.A.I.C. acesta mi-a spus, în cercetare sunt trei limbaje de programare folosite: Fortran, C şi Pascal, deci e bine să şti să gandeşti algoritmic, codul nu contează în ce îl scrii! :D

Aştept completări şi opinii!

13 Răspunsuri sa “Pascal versus C”

  1. man … sunt in totalitate de acord cu tine. este bun pascal-ul, cu limbajul lui “basic”, so to speak, pentru initiere in programare ptr cei de cls a 9-a … dar e bine ca din clasa a 10-a, sa inceapa sa se faca usor trecerea de la Pascal la C++. Dupa cum spuneam si la intrunirea de la IPWorkshop de anu trecut [daca iti mai aduci aminte de sedinta pe care a tinut-o mama lui Alex Radovici] … la sc pe noi ne omora profa de info cu Pascalul, desi in clasa eram numai eu si cu un prieten interesati de info, si in special eu.
    Voiam sa invat C++ ptr ca abia incepeam si eu sa invat sa lucrez cu PHP-ul si habar nu aveam de sintaxa … ii intrebam pe unii in lista de cred ca mi-au dat la ignor de vai de viata mea. Si dupa cum ziceam, profa ne omora in cont cu Pascalul.
    Dupa parerea mea, trebuie sa se tina cont si de ceea ce doresc elevii: adica, daca ei vor C++ in loc de Pascal, preda-le dom’le C++ si gata, ce te mai complici sa incepi cu Pascalul?

  2. Nu poti sa te iei dupa ce vor elevii, pentru ca daca e sa o luam drept habar nu au despre ce e vorba si cu ce se mananca, doar parerile alora preluate si ce au mai auzit si ei. Si eu as sustine pascalul (asa am inceput si eu si nu regret), e mai usor atat pentru prof cat si pentru elev. Daca se vrea trecerea spre C, atunci sa se faca cel mai devreme in clasa a 10-a sau ma rog, cand vine vorba de pointeri, referinte (nici nu stiu sigur daca se faceau in liceu), c-ul fiind ceva mai bun si mai corect din punctul asta de vedere (sau cel putin asa mi se pare mie). De asemenea, sunt de acord sa se faca algoritmica multa in liceu, dar ar fi frumos sa se faca ajunga si niste exemple mai atractive pentru ei, nu doar matematica aplicata. Ma rog … divagam, deci clar start cu Pascal, si pe urma se va face trecerea la C la cererea multimii :D

  3. Toti cred in ca ce fac ei la algortimica in liceu nu-i ajuta niciodata, si aici intervine greseala, cand zic “dar asta cu ce ma ajuta?” Da o sa-i ajute cand vor vrea sa faca un joc, cand vor lucra ca programatori, si nu ca operatori pc.
    Chiar si in programarea web uneori ve-ti avea nevoie de putina algoritmica uneori, sau mai multa alte ori! :D

  4. Dorin Spune:

    Borland Pascal 7.0 e cel mai potrivit pentru programa de liceu.

    Ca programator trebuie sa te obisnuiesti cu ideea ca trebuie sa fii in cea mai mare parte autodidact. Se zice ca un programator trebuie sa ia contact cu cel putin un limbaj de programare pe an pentru a nu ajunge sa se plafoneze si a avea o minte sanatoasa.

    In liceu ti de ofera un minim NECESAR pentru a fi programator : gandire algoritmica, luctrul cu structuri de date … Daca vrei sa stii C++, PHP etc inveti singur: eu in liceu am devenit familiar cu 6 limbaje de programare (printre care si asm), fiecaruia respectandu-i paradigmele si conventiile. Este foarte urat sa vezi un tip care a facut in liceu C si nu stie ca trecuie sa declare contantele cu litere mari (spre exeplu). in Pascal nu prea sunt astfe de conventii pentru ca e case insensitive (de fapt se obisnuieste ca intr-o declaratie fiecare concept sa inceapa cu litera mare si restul cu litere mici, programatorii C# trebuie sa fie familiari cu asta). Eu nu cred ca unui incepataor i-ar conveni sa fie criticat tot timpu ca nu respecta conventii de nume, cum nici nu ar fi spre binele lui sa intre intr-o comunitate de programatori si sa trebuiasca sa-si schimbe modul de denumire al variabilelelor, constantelor …
    O sursa a unui program este un document pe care trebuie sa-l citeasca cineva. Pascal avand o sintaxa mult mai apropiata de o limba naturala este mult mai usor de citit si de studiat, si un initiat in Pascal de obicei face un program mai citibil deoarece nu are atatea “smecherii” cum are C.
    De asemenea n-as pleda nici pentru un limbaj de nivel mai inalt (Java, Python, PHP …) ca sa fie primu limbaj de programare. Este dovedit ca acestia care sunt initiati in aceste limbaje sunt programatori foarte usor de inlocuit, de ce ? pentru ca astia nu au nici cea mai mica idee despre cum lucreaza computeru (nu stie ce se executa mai repede deoarece poate interveni gc-ul, nu stie ca trebuie sa faca curatenie prin heap deoarece se ocupa gc-ul … ). Aici iarasi intervine avantajul folosirii BP7: deoarece ai < 1MB la dispozitie te vei obisnui cu problemele asociate cu utilizarea memoriei (de obicei de aici rezulta in practica cele mai multe bug-uri “ascunse”).
    Si eu (cand eram in liceu) eram revoltat de faptul ca nu folosim un limbaj moderm, cum ar fi python deoarece are tot : lucrul cu liste, cu siruri … dar in practica mi-a folosit foarte mult ce-am invatat in liceu. Nu toti vor lucra de la inceput cu ditamai framework-urile care fac totul pentru tine. De multe ori ajungi sa folosesti tehnologii mai vechi deoarece se poate sa fie un proiect pe termen lung (si acolo e salariul mai mare :) ) ).

    Asa fratilor nu mai fiti suparati ca folositi Pascal in liceu (si asa ca apropo in liceu nu folosesti nici macar 10 % din ce inseamna Borland Pascal 7.0 :) ) ca e spre binele vostru, si daca vreti alte limbaje invatati-le singuri ca sunt o multime de tutoriale pe net !

    P.S. pentru Robert: intre C si C++ este diferenta mare: C == un assembler de nivel inalt; C++ == limbaj de programare “multiparadigm” si doar la facultate poate fi studiat (execeptand faptul ca ai putea fi autodidact)

  5. cartitarea Spune:

    C power!:))

  6. Cuisor Spune:

    Eu sunt de parere ca cel mai bine ar fi in liceu sa se invete mai mult algoritmica in pseudo cod.
    Sunt 2 tipuri de programare. Stilul procedural ce ar trebui sa fie invatat in liceu si stilul obiectual in ultimul an sau facultate.

    Cine incepe a invata programare nu are nevoie sa invete un limbaj, ci sa stie ce inseamna lucrurile de baza, cum sunt variabile, functii, adrese de memorie etc. si orice problema au de rezolvat sa o imparta in mai multi pasi.

    Orice mediu de programare existent are aceste elemente, iar daca sti problema sa o imparti pe categorii o poti rezolva aproape in orice.

    Trecerea de la un limbaj la altul inseamna doar respectarea anumitor conventii, dar odata ce ai gandirea necesara, ca exemplu, sti ca pt problema aceasta am nevoie de 3 variabile, un ciclu si nush ce functie, deja treaba e ca rezolvata. Iti transcrii codul pe urma in ce limbaj vrei si va functiona 100%.

  7. pirvu gina Spune:

    vreau algoritmica in pseudocod

  8. pirvu gina Spune:

    vreau algoritmica in pseudocod
    borland c e o prostieeeeeeeeeeeeeeeeeee

  9. gandesc_logic(valcea) Spune:

    sunt in clasa a 9a si invat pascal.merg la olimpiada dar la ora prefer sa joc dota si ma concentrez mai bn acasa;cred k am inteles principiul aloritmicii;la pascal mi-a predat fisierele.lamuriti-ma:sa ii zic profesorului sa trec pe altceva sau sa continui pe pascal?

  10. diana Spune:

    C++ este moolt mai usor decat pascalul si daca elevii vor C++ nu trebuie sa ne mai complicam cu pascal.

  11. Mai nu conteaza in ce mediu de programare incepeti primele linii de cod, conteaza sa intelegeti principiile algoritmicii, iar dupa ce ati facut acest pas puteti treceti sa codati in orice limbaj de programare doriti!

    Pentru cei de clasa a 9a recomand Pascal in special freePascal!

  12. Cyrix Spune:

    @diana: Serios? C++ e “moolt” mai usor ca Pascalul? :D In liceu nici macar nu se face C++, se face un fel de C cu cin, cout si referinte. C++ e un limbaj hardcore, C-ul e si el foarte tricky pt cei neinitiati (Teach yourself C in 10 years), asa ca Pascalul ramane o varianta ft buna pt informatica de liceu.

    • Pentru cei care stiu doar printf si scanf in C/C++ li se pare foarte usor, dar cand vine vorba sa scrie o clasa, sa vorbim de mostenire, polimorfism etc…incep sa se balbai…nu ca ar fi auzit de asa ceva:)) oricum pascalul este foarte recunocut pentru meritele sale pe plan educativ.

Lasă un Răspuns