Spune ce gandesti tu, nu ce gandesc altii pentru tine!

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ât!

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 scri! 😀

Aştept completări şi opinii!

Anunțuri

Comments on: "Pascal versus C" (22)

  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?

    • gandestete ca un elev de clasa a 9-a nu poate face diferenta intre c++ si pascal. Pascal e mult mai educativ;) Asta e parerea mea. Sper sa nu jignesc pe nimeni

  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 😀

  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! 😀

  4. 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 said:

    C power!:))

  6. 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 said:

    vreau algoritmica in pseudocod

  8. pirvu gina said:

    vreau algoritmica in pseudocod
    borland c e o prostieeeeeeeeeeeeeeeeeee

  9. gandesc_logic(valcea) said:

    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. 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. @diana: Serios? C++ e „moolt” mai usor ca Pascalul? 😀 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.

    • defapt c-ul si c++ sunt cam aceleasi programe, depinde ce incluzi;)

  13. cine ma ajuta si pe mine sa transform un program pascal intr-un program c++? Promit sa ajut si eu

  14. Parerea mea de student la mate info e ca in liceu ar trebui invatat pascalul, iti dezvolta mult logica in a programa, iar sa folosesti numai algoritmica e o prostie,fiecare programator are stiul lui e de a face un algoritm;)

  15. Si eu fac Pascal in liceu si profa chiar nu are de gand sa ne invete in C++ (adevarul e ca nici nu cred ca e capabila :D).
    Aveti sau stiti vreun site cu teorie in ceea ce priveste Pascal, C++,Python.
    Ce parere aveti de Python? E mai bun ca Pascal, mai folosit, mai utilizat de programatori? 😀

  16. Buna Maria,
    Sfatul meul este sa nu fi dezamagita de faptul ca faci ca limbaj de programare in liceu Pascalul, incearca tot timpul sa gandesti solutiile problemelor in pseudocod si nici odata direct in limbajul de progamare, daca vei reusi sa modelezi in pseudocod un programel cu siguranta vei reusi implementezi acel programel in orice limbaj de programare. Phyton este un mediu avansat de programare web in special, daca esti inca la un nivel de incepator in ale programarii iti sugerez sa il lasi petru mai tarziu, dupa ce crezi ca ti-ai pus bazele in Pascal iti sugerez sa incerci Delphi care e tot un Pascal dar putin mai complex si mai useful:) apoi poti trece pe PHP/C#/F#/C++ iar abia apoi sa treci la Phyton, limbajul este destul de folosit in randul programatorilor cu experienta.

    Iti adaug aici cateva link-uri care e posibil sa te ajute:
    http://www.bitcell.info/tutoriale-pascal-f24.html
    http://www.skullbox.info/delphi-pascal/tutoriale-pascal-darkbyte/
    http://www.pascal-programming.info/index.php
    http://tutorialsx.wordpress.com/category/tutoriale-c/
    http://www.stiri.it/programare/tutoriale-c.html

    Iti doresc multa bafta, iar daca mai intrebari revin-o si te ajut cu cea mai mare placere.

  17. In clasa a 9a, am lucrat in pseudocod, din a 10-a am trecut la limbajul C++, prima etapa fiind de reluare a tipurilor de probleme studiate anterior, ‘traduse’ in C. Trecerea a fost usoara si sunt de parere ca C nu ar trebui sa ridice nicio problema, nu este un limbaj greu, structurile iti intra in reflex dupa o anumita perioada…

  18. Majoritatea subestimeaza Pascalul si cand spun Pascal ma refer la Pascalul modern in implementarea celor de la FreePascal. In articolul din aceasta pagina observ ca se da un motiv clasic care ar avea drept rezultat rarele aplicatii serioase facute in Pascal si anume varsta limbajului. De aici rezulta intrebarea retorica: C-ul cam cat de „tinerel” este ?

    Si tot in acest articol am intalnit afirmatia: „la C, nu o mai enumăr pentru că şi el poate face aceleşi lucruri, ba chiar mai mult de atât!”
    Ca de exemplu ?

Lasă un răspuns

Completează mai jos detaliile tale sau dă clic pe un icon pentru a te autentifica:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: