Izbira prvega programskega jezika

Vsekakor je to eno izmed vprašanj, ki mi pri programiranju najbolj prihajajo v nabiralnik. Če bomo začeli serijo člankov, ki vam bodo omogočili, da se naučite programirati in vrnete brezplačno znanje v obliki prispevkov za brezplačno programsko opremo / odprtokodne skupnosti po vsem svetu, je treba odgovoriti na to osnovno, če je malo težko vprašanje. Kateri programski jezik naj se naučim?

Malo zgodovine

Da bi začeli razumeti in izbrati programski jezik, moramo najprej vedeti nekaj o njihovi zgodovini, njihovi uporabi in funkcijah ter kako sčasoma rešujejo različne potrebe.

Strojni jeziki (nizka raven)

Splošno znano kot Skupščina, so programski jeziki, ki bi jih lahko opredelili kot narečja splošnejšega jezika ... To se sliši nekoliko zapleteno, vendar bom to ponazoril ... Vemo, da je univerzalni računalniški jezik elektrika, to pomeni, da je v končni fazi tisto, kar računalnik bere 0sy 1ja, pokličimo to eračunalniška angleščina. V tem primeru je španščina osnovno pravilo, toda kot dobro vemo, španščina, ki jo govorijo Latinoamerikanci, ni enaka španščini, ki se govori v Španiji, in kljub temu španščina iz Perua ni enaka španščini iz Argentine. Očitno imamo vsi skoraj enake besede (0sy 1s), vendar se uporaba in pomen lahko razlikujeta glede na kontekst.

To se zgodi na ravni procesorja. Ko govorimo o računalniške arhitekture, (amd64, intel, arm, ...) se sklicujemo na narečje tega računalnik španščina. To je zato, ker različna podjetja po svoje razumejo vrstni red in pomen, zato se nekatera podrobnosti razlikujejo, na primer pretok toka ali vrstni red, v katerem se bodo obdržala. 0sy 1s.

Ti programski jeziki so izjemno hitri, saj delujejo na najnižji možni ravni programiranja, vendar so zelo odvisni od arhitekture in so zagotovo nekoliko bolj zapleteni za učenje kot ostali. Ti pogosto zahtevajo širšo bazo konceptov, da bi podatke preoblikovali in na njih zagnali koristne stvari. Za ljubitelje video iger bi lahko bili primer konzole SEGA, ki so s programom Assembly programirale svoje igre. Očitno je bilo takrat količina pomnilnika v primerjavi z današnjo minimalna, zato je bilo treba obvladati jezik, ki je lahko hiter in proizvaja lahke programe.

Jeziki na visoki ravni

Ta velika skupina razmišlja o tistih jezikih, ki so prišli pozneje Skupščina. Potreba po prenosni kodi je privedla do pojava skupine jezikov sestavljeno. Med njimi je prvi izkoristil C, ki že od sedemdesetih let prejšnjega stoletja prevladuje pri programiranju na ravni operacijskega sistema.

Sestavljeni jeziki

Poglejmo praktični primer tega, kar komentiram. Poglejmo si zelo preprost program v jeziku C, ki natisne eno vrstico kode.

Lastno. Christopher Diaz Riveros

Po sestavljanju imamo naslednje:

Lastna zasnova: Christopher Díaz Riveros

Zdaj pa poglejmo, kaj bi morali napisati za ponovitev istega rezultata v zbirni kodi:

Lastno. Christopher Diaz Riveros

To je prevod naših 3 vrstic kode iz simple.c, datoteka simple.s je ustvarjen z ukazom gcc -S simple.c in to je tisto, kar bi naš procesor razumel v narečju Skupščina. Očitno, da bi ustvarili izvršljivo datoteko, ki je sestavljena iz 0sy 1s datoteko je treba obdelati simple.s in jo povežite s knjižnicami v skupni rabi našega sistema. To se naredi z uporabo monter (as) in priključek (ld).

Sestavljeni jeziki nudijo veliko prednost pred nizkimi jeziki prenosni. Prenosljivost prinaša kodo, ki jo je mogoče izvajati na različnih procesorjih, ne da bi bilo treba ustvariti posebno kodo za vsako arhitekturo. Druga očitna prednost je preprostost, ki jo uporablja pri branju in pisanju kode. Med njegovimi glavnimi slabostmi imamo veliko zapletenost, saj je v primerjavi z naslednjo vrsto jezikov, ki jih bomo videli, svoboda, ki jo ponuja C, lahko škodljiva, če ne veste, kako nadzorovati, zagotovo je podobno, kot če bi dostavili pištolo, se lahko zgodi, da človek na koncu strelja z lastno nogo, ko poskuša očistiti pištolo.

Tolmačeni jeziki

V tej skupini imamo veliko različnih jezikov, med najpomembnejšimi imamo Python, Ruby, Javascript, PHP itd ... Osnovna ideja teh jezikov je zagotoviti hiter način za ustvarjanje in zagon programov, saj mnogi težkih procesov se izvaja v tolmaču, programiranje logike pa je tisto, kar je implementirano v kodo. Oglejmo si isti primer zgoraj, vendar tokrat napisan v Pythonu:

Lastno. Christopher Diaz Riveros

Med najodličnejšimi stvarmi lahko opazimo, da je prva vrstica zadolžena za klic tolmača (program, ki bo zagnal našo aplikacijo), naslednja koda pa je bolj "preprosta" kot njegova različica v jeziku C, saj je vse težko delo opravljeno na tolmaču.

Lastno. Christopher Diaz Riveros

Tolmačeni jeziki dajejo razvijalcu večjo stopnjo varnosti, saj imajo strožji varnostni nadzor (PAZITE, da niso popolni, saj lahko tudi najboljši naredijo napake) in ne trpimo več, da bi streljali iz orožja, ne da bi se tega zavedali saj bi tolmač ob prvem poskusu sprožil opozorilo in izvršitev bi bila preklicana. Glavna pomanjkljivost se pokaže pri izvajanju programa, saj je počasnejši od njegovega binarnega kolega, ravno zaradi večje količine obdelave, da lahko zagotovimo, da koda deluje. Če program ne zahteva izredno kratkih rokov, lahko razlika ostane neopažena, če pa govorimo o tisočih ali milijonih podatkov na sekundo, postane razlika eksponentno opazna v prevedenih jezikih.

Tipkanje

To je značilnost programskih jezikov, ti so lahko močno šibko vtipkal. To temo bom pustil za drugo objavo, saj je nujno in radovedno razumeti, kako je pomnilnik shranjen v programu, za zdaj pa moramo le razlikovati: Močno tipkani jeziki so tisti, ki zahtevajo znanje vrsta podatkov, ki bodo obdelani s spremenljivko ali konstanto, medtem ko šibko vrste lahko izvajajo pretvorbe tako implicitno in vse bo odvisno od hierarhije pretvorbe, ki ji sledi jezik. (če se zdaj ne razume, brez problema, bomo pustili za pozneje)

Paradigme

Tako kot vse v svetu GNU / Linux, tudi programski jeziki temeljijo na paradigmah in okoli njih se ustvarjajo skupnosti. Na primer imamo Fundacija Python o Ruby o PHP o Bash (v tem primeru gre za skupnost GNU). S tem bi rad prišel do tega, da ne morem izraziti velikega števila prednosti in slabosti, ki jih ima vsak, lahko pa vam povem, da tam, kjer obstaja brezplačen programski jezik, obstaja skupnost, ki se jo lahko učite in v njej sodelujete. Omeniti velja, da so številni, če ne vsi tolmači, napisani v jeziku C ali v kakšni bližnji izvedenki, njihov razvoj pa običajno izvaja manjša skupina skupnosti, ki je zadolžena za sprejemanje odločitev, ki bodo vplivale na vse uporabnike jezikov. Ustanove lahko celo ustanovijo, da zagotovijo pravilen razvoj jezika, kot je to pri C.

Katero izbrati?

O jezikih smo se že dovolj pogovarjali in še vedno ne odgovorim na najpomembnejše 😛. Upam pa, da vam po pregledu tega majhnega članka ni treba povedati, kateri jezik izbrati, saj ste s temi informacijami popolnoma sposobni iskati tistega, ki ustvarja radovednost. Očitno, če se želite naučiti programirati v jeziku Skupščina dolgo bo trajalo, preden boste lahko dobili nekaj funkcionalnega, čas se bo močno skrajšal, če se odločite za prevedeni jezik, kjer boste poleg prenosljivosti na sistemih * NIX lahko izvedeli tudi informacije o delovanju isti sistem, saj ste v stiku s C ali izvedenimi deli, tako ali drugače se naučite, kako operacijski sistem deluje na splošno. Končno, če se želite naučiti česa lahkega in vam omogoča veliko, ne da bi morali veliko razumeti, so tolmačeni jeziki zabaven način učenja in razvijanja programskih veščin.

Naučite se z nečim vznemirljivim

To je najboljši nasvet, ki vam ga lahko dam, če se želite česa naučiti, morate najprej najti nekaj vznemirljivega, sicer bo precej težko premagati tipično učno krivuljo katerega koli programskega jezika. Recimo, da upravljate sisteme, v tem primeru se boste morda morali naučiti idealnega jezika skriptni (razlago), znotraj teh imamo Perl, Python, Bash itd. itd ... Morda so vaše igre, obstaja veliko projektov v jezikih, kot so Javascript, Lua, C ++, odvisno od vrste igre, ki jo želite igrati. Morda bi želeli ustvariti orodje na sistemski ravni, saj imamo C, Python, Perl, saj boste videli, da se nekateri ponavljajo, in to zato, ker je za številne naloge mogoče uporabiti veliko jezikov, zato definicija od večnamenski jeziki v večini teh.

Začnite projekt

S tem ne mislim, da ustvarite naslednjega prevajalnika ali celo naslednji programski jezik, projekt je lahko odprava majhne napake v vašem najljubšem programu, morda celo pomaga izboljšati dokumentacijo. Zakaj dokumentacija? ker ni boljšega načina, kako se naučiti, kako deluje programska oprema, kot pa branje in pomoč pri pisanju njene dokumentacije, saj je po izvorni kodi največji vir informacij o programu. V naslednjem trenutku bomo videli, kako prebrati kodo projekta in razumeti funkcije in vrednote, ki jih pridobijo.

Najlepša hvala, da ste prišli sem in kot vedno, vaši komentarji mi pomagajo ustvariti boljšo vsebino in vem, kam se osredotočiti, Lep pozdrav.


37 komentarja, pustite svojega

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   anonimni je dejal

    Kot vedno 10 !!!!!! Hvala za vaše članke. Lep pozdrav in še več !!!!

    1.    ChrisADR je dejal

      Najlepša hvala 🙂 me spodbuja, da nadaljujem s pisanjem. Na zdravje

  2.   Rubén je dejal

    Mislim, da je napačno postavljati vprašanje "kateri jezik izbrati?" Sem eden tistih, ki meni, da je jezika najmanj, pomembno je, da se naučimo osnov programiranja in "računalniško razmišljamo". Odločite se za skladnjo, njeno tipkanje, ali podpira OOP, njeno uporabnost itd. Mislim, da je to nekaj, kar bo v studiu prišlo naravno in navsezadnje vsak programer pozna več kot 1, 2 in 3 jezike ... in zahvaljujoč programskim konceptom (in ne sintaksi), ki jih ima, je sposoben za programiranje v jeziku, v katerem še niste.
    Vendar za inicirane mislim, da je dober jezik lahko Python zaradi svoje preprostosti, predvsem pa pojdite malo dlje, preučite algoritme in veste, kako stvari delujejo "znotraj".

    Lep pozdrav ChrisADR

    1.    ChrisADR je dejal

      Živijo Rubén, hvala za delitev
      Nekaj ​​sem se skozi čas naučil v svetu programiranja in to je, da "tisti, ki veliko pokrije, ne stisne" in s to dobro znano besedno zvezo mislim, da se velikokrat, predvsem pa najbolj navdušeni, odloči poskusite vse malo in se zelo hitro obrnite v smislu učenja kodiranja. Menim, in po mojem osebnem mnenju bi moral dober razvijalec poznati in obvladati jezik prevajalnika in jezik tolmača, poleg tega pa bi imel pojem nekega skupščinskega narečja.
      Razlog je naslednji, izdelava prototipov mora biti vedno nekaj preprostega in hitrega, enostavnega za generiranje in to na splošno kaže rezultat, če pa ni dovolj, mora obstajati "načrt B", po katerem se mora zateči tolmač meja.
      Poznavanje dialekta skupščine vam ne daje samo samozavesti, ampak vas tudi nauči razmišljati "računsko", toda očitno je ta del najbolj zapleten od vseh in zagotovo je nekaj, česar vsi programerji ne pridejo.
      Ampak vrnitev k temi, ker je glavna ideja, ki se mi zdi, "izbrati jezik in VELIKO", kajti resnično edini način za dobro programiranje je branje in pisanje kode, in tega sem se naučil jedrna skupnost Ko dolgo časa ohranjate isto sintakso, nehate videti obrazca in začnete skrbeti za OZADJE. Zamisel o izbiri jezika ali skladnje od začetka je, da je človek sposoben navaditi njeno branje in pisanje tako, da lahko začne brati POMEN programa namesto sintakse programa.
      To je glavni razlog za to objavo, da si vsak izbere jezik, tako da lahko v nadaljevanju razložimo koncepte, morda s tem razjasnimo dvome 🙂
      Lep pozdrav in hvala za delitev.

  3.   Deibis Contreras je dejal

    hvala za prispevek je bilo dobro.

    pozdrav

    1.    ChrisADR je dejal

      Pozdravljeni Deibis, hvala, ker ste delili 🙂 Lep pozdrav

  4.   JorgeFS je dejal

    Moj nasvet: kaj drugega kot PHP. Pred dvajsetimi leti je PHP v svojem obstoju imel določen smisel zaradi visoke stopnje zapletenosti, ki je splet programirala v drugem jeziku z uporabo CGI. Toda danes je na voljo veliko različnih sistemov, s katerimi je spletni razvoj veliko bolj prijeten v zmogljivih jezikih, kot so Django za Python, Spring za Javo ali Rails za Ruby. Čeprav se PHP trenutno pojavlja na vseh lestvicah priljubljenosti jezikov, bo po mojem mnenju PHP sčasoma izgubil na pomembnosti.
    Močno priporočam, da začnete s C \ C ++, da bi razumeli resničnost programiranja, čeprav je krivulja učenja strma.
    Lep pozdrav.

    1.    ChrisADR je dejal

      Živjo Jorge, hvala za skupno rabo, samo spomnjenje na Laravel, ki je precej trden okvir. Jaz osebno nikoli nisem maral Springa ali Jave za spletni razvoj, zdi se mi precej okoren, vendar mislim, da je to del časa, v katerem so bili na trgu, v tistem času so bili pionirji in zagotovo so danes sodobne alternative (Js, Python in Ruby) lahko izboljšale način predstavitve kode, ki je berljiva in spremenljiva brez veliko dela.
      Prav tako sem nagnjen k temu, da se ljudje na neki točki svojega življenja učijo C / C ++, začel sem z Javo, vendar mislim, da je v tem lepota programiranja, lahko začneš s čimer hočeš, dokler si dosleden bodite v pomoč ers Na zdravje

    2.    Rubén je dejal

      Ne morem se več strinjati z vami. Pred mnogimi leti sem začel s C in VB, kasneje sem se osredotočil na PHP in JS (saj sem se osredotočil na spletni razvoj), kasneje pa sem se med študijem naučil predvsem C / C ++ in Jave.
      PHP ima številne prednosti, ki jih v tem sporočilu nisem mogel našteti. PHP7 je hiter (hitrejši od Pythona ... brez uporabe hhvm, različnih predpomnilnikov, ogrodja, kot je Phalcon ali bytecode v primeru Pythona), ima ogromno knjižnic in okvirov, ima ogromno število neposredno implementiranih funkcij za uporabo tako sintaksa C je zelo enostavna za selitev v druge jezike.
      30% spletnih mest po vsem svetu je izdelanih z WordPressom (PHP) in to se ne zdi spremenjeno, Wikipedia ga uporablja, Facebook (s hhvm) in skupno veliko število spletnih mest, 80%.

      Spomnim vas, da je Ruby on Rails, kot je Django, star 12 let! Kakšno kvoto so v tem času dosegli? Seveda govorimo o dveh okvirih, ki imata praktično monopol in ne gre za razdrobljenost. Katere druge resne alternative imam? Reči, da bo PHP izgubil pomen, je zelo malo smiselnega.

      Zdaj, ko je Python v modi, ker ima hitro krivuljo učenja, je to preprost jezik, ki vam ga prodajo kot "v 20 urah postanite programer s Pythonom in delajte na njem", s podporo podjetij, kot sta Google in da zdaj obstaja način iskanja novih jezikov (Go, Dart….), da bi se razlikovali v življenjepisu (ali kot dnevno rojstvo 50 okvirov za Javascript!), še ne pomeni, da se stvari spremenijo.

      Ruby je zelo zanimiv jezik, vendar se z ustaljenimi vzorci toliko lomi, da težko verjamem, da je postal bolj priljubljen kot PHP. Seveda je Ruby po mojem mnenju najslabši jezik za začetek programiranja.
      Razumem, da mi pravite, da je Python lahko zabavno programirati, tudi Ruby s svojo neskončnostjo posebnosti ... ampak Spring z Javo? Res? Java je lahko marsikaj ... a bolj prijetna kot Python in PHP?

      Začeti s Pythonom je zelo dobro, toda ker se držite le Pythona, tvegate, da bodo številna podjetja verjela, da vaša stopnja programiranja ni "globoka" (četudi ste v Pythonu zelo dobri). To je zato, ker tekmujete z drugimi "večnamenskimi" jeziki, kot sta C ++ ali Java. Programirate lahko v Pythonu, ne da bi vedeli razliko, kaj za vraga je kazalec, bitne operacije, kako deluje zbiralnik smeti in dolgo itd.
      Python je morda najmanj podoben "klasičnemu programiranju", ki obstaja in ga je mogoče obravnavati kot "otroški jezik" (dobite metaforo), kar pa je prednost in slabost.

      1.    JorgeFS je dejal

        "Python je morda najmanj podoben" klasičnemu programiranju ", ki obstaja in ga je mogoče razumeti kot" jezik za otroke "(razumejte metaforo), kar pa je prednost in slabost." LOL, to je ena najbolj smešnih stvari, ki sem jih rekel o Pythonu. Ste se kdaj zares naučili Pythona?
        Kako dolgo je že po svetu zunaj PHP?
        Prijatelj PHP se je rodil mrtev. PHP (\ d +) ima veliko obremenitev zaradi zelo slabega začetnega načrtovanja in da bi ohranil uporabniško skupnost, še naprej zelo temeljito vleče vse te začetne napake pri načrtovanju. PHP se je rodil brez modularnosti, z veliko funkcionalnostmi v slogu C (ki, mimogrede, ne vem, od kod ste ga dobili, ker je njegova sintaksa podobna C-ju, ga je mogoče zlahka prenesti v druge jezike). Jezik na visoki ravni, kot bi se moral obnašati PHP, ima tako grde stvari, kot je sled funkcij, ki so navedene na njegovi uradni strani http://php.net/manual/en/indexes.functions.phpTo je zato, ker se je rodil brez modularnosti, zato je vse umazano pomešano in brez imenskih prostorov.
        To je del kode PHP:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        je mogoče v določenem trenutku določiti, od kod so bile uvožene vse te 'tok' funkcionalnosti? NE, potem bi lahko rekli, da gre za funkcije vgrajevanja, potem pa je celoten ekosistem vgrajene funkcije? In tako je v kodi PHP veliko smeti, da, če ne morete razumeti zapletenosti in neuporabnosti tako slabe zasnove, mi oprostite, vendar ima še veliko sveta za videti.
        Wordpress je odlična programska rešitev, vendar to še ne pomeni, da ima dobro tehnološko podlago. Lahko kladiš s kamnom in zobje zabijaš žeblje in še vedno lahko opravljaš odlično mizarska dela, seveda pa z veliko več dela kot drug mizar, ki uporablja dobro kladivo.

        Po drugi strani: "v 20 urah postani programer s Pythonom in delaj na njem", takšne neumnosti še nisem videl. Spletno mesto v PHP lahko ustvarite v 20 urah in ne da bi vedeli, kako deluje spletno programiranje ali samo programiranje. Pravzaprav je zato PHP tako priljubljen, saj novince ob vstopu v ta svet PHP vidi kot točko hitrega razvoja (zato je toliko PHP kode tako zanič).
        Glede Pythonovih pomanjkljivosti je bila edina uspešna pri delu s kazalci, vsekakor pa je Python jezik na visoki ravni (tako kot Java) in jih na ravni skladnje ne uporablja; ampak bitne operacije, resno?, mislite to x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Stvar z zbiranjem smeti sem resno razumel veliko manj: https://docs.python.org/3/library/gc.html.
        Vrzeli v PHP:
        -PHP ima zelo slabo zasnovo objektno usmerjenega programiranja (OOP).
        -Operatorjev še ne morete preobremeniti.
        -Presenečenje, function overloading v PHP to ni tisto, kar seveda pričakujete od tega koncepta.
        ... .. in pravkar sem se dolgočasil hehe.
        Lep pozdrav.

        1.    Rubén je dejal

          V oklepaje sem dal "razumem metaforo" (s primerjavo Pythona s C ++ / Java v istem delovnem okolju) je jasno, da je niste razumeli. Lahko bi vam rekel, da se programer C ++ lahko Pythona nauči veliko hitreje kot programer Python C ++, prav tako ne preseneča, da je povprečna plača programerja C / C ++ višja od Python ena.
          Lahko bi vam razložil z drugimi primeri, tudi z risbo! vendar se zdi, da se osredotočate le na dekontekstualizacijo in posmehovanje tega, kar sem dal.

          Nikoli nisem rekel, da je PHP najboljši jezik na svetu ali da je zgledno zasnovan, ne vem, od kod to. Mislim, da bi morali pred ocenjevanjem znanja drugih izboljšati svoje bralno razumevanje. Res je (in v svojem sporočilu sem rekel), da je razvoj z njim zelo okreten, poleg celotnega ekosistema okvirov, knjižnic in pripomočkov, ki jih lahko najdete.
          Tudi kakšno primerjavo naredimo? Python kot večnamenski jezik ali za splet? Zakaj ga v tem primeru primerjamo s PHP? PHP ima določeno področje in prav na tem področju Python (z 0.2-odstotnim deležem, ki se letos ni spremenil) bledi poleg PHP.
          Zdaj bomo videli trende PHP; z 82,4% januarja 2017 na 83.1% januarja 2018: https://w3techs.com/technologies/history_overview/programming_language

          Ali bo Python odstranil PHP? V katerem letu? v kakšnih petih letih? desetletje?
          Python se bo lahko uporabljal pri številnih drugih nalogah in se bo celo širše uporabljal kot PHP, vendar je Python kot jezik spletnega razvoja oddaljen le nekaj let od tega, da bi bil celo pomemben, saj je 0.2% stagniral proti 83.1% (letos se bo povečal).

          Tudi stvari jemljete kot nekaj samoumevnega, češ da ne hodim okoli izven PHP, kar namiguje, da PHP poznam le takrat, ko natančno že dolgo nisem programiral v PHP haha. Trenutno iz službenih razlogov večinoma programiram v Javi.
          Prav tako nisem rekel, da s programiranjem v Pythonu nimate znanja o bitnem načinu, zbiralniku smeti ali kazalcu. Namesto tega lahko programirate v Pythonu, ne da bi sploh vedeli, kaj je to. Vendar močno dvomim, da bi to veljalo za programerja C ++. In očitno primerjavo opravim, ko Python vstopi v to polje "večnamenskega jezika", ne za spletno programiranje.

          Postati programer v 20 urah je preprosto šala, pretiravanje. Vendar bi vam lahko tu postavil različne povezave o spletnih izobraževalnih platformah in tečajih, ki obljubljajo podobne stvari. Ne zamerite mi, krivite to na trgu dela, ki meni, da je postati "strokovnjak za programiranje" stvar 20-urnega tečaja. In Python je eden izmed modnih jezikov in tudi z najhitrejšo učno krivuljo ... bel in v steklenički.

          Vztrajam, da svoje sporočilo utemeljite na tem, kako slab je PHP (kar se v določenem delu strinjam). Zdi se mi pravilno, le da moje sporočilo ne govori o tem, ampak zakaj se bo PHP še naprej uporabljal in jutri ne bo izginil, kot mislite.

          pozdrav

  5.   nihče je dejal

    C -> Pojdi -> (Lisp | Haskell | Java | karkoli)

    1.    ChrisADR je dejal

      Pred kratkim mi je bralec na moj e-poštni naslov poslal priporočilo za knjigo Go, vsekakor jezik, ki ga je treba upoštevati v prihodnosti in o katerem bo morda tu objavljeno 🙂 Veliko grafik za skupno rabo

  6.   mvr1981 je dejal

    No ... in kaj programiram? Zakaj se danes učiti programskega jezika s tako dobrimi in izkušenimi programerji, ki že obstajajo? Katere težave lahko rešim, česar drugi še niso rešili na veliko bolj učinkovit način? ... Skratka: Kako izvirno je biti programer danes? Kako lahko sodelujem z drugimi, ne da bi me zaradi pomanjkanja znanja in izkušenj izginilo ali izključilo?

    1.    ChrisADR je dejal

      Pozdravljeni mvr1981, res zanimiva vprašanja 🙂 razvili jih bomo od zadnjega do prvega.

      Kako lahko sodelujem z drugimi, ne da bi me zaradi pomanjkanja znanja in izkušenj izginilo ali izključilo?

      Če ne želite, da vas brcajo, je prvi korak, da se naučite postopka, ne morete si predstavljati, koliko ljudi prihaja v projekte, ki želijo stvari delati izključno po svoje in si želijo, da se skupnost prilagodi njihovim željam. Vsekakor je tako, kot da pridem k vam domov in naredim nered in ne spoštujem vaše družine (tako se večkrat počuti). Če želite preprečiti, da bi se to zgodilo, bodite pozorni na smernice za prispevanje, sredstva, s katerimi to lahko storite, in ne pošiljajte nekaj nepopolnega, če potrebujete pomoč, obstajajo sredstva za komunikacijo, vendar bo slabo opravljeno delo verjetno ustvarijo slabe prve vtise. Če se ne želite izključiti, je to odvisno od vas, ga lahko vidite kot neuporabnega programerja, ki ne ve, kaj počne, ali tistega, ki je na poti, da postane odličen programer, in to se zgodi samo s prakso in zagotovo z hrošči na poti. Preden sem pridobil svoj status razvijalca v Gentoo-u, sem se velikokrat motil in to mi ni preprečilo, da bi poskusil kljub "slabemu času".

      Kako izvirno je biti programer danes?

      -Ne gre za izvirnost, danes je nuja, samo pomislite na naslednje, pred 20 ali 30 leti je bilo tipkanje nujno, veliko služb je sklepalo, da ste to vedeli ali vsaj lahko. Danes je poznavanje Officea nujno, praktično ni službe, ki bi vas ne postavila pred Officeove dokumente. Jutri, zelo kmalu, bo programiranje nujno. In to velja tudi z osebnega vidika, saj je vedenje, kaj se dogaja v programih, ki jim zaupate tako pomembne stvari, kot so vaš denar, zdravje, družina, zame nekaj logičnega, saj njihove omejitve lahko poznate le, če veste, kako delujejo in če želite vedeti, morate vedeti, kako programirati.

      Katere težave lahko rešim, česar drugi še niso rešili na veliko bolj učinkovit način?

      - Presenečeni bi bili nad zneskom lastnosti ki so danes potrebni in resnici na ljubo ni pomembno, da v skupnosti obstajajo najboljši programerji na svetu, delo bo vedno večje od delovne sposobnosti razvijalcev, to lahko preverim v Gentooju, tam so ljudje, ki razvijajo jedro, ljudje, ki delajo za Google, Sony itd. itd ... edino, kar nam je vsem skupno, je, da nihče nima toliko časa, kot bi si želel, da bi lahko opravil vsa čakajoča dela.

      Zakaj se danes učiti programskega jezika s tako dobrimi in izkušenimi programerji, ki že obstajajo?

      -To je odgovor v drugem vprašanju. Zdaj pa lahko dodam, da morajo generacije podpirati že razvito delo, s tem pa mislim, da bodo tisti "izkušeni" razvijalci postopoma izginili in bo potrebno za " mlajši »Razvijalci prevzamejo odgovornost in pomagajo ohranjati krog, skupnost, v kateri ni mladih in neizkušenih ljudi, sčasoma nagiba k izginjanju, ravno zato, ker ne bo možnosti za prenos znanja.

      In kaj si razporedim?

      -To je morda najtežje odgovoriti, vendar vam bom poskušal dati primer, ko sem pred kratkim začel trpeti zaradi težav z GNOME 24 in njegovo povezavo z Waylandom, ki programom, kot je Shutter, preprečujejo snemanje posnetkov zaslona. To je zame težava, ker vam moram, ko pišem članke, pokazati, kaj rečem, če sem malo pogledal naokrog, sem prišel do aplikacije GNOME Screenshot, nekoliko "minimalistične". Med njegovimi funkcijami je ena od fotografiranja območja zaslona, ​​a kaj se zgodi, če fotografije nisem dobro posnel? No, moram zapustiti program in znova vstopiti v program, nekaj dolgočasnega zagotovo, pomagal bi mi gumb z napisom "Retake" ali kaj podobnega, ki bi mi omogočil, da naredim nov zajem, ne da bi moral zapustiti in spet vstopiti. programskega projekta, še nikoli nisem ničesar programiral v okviru GNOME, zato se očitno moram še veliko naučiti, preden pošljem svoj "popravek" z novim gumbom, vendar se med potjo naučim programirati in upam, da to funkcija v pomoč bo več kot enemu, ko bo na voljo vsem.

      To je primer, gre za nekaj preprostega in to bi zagotovo lahko storil že vsak drugi "strokovnjak" programer, vendar zaradi očitnega pomanjkanja časa ni bilo tako, zdaj sem jaz tisti, ki ima možnost to, ne da bi bil v resnici super programer.

      Zdaj je samo na vas, da v tej programski opremi, ki jo tako pogosto uporabljate, poiščete nekaj, kar bi vam olajšalo življenje, lepa pa je ta, da če upoštevamo nasvete, ki vam jih bom dal v naslednjih člankih, jezik ne bo pomembno, saj boste vedeli osnove, da boste začeli razumeti kodo, ki ste jo prebrali, in jo spremeniti, da bo delal, kar želite, to je prav poseben občutek 🙂

      Lep pozdrav in še enkrat hvala

      1.    nihče je dejal

        Menim, da je šele, ko sem odprl program gnome captures, najlažje odpreti bližnjice na tipkovnici in dodeliti tri kombinacije print za zajem vseh alt-print za zajem aktivnega okna in super-print za izbiro med območje zajema, bližnjice so na voljo, preprosto gre za njihovo dodelitev

        1.    ChrisADR je dejal

          Zato vam predstavljamo primer 🙂, ker majhne stvari, kot je ta gumb, programirajo, lahko nekaterim pomagajo, saj jih drugi lahko ostanejo neopaženi, zagotovo pa izpolnjujejo glavni cilj, pomagajo se naučiti programirati in umaknejo nove funkcije, Po tem gumbu se lahko zažene marsikaj, na primer upravljanje sej ali predogled zaslona vseh posnetih fotografij ali skratka veliko stvari, ki bi jih lahko naredili. Ideja je, da najdete nekaj, zaradi česar boste radovedni, katera koli programska oprema, ki deluje v vašem sistemu, bo morda potrebovala izboljšave ali nove funkcije, ki zaradi pomanjkanja časa ali osebja še niso bile uvedene 🙂

      2.    mvr1981 je dejal

        Hvala tebi. so zelo dobri odgovori.

    2.    Guillermo je dejal

      No, za nekoga, ki ne bo strokovnjak na tem področju, bi bilo treba videti, v katerem okolju delajo, tako za administrativne naloge kot za direktive je zanimivo vedeti, na primer Python / Basic in vedeti, kako programirati makre v pisarniških paketih, kot sta LibreOffice ali MS Office. Včasih lahko to prihranite veliko ur dela za vas ali druge delavce, ki vas obkrožajo, in jih prosijo, da opravijo katero koli ponavljajočo se nalogo. Lahko ustvarite nadzorno ploščo za hiter izračun glavnih razmerij podjetja po povezavi z bazo podatkov in izvedite nekaj poizvedb SQL.
      Tako kot vse, tudi če poznate orodja na dosegu roke, lahko tudi vi razmislite o tem, kako ga kar najbolje izkoristiti. Ni vse izmišljeno.

  7.   Marcelo je dejal

    Guillermo, popolnoma se strinjam z vami, "Ni vse izmišljeno" in izumljeno je mogoče spremeniti. Orodja morate kar najbolje izkoristiti in uporabiti tisto, ki najbolj ustreza vašim potrebam.

  8.   Ricardo je dejal

    Za programiranje je prvi jezik, ki se ga naučijo angleščino, nato tisti, ki jih najbolj privlači in se jim zdi najlepši.

    1.    ChrisADR je dejal

      Nisem ga napisal, ampak resnično 🙂 znanje angleščine zelo pomaga, saj je v njem napisana večina jezikov, pa tudi zato, ker je večja količina informacij iz prve roke tudi najlepša hvala za izmenjavo

  9.   Ruben salgado je dejal

    Odličen članek, poleg motivacije.

    1.    ChrisADR je dejal

      Zelo prijazna, najlepša hvala 🙂 Lep pozdrav

  10.   Gonzalo Martinez je dejal

    Programiranje je vedeti, kako razlagati in to razmišljanje prevesti v navodila.

    Dve pojasnitvi članka:

    1) Glede na moje skoraj 10-letne izkušnje kot učiteljice programiranja ni pomembno, s katerim jezikom se učim, ampak kako se učim in kako zapleten je.

    Menim, da je jezik, ki se ga je mogoče naučiti strukturirano in nato preiti na druge bolj zapletene stvari, lažje kot začeti z jezikom, kot je Java, od začetka.

    Lažje se naučimo nekaj, kot je Hello World v jeziku C ali Pascal kot osnovo, kot z nekaj vrsticami (PROGRAM v primeru Pascala ali #include V primeru C) lahko začnete razvijati algoritem in program neposredno kodirate s svojo logiko, kot v Javi, ki sama po sebi potrebuje razred, metodo in nekatere druge stvari, ki so za začetnike preobremenjenost z informacijami nepotrebne in jih je mogoče prezreti in preiti na druge stvari, vendar gre za koncepte, ki pa obstajajo in po mojem mnenju spregledovanje stvari ni dober način učenja, še posebej, če vas jezik prisili, da jih uporabljate. Kot da bi prvič začeli ciljati z M-16 in več mesecev streljati v polavtomatskem načinu, ko držite ročaj z obema rokama kot pištolo.

    2) Ali se jezik razlaga ali prevaja, je odvisno od njegove izvedbe in ne od samega jezika. Če je na primer uporabljen Python, se za spletno aplikacijo, ki uporablja wsgi (naj bo to mod_wsgi za apache ali uwsgi za Nginx), koda python prevede ob zagonu ustreznega modula in ustvari datoteke .pyc

    Obstajajo tudi binarni generatorji datotek za javo (ki generirajo izvorne binarne datoteke namesto bytecode) ali prevajalniki php skriptov v čistih binarnih datotekah.

    Glede tega, kar pravijo o PHP, gre preprosto za jezik, oblikovan v drugi dobi, z mislijo na druge stvari in brez upoštevanja vidikov, ki takrat še niso obstajali. Jasno je, da dejstvo, da je najbolj uporabljen, ne pomeni, da je najboljši za kar koli na svetu, vendar obstaja resničnost: to je jezik, s katerim obstaja največ možnosti za zaposlitev v vseh programih. Vedeti, da ne boli, tudi če vam ni všeč.

    Tudi sam že nekaj let delam kot sistemski skrbnik in zapuščam delo razvijalca, vsake toliko moram v nekaj vstaviti PHP kodo.

    1.    ChrisADR je dejal

      Živjo Gonzalo, hvala za delitev,

      Govorimo o nepotrebnih preobremenitvah z informacijami, saj vedenje, da je isti jezik mogoče razlagati ali prevajati, na tej stopnji ni potrebno 🙂 Zagotovo je izvedba pomembna, če pa rečemo, da na tej ravni ne ustvarjamo več kot zmede. Na enak način se ne obravnavajo predmetno usmerjena programska vprašanja ali drugi koncepti, ki jih je treba postopoma odmerjati, da se ljudem ne vrti v glavi.

      Ker je prostor omejen, je glavni cilj prispevka bralcem, ki želijo programirati, pokazati, da obstajata dva velika sveta jezikov, da so "tradicionalno" interpretirani bolj "preprosti", da so "tradicionalno" sestavljeni nekoliko bolj "zapleteno", vendar je vredno te stopnje zapletenosti bolj trdno razumeti in da mora vsaka oseba izbrati jezik, saj bo glede na programski pristop lahko izbral svoje najljubše projekte in hkrati čas bodo lahko razumeli, kaj berejo in / ali pišejo 🙂

      Še enkrat najlepša hvala

      1.    Gonzalo Martinez je dejal

        To je napaka, ni prevedenih ali interpretiranih jezikov, za vsak jezik obstajajo tolmači in prevajalniki, oba za različne primere.

        Zdaj omeniti to ni preobremenjenost z informacijami, napačna je izjava. Po mojem mnenju bi bilo bolj produktivno prezreti tolmače, če ne bi radi preobremenjeni z informacijami.

        1.    ChrisADR je dejal

          Hvala za pojasnilo, upošteval ga bom, ko se bom vrnil k temi. Na zdravje

  11.   Ares je dejal

    Kateri jezik priporočate strežniški strani ob upoštevanju, da PHP ni bil naklonjen?
    Enako za baze podatkov, ne vem, ali bo kaj boljšega in modernejšega od mySQL.

    1.    ChrisADR je dejal

      PHP ni padel v nemilost ... Vsak jezik ima svoj življenjski cikel, php pa je zagotovo že jezik, ki vstopa v lestvico "zrelih", zaradi česar je koristen na poslovni ravni, kjer je predvsem stabilnost ... Tako kot nekatere banke, kjer je še vedno razvita v javi, ki je bolj "zrela" kot php in ima zagotovo svoje privržence in škodovalce ... In da o COBOL ne govorimo ...

      Če sta tisto, kar iščete, enotnost in modernost, postaja javascript ena izmed priljubljenih pri tako imenovanih "razvijalcih celotnega sklada", čeprav sta tudi rubinasta paradigma ali "preprostost" pythona dobra referenca…. Tudi perl je lahko možnost, odvisno od potreb 🙂

      Dandanes ORM (objektni relacijski preslikavalci) prevzame veliko moči pri upravljanju relacijskih podatkov. Prehaja iz sintakse SQL v obdelavo razredov in atributov ... Skoraj vsi jeziki (če ne vsi) obdelujejo nekaj ORM.

      . Mongo DB je alternativa relacijskim zbirkam podatkov, ki je postala zelo pomembna; vendar je treba vedeti njene prednosti in slabosti in preveriti, ali bi bila to najboljša rešitev glede na posebne potrebe.

      Upam, da vam pomaga, lep pozdrav 🙂

      1.    Ares je dejal

        Hvala, to bom preveril.

      2.    Ares je dejal

        Pozabil sem.

        Kaj mi priporočate za delo z JAVA v Linuxu?
        Če lahko bolje ločite med brezplačnim in zaprtim.

        1.    ChrisADR je dejal

          Eclipse in NetBeans sta odprtokodna. Nisem prepričan, ali obstaja povsem brezplačna programska oprema. Vim imam navado uporabljati vim, ker včasih količina kode upočasni uporabo celotnega IDE in je nagnjena k izvedbenim napakam. Lep pozdrav 🙂

        2.    paulzeta je dejal

          Za delo z javo v Linuxu uporabljam IntelliJ, priporočam vam.

          1.    ChrisADR je dejal

            PS, IntelliJ je lastniška programska oprema 🙂

  12.   je je dejal

    Fantje se tudi spomnijo, da ... delam v banki in vam povem, da se programski jeziki umaknejo, da najprej pustijo SQL in shranjene procedure.

    1.    Gonzalo Martinez je dejal

      Upoštevati jih morate shranjene postopke, toda če ne uporabljate prenosnega jezika med motorji, vsaj po mojih izkušnjah gre vedno za izogibanje, razen če ni druge možnosti.