Programavimo kalbos pasirinkimas

Bebaiginėdamas univerą nutariau pažvelgti į praėjusius pastaruosius 4 metus mokslo įstaigoje ir prisiminti kokia buvo programavimo kalbų įvairovė.
Kalbu tik apie praktines dalykų puses. Šio semestro dalyko “Chaoso teorija” dėstytojas pasakė - man nesvarbu su kokia programavimo kalba atliksit užduotis. Pagalvojau - o kodėl gi ne PHP? Univere teko išbandyti pascal, c, c++, java, php, asm programavimo kalbas, teko įlįsti ir susipažinti su aibe kitų technologijų. Prisipažinsiu, su kitomis kalbomis man ne itin sekasi viską from scratch parašyti, dažniausiai dirbama copy/paste režimu. Kadangi neturėjau daug laiko ir nežinojau ar kas man duos atliktas savo užduotis, kurias galėčiau perdaryt, ėmiausi to su PHP, ir tikrai - pats programavimas neužtruko. Užduotis sėkmingai atsiskaičiau.

Manau, kad bet kuriame dalyke dėstytojas turėtų būti lankstus ir leisti studentui atlikti užduotis taip, kaip jam patogiau, tačiau turi griežtai laikytis bendrų principų, ir be abejo turėti supratimą, apie tai, ką daro. Per studijavimo metus pasitaikė atvejų, kad užduotis įmanoma (ar bent jau patogiausia) atlikti tik su nurodyta kalba, tačiau buvo ir tokių dėstytojų, kurių, pasiteiravus, ar negalima užduoties padaryti kita kalba (kas atrodė visai įmanoma ir patogu), pasakydavo griežtą “ne”.

Chaoso užduotis nr. 1. Transformuoja iteraciškai Sierpinskio trikampį pagal nurodytą transformaciją - f(z) = (3/2)z?²+1 (PHP/gd2)
Chaoso užduotis nr. 2. Ritinėja nupieštą figūrą palei x=y tiesę, ne iki galo atlikta. (PHP/gd2/AJAX)

Na, ar nebūtų buvę paprasčiau šias programas parašyti su Java ar C++, naudojantis OpenGL ar pan. ? Gal, bet ir mieliau, ir įdomiau tai daryti su PHP :) Prisižadu, kad laisvu laiku parašysiu klasę, kuri leis atlikti nesudėtingus iteracinius fraktalų paišymus su PHP/GD, tikiuosi ja naudodamiesi galėsit nustebinti dėstytojus ir bendrakursius :)

9 Responses to “Programavimo kalbos pasirinkimas”

  1. Gudis Says:

    Idomus uzdaviniai. Asmeniskai as taip pat rinkciaus PHP, nors teko jau isbandyt C/C++, bet arciau sirdies pasilieka vistiek PHP. Meile is pirmo zvilgsnio? =]
    Lauksim klases.

  2. enc Says:

    Aš univerui skaitinių metodų ir algoritmų namų darbams programinau lygčių sistemos sprendimą Gauso metodu. Irgi su PHP ,) nuo tada pradėjau bijoti masyvų ,))

  3. Junglist Says:

    kai yra taip, kad uzduoties sprendimas yra tiesiog algoritmo parasymas, ir minimalus rezultatu atvaizdavimas, tai realiai nelabai koks skirtumas ir yra tarp technologiju, taigi cia manau kiekvienas butent konkreciai sioje situacijoje rinktusi tai, kas yra jam mieliau sirdziai ;)

  4. medutis Says:

    Tai taip, bet pvz. yra tokių dėstytuvų, kurie bando įpiršt ir kitiems tą technologiją, kuri jiems yra miela širdžiai ;) Pvz. duota kažkokia elementari užduotis ir ji turi būtinai extendinti kažkokią abstrakčią Java klasę :)

  5. mid Says:

    ruby? :-)

  6. Merė Raili Says:

    http://www.timestretch.com/FractalBenchmark.html

    Bandžiau su Mandelbrotu: 10 iteracijų, 70×20 taškų. Pythonas ~6 sekundės - C 0,06. PHP net nebandžiau. Išvada vienareikšmiška, fraktalų generavimui geriausia naudoti vidutinio lygio kalbas. Aišku galima ir su PHP system(fractal.exe); :)

  7. Junglist Says:

    O as pabandziau su C#, tai 0.21 :)

  8. expert Says:

    Jeigu užduotis universitetinė ir bandoma pademonstruoti tam tikrą sprendimo būdą, koks skirtumas ar algoritmas veiks 1 sekundę ar 1 min?
    Svarbu, kad studentas perprastų dėstomą dalyką.

    Premature optimization is the root of all evil (or at least most of it) in programming. — Donald Knuth

  9. medutis Says:

    Turėjau tokią užduotį, kur buvo svarbu ar užduotis įvykdoma per 1 minutę ar per 1 sekundę. Na bet tai buvo dėlto, jog studentas pats turėjo pasirinkti kaip realizuoti vieną ar kitą algoritmą, ar dar prigalvoti kokių nors jo variacijų. Kuo jo vykdymo sudėtingumas didesnis, tuo ilgesnis generavimo laikas ir mažiau balų :)

Leave a Reply