Bevertės programavimo kalbos?

pascal-code.jpg

Ar yra toks dalykas kaip bevertė programavimo kalba? Man toks klausimas iškilo diskutuojant su Tadu apie Pascal programavimo kalbos naudojimą mokyklose mokinant programavimo pagrindų.

Negi Pascal per daug bloga mokintis programavimo pradmenis? Sukurta dar 1970 kaip lengva programavimo kalba skatinanti struktūrinį programavimą iki mūsų dienų ji atkeliavo Objektinio Paskalio pavidalu, kurio geriausiai žinomas kompiliatorius yra CodeGear Delphi, naudojamas 1.75 milijono programuotojų visame pasaulyje. Beje, visi norintys pabandyti Delphi gali parsisiųsti ir kurti programas su visiškai legalia ir nemokama TurboDelphi versija.

Paskalis turi keletą svarbių savybių, itin aktualių pradedančiajam:

  1. Kintamieji privalo būti aprašomi procedūros ar funkcijos pradžioje, todėl niekada nepasimesi kur koks kintamasi galioja;
  2. Begin-End blogai išryškina ciklų ar sąlyginių sakinių pradžias ir pabaigas;
  3. Prieš paleidžiant programa turi būti sukompiliuota, kas sumažina programavimo klaidų skaičių;

Atrodytų smulkmenos ir patyrusiam programuotojui 1 ir 2 yra nepatogumas, o 3 tampa savaime suprantamu dalyku, pradedančiajam suteikia aiškumo: „A! Čia Begin, reiškias pradedam kažką, čia End – ciklo pabaiga.“ Man iki šiol C stiliaus programavimo kalbos atrodo tokios… retos, kur daugiau tuščių eilučių ir tarpo simbolių nei paties kodo.

Jei ne Pascal, tuomet ką pasirinkti mokinant programavimo pagrindus?

C++ ? Užmušite bet kokį domėjimąsi programavimu, jei pradėsite aiškinti apie pointerius, adresus, referencus ir tai, kad sukurtą pointerį reikia vėliau sunaikinti. Nepamirškime paminėti, kad String iš tiesų yra klasė ir jai operatorius + yra overloadintas

Ruby/Java/Python? Vien tam kad paleistum pirmąją „Hello World“ programą nieko nenutuokiančiams apie programavimą mokinukams pirmiausia reikės išaiškinti, kas yra klasė, kad kažkuri klasė gali būti statinė ir turėti Main metodą ir jau tada į tą metodą galima rašyti savo std.out(„Hello World!“). Oj, palaukite, o kaip tą programą paleisti?.. Kokia ten komandinė eilutė?

„c:\Program Files\Java\jdk1.6.0_03\bin\java.exe“ -cp src\;helloworld.jar com.MyFirstSample“

Čia be kompiliavimo komandinės eilutės, beje… Yep, pats tas humanitarui dešimtokui…

C#? Greitai galima pasiklysti tarp visų namespace ir ką jie daro, todėl prieš tai mokytojai turėtu pravesti metus trunkančia jų apžvalgą. Iš esmės, .NET su C# galėtų būti pakaitalas Pascal, bet negi dabar imsim perrašinėti visus vadovėlius vien dėl to kad norim tapti modernūs? Pradedančiajam  C# bus per daug sudėtinga vien dėl 100% objektiškumo.

PHP? Nebent mokinti programuoti webui, bet prieš tai dar reiks paaiškinti kas tai yra web serveris, Apache, virtualios direktorijos, POST ir GET metodai… Mokiniui apibendrintame programavimo kurse tikrai to reikia?

Tai visgi gal liekam prie Pascal?

program Labas;
begin
WriteLn("Labas pasauli!");
end.

Tada Ctrl + F9 Paskal’io redaktoriuje ir nuspaudę F5 iš karto matome norimą rezultatą.

Mokykloje ar universitete dar nei vienas neišmoko programuoti taip, kad daugiau niekada nereiktų mokintis papildomai. Mokymo įstaigoje galima gauti tik pradmenis ir jų pagalba atrandi susidomėjimą programavimu arba ne. Lygiai taip pat jei mokintumėtės fizikos ir imtumėte reikalauti kiekvienoje mokykloje naujausios laboratorinės įrangos, nes, mat, senoji dar iš 1960-ųjų jau visai atgyveno ir nebelygis su ja mokintis.

Programavimo kalbos atsiranda ir palengva išnyksta jas pakeičiant naujesnėmis, tobulesnėmis ir patogesnėmis. Kiekviena jų atspindi sukūrimo laikotarpiu naudotas technologijas, programavimo metodus, idėjas ir paskirtį. Jegu atsiranda naujų programavimo kalbų ar senosios tampa visiškai bevertės? Tik ne Pascal, nes ji iki šiol puikiai atlieka savo paskirtį: mokina programavimo.

Jeigu šis įrašas patiko, nepatingėkit pakomentuoti arba užsiprenumeruoti RSS srautą.

108 komentarai

  1. Arvydas, kadangi sakai, kad esi programaves su daugeliu kalbu, tau klausima noreciau pateikti – su kokia programavimo kalba noretum laikyti Gyvenimiskai svarbu egzamina?

    • Su ta kuria reikia :) Mokykloje/Univere kaip ir darbe nepasišakosi. Su kuom reikia programuoti su tuo ir dirbi…

      Nors dabar daugiausia programuoju su C# VS2005, vis tiek turiu tam tikrų nostalgijų Delphi dėl man labai patogios Delphi 2007 IDE… VS2005 net keyboardo mappingus pasidariau kaip Delphi, kad nereiktų vargti ir mokintis, nes kartais tenka su tuo ir su tuo programuoti :)

  2. Arvydai, bent nemeluok, kad esi programavęs visomis kalbomis apie kurias kalbi, nes panašu, kad net nesupranti, kas yra trackback’as :)

    Čia pavyzdys iš python interaktyvios sesijos:

    >>> def f(x):
    … return 1./x

    >>> f(1)
    1.0
    >>> f(0)
    Traceback (most recent call last):
    File „“, line 1, in
    File „“, line 2, in f
    ZeroDivisionError: float division

    Gal tau priminti kokią klaidą gausi paskalyje?

    • Paskalyje atrodo RTE. Senai su juo kodyjau, bet problemą išspręsti reiktų debuginant ir stebint kintamuosius. Delphi gi pateiktų EDivisionByZero exceptioną.

      Ir iš ko tu sprendi, kad nežinau kas yra traceback? Aš tik taipindamas suklydau. Tai yra lygiai taip pat kaip Call Stack Paskalyje/Delphi, bet vien žinant kurioj kodo eilutėje yra problema ne visada pavyksta išsiaiškinti priežastis be konkrečių kintamųjų reikšmių stebėjimo.

  3. O kas tau sakė, kad kintamųjų reikšmių negalima išsitraukti labai norint? Pasikartosiu, apie python tavo žinios tikrai ribotos – nieko tame blogo, bet vien tai turėdamas omenyje turėtum atsargiau vertinti.

    O šiaip labai norint python’as turi ir debugerį. Pvz.: gali naudoti pydev tam reikalui (kas tiktų moksleiviams). Ten turėtų viskas būti integruota. Plus dar gausi saldainiukų apie kuriuos paskalis gali tepasvajoti jei IDE taip svarbu tau… Ir tai tik vienas iš sprendimų.

    Kabinėjiesi tik prie vieno dalyko lyg jo paneigimas kažką keistų. Žiūrime kokią problemą turime ir kaip norime ją išspręsti. Jeigu norime tik išmokyti tai galima likti ir prie paskalio. Kam reikės persimokys. Bet jei norime sudominti (o pirmas įspūdis visada svarbiausias) tai paskalį reikia mesti kuo skubiau.

    • Čia tu pradėjai teigti, kad mokiniams galima aiškinti kas tai yra ir naudotis traceback’ais, o dabar kalbi, kad galima ir debuginti Pytoną. Aš gi tą žinau, man tik įdomūs tavo argumentai ir kaip juos dėstai. :) Jei nepastebėjai, aš nesikabinėju, o diskutuoju. Tu teigi teiginį, aš užduodu klausimą. Tai diskusijos būdas :)

      Bendrai aš tiesiog klausau tavo argumentų apie Python ir ieškau analogijų Paskalyje tam, kad įrodyčiau savo teiginį. Niekada nesakiau, kad Python ar bet kuri kita kalba sux, o Paskaliz rulez foreva. Aš tik bandau įrodyti, kad Pascal nėra bevertė programavimo kalba mokintis mokyklose programavimo pagrindų. Dabar viskas sukasi link mano kompetencijos apskritai diskutuoti šituo klausimu. :)

    • Python – Pascal
      * Traceback < Call stack suintegruotas IDE * Eclipse < Paskalio IDE/Delphi (paprastesnis? Ctrl+F9 ir F5) * Norėdamas pamatyti Hello World rezultatą turėsi pridėti simbolio skaitymo komanda = dėl sintaksės reikalavimų reikės parašyti 2 eilutėm daugiau * Galima išversti programavimo kalbą > Negalima
      * Elegantiškesnė kalba ? Kalba sukurta mokintis

      Paskalis bevertė ir visiškai netinkama mokintis programuoti?

  4. Aš nesakiau, kad bevertė. Tik sakau, kad nepatraukli ir neatitinkami nūdienos reikalavimų. Fokusuojames ties tais skirtumais, kurie yra tikrai skirtumai. Kiti ten detalės iš tikro (gali ginčytis, jei tau atrodo kitaip).

    * Traceback’as dauguma atvejų yra pakankama priemonė. Todėl python’ui dedu +. Jei reikia debuginti galima abiems, taigi tai nė vienai kalbai nesuteikia privalumo.

    * Dinaminis tipizavimas pythone ir Statinis tipizavimas paskalyje. Moksleiviams nuo pat pradžių daug paprasčiau bus naudotis dinaminiu tipizavimu kai net nereikės galvoti apie tipus ir tiesiog pažaisti su elementariais veiksmais kaip a + b ir pan.

    * Interaktyvus shell’as python’e. Vien tai suteikti džiaugsmo turėtų. Jau pirmą pamoką galima pasijausti programuotoju.

    * Hello world vistiek yra viena eilutė. Pirma pamoka vyks interaktyviame shell’e, o ne bus rašomos programos iškart.

    * Vertimas. Diskutuotinas dalykas, bet manau patrauklus pradedančiajam.

    * Būkime koretiški iki galo. Pascal’is buvo skirtas mokinti struktūrinio programavimo. OO buvo pridėtas prie jo kaip 5 koja šuniui. Palygink su python’o iniciatyva http://www.python.org/doc/essays/cp4e.html

    • * Vat dėl tipizavimo sunku pasakyti ar legviau, kai kintamasis gali turėti bet kokią reikšmę. Išaiškink kuom skirias skaičių rūšiavimas kai jie laikomi stringais. Neabejoju, kad gali priversti kintamąjį būti laikomą integer ar string Python, bet vis tiek ar netenka tipizuoti? Beje, paskalis irgi turi Variant tipą, kurį galima naudoti bet kur ir kuris atitinka tai ką tu čia siūlai. Lygu.

      * Hmm.. interaktyvus shellas man asmeniškai labiau painiava. Dabar įsivaizduok, kad vesdamas veiksmų seką per pamoką mokinys suklysta. Tai jam reikės vėl viską iš naujo suvedinėti, kad išmoktų pamoką? Su Paskal suvedei programą, kopiliuoji, paleidi, stebi rezultatus. Jei suklydai, pasitaisai ir vėl kartoji, kol gauni teisingą rezultatą.

      * Na tiek praprogramavęs tikrai negaliu sakyti, kad OO paskaliui yra kaip šuniui penkta koja. Normalūs objektai, deklaracijos, metodai ir properčiai. OO nelabai čia diskutuotinas, nes mokykloje jo nemokina mokinantis Paskalį.

      Kad ir kaip galvoju, vis tiek nematau akivaizdžių Python privalumų…

  5. Ir apskritai: „Aš nesakiau, kad bevertė. Tik sakau, kad nepatraukli ir neatitinkami nūdienos reikalavimų.“

    Jei nesakai, tai gerai :) Aš irgi nesakau, kad nesukurta geresnių technologijų ir programavimo kalbų. Aš tik sakau, kad nieko blogo tas Paskalis mokintis. Tai ko ginčijamės? :) Dėl smulkmenų…

      • Bibliotekos, idėjos, filosofija ir t.t., kurios stovi už kalbos. Tai kas įkvepia būti programuotoju, o ne evoliucionuoti į manager’į :) Už paskalio deja stovi tik algoritmavimo mokymasis. Aišku aš seniai besidomėjau paskaliu, bet abejoju, kad situacija labai stipriai pasikeitusi…

  6. Atgalinis pranešimas: Norkin.org » Blog Archive » Pascal

  7. Arvydai, kodėl žmonės besimokinantys A lygyje (11-12 klasėj) turi būtinai mokinti Pascal jei jie jau moka PHP ir C++ pagrindus ir dar po to turi specialiai išmokti Pascal tam, kad išlaikytų egzus? Kam visa tai? Pascal pliusas tik tas, kad tai labai struktūrizuota kalba – kai programini ASM tai tada pajauti šį Pascal pliusą.
    O va B lygyje tegu jiems išaiškina kaip gerai naudotis programomis, kad ir tokiomis kaip: Word, Excel, PowerPoint, nes daugelis nemoka jomis gerai naudotis. Šitai išmokinus galima paaiškinti, kad yra kitos OS, jas palyginti išsakyti privalumus ir minusus, parodyti kokį nors ubuntu, MacOS bent susipažinimui, kad su jais irgi lengva dirbti :) Be to šiek tiek Pascal pamokyti – parodyti, kad programavimas nėra toks žiauriai sudėtingas dalykas.
    Nors pirmų pirmiausiai mokytojams ir švietimui skirti žymiai daugiau pinigų negu jiems dabar yra skiriama. Mokykloje turėtų būti gerų IT ir programavimo specialistų ir būtinai mokantys sudominti vaikus. Tokio specialisto atlyginimas į rankas turėtų būti Lietuvoje minimum 5000 Lt ir į tokią vietą turi būti konkursas (tai reiškia ne vienas žmogus turi pretenduoti ir iš jų išrinkti), o dabar bet kokį mokytoją/mokytoją priima. Kodėl toks atlyginimas, ogi todėl, kad čia yra pedagoginis darbas su vaikais, o ne šiaip sau programavimas firmoje, nors ir tai labai mažą atlyginimą pasakiau, nes yra tokių žmonių kurie už programavimą Lietuviams gauna 8000-10000Lt į rankas.

    • Tai aš ir nesiginčyju, kad Lietuvos švietimo sistema yra surūdijus :) Tu prabilai apskritai apie nesveikas programas ir realybės neatitinkančius mokytojų atlyginimus ir čia aš taip pat nesiginčyju :)

      P.S. Aš tik bandžiau įrodyti, kad Paskalis nėra iškrypimas mokinantis programuoti.

    • Labas vakaras,
      kas moka programuoti C++ ir PHP – Paskalis jau ne problema, nes tai labai paprasta kalba.
      Mokykloje A lygiui yra naudojamas tik labai nedidelis Pascal poaibis – integer, real, char, boolean tipai, įrašai, vienmačiai šių tipų ir įrašų masyvai, procedūros ir funkciojos (jei Free Pascal, tai procedūrų galima ir nenaudoti) ir tekstiniai failai.
      Jokių ten pinterių ir kitos egzotikos nėra. Gal čia ir problema, nes mokiniui, ypač kažką šioje srityje dariusiam, gali pasirodyti labai siaura.
      Object Pascal ir C++ galimybės yra 50-50. Properties ir metodai tuos pačius pavadinimus turi ir beveik vienodai užsirašo. Galima normalis aplikacijas kurti su grafine sąsaja. Galima įmantraiausius uždavinius spręsti – galimybių pakanka. Nėra tiek laiko, kad prieitum iki C++ egzotikos. Visi uždaviniai, kurie yra A kurse pilnai išsprendžiami su C arba su standartiniu Wirth’o Pascal.
      O mokytojai nenori išeiti už programos ribų, nes bijo – gal kuriam vaikeliui pasirodys perdaug sunku.
      A lygio programa tokia, kad jau verkti norisi, kokia ji primityvi ir neskatina galvoti – čia yra problema, o ne programavimo kalbos parinkimas. 10 klasėje – 17 programavimo pamokų, 11-12 kl., jei pasirinko A lygį – 64-68 pamokos. 11-12 kl B lygis – jokio programavimo nėra. Gali 11-12 ir visai nesirinkti – informacinių technologijų amžiuje to visai nereikia mikintis…

  8. Arvydai,
    Aš irgi sutinku su tavuoju teiginiu, kad Pascal nėra iškrypimas mokinantis programuoti, o supažindinimui su tai kas yra programavimas Pascal yra tikriausiai geriausia tam tinkanti kalba :)

  9. Oho kokia diskusija! :D

    Bet blogas dalykas, kad čia pilstoma iš tuščio į kiaurą. Mano IMHO mokykloj kiekvienas turėtų teisę pasirinkti kokia kalba programuoti, bei lygiai tas pats ir su egzaminais. Todėl mokykloj turėtų programavimo pagrindus mokyti, ne kažkokios naujos programavimo kalbos iškalimo principu, bet išmokant žmones skaityti dokumentaciją ir joje rasti tai kas reikalinga, bei mastyti (visokių loginių schemų braižymas tai padėtų). Kiekvienas sugebėdamas tai padaryti sugebės greitai išmokti ir betkurios kalbos, bei pasirašyti bent jau nesudėtingą programą :)

    Apžvalgoje trūksta daug kalbų; mano nuomone tokias išvadas, kokios čia bandomos daryti, galima tik peržvelgus bent kokių 20 galimų variantų, bei sudėjus pliusus minusus. O aš kadangi nesu to padaręs galiu pasakyti tik tiek… kad ir toks senelis kaip Fortran mano požiūriu yra daug efektyvesnė kalba: kiek turėjau patirties tiek su pascaliu bei fortranu, pastarąją man lengviau sekdavosi paaiškinti pakalbos prašiusiam žmogui… bet, žinoma, tai labai subjektyvus mano požiūris… :)

    O vienos kalbos dėstymas mokykloje yra vien to blogas, kad paskui į univerą atėję žmonęs studijuot informatiką besimokindami C++ bando rišti su jau išmokta kalba… ir labai dažnai mąsto, jei anoj kalboj to nebuvo, vadinasi ir šioj kalboj, kurią mokintis reikia nėra tokių galimybių… o paaiškinti, kad kai kuriuos dalykus padaryti su skirtingomis kalbomis reikia eiti skirtingais keliais ne visada taip jau lengva… :(

  10. prikomentavot jus cia daug, bet.

    VISI UZSIVARTET NES STRAIPSNIO AUTORIUS YRA VISISKAI TEISUS, nes niekas nesugebejot atsakyt i klausyma

    „pagalvokit kaip kankinosi jūsų klasiokės bandydamos suprasti Pascal procedūrinį programavimą, o tada pabandykit man paaiškinti kuom bet kuri kita kalba būtų palengvinusi jų kančią.“

    visi pradejo vapaliot savo programiniais terminais, vienas pradejo aiskint KAIP JAM UNIVERE informatikoj kazka deste, kitas kaip PATS ISMOKES phyton ten kazkas jam labai paprasta,

    bet niekas neatsaket i ta klausyma. nes negalima i ta klausyma atsakyt. nes mokslo sistema lietuvoj pasirinko teisingai.

  11. Kodel nepradeti nuo paprasciausiu programavimo kalbu jeigu perziuresime visa sarasa tai viena tikrai pamirsote pamineti ogi paprastute BASIC, kodel nuo jos nepradeti mokyti ar destyti, nes ten irgi procedurine kalba, kol galu gale pasieksite lygi ir pereisite kiek prie jau senstelejusios bet dar vis gyvos Visual Basic veliausios 6 versijos. Gal veliau dali sudomintu ir pereitu prie pilnai objektines VB.NET. Manau Basic ta kalba nuo kurios tikrai galima pradeti destyti, ne veltui Billas sukure sia kalba, bet tuo paciu ir paprasta, ir labai galinga, jei perziuretume visa sios kalbos istorija kiek ju yra sukurta: PowerBasic, RealBasic ir t.t..

  12. Na kodel nepaminejai kokios programavimo kalbos yra isnyke ? O siaip tos svarbiausios taigi ezistuoja ir dabar. beisikas. pascalis. C C++ ASM
    tik zinoma, atsirado visual basic, visual c ir tt. C# kas ne taip skiriasi nuo C++ ir Java, ne taip skiriasi nuo C++

    php … objektinis php .. neesminiai skirtumai nuo C++. Prinicipas labai panasus

    juk naujos kalbos neatsiranda. Paprasciausiai patobulinta sena kalba yra nauja kalba. Kalbos keiciasi ir transformuojasi.

    Prabylant apie bevertes kalbas … Jeigu kalba isnyko, bet jos pagrindu atsirado kita kalba, tai kalba jau ne beverte. Ji padejo pagrindus ar patirti kitoms kalboms.

    Nzn, mano pasauleziura turbut per daug skiriasi nuo visu. :)

  13. Sveiki,

    Pabandžiau įdėmiai perskaityti kas čia parašyta ir priduskutuota.

    Kliūva:
    1) Asmeniniai susireikšminimai ir važiavimai „ant kompetencijos“;
    2) Ne „profesonalams“, „nekompetetingiems“ ir kitiems ši diskusija bevertė;

    Siūlymai:
    Padarykim paprastą ekspermentą – kiekvienas, kuris giriasi ar bent jau moka programuoti kažkokia paminėta kalba, te parašo elementarų „mokyklinį“ sprendimą žemiau pateiktam uždaviniui. Bei taip pat nurodo bent 3 kriterijus(BŪTENT KRITERIJUS), kuriais reiktų vertinti programavimo kalbos mokinimo privalumus. Manau, kad Arvydas(teikdamas kad jis nešališkas) apsiims apibendrinti ir papublikuoti atskirame post’e visus skirtingų kalbų patektus sprendimus ir apibendrintus kriterijus(tarkim Jonas pateiks 3, Petras irgi 3, bet 1 iš jų bus toks pat, kaip Jono, tai sumoj 5). Tada visi patenkintieji ir ne tik pabandysim pagal tuos kriterijus pabalsuoti skirdami 1-3 pozicijas geriausiems. Bus manau mažiausiai šališka, ar ne?

    Uždavinys:
    Suskaičiuoti visų sveikų nuo 1 iki 100 skaičių sumą.(t.y. 1+2+3+4+5+6… +100)

  14. Mano kukliomis pastangomis ir iš atminties Pascal:
    —————————————————–
    Program Skaiciavimai;
    var ciklo_kintamasis : integer;
    suma : integer;
    begin
    WriteLn(‘Pradžia. Skaičiuojam…’);
    suma:=0;
    for ciklo_kintamasis:=1 to 100 do
    suma:=suma+ciklo_kintamasis;
    WriteLn(‘Skaičiukų nuo 1 iki 100 suma=’,suma);
    WriteLn(‘Pabaiga’);
    end.
    —————————————————–
    Kriterijai:
    1) Programavimo sintaksės aiškumas / testavimo paprastumas;
    2) Galimybe programuoti skirtingose OS;
    3) Naudingumas (pvz. loginiam mastymui, ateities perspektyvai ir pan.).

  15. Ech, prikėlei tu čia senai užmirštą diskusiją :)

    C# kodo pavyzdys:


    using System;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    int sum = 0;

    for (int i = 1; i < = 100; i++) { sum += i; } Console.WriteLine("Suma " + sum.ToString()); Console.WriteLine("Pabaiga"); } } }

  16. C++:

    #include
    using namespace std;

    int main() {
    int sum = 0;
    for (int i = 1; i <= 100; i++) {
    sum = sum + i;
    }
    cout << sum << endl;
    }

    Kriterijai praktiškai tokie patys kaip Modesto.
    1. Sintaksės aiškumas ir panašumas į kitas kalbas. Nenorėčiau, kad mane vaikystėje būtų mokinę lisp’o arba prologo.
    2. Laisvas programavimo priemonių ir OS pasirinkimas. Reiktų su tuo ir supažintinti. Nes paskui žmonės galvoja, kad C++ galima programuot tik su Borland C++ Builderius.
    3. Gimtosios kalbos naudojimas?.

  17. Geras, o aš galvojau, kad vargu ar atsiras komentarų, nes įrašas tai daugiau nei metų senumo :)

    Ech, kai daugiau paprogramavau Ruby, man ji jau labiau patinka nei visos kitos. :)

  18. Kriterijai: gali mokyti skirtingas paradigmas, it reads like english, be to auksto lygio kalbose nereikia aiskinti zmonems kodel „foo“ + „bar“ nepadaro „foobar“, o reikia naudoti strcpy… ;]

    and of course:
    i just like it :)

    • Arvydai, Artūrai-> Kada tai pasinagrinėjau 12 kl. uždavinius. Na jie iš esmės yra labai paprasti(kogero max ciklas cikle). Dėl to ar verta lyginti kalbas sudėtingesniuose uždaviniuose? Taip pat pagalvojus, didžioji dalis mokyklinių uždavinių remiasi skaičiukais, bet ne tekstiniais..

      Kogero šiandieninėje švietimo sistemoje, bet kuriuo atveju Pascal nori nenori teks mokinti(egzaminai). Tik pagalvojus, gal yra kas geriau ir tai būtų galima +/- taikyti papildomai. Kai to papildomai padaugės iki kritinės masės, gal tada kas nors nors kiek pasikeis… Ar čia nebūtų Arvydo pavyzdys?
      Taip pat pagalvojus, kad pasikeitus pvz. vietoj Pascal -> Ruby, mokytojų persiorientavimui kogero bus reikalingas analogiškas parašytos kalbos vertėjas, ar ne? Fink simple :)

  19. Siūlau užduotį: iš pradinio masyvo palikti tik unikalias pirmas reikšmes (unikalumas sprendžiamas string’a padarant downcase ir sulyginus). Uniq padaryti kaip atskira f-ja

    Pvz Ruby:
    input = [‘BaRas’, ‘taNkas’, ‘pagalve’, ‘tankas’, ‘Pagalve’, ‘baras’]

    def uniq_lc(input)
    uniq = {}
    out = []
    input.each do |str|
    lower = str.downcase
    if uniq[lower].nil?
    uniq[lower] = true
    out.push str
    end
    end
    out
    end

    puts uniq_lc(input).join(„, „)

    Gives us:
    BaRas, taNkas, pagalve

  20. Matlabas:
    suma=sum([1:100])

    Aš daug labiau būčiau apsidžiaugęs, jeigu mane būtų pradėję mokyti nuo kažkokio nesudėtingo skriptinio programavimo, o vėliau jau tolyn į mišką :)

    • Čia lyg ir gimsta tam tikras įdomus dalykas. T.y. labai įdomu pasidarė, analogija tarp noro kažkokią kalbą mokintis su realiai dirbamu darbu. Pvz. Mane tenkino Pascal(nors lietuvoje imant Microsofto paplitimą – gal geriau reikėjo Basic :) ) ir šiuo metu sukuosi IT sferoje. Pvz. Matlab manau pirmiausia labiau tinkantis matematikams ir pan. O gal tokia analogija nereikalinga? T.y. netiksli ir pan.?

      • Na aš pradėjau nuo PHP tiesą pasakius rimčiau programuot. Prieš tai buvo Delphi, bet nesužavėjo manęs. Realiai didžiausia paskata mokytis kalbą yra tai, kad tu ją naudoji kažkam sukurti. Tada yra motyvacija mokytis :)

  21. Perskaitęs visus komentarus, pasižiurėjęs į uždavinukus ir pridėjęs savo (labai menka) patirtį padariau išvadas:
    1.Pascal’is puiki, aiški, lengva kalba pradmenims.
    2.Pradmenims „begin“ ir „end“ tikrai netrugdo, o tik padeda susigaudyti kur ir kas.
    3.Kas nežinojo, tai ir pascal’is turi sulietuvinimą.
    4.Pascal’is gali suteikti programavimo suvokimą. Kaip tik šiuo metu reikia susipažinti su C++ ir pascal’io žinios puikiai praverčia.
    5.Neužmirškit ir to, kad kalbam apie mokyklą! Juk ten niekas nereiklauja, kad butum „hakeris“, o tiesiog paaiškina ka daro kintamasis, kaip parodyt atsakymą ar sukurt ciklą.
    6.p.s. tas uždavinukas gali ir kitaip atrodyt. pvz:
    program sk; var x,s:integer;begin for x:=1 to 100 do s:=s+x;write(s);end.

  22. http://rtfb.gamedev.lt/writings/my-babel.html „…Kiekvienas pradeda kažko mokytis todėl, kad nori su tuo kažkuo nuveikti ką nors naudingo …“ . Manau, kad tas laikas MAN kaip tik ir atėjo – paklausiau, ką dukra-devintokė veikė per 1-ąją savo gyvenime IT pamoką. Sakė „aij, įsijungėm kokią tai FPS ir rašėme visokius kablelius ir skliaustelius…“ . Būsiu nuoširdžiai dėkingas už jūsų patarimus, ką turėčiau turėti savo kompe ir prie jo (t.p. literatūrą), kad išmokčiau Pascal’i greičiau, nei manoji atžala :-)

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *