Zure lehen programazio hizkuntza aukeratzea

Zalantzarik gabe, hori da nire sarrera ontzira gehien etortzen zaidan galderetako bat programazioaz hitz egitean. Mundu osoko software libreko / iturburu irekiko komunitateei ekarpen moduan programatzen eta doako ezagutzak ematen ikasiko zaituzten artikulu sorta bat hasiko badugu, beharrezkoa da oinarrizko honi erantzutea pixka bat zaila bada galdera. Zein programazio lengoaia ikasi behar dut?

Historia apur bat

Programazio lengoaia bat ulertzen eta aukeratzen hasteko, lehenik eta behin jakin behar dugu haien historia, erabilerak eta funtzioak, eta denboran zehar behar desberdinak nola konpontzen dituzten.

Makina hizkuntzak (maila baxua)

Normalean bezala ezagutzen da BatzarHizkuntza orokorrago baten dialekto gisa defini genitzakeen programazio-lengoaiak dira ... Hori konplikazio xamarra dirudi baina adibide bat ematera noa ... Badakigu informatikaren hizkuntza unibertsala dela. elektrizitatea, horrek esan nahi du azkenean ordenagailuak irakurtzen duena dela 0sy 1bai, deitu dezagun honi eordenagailu ingelesa. Adibide honetan, gaztelania da oinarrizko araua, baina ondo dakigunez, latinoek hitz egiten duten gaztelania ez da Espainian hitz egiten den berdina eta, hala ere, Peruko gaztelania ez da Argentinako gaztelaniarekin berdina. Jakina denok ia hitz berdinak ditugu (0sy 1s), baina erabilera eta esanahia testuinguruaren arabera alda daitezke.

Hori prozesadore mailan gertatzen da. Hitz egiten dugunean arkitektura informatikoak, (amd64, intel, arm, ...) horren euskalkia aipatzen dugu ordenagailu gaztelania. Hainbat konpainiek ordena eta esanahia beren erara ulertzen dituztelako gertatzen da, beraz, batzuk aldatu egiten dira xehetasunetan, hala nola korrontearen jarioa edo zein ordutan mantenduko diren. 0sy 1s.

Programazio lengoaia hauek oso azkarrak dira, ahalik eta programazio maila baxuenean lan egiten baitute, baina arkitekturaren menpe daude eta, zalantzarik gabe, gainerakoak baino zailagoak dira ikasten. Hauek askotan kontzeptuen oinarri zabalagoa eskatzen dute datuak eraldatzeko eta bertan gauza erabilgarriak exekutatzeko. Bideo-jokoen zaleentzat, adibide bat SEGA kontsolak lirateke, hauek Assembly erabiltzen zuten beren jokoak programatzeko. Jakina, garai hartan memoria kopuru txikia zen gaurkoarekin alderatuta, eta beharrezkoa zen azkarra izan zitekeen hizkuntza menderatzea eta programa arinak ekoiztea.

Maila handiko hizkuntzak

Talde handi honek ondorengo hizkuntzak hartzen ditu kontuan Batzar. Kode eramangarria lortzeko beharrak deituriko hizkuntza multzo bat sortu zuen bildua. Horien artean, aprobetxatzen lehena C izan zen, 70eko hamarkadaz geroztik sistema eragile mailan programazioan nagusi izan dena.

Konpilatutako hizkuntzak

Ikus dezagun komentatzen dudanaren adibide praktikoa. Ikus dezagun kode lerro bat inprimatzen duen C hizkuntza programa oso sinplea.

Propioa. Christopher Diaz Riveros

Konpilatu ondoren honako hau dugu:

Diseinu propioa: Christopher Díaz Riveros

Baina ikus dezagun zer idatzi beharko genukeen emaitza bera Batzar kodean errepikatzeko:

Propioa. Christopher Diaz Riveros

Hau da gure 3 kode lerroen itzulpena simple.c, fitxategia simple.s komandoaren bidez sortzen da gcc -S simple.c eta gure prozesadoreak euskalki batean ulertuko lukeena da Batzar. Bistakoa da osatutako exekutagarria sortzeko 0sy 1Fitxategia prozesatu behar da simple.s eta konektatu gure sistemako liburutegi partekatuekin. Hau a erabiliz egiten da muntatzailea (as) eta konektorea (ld).

Konpilatutako hizkuntzek abantaila handia eskaintzen dute maila baxukoekin alderatuta eramangarriak. Eramangarritasuna prozesadore desberdinetan exekutatu daitekeen kodea eskaintzen du, arkitektura bakoitzerako kode espezifikoa sortu beharrik gabe. Bistako beste abantaila bat kodea irakurtzerakoan eta idaztean erabiltzen duen sinpletasuna da. Desabantaila nagusien artean konplexutasun handia dugu, izan ere, ikusiko ditugun hizkuntza mota hauekin alderatuta, C-k eskaintzen duen askatasuna kaltegarria izan daiteke kontrolatzen ez badakizu, zalantzarik gabe pistola bat entregatzea bezalakoa da. , gerta liteke esperientziarik ez izateak pertsona batek bere oinaz tiro egitea amaitzea pistola garbitu nahian.

Hizkuntza interpretatuak

Talde honen barruan hizkuntza ugari ditugu, garrantzitsuenen artean Python, Ruby, Javascript, PHP, etab ... Hizkuntza hauen oinarrizko ideia programak sortu eta exekutatzeko modu azkarra eskaintzea da. , hau da, prozesu zail asko interpretean egiten direlako, eta logikan programatzea da kodean ezartzen dena. Ikus dezagun goiko adibide bera baina oraingoan Python-en idatzia:

Propioa. Christopher Diaz Riveros

Gauza aipagarrienen artean, lehenengo lerroa interpreteari (gure aplikazioa exekutatuko duen programa) deitzeaz arduratzen dela ikus dezakegu eta ondorengo kodea C-ko bertsioa baino "sinpleagoa" dela, lan astunak egiten baitira interpretearen gainean.

Propioa. Christopher Diaz Riveros

Hizkuntza interpretatuek garatzaileei segurtasun geruza handiagoa eskaintzen diete, segurtasun kontrol zorrotzagoak dituztelako (KONTUZ ez direla perfektuak, onenek ere akatsak egin baititzakete) eta jada ez dugu arma bat jaurtitzeko arriskua konturatu gabe. lehen saiakeran interpreteak alerta piztuko luke eta exekuzioa bertan behera geratuko litzateke. Desabantaila nagusia agerian geratzen da programa exekutatzerakoan, bere pare bitarra baino motelagoa baita, hain zuzen ere, kodea funtzionatzen duela ziurtatu ahal izateko prozesamendu kopuru handiagoa dela eta. Programak epe oso laburrak behar ez baditu, aldea oharkabean pasa daiteke, baina segundoko milaka edo milioika daturi buruz ari bagara, desberdintasuna modu esponentzialean nabarmentzen da bildutako hizkuntzetan.

Idazketa

Hau programazio lengoaien ezaugarria da, hauek izan daitezke biziki ahulki idatzita. Gai hau beste mezu baterako utziko dut, beharrezkoa baita eta kuriosoa da memoria programa batean nola gordetzen den ulertzea, baina oraingoz bereizketa egitea besterik ez dugu egin behar: Idazketa biziko hizkuntzak dira ezagutzea eskatzen dutenak. aldagai edo konstante batean landuko diren datu mota, aldiz ahulki motak bihurketa batean egin ditzakete inplizitua eta dena bihurketaren hierarkiaren araberakoa izango da hizkuntza. (orain ulertzen ez bada, arazorik ez, gerorako utziko dugu)

Paradigmak

GNU / Linux munduko guztia bezala, programazio lengoaiak paradigmen arabera oinarritzen dira, eta komunitateak horien inguruan sortzen dira. Adibidez dugu Python Fundazioa o Ruby o PHP o Bash (kasu horretan GNU komunitatea da). Honekin lortu nahi dudana da ezin dudala bakoitzak dituen alde onak eta txarrak adierazi, baina esan dezaket doako programazio lengoaia dagoen lekuan komunitate bat dagoela eta bertan ikasteko eta parte hartzeko. Aipatzekoa da hizkuntza-interpretatzaile guztiak C-rekin idatzita daudela, edo hurbileko eratorri batzuk direla, eta horien garapena komunitateko talde txikiago batek egin ohi duela, hizkuntza erabiltzaile guztiei eragingo dieten erabakiak hartzeaz arduratzen direla. Erakundeak ere sor daitezke hizkuntzaren garapen zuzena bermatzeko, C-rekin gertatzen den moduan.

Zein aukeratu?

Dagoeneko hizkuntzei buruz nahikoa hitz egin dugu eta oraindik ez dut garrantzitsuena erantzuten 😛. Baina espero dut artikulu txiki hau berrikusi ondoren ez zaidala beharrezkoa zein hizkuntza aukeratu esatea, informazio horrekin jakinmina sortzen duen bat bilatzeko gai zarelako. Jakina, hizkuntza batean programatzen ikasi nahi baduzu Batzar zerbait funtzionala izan arte denbora asko igaroko da, denbora asko murriztuko da hizkuntza konpilatu bat aukeratzen baduzu, non * NIX sistemetan eramangarritasuna izateaz gain, funtzionamenduari buruzko informazioa ikasteko aukera izango baituzu. sistema bera, C-rekin edo deribatuekin harremanetan egoteak modu batean edo bestean sistema eragile batek modu orokorrean nola funtzionatzen duen ikasten zaitu. Azkenean, zerbait arina ikasi nahi baduzu eta horrek asko ulertzeko beharrik gabe asko egitea ahalbidetzen badu, hizkuntza interpretatuak programazio trebetasunak ikasteko eta garatzeko modu dibertigarria dira.

Ikasi zerbait zirraragarriarekin

Hau da eman dezakedan aholkurik onena. Zerbait ikasi nahi baduzu, zerbait zirraragarria aurkitu behar duzu lehenik, bestela nahiko zaila izango da edozein programazio-lengoaien ikasteko kurba tipikoa gainditzea. Demagun sistemak kudeatzen dituzula, kasu horretan hizkuntza ezin hobea ikasi beharko duzula scripting (interpretatuta), horien barruan Perl, Python, Bash, etab ditugu. Beharbada zureak jolasak dira, Javascript, Lua, C ++ bezalako hizkuntzetan proiektu ugari daude, nahi duzun joko motaren arabera. jolastu. Beharbada, sistema mailan tresna bat sortu nahi zenuke, C, Python, Perl dauzkagunez, batzuk errepikatzen direla ikusiko baita, eta hori hizkuntza askotan erabil daiteke zeregin askotan, horregatik definizioa de erabilera anitzeko hizkuntzak horietako gehienetan.

Hasi proiektu bat

Horrekin ez dut esan nahi honako konpiladorea sortzen duzunik, ezta programazio lengoaia hau ere, proiektu bat zure programa gogokoenean akats txiki bat konpontzea izan daitekeenik, agian dokumentazioa hobetzen lagunduko duzu. Zergatik dokumentazioa? softwarearen funtzionamendua ikasteko modu hoberik ez dagoelako dokumentazioa irakurtzen eta idazten laguntzea baino, izan ere, iturburu-kodearen ondoren, programari buruz aurkituko duzun informazio iturri handiena da. Beste momentu batean proiektu baten kodea nola irakurri eta eskuratzen dituzten funtzioak eta balioak ulertzen ikusiko dugu.

Mila esker hona iristeagatik eta beti bezala, zure iruzkinek eduki hobea sortzen laguntzen didate eta non bideratu jakin dezaket, Agurrak.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

37 iruzkin, utzi zurea

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko.

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.

  1.   Anonymous esan zuen

    Beti bezala 10 bat !!!!!! Eskerrik asko zure artikuluengatik. Agurrak eta datozen gehiago !!!!

    1.    ChrisADR esan zuen

      Mila esker 🙂 idazten jarraitzera animatzen nau. Animo

  2.   Rubén esan zuen

    Uste dut akatsa dela "zein hizkuntza aukeratu?" Galdera egitea. Hizkuntza gutxien dela uste duen horietakoa naiz, garrantzitsuena programazioaren oinarriak ikastea eta "konputazionalki pentsatzea" da. Erabaki sintaxi bat, haren idazketa, OOP onartzen badu, bere erabilgarritasuna, etab. Uste dut estudioan berez etorriko den zerbait dela eta, azken finean, programatzaile bakoitzak 1, 2 eta 3 hizkuntza baino gehiago daki ... eta dituen programazio kontzeptuei (eta ez sintaxiari) esker, programatzeko gai da. oraindik bizi ez zenuen hizkuntza batean.
    Hala ere, hasitakoentzat hizkuntza ona Python izan daitekeela uste dut bere sinpletasunagatik, baina, batez ere, joan pixka bat harago, aztertu algoritmoak eta jakin nola funtzionatzen duten gauzak "barruan".

    Agurrak ChrisADR

    1.    ChrisADR esan zuen

      Kaixo Rubén, eskerrik asko partekatzeagatik
      Programazio munduan denboran zehar ikasi dudan zerbait da, eta hau da, "asko estaltzen duena ez da estutzen" eta esaldi ezagun honekin esan nahi dut askotan, eta batez ere gogotsuenek, saiatzea erabakitzen dutela. guztiak pixka bat, eta oso txanda azkarrak izaten kodifikatzen ikasteari dagokionez. Uste dut, eta nire iritzi pertsonala da, garatzaile on batek konpiladore hizkuntza bat eta interpretatzaile hizkuntza bat ezagutu eta menperatu beharko lituzkeela, Batzarreko dialekto batzuen kontzeptua izateaz gain.
      Arrazoia honako hau da, prototipoak beti izan behar du zerbait sinplea eta azkarra, sortzen erraza eta orokorrean emaitza erakusten duena, baina nahikoa ez bada, interpretea iritsi denean jotzeko "B plana" egon behar da. bere mugaraino.
      Asanbladako dialekto bat ezagutzeak konfiantza ematen dizu, "konputazionalki" pentsatzen ere irakasten dizu, baina, jakina, zati hau guztietan konplikatuena da eta, zalantzarik gabe, programatzaile guztiek ez dakiten zerbait da.
      Baina itzuli gaira, nire ustez ideia nagusia "hizkuntza bat aukeratu eta ASKO praktikatzea" delako, benetan programazioan trebea izateko modu bakarra kodea irakurri eta idaztea delako, eta kernel komunitatetik ikasi dudan zerbait da. Sintaxi bera denbora luzez mantentzen duzunean, inprimakia ikusteari uzten diozu eta AURREKARIAK kezkatzen hasten zara. Hizkuntza edo sintaxia hasieratik hautatzearen ideia da irakurketa eta idazketa ohitzeko gai dela, programaren sintaxiaren ordez programaren ESANAHIA irakurtzen has dadin.
      Hau da mezu honen arrazoi nagusia: bakoitzak bere hizkuntza aukeratzen du, ondorengoan kontzeptuak azal ditzagun, agian honekin zalantzak argitzen dira 🙂
      Agurrak eta eskerrik asko partekatzeagatik.

  3.   Deibis Contreras esan zuen

    eskerrik asko mezuagatik ona izan zen.

    dagokionez

    1.    ChrisADR esan zuen

      Kaixo Deibis, eskerrik asko partekatzeagatik 🙂 Agurrak

  4.   JorgeFS esan zuen

    Nire aholkua: PHP ez den beste edozer. Duela hogei urte PHP-k nolabaiteko zentzua izan zuen bere existentziarekin, Weba CGI erabiliz beste hizkuntza batean programatzen zuen konplexutasun maila handia zela eta. Baina gaur egun fotograma ugari daude Web garapena hizkuntza indartsuetan askoz ere atseginagoa izan dadin, hala nola Django Python, Spring Java edo Rails Ruby. Gaur egun PHP hizkuntzen arrakasta-zerrenda guztietan agertzen den arren, nire ustez, PHPk garrantzia galduko du denborarekin.
    Gomendatzen dut C \ C ++-rekin hastea programazioaren errealitatea ulertzeko, nahiz eta ikaskuntza-kurba gogorra den.
    Agurra.

    1.    ChrisADR esan zuen

      Kaixo Jorge, eskerrik asko partekatzeagatik, Laravel gogoratzea besterik ez da, hau da, Framework nahiko sendoa. Niri pertsonalki inoiz ez zait gustatu Spring edo Java web garapenerako, nahiko astuna iruditzen zait, baina igarotzen duten denboraren zati bat dela uste dut. merkatua, garai hartan aitzindari izan ziren eta gaur egun, zalantzarik gabe, alternatiba modernoek (Js, Python eta Ruby) lan asko egin gabe irakurri eta aldatu daitekeen kodea aurkezteko modua hobetu ahal izan dute.
      Bizi naiz momentu batean C / C ++ ikasten duten jendearekin ere, Java-rekin hasi nintzen, baina programazioaren edertasuna dela uste dut, nahi duzunarekin has zaitezke, koherentea zaren bitartean lagungarria izango da will Animo

    2.    Rubén esan zuen

      Ezin dut zurekin gehiago ados egon. Duela urte asko hasi nintzen C eta VB-rekin, geroago PHP eta JS-ra bideratzeko (web garapenean zentratu nintzenetik) eta gero ikasten ari nintzela C / C ++ eta Java ikasi nituen batez ere.
      PHPk mezu honetan zerrendatu ezin nituen abantaila ugari ditu. PHP7 azkarra da (Python baino azkarragoa ... hhvm, cache desberdinak, Phalcon edo bytecode bezalako frameworkak Python-en kasuan erabili gabe), liburutegi eta esparru ugari ditu, zuzenean inplementatutako funtzio ugari ditu edozein momentutan erabiltzeko, C-ren antzeko sintaxiak oso erraza da beste hizkuntzetara migratzea.
      Mundu osoko webguneen% 30 WordPress-ekin (PHP) egina dago eta badirudi ez dela aldatuko, Wikipediak erabiltzen du, Facebook (hhvm-rekin) eta gune ugari, guztira,% 80.

      Gogoratzen dut Django bezalako Ruby on Rails-ek 12 urte dituela! Zer kuota lortu dute denbora honetan? Jakina, ia monopolioa duten eta ez dago zatikapen motarik duten 2 markoei buruz ari gara. Zer beste aukera larri ditut? PHPk garrantzia galduko duela esateak oso zentzu gutxi du.

      Orain, Python modan dagoela ikasteko kurba azkarra duelako, hizkuntza sinplea da eta saltzen dizute "Python-ekin 20 ordutan programatzaile bihurtu eta horretan lan egin dezazun", Google bezalako enpresen laguntzarekin eta orain badagoela Hizkuntza berriak bilatzeko modak (Go, Dart ...) CV batean bereizteko (edo Javascript-en 50 esparru eguneroko jaiotza gisa!), Ez du esan nahi gauzak aldatzen direnik.

      Ruby oso hizkuntza interesgarria da, baina ezarritako ereduekin hainbeste hausten du ezen zaila egiten zait sinestea PHP baino ezagunagoa bihurtu zela. Noski, Ruby uste dut guztietan programatzen hasteko hizkuntza txarrena dela.
      Ulertzen dut Python programatzea dibertigarria izan daitekeela esaten didazula, baita Ruby bere berezitasun ugariekin ... baina Spring Java-rekin? Benetan? Java gauza asko izan daiteke ... baina Python eta PHP baino atseginagoa?

      Oso ondo dago Python-ekin hastea, baina Python-ekin bakarrik jarraitzen duzunez, konpainia askok zure programazio maila "sakona" ez dela sinesteko arriskua duzu (Python-en oso ona bazara ere). C ++ edo Java bezalako beste "erabilera anitzeko" hizkuntzekin lehiatzen zarelako da hori. Python-en programatu dezakezu, zer demontre den erakuslea, bit bitako eragiketak, zabor biltzaile batek nola funtzionatzen duen eta abar luzea.
      Python da, beharbada, dagoen "programazio klasikoaren" antzekorik txikiena eta "haurren hizkuntza" gisa ikus daiteke (lortu metafora), eta hori abantaila eta desabantaila da.

      1.    JorgeFS esan zuen

        "Python da, beharbada, dagoen" programazio klasikoaren "antzekorik txikiena eta" haurrentzako lengoaia "gisa ikus daiteke (metafora ulertu), eta hori abantaila eta desabantaila da." LOL, hau da Python-i buruz ikusi nuen gauza dibertigarrienetako bat. Benetan ikasi al duzu inoiz Python?
        Zenbat denbora darama munduan PHPtik kanpo?
        Friend PHP hilda jaio zen. PHPk (\ d +) karga handia du hasierako diseinu oso txarraren ondorioz eta erabiltzaileen komunitatea mantentzeko, hasierako diseinuaren errore horiek guztiak arrastatzen jarraitzen du. PHP modularitaterik gabe jaio zen, C estiloko funtzionalitate askorekin (bide batez, ez dakit nondik zatozen, bere sintaxia C-ren antzekoa denez, beste hizkuntza batzuetara erraz eraman daiteke). Maila handiko lengoaia batek, PHPk jokatuko lukeen moduan, bere webgune ofizialean zerrendatutako funtzioen ibilbide hau bezain gauza itsusiak ditu http://php.net/manual/en/indexes.functions.phpModularitate gabe jaio zelako da; beraz, dena nahasita eta izen espaziorik gabe dago.
        Hau PHP kode zati bat da:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        noizbait zehaztu al daiteke nondik inportatu ziren 'korronte' funtzionalitate horiek guztiak? EZ, orduan esan liteke eraikuntza-funtzioak direla, baina orduan ekosistema osoa eraikitzeko funtzioak direla? Beraz, PHP kodean zabor asko dago, hain diseinu txarraren konplexutasuna eta alferrikeria ulertzeko gai ez bazara, barka iezadazu baina oraindik mundu asko du ikusteko.
        Wordpress software irtenbide bikaina da, baina horrek ez du esan nahi oinarri teknologiko ona duenik. Harri batekin mailu egin eta iltzeak hortzekin atera ditzakezu eta oraindik arotzeria lan bikainak egin ditzakezu, baina noski, mailu ona erabiltzen duen beste arotz batek baino askoz ere lan gehiagorekin.

        Bestalde: "bilakatu 20 ordutan programatzaile Python-ekin eta lan egin ezazu", ez dut sekula horrelako astakeriarik ikusi. Webgune bat sortu dezakezu PHP-n 20 ordutan eta Web programazioak nola funtzionatzen duen edo programazioa bera ezagutu gabe. Izan ere, horregatik da hain ezaguna PHP, mundu honetara sartzerakoan hasi berriek PHP garapen azkarreko puntu gisa ikusten baitute (horregatik hainbeste PHP kode zurrupatzen da).
        Python-en gabeziei dagokienez, arrakasta izan duen bakarra erakusleekin lan egitea izan da, baina, nolanahi ere, Python goi mailako hizkuntza da (Java bezala) eta ez ditu sintaxi mailan erabiltzen; baina bit-mailako eragiketak, larriak?, x << y, x >> y hau esan nahi duzu: https://wiki.python.org/moin/BitwiseOperators. Zabor biltzailea askoz ere gutxiago ulertzen nuen: https://docs.python.org/3/library/gc.html.
        PHP hutsuneak:
        -PHP-k objektuetara bideratutako programazio (OOP) diseinu oso eskasa du.
        -Ezin da oraindik operadoreak gainkargatu.
        - Sorpresa, function overloading PHPn ez da naturalki espero duzuna kontzeptu honetatik.
        ... .. eta aspertu egin nintzen jeje.
        Agurra.

        1.    Rubén esan zuen

          Parentesi artean jartzen dut "metafora ulertu" (Python C ++ / Java-rekin lan ingurune berean konparatuz), argi dago ez duzula ulertu. Esan nezake C ++ programatzaile batek Python askoz modu azkarragoan ikas dezakeela Python programatzaile batek C ++ ikasten duen baino, ez da harritzekoa C / C ++ programatzaile baten batez besteko soldata Python baino handiagoa izatea.
          Beste adibide batzuekin azalduko nizuke, marrazki batekin ere! Badirudi nik jartzen dudana deskontestualizatzea eta barregarri uztea besterik ez duzula.

          Inoiz ez dut esan PHP munduko hizkuntzarik onena dela edo diseinu eredugarria duela, ez dakit nondik ateratzen duzun hori. Besteen ezagutzak epaitu aurretik irakurketaren ulermena hobetu beharko zenukeela uste dut. Egia dena (eta esan nuen nire mezuan) harekin garatzea oso arina dela, aurki ditzakezun esparru, liburutegi eta utilitateen ekosistema osoaz gain.
          Gainera, zer konparazio mota egiten dugu? Python erabilera anitzeko hizkuntza gisa edo weberako? Kasu horretan, zergatik alderatzen dugu PHPrekin? PHP-k eremu zehatz bat du, eta Python-ek (% 0.2ko partaidetzarekin, aurten aldatu ez dena) PHPren ondoan dagoen eremu horretan dago.
          Orain ikus ditzagun PHP joerak; 82,4ko urtarrilean% 2017tik 83.1ko urtarrilean% 2018era: https://w3techs.com/technologies/history_overview/programming_language

          Python-ek PHP destronatuko al du? Zein urtetan? zein bost urtean? hamarkada?
          Python beste hainbat zereginetan erabiltzeko gai izango da, eta PHP baino gehiago erabil daiteke, baina Python web garapenerako hizkuntza gisa argi dago urte gutxira,% 0.2% 83.1aren aurka gelditzen da (aurten igoera) .

          Gauzak ere normaltzat hartzen dituzu PHPtik kanpo ez naizela ibiltzen esanez, PHP bakarrik ezagutzen dudala aditzera emanez, hain zuzen ere PHP-n aspaldian programatu ez dudanean. Gaur egun, lan arrazoiengatik, gehienbat Javan programatzen dut.
          Ez dut esan ere Python-en programatuta ez duzula bit-bitik, zabor biltzailerik edo erakuslerik ezagutzen. Beharrean, Python programatu dezakezu hori zer den jakin gabe ere. Hala ere, zalantza handia dut C ++ programatzaile baten kasua izango zenik. Eta, jakina, konparaketa egiten dut Python "hizkuntza anitzeko" eremu horretan sartzen denean, ez web programaziorako.

          20 ordutan programatzaile bihurtzea txantxa bat da, gehiegikeria. Hala ere, antzeko gauzak agintzen dituzten lineako hezkuntza plataformei eta ikastaroei buruzko hainbat esteka jar ditzaket hemen. Ez nazazu errua bota, leporatu "programatzaile aditua" izatea 20 orduko ikastaroa egitea dela pentsatzen duen lan merkatuan. Eta Python modako hizkuntzetako bat izateaz gain, ikasteko kurba azkarrena duena ... zuria eta botilan.

          Insistitzen dut, zure mezua PHP zein txarra den esatean oinarritzen duzula (zati jakin batean, ados nago). Zuzena iruditzen zait, nire mezua ez dela horretaz gain, PHP zergatik erabiltzen jarraituko den eta bihar ez dela desagertuko uste duzun moduan.

          Un saludo

  5.   inork ez esan zuen

    C -> Joan -> (Lisp | Haskell | Java | dena delakoa)

    1.    ChrisADR esan zuen

      Duela gutxi irakurle batek Go liburu baten gomendioa bidali dit nire posta elektronikora, zalantzarik gabe etorkizunean kontuan hartu beharreko hizkuntza eta, agian, hemen argitaratuko da. Share Partekatzeko grafiko ugari

  6.   mvr1981 esan zuen

    Beno ... eta zer programatzen dut? Zergatik ikasi programazio lengoaia gaur egun dagoeneko existitzen diren hain programatzaile on eta esperientziadunekin? Zein arazo konpon ditzaket besteek modu askoz ere eraginkorragoan konpondu ez dituztenak? ... Laburbilduz: zenbateraino da originala programatzaile izatea gaur egun? Nola egin dezaket lankidetza besteekin, nire ezagutza eta esperientzia faltak ostikoka edo baztertu gabe?

    1.    ChrisADR esan zuen

      Kaixo mvr1981, galdera oso interesgarriak 🙂 azkenetik lehenera biribilkatuko ditugu.

      Nola egin dezaket lankidetza besteekin, nire ezagutza eta esperientzia faltak ostikoka edo baztertu gabe?

      Jaurtiketa egin nahi ez baduzu, lehen urratsa prozesua ikastea da; ezin duzu imajinatu proiektuetara gauzak beren modura bakarrik egin nahi dituzten jendea, komunitatea beren nahietara egokitzea nahi dutenak. Zalantzarik gabe, zure etxera etorri eta nahastea egin eta zure familia errespetatu ez izatea bezalakoa da (horrela sentitzen da askotan). Hori gerta ez dadin nahi baduzu, arreta jarri ekarpenak egiteko jarraibideei, horretarako bitartekoei eta ez bidali osatu gabeko zerbait, laguntza behar baduzu beti daude komunikatzeko bitartekoak, baina gaizki egindako lanak ziurrenik lehen inpresio txarrak sortuko ditu. Zure esku dagoen zeure burua baztertu nahi ez baduzu, zer egiten ari den edo programatzaile bikain bihurtzeko bidean dagoen programatzaile alferrikakoa dela ikus dezakezu, eta hori praktikan eta zalantzarik gabe bidean dauden akatsekin gertatzen da. Askotan oker egon naiz Gentoon nire garatzaile estatusa eskuratu aurretik, eta horrek ez ninduen saiatu "denbora txarra" izan arren.

      Zein originala da gaur egun programatzaile izatea?

      -Ez da originaltasunaz ari, gaur egun beharra da, pentsa ezazu orain dela 20 edo 30 urte honako hau, idaztea beharrezkoa zen, lan askok ondorioztatu zenekien edo gutxienez egin zezaketela. Gaur egun Office ezagutzea beharrezkoa da, ia ez dago Office dokumentuen aurrean jartzen ez zaituen lanik. Bihar, oso laster, programazioa beharrezkoa izango da. Eta hori ikuspuntu pertsonaletik ere aplikatzen da. Zure dirua, osasuna, familia bezalako gauzak bezain garrantzitsuak diren programetan zer gertatzen den jakitea logikoa da niretzat, beraien mugak nola jakin ditzakezun bakarrik ezagutzen baitituzu lan egiteko eta hori ezagutzeko, programatzen jakin behar duzu.

      Zein arazo konpon ditzaket besteek modu askoz ere eraginkorragoan konpondu ez dituztenak?

      -Kopuruarekin harrituko zinateke Ezaugarriak gaur egun beharrezkoak direnak, eta egia esateko, ez du axola munduko programatzaile onenak komunitatean egotea, lana beti izango da garatzaileen lan-ahalmena baino handiagoa, Gentoon egiaztatu dezaket, badago jendea kernela, Google, Sony, eta abarrekin lan egiten duen jendea eta abar ... guztiok daukagun gauza bakarra da inork ez duela zain dauden lan guztiak egin ahal izatea nahi adina denbora.

      Zergatik ikasi programazio lengoaia gaur egun dagoeneko existitzen diren programatzaile on eta esperientziadunekin?

      -Hori bigarren galderan erantzuten da. Baina orain gaineratu dezaket belaunaldiek jadanik garatutako lana babesteko gai izan behar dutela. Horrekin esan nahi dut "esperientziadun" garatzaile horiek pixkanaka desagertuko direla eta beharrezkoa izango dela "gazteagoentzat". »Garatzaileek erantzukizuna hartzen dute eta zikloa bizirik mantentzen laguntzen dute, jende gaztea eta esperientziarik ez duen komunitatea denboran zehar desagertzeko joera du, hain zuzen ere, ez baita ezagutza transmititzeko aukerarik egongo.

      Eta zer programatzen dut?

      -Hori da erantzuteko zailena, baina adibide bat jartzen saiatuko naiz. Orain dela gutxi hasi nintzen GNOME 24-rekin arazoak eta Wayland-ekin duen konexioa Shutter bezalako programak pantaila-argazkiak egitea ekiditen dutenak. Hau arazo bat da niretzat, nire artikuluak idazterakoan esaten dudana erakutsi behar dizudala. Inguruan pixka bat begiratuta GNOMEren pantaila-argazkia aplikaziora iritsi nintzen, "minimalista" zertxobait esateko. Bere funtzioen artean, pantaila eskualde bat hartzea da, baina zer gertatzen da argazkia ondo atera ez banu? Beno, programatik irten eta berriro sartu behar dut, neketsua den zerbait, "Berriro hartu" dioen botoiak edo horrelako zerbaitek kapturatu berri bat ateratzeko aukera ematen didana irten eta berriro sartu beharrik gabe lagunduko ninduke. programazio proiektu txikia da, ez dut inoiz ezer programatu GNOME esparruan, beraz, jakina, asko daukat zer ikasi nire "adabakia" botoia berriarekin bidali aurretik, baina bide horretan programatzen ikasten dut eta espero dut hau Ezaugarri bat baino gehiagori lagunduko dio guztientzako eskuragarri dagoenean.

      Adibide bat da, zerbait sinplea da eta ziur asko beste programatzaile "aditu" batek egin lezake, baina denbora falta dela eta, ez da horrela izan, orain ni naiz hori egiteko aukera duena, benetan super izan gabe programatzailea.

      Orain zure bizitza "errazagoa" izango litzatekeen zerbait aurkitzea besterik ez duzu erabiltzen maiz erabiltzen duzun software horretan. Horren edertasuna da hurrengo artikuluetan emango dizkizudan aholkuak betetzen baditugu, hizkuntzak ez duela garrantzirik izango, Irakurri duzun kodea ulertzen hasteko eta nahi duzuna egiteko aldatzeko oinarriak ezagutuko dituzu, oso sentimendu berezia da hori 🙂

      Agurrak eta eskerrik asko berriro

      1.    inork ez esan zuen

        Uste dut gnome captures programa ireki eta gero, errazena teklatu lasterbideetara joatea dela eta hiru konbinazio inprimatzea esleitzea alt-print guztia leiho aktiboa harrapatzeko eta superinprimatzea harrapaketatik hautaketa egiteko. eskualdean, erabilgarri dauden lasterbideak eskuragarri daude dagoeneko, esleitzea besterik ez da

        1.    ChrisADR esan zuen

          Horregatik, adibide bat ematen dizuegu 🙂 botoi hori bezalako gauza txikiak programatzen ari direlako, batzuk lagun ditzakete besteek oharkabean pasa ditzaketelako, baina zalantzarik gabe helburu nagusia betetzen dute, programatzen ikasten laguntzen dute eta ezaugarri berriei bide ematen diete, Botoi horren ondoren gauza asko abia daitezke, hala nola, saioaren kudeaketa edo ateratako argazki guztien aurrebista pantaila edo, laburbilduz, egin daitezkeen gauza asko. Ideia da jakinmina piztera bultzatzen zaituen zerbait aurkitzen duzula, zure sisteman funtzionatzen duen softwareak hobekuntzak edo ezaugarri berriak behar izan ditzake, oraindik denbora falta edo langileak inplementatu gabe daudelako.

      2.    mvr1981 esan zuen

        Zuri esker. oso erantzun onak dira.

    2.    Guillermo esan zuen

      Beno, arlo horretan profesional izango ez den norbaitek ikusi beharko luke zein ingurunetan lan egiten duen, bai administrazio zereginetarako, bai zuzentarauetarako, interesgarria izan daiteke, adibidez, Python / Basic eta jakitea LibreOffice edo MS Office bezalako bulegoetako paketeetan makroak programatzeko. Batzuetan, lan ordu asko aurrez ditzakezu zuri edo inguratzen zaituzten beste langileei eta edozein zeregin errepikakor egiteko eskatzen diezun. Arbel bat sor dezakezu enpresaren ratio nagusiak azkar kalkulatzeko, bertako datu basearekin konektatu ondoren eta SQL kontsulta batzuk egin.
      Dena bezala, eskura dituzun tresnak ezagutzen badituzu, etekin onena ateratzen pentsa dezakezu. Dena ez dago osatuta.

  7.   Marcelo esan zuen

    Guillermo, guztiz ados zurekin, "Ez da dena asmatzen" eta asmatutakoa aldagarria da. Tresnei ahalik eta etekin handiena atera eta zure beharretara ondoen egokitzen dena erabili behar duzu.

  8.   Ricardo esan zuen

    Programaziorako, ikasten den lehen hizkuntza ingelesa da, gero gehien erakartzen duena eta ederrena iruditzen zaiena.

    1.    ChrisADR esan zuen

      Ez nuen idatzi, baina egia 🙂 Ingelesa jakiteak asko laguntzen du hizkuntza gehienak bertan idazten direnez, baina baita lehen eskuko informazio kopuru handiagoak ere Eskerrik asko partekatzeagatik

  9.   Ruben salgado esan zuen

    Artikulu bikaina, motibatzeaz gain.

    1.    ChrisADR esan zuen

      Oso jatorra, mila esker 🙂 Agurrak

  10.   Gonzalo Martinez esan zuen

    Programatzea arrazoibide hori argibideetara nola itzultzen den jakitea da.

    Artikuluari buruzko bi argibide:

    1) Ia 10 urtez programazio irakasle gisa izandako esperientzian oinarrituta, ez du axola zein hizkuntzatarekin ikasten duzun, baizik eta nola ikasten duzun eta zein konplexua den.

    Uste dut modu egituratuan ikas daitekeen hizkuntza eta gero beste gauza konplexuagoetara pasatzeko, hasieratik Java bezalako hizkuntza batekin hastea baino errazagoa dela.

    Errazagoa da Hello World C edo Pascal bezalako zerbait ikastea oinarri gisa, lerro batzuekin baino (PROGRAMA Pascal-en kasuan, edo # include) C) kasuan, algoritmoa garatzen eta programa zuzenean logikarekin kodetzen has zaitezke, Java-n bezala, berez klase bat, metodo bat eta hasiberri batentzat beharrezkoak ez diren informazio gainkarga den beste zenbait gauza behar baititu. eta hori ez ikusi eta beste gauza batzuetara pasa daiteke, baina hor dauden kontzeptuak dira, eta nire ustez, gauzak ahaztea ez da ikasteko modu ona, batez ere hizkuntzak horiek erabiltzera behartzen bazaitu. M-16 batekin lehen aldiz praktikak egiten hastea bezalakoa da, eta hilabetez modu erdi-automatikoan tiro egitea bi eskuekin heldulekua pistola baten moduan eusten.

    2) Hizkuntza bat interpretatu edo konpilatu den edo ez gauzatzearen araberakoa da, ez hizkuntzaren beraren araberakoa. Adibidez, Python erabiltzen bada, wsgi erabiltzen duen web aplikazio baterako (mod_wsgi apache-n edo uwsgi Nginx-erako), python kodea konpilatzen da dagokion modulua abiaraztean .pyc fitxategiak sortuz

    Javarako fitxategi bitarreko sortzaileak ere badaude (bytecode beharrean jatorrizko bitarrak sortzen dituztenak), edo bit script hutsetan php scriptak biltzen dituztenak.

    PHPri buruz esaten dutenari dagokionez, beste garai batean diseinatutako lengoaia da, beste gauza batzuk kontuan hartuta eta garai hartan existitzen ez ziren alderdiak kontuan hartu gabe. Argi dago erabiliena izateak ez duela munduko ezertarako onena bihurtzen, baina bada errealitate bat: programazio guztietan lana lortzeko aukera gehien dituen hizkuntza da. Hori jakiteak ez du minik egiten, nahiz eta gustatu ez.

    Sistemaren administratzaile gisa hainbat urte daramatzadan eta garatzaile lana utzi dudan arren, PHP kodea zerbaitetan jarri behar izaten dut.

    1.    ChrisADR esan zuen

      Kaixo Gonzalo, eskerrik asko partekatzeagatik,

      Zalantzarik gabe, beharrezkoak ez diren informazio gainkargez ari garela, hizkuntza bera interpretatu edo konpilatu daitekeela jakitea da fase honetan beharrezkoa ez dena. Zalantzarik gabe, inplementazioa garrantzitsua da, baina maila honetan hori esaten badugu, ez dugu nahasmena baino gehiago sortzen. Modu berean, objektuetara bideratutako programazio gaiak ez dira jorratzen, edo pixkanaka dosifikatu behar diren beste kontzeptu batzuk, jendea zorabiatzeko ez izateko.

      Lekua mugatua denez, mezu honen helburu nagusia programatu nahi duten irakurleei bi hizkuntzen mundu bikainak daudela, "tradizionalki" interpretatutakoak "sinpleagoak" direla, "tradizionalki" bildutakoak pixka bat direla erakustea da. "Konplexuagoa" da, baina merezi du konplexutasun maila hori ulermen sendoagoa edukitzeko eta hizkuntza bakoitzaren esku dagoela, programazio ikuspegiaren arabera, beren proiektu gogokoenak aukeratu ahal izango baitituzte eta, aldi berean, ulertzeko gai izango dira. zer irakurtzen edo / eta idazten duten 🙂

      Mila esker berriro ere, agurrak.

      1.    Gonzalo Martinez esan zuen

        Hau akatsa da, ez dago hizkuntza konpilatu edo interpretatuik, hizkuntza bakoitzerako interpretariak eta konpilatzaileak daude, biak kasu desberdinetarako.

        Ez da informazio gainkarga orain aipatzea, akatsa da horrelako adierazpenak egitea. Nire ustez, produktiboagoa izango zen interpreteak alde batera uztea informazioarekin gainkarga egin nahi ez bazenuen.

        1.    ChrisADR esan zuen

          Eskerrik asko argitzeagatik, kontuan hartuko dut gaia itzultzen naizenean. Animo

  11.   Ares esan zuen

    Zer hizkuntza gomendatzen diozu zerbitzariari, kontuan hartuta PHP alde egin duela?
    Datu baseetan ere gauza bera, ez dakit mySQL baino zerbait hobea eta modernoagoa egongo den.

    1.    ChrisADR esan zuen

      PHP ez da alde batera utzi ... Hizkuntza bakoitzak bere bizitza zikloa du eta php da, zalantzarik gabe, "helduen" eskalan sartzen den hizkuntza, eta horrek negozio mailan erabilgarria da, egonkortasuna batez ere ... Oraindik javan garatzen den banku batzuek bezala, php baino "helduagoa" da eta zalantzarik gabe bere jarraitzaileak eta eragozleak ditu ... Eta zer esanik ez COBOL ...

      Bilatzen ari zarena uniformetasuna eta modernitatea bada, javascript "full stack developer" izenekoen gogokoenetako bat bilakatzen ari da, nahiz eta ruby ​​paradigma edo python "sinpletasuna" erreferentzia onak izan ... Perl ere aukera izan daiteke beharren arabera 🙂

      Gaur egun ORM (objektu erlazio mapatzaileak) indar handia hartzen ari da datu erlazionalen kudeaketari dagokionez. SQL sintaxitik klasera eta atributuak maneiatzera doa ... Ia hizkuntza guztiek (guztiak ez badira) ORM batzuk kudeatzen dituzte.

      . Mongo DB nahiko garrantzitsua bihurtu den datu-base erlazionalen alternatiba da; hala ere, bere alde onak eta txarrak ezagutu behar dira eta behar zehatzen arabera irtenbide onena izango litzatekeen balioztatu.

      Laguntzea espero dut, agurrak 🙂

      1.    Ares esan zuen

        Eskerrik asko, hori egiaztatuko dut.

      2.    Ares esan zuen

        Ahaztu egin zait.

        Zer gomendatzen didazu JAVArekin Linuxen lan egiteko?
        Doakoak eta itxiak hobeto bereizten badituzu.

        1.    ChrisADR esan zuen

          Eclipse eta NetBeans kode irekia dira, ez nago ziur software hutsa denik dagoenik, vim erabiltzeko ohitura daukat, zenbaitetan IDE osoa erabiltzea kode kopuruarekin motela eta exekuzio akatsetarako joera izaten baita. Agurrak 🙂

        2.    paulzeta esan zuen

          Linux-en Java-rekin lan egiteko IntelliJ erabiltzen dut gomendatzen dizut.

          1.    ChrisADR esan zuen

            PS, IntelliJ jabedun softwarea da 🙂

  12.   je esan zuen

    Mutilek ere gogoan dute ... Banku batean lan egiten dut eta esaten dizut programazio lengoaiek atzeko postua hartzen dutela SQL eta Gordetako prozedurak lehenbailehen uzteko.

    1.    Gonzalo Martinez esan zuen

      Kontuan hartu behar dituzu gordetako prozedurak, baina motorren arteko hizkuntza eramangarria ez erabiltzeak, nire esperientzian behintzat, beste aukerarik izan ezean saihestea da beti.