Kuri programavimo kalba geresnė: „Pascal“ ar C++?

Komentarai Prisijungti

Viršuje:   Seniausi | Naujausi

Shinigami 2016-10-10 20:20
C/C++ galėtu mokyti tik tuos kurie to nori išmokti papildomai, bet ne B ar A lygiui. B lygį reiktu tik supažindinti su programavimų, kad žinotu kas tai yra ir kaip jis veikia. Jiems nereikia žinoti jokių niuansų susijusiu su programavimo kalba. A lygį reiktu pilnai supažindinti su programavimo kalba ar net keliomis kad pamatytu skirtumus tarp skirtingu kalbų. Bet reiktu mokyti programavimo kalbų kurios yra dabar populiarios ir lengvai išmokstamos. Kokia programavimo kalbą pasirinkti? Aš laikausi nuomonės kad ji visu pirma turi būti praktiška. Nėra geresnio mokytojo kaip noras sukurti kažką praktiškai naudingo. Kad butu gali kurti ir ne pamokų metų, bet savo projektą. Jei dabar mokykloje moko paskalio taip kaip mane mokė mokykloje, tai čia nėra programavimo mokymas. Per 12 mokyklos metų programavau gal kokias 2 - 3 pamokas ir tuo baigėsi programavimas. Ir realiai net nesupratau kas tas programavimas yra. Dar dvejetainio kodo pamokė kaip iš giedro dangaus. Tai iš vis neaišku kokia iš to nauda. Jei python ir paskalį vienodai lengva išmokti tai reikia mokyti tos kalbos kuri yra naudojama rinkoje, kam mokyti to ko niekas nebenaudoja? Visa problema yra kad dauguma informatikos mokytojų patys nežino kas tas programavimas. Iš knygos duoda užduotį kur jiems (mokytojams) viskas paaiškinta ir ką jau mokė ne vienus metus. Todėl ir nenori keisti programavimo kalbos.
goo.glecom 2016-10-10 20:22
Ir labai gerai, kad trivialus kodas. Nuo trivialumo (paprastumo) ir prasideda visas sudetingumas. Pirmiausia, jokia ten tavo c, c++, pascal, delphi ar kitas velnias nera kalbos. Mes tik vadinam tai kalba, bet ten i kalba nepanasu. Source kodas reikalingas tik mums patiems, kad butu lengviau suprasti, ka darome. Masininis kodas yra masininis kodas, tos "kalbos" yra budai pateikti instrukcijas procesoriui. Kam kompileris reikalingas tada, jeigu kompiuteriai tokie protingi, jog su mumis kalbasi. Jeigu tai butu kalba, paklauses kompo jis tau kazka atsakytu. Dabar klausk, ko tik nori. Kompiuteriai yra masinos, skaiciuotuvai. Jie priima instrukcijas ir jas atlieka. Vat sitas dalykas yra svarbiausias, kuri butina suprasti. Pati kalba yra mums patiems, bet jeigu atitruksi nuo realybes, kas yra masinu programavimas, nugrybausit i lankas. Kazkas assembleri minejo, prasau va kuo virsta jusu kalbos. Ten viskas labai trivialu. Tame ir esme, kad su c ir c++ galima parasyti tiek labai paprasta, tiek sudetinga koda. As mieliau zaisiu su sudetinga technika ir ka nors naudingo suzinosiu, o ne kilnosiu zaislini telefona. Ir kaip tu suzinosi visus niuansus apie pasimatymus, kuriu prisireiks, jeigu visa laika skirsi zaidimui su barbemis?
Arthuras 2016-10-10 20:44
- su Python gerokai sudėtingiau. Kodėl? Pascal kalba yra smarkiai griežtesnė, išraiškingesnė - kokia ir turėtų būti pirmoji programavimo kalba. Pačiai pradžiai - tikrai tinka. Po to galima migruoti į bet kokią OOP palaikančią kalbą. P.S. kuo mažiau "magijos" pradžioje programavimo - tuo geriau. Pradedant programuoti, mano nuomone, nereikėtų leistis nei į techninius dalykus, tokius kaip atminties valdymas ir t.t., nei programuoti su kalbomis, kurios didžiąją dalį "mechaninio" (pradedantiesiems tai nėra mechaninis darbas) darbo padaro už programuotoją.
goo.glecom 2016-10-10 20:55
gal gali pademonstruoti, kas yra teisingai atlikta uzduotis? as nieko pries buciau, jei ir pademonstruotum israiskinguma. tas grieztumas irgi idomi savoka. gal issiplesk. Tu gal C# programuot megsti kartais ?
kernel_panikuoja 2016-10-10 21:03
Ka tu cia is viso nusikalbi?... Programavimo kalbos yra programavimo kalbos. Tai dirbtines kalbos, turincios savo sintakse, leksika, semantika, struktura. Jeigu tau kompiuteris atsakytu, vadinasi jis turetu "voice recognition'a" ir gera, veikiausiai deep learning based AI. Tai visiskai atskiros informatikos sakos, o ne kazkokios konkrecios kalbos. Savo sau susikurtas iskreiptas interpretacijas ir terminus gali pasilaikyti, nes net nelabai gaudaisi tarp esminiu savoku. Kalbu lyginimas "is oro" apskritai yra nesamone. Kalbos yra sukurtos su konkreciais design decision'ais ir paskirtimi. Su visom jom galima parasyti ir paprasta, ir sudetinga koda, nes dauguma kalbu yra atitinkancios "turing complete" principus ir yra universalios. Klausimas dazniausiai buna susijes su efektyvumu, patogumu, kalbos builtin funkciuonalumu konkreciai uzduociai. Ka tu "naudingo suzinosi" pasiziurejes dali C/C++ sintakses mokyklinio lygio programos sukodinimui, ta pati naudingo gali suzinot paskyres valanda bet ko kito pasiskaitymui. Apskritai, sintakse yra tik abecele. Viskas susiveda i algoritmus, srities design pattern'us, best practise'es ir t.t. Tik pati sintakse yra niekinio lygio zinios, kalbant apie kazkokios srities programavima. Tai tokie tavo zaidimai su sudetinga technika issivartys i tai, kad parasysi C'ishna strukturini koda C++ sintakse ir isivaizduosi, kad moki C++, kai is tikro, net C++ elementoriaus nebusi praejes. Ir dar karta pakartosiu - kalbu eina apie bendra mokykline informatika. Ne tik, kad maza jos dalis yra programavimas, bet maza dalis mokiniu toliau susidurs su programavimu, o tu jiems siulai zaist su "sudetinga technika" nes taip "tau mieliau". Niekam neidomu kas tau mieliau. Tikslas yra jauna zmogu supazindinti su programavimo pagrindais, o tam tinka bene kiekviena programavimo kalba, tik ne kiekviena yra vienodai patogi/paprasta/suprantama.
kestutisz 2016-10-10 21:34
Kai jau įpratęs ir nebekeli klausimų "o kodėl" tai čia viskas ok. Kad ir patyrusiam mokytojui paaiškinit mokiniui void ir include dalį jau gali būti sunku. Či jau ne begin/end. Bijau, kad mokymas realiai pavirstų į kažką panašaus iš xkdc - https://xkcd.com/1597/ - maždaug iškalk ką čia turėsi įrašyti ir "viskas veiks, o jei neveiks tai perrašyk iš naujo". Mane kiek pamenu pradžioj išvis Basic'u kažkada mokino, pačiu baisiausiu būdu su GOTO ir kažkaip nenumiriau, Pascal pasirodė patogesnis tai jau savarankiškai mokiausi tą. Man asmeniškai ten turbūt labiausiai patiko debug'eris kuris imho iš visų kada bandytų tiksliausiai parodydavo ką aš visgi darau ne taip. Su C (konkrečiai tada dar berods Turbo C?) prasidėdavo tai čia kompiliatoriaus, o čia jau linkerio klaidos - žodžiu kažkaip nepasirodė nei lengva, nei šiaip didelio aiškumo kodėl tai reikėtų savarankiškai mokytis pačiam. Visgi tai mokykla, o ne darbas su deadlainais, skolintom specifinėm bibliotekom kurių nėra laikas adaptuoti prie turimos kalbos ir reikia skubiai kažką padaryti kita, kad ir neįsisavinta, kalba/freimworku :)
goo.glecom 2016-10-10 22:00
as tiesiog pademonstruosiu, ka turiu omeny. cia palyginima padare vienas profesorius labai seniai tai is jo ir pasiskolinsiu pavyzdzius. that is 0; stops if all n elements are examined without finding one.) Funkcionalumas, paprastumas, suprantamumas. Kur cia aiskiau, kas vyksta? zodziu, c ar c++ pilna fura irankiu, imk ir naudokis. tik nepagailek laiko ismokti taikyti tuos irankius. for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){for(;;){};};};};};};};};};};};
VardasPavarde2 2016-10-10 22:10
Programavimo reiketu pradeti mokyti ne nuo kokios kalbos, o nuo kaip veikia kompiuteris - http://www.nand2tetris.org/ , kai tai bus ismokta - kalbos bus nekliutys. Tegul visiems studentams duoda pvz. po ZX Spectrum ir kai paprogramuos BASIC, Assembly, masininiu kodu - taps geresniu programuotoju visam gyvenimui nei programuos eiles metu tinklalapius su PHP, kai mokes kaip veikia kompiuteris - nebebus tokiu zodziu kaip - "Assembly? OMG??? tu gal nesveikas, taigi Assembly labai sunkus ir uztrunka metu is metus ji ismokti.?"
FtBall 2016-10-10 23:37
goo.glecom, reikia tau paprieštarauti. Mokyklos bei Universiteto tikslas nėra išmokyti konkrečių įrankių ar žinių. Tikslas yra išmokyti mokytis. Praktiškai visas mokyklinis(ir ypač universitetinis) matematikos kursas yra nepritaikomas praktiškai. Bet matematiniai uždaviniai padeda bendram mąstymui. Taip pat ir mokyklinio informatikos kurso tikslas nėra išmokyti programuoti Pascal'iu, o parodyti, kas iš vis yra tas programavimas. VardasPavarde2, mokykloje nemanau, ar išvis verta užsiminti apie Assembly egzistavimą, o Universitete nemanau, jog verta mokyti programuoti Assembly kalba. Man pilnai užteko kurso apie tai, kas tai yra, ir kodėl man, kaip Android programuotojui, nuo to nei šilta, nei šalta.
goo.glecom 2016-10-11 00:04
zet 2016-10-11 00:15
pradziai reikia susitarti del "gerumo" savokos. Nes vienam geris greitis, treciam sintakse, ketvirtam panaudojimo galimybes, penktam net bendruomenes bei biblioteku dydis.
Niemand 2016-10-11 00:46
C++ giminė pernelyg funkcionali mokinukui. C giminė absoliučiai ne funkcionali, viską reikia per aplinkui daryti, kas daro ją itin sudėtinga. Abi šios sistemos turi bendrą bėdą - atminties valdymo nebuvimą, kas lemia itin nemalonius ir sunkiai gliaudomus bugus. Mokinukui reikia paprasto žaisliuko, o ne galvosūkio pažengusiems ar pramoninės sistemos.
- 2016-10-11 01:29
Tu man primeni Kestutį Matuliauską, ekstra PHP bei Wordpress guru, advanced security specą, dariusį MAc filtrus ir kovojusį su black hat hackers .... Tik tu čia svaigsti su C/C++. Kruglo durov esi. Tu net nesugebi suvokti variable/kintamojo abstrakcijos ...
goo.glecom 2016-10-11 03:00
Turint omeny, kiek informacijos viesojoje erdveje yra apie tavo mineta asmeni, darau isvada, kad save reklamuoji.
- 2016-10-11 09:55
Tau, regis, ne tik su abstrakcijomis yra problemų.
Pjovėjas 2016-10-11 13:59
Aš savo laiku mokiausi KTU Gimnazijoje. Ir ten mus mokė Pascalio. Nežinau, kieno tai nuopelnas, Pascalio, ar labai gerų mokytojų (o gal jų kombinacijos), bet man susidaręs įspūdis, kad Pascalis labai gerai mokytis programavimo principų. Tai labai struktūrizuota kalba, jos sintaksė leidžia labai vaizdžiai parašyt programą (jau vien ekrane gali matyti kas kur kaip ir kodėl maždaug padėta). Ji labai patogi mokantis sukurt algoritmą ir jį įgyvendint. Nežinau dėl C++, nes šiaip po to nesimokiau programavimo, bet Pascalis tikrai, kaip mokymosi priemonė, buvo geras. PS, nežinau ką ten ponas gūglis turėjo omenyje, rašydamas; Tą, kad Pascalis neturi visų funkcijų, kurias turi C++? Jei taip, tai čia joks ne argumentas. Jis tą patį gali atlikti savo turimomis funkcijomis. Aprašymas bus ilgesnis, bet besimokančiam kur kas lengviau suprantamas KODĖL taip reikia daryti. Kas ir yra mokymosi tikslas. Juk negali neišmokęs daugybos iškart šokti ir mintinai mokytis faktorialų lentelės? PS: įdomu, kažkas jau čia užsiminė apie Pascalio debug režimą (kur būdavo galima savo programą pažingsniui vykdyt stebint kiekvieno kintamojo pokyčius), kuris labai patogus būdavo nagrinėjant veikimą, gaudant klaidas ir aiškinantis kas ne taip padaryta. Tai smalsu, čia Pascalio, kaip mokymosi įrankio featuras, ar ir kitos turi tokius patogius dalykus?
X-log 2016-10-11 14:23
Su Python mokyti programuoti, tas pats kas su su automatu mokyti vairuoti - ismokti gal ir paprasciau, bet paskui pereiti prie zemesnio lygio kalbos gali kilti labai daug problemu.
gediminas.bukauskas 2016-10-11 15:38
Vinis galima ir su mikroskopu kalti, tik ar verta? Pitonas buvo sukurtas adminams, leidžiantis kurti instaliacijos skriptus kur kas lengviau nei BASH ar Power Shell. Hackeriai šią kalbą pamėgo dėl lengvai prieinamų sisteminių resursų bei santykinio paprastumo, bet aš nesu tikras, kad reikia pereiti prie šios kalbos mokyklose. Čia būtų nauja pasakos apie Raudonbarzdį versija: mokytojui daug kur tektų pridurti "Jokiu būdu nenaudokite šios priemonės, nes galite nukalti savo kompą ar pagaminti klaikų virusą".
- 2016-10-11 16:54
Po tokios pastabos dauguma mokinių taip ir liktų smaksoti dienų dienomis prie python'o, nes bandytų sukurti klaikų virusą.
goo.glecom 2016-10-11 18:05
Skaityk ta posta nuo pradziu. Ten nurodytas saltinis, kuriame paskalis palyginamas su c ir c++. palyginimas sukurtas profesoriaus, ne mano. as tik komentuoju kas man nepatinka. O dabar, kas liecia mokymasi. Jus pascal megstat, jum jis patinka. Gal mestelkit koda, kuris bet kokius du failus suxorintu arba tiksliau tariant panaudokit XOR algoritma viena faila suxorint kitu. c ar c++ variantas irgi butu neprosal. uzduotele paprasta. kuria kalba toki labai parasta ir praktiska programa sugebesit paprasciau uzrasyt.