Pereiti prie turinio

ITS MY NICKNAME

Nariai
  • Pranešimai

    3
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

Reputacijos išklotinė

  1. Patinka
    ITS MY NICKNAME sureagavo į wi_lius Perspektyvi programavimo kalba 2017   
    Įprastai programoje yra žinoma, kaip duomenis pakeisti į rezultatus. Pavyzdžiui, jeigu kuriame programą, kuri paskaičiuotų 2 skaičių vidurkį, tai joje panaudotume tokį algoritmą (t. y. funkciją):

    f(x, y) = 0.5*x + 0.5*y
    Kitaip tariant, programos kūrimo metu tu jau žinai algoritmą, kurį naudosi, o duomenys pasidarys svarbūs tik programos vykdymo metu.
     
    -----------------
     
    Mašininio mokymosi atveju kompiuteris išmoksta algoritmą (funkciją) iš pačių duomenų. Šiuo atveju iš anksto turima daug įvesčių bei jas atitinkančių rezultatų, tačiau nėra aišku, koks algoritmas (funkcija) panaudota tiems rezultatams gauti. Grįžtant į praeitą pavyzdį, galime turėti tokius duomenis:

    f(1, 3) = 2 f(2, 4) = 3 f(3, 5) = 4
    Bet vis dėl to neaišku:

    f(x, y) = ?
    Taikydamas mašininį mokymąsi parenki modelį (t. y. bandai spėti, kaip turėtų atrodyti ta funkcija; pavyzdžiui, galbūt ta funkcija atrodo taip: f'(x, y) = a*a*x + b*x + c*c*y + c*y) ir vėliau panaudodamas turimas įvestis ir rezultatus "apmokai" jį (kitaip tariant, susistatai į funkciją f' turimas įvesties ir rezultatų poras ir pagal tai surandi nežinomus funkcijos parametrus a, b, c, ir d). Galiausiai, kai turi apmokytą modelį (žinai, kaip atrodo funkcija f'), jį gali pritaikyti bet kokiems duomenims (ne tik tiems, kuriuos turėjai apmokymo metu).
     
    ------------------
     
    Labai paprastas pavyzdys, tačiau iš tiesų funkcijos gali būti labai sudėtingos, pavyzdžiui:

    g({nuotrauka})={ar nuotraukoje yra katinukas?} ARBA h({kelio vaizdas})={kaip pasukti mašinos vairą?}
  2. Patinka
    ITS MY NICKNAME gavo reakciją nuo rytciaq KTU vs VU   
    Sveikas,
     
    Pamenu kaip prieš du metus pats priiminėjau šį sprendimą. Vilnių pasirinkau tik dėl to, nes jis man buvo šiek tiek geriau pažįstamas miestas nei Kaunas.
     
    Universitetų lyginti negaliu, nes nežinau, kaip viskas vyksta KTU., tačiau pasistengsiu pateikti keletą nuorodų, kurios galbūt padės susipažinti su MIF'u, kas būtent jūsų čia laukia.
    Beje noriu paminėti, kad mane nustebino, kad KTU pernai priimė virš 300 studentų į Programų Sistemas, kol MIF'as registravo +- 150 (ir dar skundėsi, kad per daug).
    Tad kaip kokybiškai paruošti 300 studentų programuotojo darbui - neįsivaizduoju.
     
    Čia keletas nuorodų:
    1. Studijų programa (sandas) - verta pasiskaitynėti, kas bus dėstoma, kokie atsiskaitymai laukia, šiek tiek pagooglinti apie kiekvieną dalyką, kas jis ir kaip atrodo, ar įdomu.
    2. Studento A ir Studento B atsiliepimai apie kiekvieną semestrą - kai kurie dalykai aprašyti labai tiksliai ir nuoširdžiai, padės susipažinti su atmosfera paskaitose ir bendrą mif'o politiką studentams.
     
    Iš tikrųjų norėčiau pasakyti, kad nereikia labai daug tikėtis iš pačių studijų, jos jūsų nepadarys puikaus programuotojo, universitetas parodys gaires, orientacinius taškus programuotojo karjeroje, kuriuos pačiam reikės išmokti, sugebėti sujungti, kad būtumėte perspektyvus, paklausus specialistas.
     
    Pragyvenimas miestuose:
    Labai plati tema, žvelkit pagal galimybes, kiek gali prisidėti tėvai, kokie jūsų poreikiai, išlaidos.
    Vilniuje brangus nekilnojomas turtas (lenkia Kauną, tačiau nežinia ar ilgai), brangios paslaugos: taxi, grožio salonai, sporto klubai ir pan.
    Tačiau vėl gi, galbūt pirmuosius metus verta pagyventi barake, o susiradus darbą išsinuomuotį kambarį? Galbūt ieškoti kompanijos ir kartu nuomuoti visą butą? Išeitys bei galimybės yra, reikia tik noro ir kantrybės (galima rasti gerą kainos ir kokybės santykį).
     
    Beje, svarbus faktas, kad didelės įmonės rengia praktikas ir daro atrankas tiek Kaune, tiek Vilniuje, po kurių gabiausius studentus įdarbina ir ugdo. Anksčiau Vilniuje praktikų buvo daugiau nei Kaune, tačiau dabar viskas keičiasi. Įmonė, kurioje aš dirbu, įmonės, į kurių praktikas aplikavau jas vykdo vienu metu tiek Kaune, tiek Vilniuje.
     
    P.S siūlau susirasti draugą, kuris studijuoja KTU (nebūtinai draugą, galbūt šiaip studentą), kuris papasakotų plačiau apie dabartinę situaciją ten. Tačiau, nepamirškit būti kritiškas ir vertinti viską blaiviai.
     
    Tai tiek, sėkmės!
  3. Patinka
    ITS MY NICKNAME gavo reakciją nuo rytciaq KTU vs VU   
    Sveikas,
     
    Pamenu kaip prieš du metus pats priiminėjau šį sprendimą. Vilnių pasirinkau tik dėl to, nes jis man buvo šiek tiek geriau pažįstamas miestas nei Kaunas.
     
    Universitetų lyginti negaliu, nes nežinau, kaip viskas vyksta KTU., tačiau pasistengsiu pateikti keletą nuorodų, kurios galbūt padės susipažinti su MIF'u, kas būtent jūsų čia laukia.
    Beje noriu paminėti, kad mane nustebino, kad KTU pernai priimė virš 300 studentų į Programų Sistemas, kol MIF'as registravo +- 150 (ir dar skundėsi, kad per daug).
    Tad kaip kokybiškai paruošti 300 studentų programuotojo darbui - neįsivaizduoju.
     
    Čia keletas nuorodų:
    1. Studijų programa (sandas) - verta pasiskaitynėti, kas bus dėstoma, kokie atsiskaitymai laukia, šiek tiek pagooglinti apie kiekvieną dalyką, kas jis ir kaip atrodo, ar įdomu.
    2. Studento A ir Studento B atsiliepimai apie kiekvieną semestrą - kai kurie dalykai aprašyti labai tiksliai ir nuoširdžiai, padės susipažinti su atmosfera paskaitose ir bendrą mif'o politiką studentams.
     
    Iš tikrųjų norėčiau pasakyti, kad nereikia labai daug tikėtis iš pačių studijų, jos jūsų nepadarys puikaus programuotojo, universitetas parodys gaires, orientacinius taškus programuotojo karjeroje, kuriuos pačiam reikės išmokti, sugebėti sujungti, kad būtumėte perspektyvus, paklausus specialistas.
     
    Pragyvenimas miestuose:
    Labai plati tema, žvelkit pagal galimybes, kiek gali prisidėti tėvai, kokie jūsų poreikiai, išlaidos.
    Vilniuje brangus nekilnojomas turtas (lenkia Kauną, tačiau nežinia ar ilgai), brangios paslaugos: taxi, grožio salonai, sporto klubai ir pan.
    Tačiau vėl gi, galbūt pirmuosius metus verta pagyventi barake, o susiradus darbą išsinuomuotį kambarį? Galbūt ieškoti kompanijos ir kartu nuomuoti visą butą? Išeitys bei galimybės yra, reikia tik noro ir kantrybės (galima rasti gerą kainos ir kokybės santykį).
     
    Beje, svarbus faktas, kad didelės įmonės rengia praktikas ir daro atrankas tiek Kaune, tiek Vilniuje, po kurių gabiausius studentus įdarbina ir ugdo. Anksčiau Vilniuje praktikų buvo daugiau nei Kaune, tačiau dabar viskas keičiasi. Įmonė, kurioje aš dirbu, įmonės, į kurių praktikas aplikavau jas vykdo vienu metu tiek Kaune, tiek Vilniuje.
     
    P.S siūlau susirasti draugą, kuris studijuoja KTU (nebūtinai draugą, galbūt šiaip studentą), kuris papasakotų plačiau apie dabartinę situaciją ten. Tačiau, nepamirškit būti kritiškas ir vertinti viską blaiviai.
     
    Tai tiek, sėkmės!
  4. Patinka
    ITS MY NICKNAME sureagavo į wicked apie studijas   
    Iš žmogaus, kuris nemoka naudotis google, o temoka uždavinėti klausimus - nei viena iš šių studijų programų programuotojo neparuoš. Taigi, tavo atveju - stok į betkurią, jokio skirtumo.
  5. Patinka
    ITS MY NICKNAME sureagavo į wicked Programuotojas. Stereotipas   
    Ką tikiesi išgirsti? Kad programuotojo darbe tenka picas išvežiot, vakarines šukuosenas daryt, plytas nešiot, logistikos skyriui vadovauti ir panašiai?
     
    Programuotojas yra žmogus, kuris programuoja. Aišku, nebūtina sėdėt prie kompo visą laiką, galima ir stovimą stalą įsigyt :)
  6. Patinka
    ITS MY NICKNAME sureagavo į wi_lius Klausimas dėl C++   
    Don't send dažniausiai išmeta dviem atvejais – kai užeini už masyvo ribų ir kai dalini iš nulio.
     
    Turbūt visi sutiks, kad niekas negimė mokėdamas šviesofo. Bet visiems pavyksta susieti galvoje, kad kai žalia – galima eiti per gatvę. Visi tai supranta ir nebūtina rašyti „GalimaEitiPerGatvęException“.
     
    Žalia reiškia galima eiti per gatvę.
    Don't send reiškia užėjai už masyvo ribų.

    Žalia ≡ eiti per gatvę.
    Don't send ≡ peržengtos masyvo ribos.

     
    Jei pritaisai prie dviračio pagalbinius ratukus, tai nesakyčiau, kad taip padidinamas meistriškumas.

    Ne programavimo kalbos sintaksėje visas sudėtingumas. Galim paimti, pavyzdžiui, matematiką. Konkrečiau – integralus:
    Sakyčiau, pakankamai sudėtinga. Užrašykim viską supaprastintai:
    Akivaizdžiai dabar viskas pasidarė daug aiškiau ir dabar net penktokas galėtų suskaičiuoti tokį integralą!
     
    Kaip matematika sprendžia visą šį sudėtingumą? Ar susigalvoja atskirą sintaksę? Ne. Tiesiog viskas, kas svarbu, duodama palaispniui. Iš pradžių išmoksti paprastus aritmetinius veiksmus, vėliau kintamuosius, tada lygtis, dar vėliau šaknį ir galiausiai integralą. Ir taip, nors ir sintaksiškai sudėtingas integralas tampa išsprendžiamas. Ir tampa išsprendžiamas ne dėl to, kad vietoj to kringelio užrašytas žodis integralas, o todėl, kad pasidaro aišku, kas yra integralas ir kokia jo prasmė.
     
     
    Dabar su ciklais. Jeigu žmogus supranta, ką šitas kasdieniniame nenaudojamas simbolis reiškia:
    tai pagal visą logiką reikės metų metus studijuoti, kol jis sugebės suprasti šitai?

    int sum = 0; for (int i = 1; i <= 100; i++) sum = sum + i;
     
     
    O ką, jei paimsim autoriaus pavyzdį:

    cin >> a, b;
    Ar taip sunku suprasti, kad sum + a , b negalima rašyti, o reikia rašyti sum + a + b?
     
     
    Nepamirškim ir pointer'ių. Matyt visas sudėtingumas kyla dėl to, kad atsiranda žvaigždutė:

    int *p = new int(0);
    O pasiėmę Java ir C# kalbas visi galėtų išsamiai paaiškinti objektus ir jų reference'us, nes čia jau nebėra žvaigždutės:

    Integer p = new Integer(0);

     
    Visas programavimo sudėtingumas kylo iš to, kad mokiniai nesugeba suvokti kaip veikia kintamieji, kaip veikia masyvas, kaip veikia pointer'iai, kaip veikia atmintis, kokia eilės tvarka vykdomi programos sakiniai. Ir lygiai taip pat, kaip mįslė nepasidaro lengvesnė, jei vietoj Žemaičių tarmės aš tau ją pasakau Aukštaitiškai, taip ir programa nepasidaro lengvesnė, kai kitaip for ciklą užrašai.
     
     
    Žinoma, gal kažką, kuris nesuvokia programavimo, dar ir kalba trikdo, bet tai tikrai ne lemiamas faktorius. Tikrai nerasi tokios kalbos, kad visi mokiniai puikiai suprastų programavimą. Kaip ir sakiau, kai kam ir „Komenskio Logo“ per sudėtingas:

    kartok 360 [priekin 5 dešinėn 1]
  7. Patinka
    ITS MY NICKNAME sureagavo į wi_lius C# padiskutuojam.   
    Tai prašau pateikti tuos faktus, o ne internetan siuntinėti. Kol kas tusčiom kulkom šaudai…
     
    Programavimo kalbos vertinamos keturiais kriterijais: readability, writability, reliability ir cost. Vienas iš faktorių, įtakojančių tiek skaitomumą, tiek rašomumą, tiek patikimumą yra paprastumas (simplicity). Kuo daugiau įvairių galimybių, kuo daugiau skirtingų būdų gauti tam pačiam rezultatui, tuo kalbos paprastumas menkėja. Dėl to ją darosi sunkiau išmokti, sunkiau skaityti svetimą kodą. O ypač kai čia giriesi, kad nuolat išleidinėjami nauji feature'ai.
     
    Antras dalykas yra enterprise. Taip, paprastam programuotojui smagu, kai atsiranda naujų galimybių – ar programavimo kalboje, ar naudojamame karkase ir pnš. Bet enterprise'ui permainos netinka ir per brangiai kainuoja. Nežinau, gal į C# kalbą įtraukiamos naujovės ir netrukdo enterprise'ui, tačiau vienareikšmiškai teigti, kad tai yra vien tik gėris, irgi negalima.
     
    Be to, Java turi visiškai kitą ideologiją, nei C#. Java kaip įmanoma labiau supaprastinta paliekant galimybę įgyvendinti įprastą funkcionalumą. Niekad nekilo klausimas, kodėl Java'oje nėra struct, nors ji kilo iš C++? Nes lygiai tą patį gali įgyvendinti su klase, todėl neįtraukus struct pagerinamas paprastumas neprarandant funkcionalumo. Būtent todėl ir Java nelinkus pristatinėti naujovių savo kalboje – nes laikomasi konservatyvios ideologijos.
     
     
    Kita vertus, C# ne itin konservatyvi. Kaip joje implementuojamas Observer pattern'as? Per delegates (kai tuo tarpu Java sugeba išsiversti su standartiniu interface paveldėjimu). Viena klase mažiau – užtat kalba sudetingesnė.
     
    Ir paskutinis dalykas, darantys įtaką kainai – pernešamumas (portability). Java yra palaikoma daugumos platformų, kai C# orientuotas į Microsoft produktus. Pastarąją gelbsti tik trečiųjų šalių pastangos (pavyzdžiui, Mono).
     
    Nesakau, kad viena ar kita kalba yra vienareikšmiškai geresnė. Bet taip, vos ne fanatiškai, aukštinti C# nebūčiau linkęs…
×
×
  • Pasirinkite naujai kuriamo turinio tipą...