Pereiti prie turinio

Geriausia programavimo kalba norit pradėti nuo nulio


Rekomenduojami pranešimai

Didžiausia bendruomenė ir daugiausiai serverių stovi su php. Taigi, kodėl verslas turėtų imtis ruby ar dar ką nors tam, kad vargtų ieškant serverio, už jį mokėtų šimtus, kai jiems reikia vizitinės principo internete?

O kam verslui vargti su PHP, kai „vizitinei kortelei“ pilnai užtenka statinių saitų generatoriaus? :)

 

O „serveriai už šimtus“ irgi nesąmonė. Neretam lietuviškam shared hostui dar daug kelio nueit iki DigitalOcean VPS'ų, prasidedančių vos nuo $5, kokybės :) Iškart ateina su reikiamais templeitais (pvz. LAMP ar Rails ar ...), ir tas pigiausias planas tikrai eilinės įmonės (ar ir kelių) srautą atlaikys be problemų.

 

Aišku, Deviltry irgi kiek mačiau, tai tik trolina, kaip PHP gerai ir kaip jis vienas (ir jo mėgstami dalykai) yra zjbs. Bet tamsta nusileidai iki jo lygio ir nuėjai į lankas šiek tiek taip pat :)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

O kam verslui vargti su PHP, kai „vizitinei kortelei“ pilnai užtenka statinių saitų generatoriaus? :)

 

O „serveriai už šimtus“ irgi nesąmonė. Neretam lietuviškam shared hostui dar daug kelio nueit iki DigitalOcean VPS'ų, prasidedančių vos nuo $5, kokybės :) Iškart ateina su reikiamais templeitais (pvz. LAMP ar Rails ar ...), ir tas pigiausias planas tikrai eilinės įmonės (ar ir kelių) srautą atlaikys be problemų.

 

Aišku, Deviltry irgi kiek mačiau, tai tik trolina, kaip PHP gerai ir kaip jis vienas (ir jo mėgstami dalykai) yra zjbs. Bet tamsta nusileidai iki jo lygio ir nuėjai į lankas šiek tiek taip pat :)

 

Na ok gal pavyzdys kiek nevykęs, bet sakykim tam, kad pasidaryti paprastą puslapį ieškoti programerio ne su php irgi nesąmonė? Arba ta pat el. parduotuvė - juk su php parašytos :)

 

Kas liečia serverį, tai Lietuvai nedaug trūksta, bet trūksta :) Juo labiau iš asmeninės patirties sakau, kad kai ateina žalias žmogus, kuris net nežino nieko ir jam reikia kuo pigiau viską turėti ( serveris, domenas, web'as ), taigi už serverį jis nori mokėti ne daugiau nei 10 litų per mėnesį. O VPS lyg ir neturime tokio Lietuvoje? Žinoma, kad su normaliu uptime ;) Apie DigitalOcean nekalbu, nes ten viskas ok, tačiau sakau - žmogus, kuris su tuo nesusidūręs ieškos Lietuvoje ;)

 

Gal ir nusivažiavau - kaip ne kaip pirmadienio rytas :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu tęstume pokalbį apie PHP tinkamumą didelėms sistemoms, tai reiktų turėti omeny tokius dalykus:

  • Mažiems projektams tinka beveik bet kokia kalba, nes dažniausiai maži projektai neturi nei didžiulių spartos reikalavimų, nei didžiulių duomenų kiekių, nei daug eilučių kodo. Šiuo atveju net neverta diskutuoti „PHP: būti ar nebūti“, imi tai, kas mažiausiai pareikalaus laiko ar išlaidų (dėl standartinės Web hosto konfigūracijos PHP yra priimtiniausias pasirinkimas piniginės atžvilgiu; tai prisideda ir prie to, kad daugelis populiarių TVS parašyta su PHP).
  • Nesąmonė yra lyginti kalbas, pagal tai, kiek tau kainuos parašytą programą pasileisti serveryje. Čia tas pats, kas sakyti, jog duona yra geriau už batoną, nes kai darausi sumuštinius, ant duonos dedu dešros, o ant batono – lašišos. Kadangi lašiša brangesnė už dešrą, tai duona yra kur kas geresnis maisto produktas...
  • Grįžkim prie didelių sistemų, nuo ko ir prasidėjo diskusija. Didelėms sistemoms itin svarbus yra kalbos saugumas (čia turima omeny ne prevenciją nuo įsilaužimų, bet kalbos savybę leidžiančią rašyti programą be bug'ų ir kuo anksčiau surasti esančias klaidas). Jeigu sistema neveikia (downtime, netinkamai veikiantis funkcionalumas) – prapandamas pelnas, smunka reputacija. Saugios kalbos padeda to išvengti. PHP nėra saugi kalba.

 

First, let me define what I mean by safe: the earlier a programming language catches a programming error for you, the safer it is. Haskell is extremely safe, whereas php is extremely unsafe.

How Safe is Your Programming Language

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu tęstume pokalbį apie PHP tinkamumą didelėms sistemoms, tai reiktų turėti omeny tokius dalykus:

  • Mažiems projektams tinka beveik bet kokia kalba, nes dažniausiai maži projektai neturi nei didžiulių spartos reikalavimų, nei didžiulių duomenų kiekių, nei daug eilučių kodo. Šiuo atveju net neverta diskutuoti „PHP: būti ar nebūti“, imi tai, kas mažiausiai pareikalaus laiko ar išlaidų (dėl standartinės Web hosto konfigūracijos PHP yra priimtiniausias pasirinkimas piniginės atžvilgiu; tai prisideda ir prie to, kad daugelis populiarių TVS parašyta su PHP).
  • Nesąmonė yra lyginti kalbas, pagal tai, kiek tau kainuos parašytą programą pasileisti serveryje. Čia tas pats, kas sakyti, jog duona yra geriau už batoną, nes kai darausi sumuštinius, ant duonos dedu dešros, o ant batono – lašišos. Kadangi lašiša brangesnė už dešrą, tai duona yra kur kas geresnis maisto produktas...
  • Grįžkim prie didelių sistemų, nuo ko ir prasidėjo diskusija. Didelėms sistemoms itin svarbus yra kalbos saugumas (čia turima omeny ne prevenciją nuo įsilaužimų, bet kalbos savybę leidžiančią rašyti programą be bug'ų ir kuo anksčiau surasti esančias klaidas). Jeigu sistema neveikia (downtime, netinkamai veikiantis funkcionalumas) – prapandamas pelnas, smunka reputacija. Saugios kalbos padeda to išvengti. PHP nėra saugi kalba.

 

Trečias punktas visiškas bullshit, galėjai imest ir 15m senumo straipsni :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Trečias punktas visiškas bullshit, galėjai imest ir 15m senumo straipsni :)

O kas keičiasi? Ar PHP tapo strongly-typed kompiliuota kalba (neskaitant išvedinių, kaip Hack)? :) Aišku, tobulėja kažkiek, core lieka ir tokie dalykai nesikeitė per metų metus. Vis dar:

php > var_dump('3 little pigs' + 1);
int(4)

 

Visiškai validus argumentas. :) Kitos interpretuojamos kalbos tiek su tipais nesimėto, bet kažkokių trūkumų išlieka (tas pats null, metodų tikrinimas runtime, ir kt.). Kompiliuojama tuo atžvilgiu visad bus tikresnė, kol nepradėsi daryt magijų.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Del trecio punkto

Perl kalbos palikuonis yra PHP.

Perl pasizymejo tuo kad viskas leiziama, Perl buvo tikrai dau skyletu skriptu, pagrinde del Open funcijos. PHP ivede iskarto apribojimus per php.ini.

Taciau Open pavojai virto include('http: pavojais . Suhosin pach jau eleminuoja visus beveik pavojus.

PHP ispopuliarejo is to kas viskas Perl buvo leidziama. Sis priekaistas del nesaugumo manau tendencingas. Saugumas aptaki savoka ir ja lengva piktnaudziauti. Ir jo normos kinta.

 

Prasyciau konkreciau nurodyti kuo PHP yra nesaugesne uz kitas kalbas :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O kas keičiasi? Ar PHP tapo strongly-typed kompiliuota kalba (neskaitant išvedinių, kaip Hack)? :) Aišku, tobulėja kažkiek, core lieka ir tokie dalykai nesikeitė per metų metus. Vis dar:

php > var_dump('3 little pigs' + 1);
int(4)

 

Visiškai validus argumentas. :) Kitos interpretuojamos kalbos tiek su tipais nesimėto, bet kažkokių trūkumų išlieka (tas pats null, metodų tikrinimas runtime, ir kt.). Kompiliuojama tuo atžvilgiu visad bus tikresnė, kol nepradėsi daryt magijų.

 

Iš esmės čia jau ne pačios kalbos problema, sutinku, jog su 'strongly-typed' kalbom padaryti klaidų, tiek loginių, tiek saugumo yra sudetingiau, nei tarkim PHP ar kitom kompiliuojamom kalbom, bet manau tas argumentas, jog php kalba yra nesaugi tai yra pakankamai juokingas :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O kas keičiasi? Ar PHP tapo strongly-typed kompiliuota kalba (neskaitant išvedinių, kaip Hack)? :) Aišku, tobulėja kažkiek, core lieka ir tokie dalykai nesikeitė per metų metus. Vis dar:

php > var_dump('3 little pigs' + 1);
int(4)

 

Visiškai validus argumentas. :) Kitos interpretuojamos kalbos tiek su tipais nesimėto, bet kažkokių trūkumų išlieka (tas pats null, metodų tikrinimas runtime, ir kt.). Kompiliuojama tuo atžvilgiu visad bus tikresnė, kol nepradėsi daryt magijų.

 

Iš esmės čia jau ne pačios kalbos problema, sutinku, jog su 'strongly-typed' kalbom padaryti klaidų, tiek loginių, tiek saugumo yra sudetingiau, nei tarkim PHP ar kitom interpretuojamom kalbom, bet manau tas argumentas, jog php kalba yra nesaugi tai yra pakankamai juokingas :)

Redagavo luknei
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Iš esmės čia jau ne pačios kalbos problema, sutinku, jog su 'strongly-typed' kalbom padaryti klaidų, tiek loginių, tiek saugumo yra sudetingiau, nei tarkim PHP ar kitom interpretuojamom kalbom, bet manau tas argumentas, jog php kalba yra nesaugi tai yra pakankamai juokingas :)

Na, wi_lius labai gerai paaiškino, koks „saugumas“ čia turimas galvoj - ne tai, ar hakeriai pavogs kreditinių kortelių duomenis (nors gali nuvesti ir prie to), bet labiau klaidų prasme, kas ir aiškinama straipsnyje.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nesu itin didelis PHP specas, todėl jei kartais rasit pas mane kokių nors netikslumų, pataisykit.

 

Didelėms sistemoms itin svarbus yra kalbos saugumas (čia turima omeny ne prevenciją nuo įsilaužimų, bet kalbos savybę leidžiančią rašyti programą be bug'ų ir kuo anksčiau surasti esančias klaidas).

 

Kas neleidžia PHP būti saugiai (vėlgi, perskaitykit citatą aukščiau ir supraskit, apie ką kalbu sakydamas „saugi kalba“)?

  • interpretavimas – nėra jokio sluoksnio, kuris tau praneštu prieš paleidžiant programą, kokias nesąmones prirašei (kažkiek to atlieka IDE, bet nepakankamai). Taigi, jeigu programoje kažkas negerai, tu tai sužinosi tik paleidęs programą. Kas blogiausiai, kad net neužtenka tiesiog įvykdyti programos, turi būtent įvykdyti tą vietą. Pavyzdžiui:
    <?php
    $a = 1;
    if ($a == 1) {
    echo 'Excellent';
    } else {
    $this->go_home_PHP_you_are_drunk();
    } ?>
    


    Kol $a = 1, tol viskas gerai. Bet jei pakeisi į kokią kitą reikšmę, gausi klaidos pranešimą. Kompiliujamoje kalboje tai nepraeitų kompiliavimo stadijos;
     

  • dynamic typing – kažkiek susiję su interpretavimu, vėlgi mažina saugumą;
     
  • coercion (numanomas tipų konvertavimas) – PHP nelabai rūpi tipai, užsimanius ji automatiškai konvertuoja beveik iš bet ko į bet ką. Spėkit, ką atspausdins:
    <?php
    if ("1 or less" == 1) {
    echo 'lol, PHP!';
    } ?>
    


    Žinoma, galima naudoti === operatorių, bet šis sprendimas jau nebe elegantiškas, nebepritampa prie kalbos principų ir reikalauja daugiau kompiuterio išteklių.
    Šitas dalykas yra ir kitose kalbose, bet ne taip stipriai pasireiškia. C++ konvertuoja tarp int <-> float (į abi puses), Java ir C# konvertuoja tik platinančiai int -> float, tačiau nei viena, nei kita nedaro tokių fintų su simbolių eilutėm ar kažkuo kitu. Ada iš vis neturi tokio numanomo konvertavimo, todėl ji laikoma itin saugia kalba.
     

  • weakly-typed – kadangi PHP kintamieji kaip ir neturi tipų, tai kaip funkcijos parametrus galima paduoti beveik bet ką. Todėl nesi garantuotas, kad programuojas į tavo funkciją kartais neperduos kokio masyvo vietoj paprasto skaičiaus ar pnš.

 

Būtent visas tas nesaugumas kainuoja pinigus: reikia daryti kur kas nuodugnesnius testus, reikia testais padengti didesnę dalį kodo. Tie, kurie dirba prie rimtų sistemų, atsiradus sistemos sutrikimui privalo keltis naktį ir viską sutvarkyti. Kaip ir bet kas kitas, normalus programuotojas nemėgsta keltis vidury nakties ir tvarkyti kodą. Todėl ne tik kompanija, bet ir pats programuotojas suinteresuotas parašyti tokią sistemą, kuri veiktų be trukdžių.

 

Būtent dėl nesaugumo nemėgstu JavaScript: jei reikia parašyti trumpą kodo fragmentą, gal ir nieko, bet jei rašai daugiau kodo, tai ne tik kad itin lengva privelti klaidų, kurios nerandamos automatinėm priemonėm, bet ir daug vargo sukelia tų klaidų ieškojimas ir ištaisymas. O didžioji dalis tokių klaidų tiesiog nepraeitų pro kompiliatorių...

 

---------------------------------------------

 

Jeigu kalbėtume apie žmogų, pradedantį programuoti, tai tas nesaugumas gal netgi būtų privalumas, nes visgi kur kas geriau mokomasi iš klaidų. Tačiau tas PHP nesaugumas nieko teoriško neišmoko, tik kad joje labai lengva susimauti paimant ne tą kintamąjį. Kitu atveju kokiam C++ rodyklės (pointers) yra itin nesaugios, tačiau jos duoda supratimą, kaip veikia beveik visų naujų kalbų atminties valdymas ir kaip atsiranda memory leak'ai (reference'ai – šiek tiek saugesnės rodyklės. Didžiojoje dalyje kalbų būtent per juos pasiekiami objektai). Arba kai perpildai integer tipo kintamąjį – C++ tau išmes neigiamą skaičių, nors rezultatas turėjo būti teigiamas, o, tarkim, Python'as po ilgo skaičiavimo tau išmes teisingą rezultatą. Bet būtent tas papildomas abstrakcijos sluoksnis paslėps gana svarbų veikimo principą, kad kompiuteryje veikiantys duomenų tipai turi savo ribas, kurias būtina žinoti, jei tau svarbūs tokie dalykai kaip atminties sąnaudos ir veikimo sparta (t. y. jei esi tikras programuotojas, o ne tiesiog rašai kodą).

Redagavo wi_lius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

As tai nesuprantu, kas tokia chujnia, kaip vizitines tipo puslapis, noretu uzsiimti? Kur visas programavimas:

 

copyright @DateTime.Now.Year

 

Jokiu issukiu, tas pats nuobodus ######. Nei tobulejimo, nei pasireiskimo.

 

Python, Ruby netinka, nes neturi populiaiu CMS...Watafak? O kas noretu tekurti modulius?.. Yra Django ir Rails ir tereikia klaviaturos, o ne kazkokios atlepausiskos cms.

 

Puikus pavyzdys, kaip php iskreipia poziury i programavima. Hell, daugeliui php ploglamistu web aplikacija - po direktorijas ismetyti viewai, advanced php ploglameliams - kai kurie viewai uzvadinti controller.php, pathetic...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

As tai nesuprantu, kas tokia chujnia, kaip vizitines tipo puslapis, noretu uzsiimti? Kur visas programavimas:

 

copyright @DateTime.Now.Year

 

Jokiu issukiu, tas pats nuobodus ######. Nei tobulejimo, nei pasireiskimo.

 

Python, Ruby netinka, nes neturi populiaiu CMS...Watafak? O kas noretu tekurti modulius?.. Yra Django ir Rails ir tereikia klaviaturos, o ne kazkokios atlepausiskos cms.

 

Puikus pavyzdys, kaip php iskreipia poziury i programavima. Hell, daugeliui php ploglamistu web aplikacija - po direktorijas ismetyti viewai, advanced php ploglameliams - kai kurie viewai uzvadinti controller.php, pathetic...

Sutinku tik del vieno dalyko - dizioji PHP kuriniu dalis yra tikimybiskai neteisingai sukurti, kad neaskiriama sistemos i dvi dalis , viena kuri butu pasiekiama per HTTP ir kita kuri butu auksciau nei public_http ir nepasiekiama per HTTP.

Vienintele tai akivaizdziai atskirianti Moodle

yra dar du esminias apsaugos reikalavimai i juos nesiplesiu

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 7 metų...

Ką gi, tema sena, bet tikiuosi rasiu naudingų atsakymų.

Dėl kalbos pasirinkimo daugmaž aišku. Bet aš mėgstu stiprų pagrindą ir suprantu, kad norint sėkmingai išmokti programavimą, būtina suprasti tam tikrus matematinius reiškinius ir sąvokas, geležies veikimą, galbūt ir kažkokias tinklo sąvokas. Programavimo kursuose mokoma kalbų, tikintis, kad visa kita jau žinoma. Taigi, gal galit rekomenduot lietaratūrą, kur mokymas prasidėtų ne nuo pačios kalbos, o nuo dalykų, kuriuos būtina išmanyti norint suprasti ir išmokti kalbą?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...