Chwazi premye langaj pwogram ou an

Sètènman sa a se youn nan kesyon ki vini nan bwat resepsyon mwen an pi plis lè w ap pale de pwogramasyon. Si nou pral kòmanse yon seri de atik ki pral pèmèt ou pou aprann nan pwogram ak bay tounen konesans gratis nan fòm lan nan kontribisyon nan lojisyèl gratis / kominote sous louvri atravè mond lan, li nesesè reponn debaz sa a si yon ti kras difisil kesyon. Ki langaj pwogramasyon mwen ta dwe aprann?

Yon istwa ti kras

Yo nan lòd yo kòmanse konprann epi chwazi yon lang pwogramasyon, nou dwe premye konnen yon ti kras sou istwa yo, itilizasyon yo ak fonksyon, ak ki jan yo rezoud bezwen diferan sou tan.

Lang machin (nivo ki ba)

Souvan li te ye tankou Asanble, yo se lang pwogramasyon ke nou ta ka defini kòm dyalèk nan yon langaj plis jeneral ... Sa a son yon ti jan konplike men mwen pral egzanp li ... Nou konnen ke lang inivèsèl nan informatique se elektrisite, sa vle di ke finalman sa yon òdinatè li yo ye 0sy 1wi, ann rele sa eòdinatè angle. Nan egzanp sa a, Panyòl se règ debaz la, men kòm nou byen konnen, Panyòl la pale pa Latinos se pa menm ak sa yo pale nan Espay, e menm si sa, Panyòl la nan Perou se pa menm bagay la ak Panyòl la nan Ajantin. Li evidan nou tout gen prèske menm mo yo (0sy 1s), men itilizasyon an ak siyifikasyon ka varye selon kontèks.

Sa rive nan nivo processeur. Lè nou pale sou achitekti informatique, (amd64, intel, bra, ...) nou refere a dyalèk la nan sa òdinatè panyòl. Sa a se paske konpayi diferan konprann lòd la ak siyifikasyon nan pwòp fason yo, se konsa kèk varye nan detay tankou koule nan aktyèl la, oswa lòd la nan kote yo yo pral sove. 0sy 1s.

Lang pwogramasyon sa yo ekstrèmman rapid, piske yo travay nan nivo pwogram ki pi ba a, men yo trè depann sou achitekti a epi yo sètènman yon ti jan pi konplike pou aprann pase rès la. Sa yo souvan mande pou yon baz pi laj nan konsèp yo nan lòd yo transfòme done yo, epi kouri bagay sa yo itil sou li. Pou rayisab jwèt videyo, yon egzanp ta dwe SEGA consoles, ki te itilize Asanble nan pwogram jwèt yo. Li evidan nan tan sa a kantite lajan an nan memwa te minim konpare ak jodi a, e li te nesesè yo metrize yon lang ki ta ka vit ak pwodwi pwogram limyè.

Lang wo nivo

Gwo gwoup sa a kontanple lang sa yo ki te vin apre Asanble. Bezwen an jwenn kòd pòtab te bay monte nan yon gwoup nan lang yo rele konpile. Pami sa yo, premye a pran avantaj te C, ki te gen yon dominasyon nan pwogram nan nivo sistèm opere depi 70s yo.

Lang konpile

Ann wè yon egzanp pratik sou sa mwen kòmante. Ann gade yon pwogram lang C ki trè senp ki enprime yon sèl liy kòd.

Pwòp. Christopher Diaz Riveros

Apre konpile li nou gen bagay sa yo:

Pwòp konsepsyon: Christopher Díaz Riveros

Men koulye a, ann wè kisa nou ta dwe ekri pou repwodwi menm rezilta nan kòd Asanble a:

Pwòp. Christopher Diaz Riveros

Sa a se tradiksyon an nan 3 liy nou yo nan kòd soti nan simple.c, dosye a simple.s se kreye lè l sèvi avèk lòd la gcc -S simple.c e se sa processeur nou an ta konprann nan yon dyalèk Asanble. Li evidan yo nan lòd yo kreye yon ègzèkutabl ki gen ladann 0sy 1s dosye a bezwen yo dwe trete simple.s epi konekte li ak bibliyotèk yo pataje nan sistèm nou an. Sa a se fè lè l sèvi avèk yon asanble (as) ak yon Connector (ld).

Lang ki konpile yo bay yon gwo avantaj sou nivo ki ba yo, yo ye pòtab. Portabilite delivre kòd ki ka egzekite sou processeurs diferan san yo pa bezwen jenere kòd espesifik pou chak achitekti. Yon lòt avantaj evidan se senplisite li itilize lè li ak ekri kòd. Pami dezavantaj prensipal li yo nou gen yon konpleksite segondè, depi konpare ak kalite sa yo nan lang ke nou pral wè, libète a ki C ofri ka danjere si ou pa konnen ki jan yo kontwole, li se sètènman tankou remèt sou yon zam , li te ka rive ke nan mank de eksperyans yon moun fini tire pwòp pye l 'nan yon tantativ pou netwaye zam la.

Entèprete lang yo

Nan gwoup sa a nou gen yon gran varyete lang, pami pi enpòtan an nou gen Piton, Ruby, JavaScript, PHP, elatriye ... Lide debaz nan lang sa yo se bay yon fason rapid yo kreye ak kouri pwogram yo. , sa a se paske anpil nan pwosesis yo difisil yo te pote soti nan entèprèt la, ak pwogram nan nan lojik la se sa ki aplike nan kòd la. Ann gade menm egzanp ki anwo a men fwa sa a ekri nan Piton:

Pwòp. Christopher Diaz Riveros

Pami bagay sa yo ki pi eksepsyonèl nou ka wè ke liy lan an premye se an chaj yo rele entèprèt la (pwogram lan ki pral egzekite aplikasyon nou an) ak kòd la ki vin apre a se pi plis "senp" pase vèsyon li yo nan C, depi tout travay la lou fèt sou entèprèt la.

Pwòp. Christopher Diaz Riveros

Lang entèprete yo bay pwomotè a yon pi gwo kouch sekirite, depi yo gen kontwòl sekirite ki pi solid (ATANSYON ke yo menm yo pa pafè, depi menm pi bon an ka fè erè) epi nou pa soufri risk pou yo tire yon zam san yo pa reyalize li, depi sou premye a eseye, entèprèt la ta ogmante yon alèt ak ekzekisyon an ta anile. Dezavantaj prensipal la vin evidan lè egzekite pwogram lan, depi li se pi dousman pase kontrepati binè li yo, sa a jisteman akòz kantite lajan an pi gwo nan pwosesis asire ke kòd la ap travay. Si pwogram nan pa mande pou dat limit trè kout, diferans lan ka ale inapèsi, men si nou ap pale de dè milye oswa dè milyon de done pou chak dezyèm, diferans lan vin exponentielle aparan nan lang konpile.

Sezisman

Sa a se yon karakteristik nan lang programmation, sa yo kapab fòtman fèb tape. Mwen pral kite sijè sa a pou yon lòt pòs, depi li nesesè ak kirye yo konprann ki jan memwa ki estoke nan yon pwogram, men pou kounye a nou sèlman bezwen fè distenksyon an: Fòtman tape lang yo se moun ki mande pou konnen an kalite done ki pral travay sou yon varyab oswa konstan, pandan y ap fèb kalite ka fè konvèsyon konsa enplisit ak tout bagay pral depann de yon yerachi konvèsyon ki te swiv pa lang lan. (Si li pa konprann kounye a, pa gen okenn pwoblèm, nou pral kite li pou pita)

Paradigm

Tankou tout bagay nan mond GNU / Linux la, langaj pwogram yo baze sou paradigm yo, epi kominote yo pwodwi bò kote yo. Pou egzanp nou gen Python Fondasyon o Ruby o PHP o Bash (nan ka sa a se kominote GNU). Ki sa mwen vle jwenn ak sa a se ke mwen pa ka eksprime gwo kantite avantaj ak enkonvenyan ke chak moun genyen, men mwen ka di ou ke kote ki gen yon lang pwogram gratis, gen yon kominote pou aprann epi patisipe nan. Li vo mansyone ke anpil si se pa tout entèprèt lang yo ekri nan C, oswa kèk dérivés fèmen, ak devlopman yo anjeneral te pote soti nan yon pi piti gwoup nan kominote a, ki moun ki an chaj pou pran desizyon ki pral afekte tout itilizatè lang yo. Enstitisyon yo ka menm fòme pou asire devlopman kòrèk lang lan, menm jan se ka C.

Ki moun ki chwazi?

Nou te deja pale ase sou lang e mwen toujou pa reponn bagay ki pi enpòtan 😛. Men, mwen espere ke apre yo fin revize ti atik sa a li pa nesesè pou m 'di ou ki lang yo chwazi, depi avèk enfòmasyon sa a ou se konplètman kapab nan kap chèche youn ki jenere kiryozite. Li evidan si ou vle aprann pwogram nan yon lang Asanble li pral pran yon bon bout tan anvan ou ka gen yon bagay fonksyonèl, yo pral tan an ap redwi anpil si ou patisipe pou yon lang konpile, kote nan adisyon a gen Transparans sou * NIX sistèm, ou yo pral kapab aprann enfòmasyon konsènan operasyon an nan la menm sistèm, depi yo te an kontak ak C oswa dérivés fè ou nan yon fason oswa yon lòt aprann ki jan yon sistèm opere travay nan yon fason jeneral. Finalman, si ou vle aprann yon bagay ki lejè e ki pèmèt ou fè anpil san ou pa bezwen konprann anpil, lang entèprete yo se yon fason amizan pou aprann epi devlope ladrès pwogramasyon.

Aprann ak yon bagay enteresan

Sa a se pi bon konsèy mwen ka ba ou, si ou vle aprann yon bagay, ou bezwen jwenn yon bagay enteresan an premye, sinon li pral byen difisil simonte koub aprantisaj tipik nan nenpòt langaj pwogramasyon. Sipoze ou jere sistèm, nan ka sa a ou ka bezwen aprann yon lang ideyal yo écritures (entèprete), nan sa yo nou gen Perl, Python, bach, elatriye elatriye ... Petèt ou se jwèt, gen anpil pwojè nan lang tankou JavaScript, Lua, C ++, tou depann de ki kalite jwèt ou vle jwe. Petèt ou ta renmen kreye yon zouti sistèm-nivo, depi nou gen C, Piton, Perl, jan ou pral wè, gen kèk ki repete, e sa se paske anpil lang ka itilize pou anpil travay, se poutèt sa definisyon an nan lang multiples nan pifò nan sa yo.

Kòmanse yon pwojè

Pa sa mwen pa vle di ke ou kreye du sa a, oswa menm langaj pwogram sa a, yon pwojè ka ranje yon ti ensèk nan pwogram ou pi renmen an, petèt menm ede amelyore dokiman an. Poukisa dokiman an? paske pa gen okenn pi bon fason pou aprann kijan lojisyèl an fonksyone pase nan lekti ak ede ekri dokiman li yo, paske apre kòd sous la, li se pi gwo sous enfòmasyon ke ou pral jwenn sou pwogram nan. Nan yon lòt moman nou pral wè ki jan li kòd la nan yon pwojè ak konprann fonksyon yo ak valè yo jwenn.

Mèsi anpil pou jwenn isit la ak kòm toujou, kòmantè ou ede m 'jenere pi bon kontni ak konnen ki kote yo konsantre, Bonjou.


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

37 kòmantè, kite ou

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.

  1.   Anonim diro

    Kòm toujou yon 10 !!!!!! Mèsi pou atik ou yo. Bonjou ak plis ankò vini !!!!

    1.    ChrisADR diro

      Mèsi anpil 🙂 ankouraje m kontinye ekri. Cheers

  2.   Rubén diro

    Mwen panse ke se yon erè pou poze kesyon "ki lang pouw chwazi?" Mwen se youn nan moun ki panse ke lang se pi piti nan li, bagay la enpòtan an se aprann Basics yo nan pwogramasyon ak nan "panse enfòmatik." Deside sou yon sentaks, sezisman li yo, si li sipòte OOP, sèvis piblik li yo, elatriye. Mwen panse ke li se yon bagay ki pral vini natirèlman nan etid la ak apre tout, chak pwogramè konnen plis pase 1, 2 ak 3 lang ... ak gras a konsèp yo pwogram (epi yo pa sentaks) ke li genyen, li se kapab pou pwogram nan yon lang ou poko eksperyans nan.
    Sepandan, pou inisye a, mwen panse ke yon bon lang kapab Piton pou senplisite li, men pi wo a tout moun, ale yon ti kras pi lwen, etid algoritm ak konnen ki jan bagay sa yo travay "andedan".

    Bonjou ChrisADR

    1.    ChrisADR diro

      Hi Rubén, mèsi pou pataje
      Gen yon bagay ke mwen te aprann sou tan nan mond lan nan pwogramasyon, e ke se ke "li ki kouvri anpil pa peze" ak pa fraz sa a byen koni mwen vle di ke anpil fwa, epi sitou ki pi antouzyastik la, deside eseye tout yon ti jan, epi yo gen vire trè rapid an tèm de ki jan ou aprann kòd. Mwen kwè, epi li se opinyon pèsonèl, ke yon bon pwomotè ta dwe konnen ak metrize yon lang du ak yon lang entèprèt, nan adisyon a gen yon nosyon de kèk dyalèk Asanble.
      Rezon ki fè la a se sa ki annapre yo, pwototip la dwe toujou yon bagay ki senp epi vit, fasil pou jenere e ki jeneralman montre yon rezilta, men si li pa ase, dwe gen yon "plan B" pou resort lè entèprèt la rive limit li yo.
      Lè ou konnen yon dyalèk nan Asanble pa sèlman ba ou konfyans, men tou anseye ou panse "enfòmatik", men evidamman pati sa a se pi konplike a nan tout, epi li se sètènman yon bagay ki pa tout pwogramasyon vini nan.
      Men, tounen nan sijè sa a, paske lide prensipal la mwen panse ke se, "chwazi yon lang ak pratike yon anpil", paske reyèlman yon fason a sèlman yo ka resevwa bon nan pwogram se nan lekti ak ekri kòd, e sa se yon bagay ke mwen te aprann nan men kominote a Kernel Lè ou kenbe sentaks la menm pou yon tan long, ou sispann wè fòm nan epi yo kòmanse mangonmen sou background nan. Lide a nan chwazi yon lang oswa sentaks depi nan konmansman an se ke yon moun se kapab abitye lekti li yo ak ekri nan yon fason ke yon moun ka kòmanse li SA vle di nan pwogram nan olye pou yo sentaks la nan pwogram nan.
      Sa a se rezon prensipal pou pòs sa a, ke chak moun chwazi lang yo pou ke nan sa ki annapre yo nou ka eksplike konsèp yo, petèt ak sa a dout yo klarifye 🙂
      Bonjou ak mèsi pou pataje.

  3.   deibis kontreras diro

    mèsi pou pòs la li te bon.

    Concerne

    1.    ChrisADR diro

      Bonjou Deibis, mèsi pou pataje 🙂 Bonjou

  4.   JorgeFS diro

    Konsèy mwen an: anyen lòt pase PHP. Ven ane de sa PHP te fè yon sèten sans nan egzistans li akòz nivo segondè nan konpleksite ki te pwogram entènèt la nan yon lòt lang lè l sèvi avèk CGI. Men jodi a, gen yon gran varyete Frameworks fè devlopman entènèt pi agreyab nan lang pwisan, tankou Django pou Python, Spring pou Java oswa ray pou Ruby. Malgre ke PHP kounye a parèt sou tout tablo popilarite lang, nan opinyon mwen PHP ap pèdi enpòtans li sou tan.
    Mwen konseye fòtman kòmanse ak C \ C ++ yo konprann reyalite a nan pwogram, byenke koub aprantisaj la se apik.
    Bonjou.

    1.    ChrisADR diro

      Bonjou Jorge, mèsi pou pataje, jis sonje Laravel, ki se yon chapant trè solid 🙂 Mwen pèsonèlman pa janm renmen Spring oswa Java pou devlopman entènèt, mwen jwenn li byen ankonbran, men mwen devine li se yon pati nan kantite tan yo te nan mache a, nan moman sa a yo te pyonye ak sètènman jodi a altènativ modèn (Js, Piton ak Ruby) yo te amelyore fason pou prezante kòd ki lizib ak modifye san anpil travay.
      Mwen menm tou enkline nan direksyon pou moun k ap aprann C / C ++ nan kèk pwen nan lavi yo, mwen te kòmanse avèk Java, men mwen devine ke se bote nan pwogram, ou ka kòmanse ak tou sa ou vle, osi lontan ke ou se ki konsistan li pral dwe itil ers Cheers

    2.    Rubén diro

      Mwen pa ka dakò avèk ou ankò. Mwen te kòmanse anpil ane de sa ak C ak VB, yo pita konsantre sou PHP ak JS (depi mwen konsantre sou devlopman entènèt) epi pita pandan y ap etidye mwen te aprann C / C ++ ak Java sitou.
      PHP gen yon kantite avantaj ke mwen pa t 'kapab lis nan mesaj sa a. PHP7 se vit (pi vit pase Python ... san yo pa itilize hhvm, diferan kachèt, kad tankou Phalcon oswa bytecode nan ka a nan Piton), li gen yon nimewo gwo bibliyotèk ak kad, li gen yon nimewo gwo fonksyon dirèkteman aplike yo sèvi ak yo nan nenpòt ki lè, sentaks li yo, se konsa menm jan ak C fè li trè fasil emigre nan lòt lang yo.
      30% nan sit entènèt yo atravè lemond yo te fè ak WordPress (PHP) e ki sanble pa chanje, Wikipedia itilize li, Facebook (ak hhvm) ak yon gwo kantite sit, nan total, 80%.

      Mwen raple ou ke Ruby on Rails tankou Django gen 12 zan! Ki kota yo reyalize nan tan sa a? Ak nan kou, nou ap pale de 2 kad ki pratikman gen yon monopoli e pa gen okenn kalite fwagmantasyon. Ki lòt altènativ serye mwen genyen? Li di ke PHP pral pèdi enpòtans fè anpil ti sans.

      Kounye a ke Piton se nan mòd paske li gen yon koub aprantisaj vit, li se yon langaj senp epi yo vann li ba ou kòm «vin yon pwogramè a nan 20 èdtan ak Piton ak travay sou li», ak sipò nan konpayi tankou Google ak ke kounye a mòd nan kap chèche nouvo lang (Ale, flèch ....) diferansye tèt ou nan yon CV (oswa kòm nesans la chak jou nan 50 kad pou JavaScript!), pa vle di ke bagay sa yo chanje.

      Ruby se yon lang trè enteresan, men li kraze anpil ak modèl etabli ke mwen jwenn li difisil a kwè ke li te vin pi popilè pase PHP. Natirèlman, Ruby mwen panse ke se lang ki pi mal la yo kòmanse pwogram nan tout.
      Mwen konprann ke ou di m 'ke Python ka amizan nan pwogram, menm Ruby ak Infinity li yo nan sengularite ... men Spring ak Java? Vrèman? Java kapab anpil bagay ... men pi agreyab pase Piton ak PHP?

      Li nan tout trè byen kòmanse ak Piton, men jan ou bwa nan Piton pou kont li, ou kouri risk pou anpil konpayi pral kwè ke nivo ou nan pwogram se pa "gwo twou san fon" (menm si ou se trè bon nan Piton). Sa a se paske ou konpetisyon ak lòt lang "multi" tankou C ++ oswa Java. Ou ka pwogram nan Python san yo pa konnen diferans ki sa lanfè a se yon konsèy, operasyon bit, ki jan yon pèseptè fatra travay ak yon long eksetera.
      Piton se petèt pi piti a menm jan ak "pwogramasyon klasik" ki egziste e ki ka wè sa tankou yon "lang timoun" (jwenn metafò a), e ke an vire se yon avantaj ak yon dezavantaj.

      1.    JorgeFS diro

        "Python se petèt pi piti a menm jan ak 'pwogramasyon klasik' ki egziste e ki ka wè sa tankou yon 'lang timoun' (jwenn metafò a), e ke an vire se yon avantaj ak yon dezavantaj." LOL, sa a se youn nan bagay sa yo drol mwen janm wè te di sou Piton. Èske w te janm reyèlman aprann Piton?
        Konbyen tan li te atravè mond lan deyò nan PHP?
        Zanmi PHP te mouri. PHP (\ d +) gen yon anpil nan trennen ak li akòz yon konsepsyon trè move premye ak yo nan lòd yo kenbe kominote a itilizatè li kenbe trenen tout erè sa yo konsepsyon premye trè byen. PHP te fèt san modularite, ak yon anpil nan fonksyonalite C-style (ki nan chemen an, mwen pa konnen ki kote ou te soti nan sa depi sentaks li yo se menm jan ak C li ka fasil Port nan lòt lang). Yon lang wo nivo, tankou PHP ta dwe konpòte li, gen bagay sa yo lèd tankou santye sa a nan fonksyon ki nan lis sou sit ofisyèl li yo http://php.net/manual/en/indexes.functions.phpSa a se paske li te fèt san modularite, se konsa tout bagay sal melanje ak san namespaces.
        Sa a se yon moso nan kòd PHP:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        nan kèk pwen ou ka detèmine ki kote tout fonksyonalite 'kouran' sa yo te enpòte? NON, ou ta ka di Lè sa a, ke yo se fonksyon buildin, men Lè sa a, tout ekosistèm lan se fonksyon buildin?. Se konsa, gen yon anpil nan fatra nan kòd la PHP, ke si ou pa kapab konprann konpleksite a ak initilite nan move konsepsyon sa yo, padonnen m ', men li toujou gen yon anpil nan mond yo wè.
        Wordpress se yon solisyon lojisyèl ekselan, men sa pa vle di ke li gen yon bon baz teknolojik. Ou ka mato ak yon wòch ak kondwi klou soti ak dan ou, epi ou ka toujou fè ekselan travay chapant, men nan kou, ak yon anpil plis travay pase yon lòt bòs chapant ki sèvi ak yon mato bon.

        Nan lòt men an: "vin yon pwogramè nan 20 èdtan ak Piton ak travay sou li", mwen pa janm wè tankou sòt. Ou ka kreye yon sit entènèt nan PHP nan 20 èdtan ak san yo pa gen okenn konesans sou ki jan pwogram entènèt travay, oswa pwogram nan tèt li. An reyalite, se poutèt sa PHP tèlman popilè, paske newbies k ap antre nan mond sa a wè PHP kòm yon pwen nan devlopman rapid (ki se poukisa anpil PHP Kòd absorb tèlman difisil).
        Konsènan enpèfeksyon Python yo, yon sèl nan ki li te reyisi te nan travay ak endikasyon, men nan nenpòt ka, Python se yon lang wo nivo (tankou se Java) epi yo pa fè pou sèvi ak sa yo nan nivo sentaks; men operasyon bit, grav?, ou vle di sa a x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Mwen seryezman konprann bagay la pèseptè fatra anpil mwens: https://docs.python.org/3/library/gc.html.
        PHP twou vid ki genyen:
        -PHP gen yon trè pòv objè-oryante pwogramasyon (OOP) konsepsyon.
        -Ou pa ka twò chaje operatè yo ankò.
        -Sipriz, function overloading nan PHP se pa sa ou natirèlman atann de konsèp sa a.
        ... .. e mwen jis te anwiye hehe.
        Bonjou.

        1.    Rubén diro

          Mwen mete nan parantèz "konprann metafò a" (pa konpare Piton ak C ++ / Java nan menm anviwònman travay), li klè ke ou pa t 'konprann li. Mwen te kapab di ou ke yon pwogramè C ++ ka aprann Piton nan yon fason pi vit pase yon pwogramè Piton ka aprann C ++, menm jan li pa gen sipriz ke salè mwayèn nan yon pwogramè C / C ++ pi wo pase yon Piton yon sèl.
          Mwen te kapab eksplike li ba ou ak lòt egzanp, menm avèk yon desen! men li sanble ke ou sèlman konsantre sou dekontextualize ak ridikilize sa mwen mete.

          Nan okenn moman mwen pa di ke PHP se lang ki pi bon nan mond lan oswa ke li gen yon konsepsyon egzanplè, mwen pa konnen ki kote ou jwenn ki soti nan. Mwen panse ke anvan ou jije konesans lòt moun ou ta dwe amelyore konpreyansyon lekti ou. Ki sa ki vre (e mwen te di nan mesaj mwen an) se ke devlope avèk li se trè ajil, nan adisyon a ekosistèm nan tout nan kad, bibliyotèk ak sèvis piblik ke ou ka jwenn.
          Epitou, ki kalite konparezon nou fè? Piton kòm yon lang polivalan oswa pou entènèt la? Nan ka sa a, poukisa nou konpare li ak PHP? PHP gen yon jaden espesifik, epi li se nan jaden sa a kote Python (ak yon pati nan 0.2%, ki pa chanje tout ane sa a) pal akote PHP.
          Koulye a, nou pral wè tandans PHP yo; soti nan 82,4% nan janvye 2017 a 83.1% nan janvye 2018: https://w3techs.com/technologies/history_overview/programming_language

          Èske Piton pral detwone PHP? Nan ki ane? nan ki senk ane? deseni?
          Python yo pral kapab itilize nan anpil lòt travay, e menm vin pi lajman itilize pase PHP, men Piton kòm yon lang devlopman entènèt se ane limyè lwen ke yo te menm enpòtan, 0.2% stagnation kont 83.1% (ak yon ogmantasyon ane sa a) .

          Ou menm tou ou pran bagay sa yo pou yo akòde lè ou di ke mwen pa ale deyò nan PHP, allusion ke mwen sèlman konnen PHP, lè jisteman mwen pa te pwograme nan PHP pou yon tan long haha. Kounye a, pou rezon travay, mwen sitou pwogram nan Java.
          Ni mwen te di ke pa pwogramasyon nan Piton ou pa gen konesans sou bit, yon pèseptè fatra oswa yon konsèy. Olye de sa, ou ka pwogram nan Piton san yo pa menm konnen ki sa sa a se. Sepandan, mwen trè doute ke ta ka a pou yon pwogramè C ++. Ak evidamman mwen fè konparezon an lè Piton antre nan jaden sa a nan "lang multiples", pa pou pwogram entènèt.

          Vin yon pwogramè nan 20 èdtan se senpleman yon blag, yon egzajerasyon. Sepandan, mwen te kapab mete ou isit la divès lyen sou tribin edikasyon sou entènèt ak kou ki pwomèt bagay ki sanble. Pa blame m ', blame li sou yon mache travay ki panse ke vin tounen yon "pwogramè ekspè" se yon kesyon de pran yon kou 20 èdtan. Ak Piton ke yo te youn nan lang yo alamòd ak tou, ak koub aprantisaj ki pi rapid ... blan ak nan yon boutèy.

          Mwen ensiste, ou baze mesaj ou sou li di ki jan move PHP se (ki nan yon pati sèten, mwen dakò). Li sanble kòrèk pou mwen, eksepte ke mesaj mwen an se pa sou sa, men poukisa PHP ki pral kontinye itilize epi li pa pral disparèt demen jan ou panse.

          bonjou

  5.   pèsonn pa diro

    C -> Ale -> (Lisp | Haskell | Java | kèlkeswa sa)

    1.    ChrisADR diro

      Dènyèman yon lektè voye m 'yon rekòmandasyon pou yon liv Ale nan imèl mwen an, sètènman yon lang yo pran an kont nan tan kap vini an ak nan ki petèt pral gen yon pòs isit la 🙂 Anpil grafik yo pataje

  6.   mvr1981 diro

    Oke ... e ki sa mwen pwogram? Poukisa aprann yon langaj pwogramasyon jodi a ak pwogramè sa yo bon ak ki gen eksperyans ki deja egziste? Ki pwoblèm mwen ka rezoud ke lòt moun pa te deja rezoud nan yon fason pi efikas? ... Nan ti bout tan: Ki jan orijinal se ke yo te yon pwogramè jodi a? Kouman mwen ka kolabore ak lòt moun san yo pa choute oswa eskli pa mank mwen nan konesans ak eksperyans?

    1.    ChrisADR diro

      Bonjou mvr1981, kesyon reyèlman enteresan 🙂 nou pral bobine yo soti nan yon sèl la dènye a an premye.

      Kouman mwen ka kolabore ak lòt moun san yo pa choute oswa eskli pa mank mwen nan konesans ak eksperyans?

      Si ou pa vle jwenn choute, premye etap la se aprann pwosesis la, ou pa ka imajine kantite moun ki vini nan pwojè ki vle fè bagay sa yo sèlman fason yo, ki vle kominote a adapte yo ak volonte yo. Li sètènman tankou m 'vini nan kay ou ak fè yon dezòd ak derespekte fanmi ou (sa a ki jan li santi l anpil fwa). Si ou vle anpeche sa rive, peye anpil atansyon sou direktiv yo pou kontribiye, vle di pa ki fè li, epi yo pa voye yon bagay enkonplè, si ou bezwen èd gen toujou vle di yo kominike, men yon move travay ap pwobableman kreye move premye enpresyon. Si ou pa vle eskli tèt ou ki nan jiska ou, ou ka wè l 'tankou pwogramè a initil ki pa konnen ki sa li ap fè oswa yon sèl la sou wout li yo vin yon pwogramè ekselan, e ke sa k ap pase ak pratik ak sètènman ak pinèz sou wout la. Mwen te mal anpil fwa anvan trape estati pwomotè mwen sou Gentoo, e sa pa t 'anpeche m' eseye malgre "move tan an".

      Ki jan orijinal li yo dwe yon pwogramè jodi a?

      -Li pa sou orijinalite, li se yon nesesite jodi a, jis panse sou sa ki annapre yo, 20 oswa 30 ane de sa, sezisman te yon nesesite, anpil travay dedwi ke ou te konnen oswa omwen te kapab fè li. Jodi a konnen Biwo se yon nesesite, pa gen pratikman okenn travay ki pa mete ou devan dokiman Biwo. Denmen, trè byento, pwogram yo pral yon nesesite. Lè sa a aplike tou nan yon pwen de vi pèsonèl, konnen kisa k ap pase nan pwogram yo kote ou konfye bagay sa yo enpòtan tankou lajan ou, sante, fanmi, se yon bagay ki lojik pou mwen, paske ou ka sèlman konnen limit yo si ou konnen ki jan yo travay ak pou konnen li, ou bezwen konnen ki jan yo pwogram.

      Ki pwoblèm mwen ka rezoud ke lòt moun pa deja rezoud nan yon fason pi efikas?

      -Ou ta sezi pa kantite lajan an karakteristik ke yo oblije jodi a, ak di verite a, li pa gen pwoblèm ke gen pwogramasyon yo pi byen nan mond lan nan kominote a, travay la ap toujou pi gran pase kapasite nan travay nan devlopè yo, mwen ka verifye sa a nan Gentoo, gen se moun ki devlope Kernel la, moun k ap travay pou Google, Sony, elatriye elatriye ... sèl bagay nou tout gen an komen se ke pèsonn pa gen otan tan ke yo ta renmen pou kapab fè tout travay yo annatant.

      Poukisa aprann yon langaj pwogramasyon jodi a ak pwogramè sa yo bon ak ki gen eksperyans ki deja egziste?

      -Sa a reponn nan dezyèm kesyon an 😉 Men koulye a, mwen ka ajoute ke jenerasyon yo dwe kapab sipòte travay la ki te deja devlope, pa sa a mwen vle di ke moun ki "ki gen eksperyans" devlopè pral piti piti disparèt epi li pral nesesè pou la " pi piti »Devlopè pran responsablite yo epi ede kenbe sik la vivan, yon kominote ki pa gen jèn ak san eksperyans se tendans disparèt sou tan, jisteman paske pa pral gen okenn opòtinite yo transmèt konesans.

      Ak ki sa mwen pwograme?

      -Sa a se petèt bagay ki pi difisil yo reponn, men mwen pral eseye ba ou yon egzanp poco Mwen dènyèman te kòmanse soufri soti nan pwoblèm ak GNOME 24 ak koneksyon li yo ak Wayland ki anpeche pwogram tankou Panno pran Ekran. Sa a se yon pwoblèm pou mwen paske lè mwen ekri atik mwen an, mwen bezwen montre ou sa mwen di 🙂 kap alantou yon ti jan mwen rive nan aplikasyon an Screenshot GNOME, yon ti jan "minimalist" yo di omwen nan. Pami fonksyon li yo, gen youn nan pran yon rejyon ekran, men sa k ap pase si mwen pa t 'pran foto a byen? Oke, mwen oblije kite ak re-antre nan pwogram nan, yon bagay fatigan sètènman, yon bouton ki di «repran» oswa yon bagay tankou sa ki pèmèt mwen pran yon nouvo kaptire san yo pa gen kite epi antre ankò ta ede m '. pwojè pwogramasyon, mwen pa janm pwograme anyen nan kad GNOME a kidonk evidamman mwen gen anpil bagay pou mwen aprann anvan mwen voye "patch" mwen ak nouvo bouton an, men sou wout la mwen aprann pwogram e èspere ke sa a karakteristik li pral ede plis pase yon sèl lè li disponib pou tout moun.

      Sa a se yon egzanp, li se yon bagay ki senp epi ki siman nenpòt ki lòt "ekspè" pwogramè te kapab fè li deja, men akòz mank evidan nan tan, li pa te tankou sa, kounye a se mwen menm ki gen posibilite pou fè li, san yo pa aktyèlman yon super pwogramè.

      Koulye a, li se sèlman jiska ou jwenn yon bagay ki ta fè lavi ou "pi senp" nan ki lojisyèl ke ou itilize konsa souvan, bote nan ki se ke si nou swiv konsèy la ke mwen pral ba ou nan atik sa yo, lang lan pa pral gen pwoblèm, paske Ou pral konnen Basics yo yo kòmanse konprann kòd la ou li ak modifye li nan fè sa ou vle, ki se yon santiman trè espesyal 🙂

      Bonjou ak mèsi ankò

      1.    pèsonn pa diro

        Mwen panse ke se sèlman yon fwa mwen te louvri pwogram nan kaptire luten, bagay ki pi fasil la se pou yo ale nan rakoursi yo klavye ak asiyen twa konbinezon ekri an lèt detache pran tout alt-ekri an lèt detache pran fenèt la aktif ak super-ekri an lèt detache fè yon seleksyon soti nan kaptire la rejyon an, rakoursi ki disponib yo isit la, li nan jis yon kesyon de asiyen yo

        1.    ChrisADR diro

          Se poutèt sa nou ba ou yon egzanp 🙂 paske ti bagay tankou bouton sa yo pwogramasyon, yo ka ede kèk jan yo ka ale inapèsi pa lòt moun, men yo sètènman satisfè objektif prensipal la, ede aprann nan pwogram, ak bay fason nan nouvo karakteristik, Apre bouton sa a anpil bagay ka kòmanse, tankou yon jesyon sesyon, oswa yon ekran preview nan tout foto yo pran, oswa nan ti bout tan, yon anpil nan bagay sa yo ki ta ka fè. Lide a se ke ou jwenn yon bagay ki fè ou sote kiryozite ou, nenpòt lojisyèl ki kouri sou sistèm ou a ka bezwen amelyorasyon oswa nouvo karakteristik ki akòz mank de tan oswa pèsonèl yo pa te aplike ankò yet

      2.    mvr1981 diro

        Mèsi a ou. yo trè bon repons.

    2.    Guillermo diro

      Oke, pou yon moun ki pa pral yo dwe yon pwofesyonèl nan jaden an, li ta nesesè yo wè nan ki anviwònman yo travay, tou de pou travay administratif ak direktiv li kapab enteresan yo konnen, pou egzanp, Python / Debaz ak konnen ki jan nan pwogram makro nan pakè biwo tankou LibreOffice oswa MS Office. Gen kèk fwa lè sa a ka sove anpil èdtan nan travay pou ou menm oswa lòt travayè ki antoure ou epi mande yo fè nenpòt ki travay repetitif, ou ka kreye yon tablodbò byen vit kalkile rapò prensipal yo nan konpayi an apre konekte ak baz done a nan li ak fè kèk rechèch SQL.
      Tankou tout bagay, si ou konnen zouti ki nan men ou ou ka panse sou kòman ou kapab jwenn pi plis nan li. Se pa tout bagay ki fèt.

  7.   Marcelo diro

    Guillermo, totalman dakò avèk ou, "Se pa tout bagay envante" ak sa ki envante se modifye. Ou gen jwenn soti nan pi fò nan zouti yo epi sèvi ak yon sèl la ki pi byen kostim bezwen ou yo.

  8.   Ricardo diro

    Pou pwogramasyon, premye lang yo aprann se angle, Lè sa a, youn nan ki fè apèl a yo pi plis la ak sanble pi bèl yo.

    1.    ChrisADR diro

      Mwen pa t 'ekri li, men li la vre 🙂 konnen angle ede anpil depi pifò lang yo ekri nan li, men tou, paske pi gwo kantite enfòmasyon premye men tou Mèsi anpil pou pataje

  9.   Ruben salgado diro

    Ekselan atik, nan adisyon a motive.

    1.    ChrisADR diro

      Trè janti, mèsi anpil 🙂 Bonjou

  10.   Gonzalo martinez diro

    Pwogramasyon se konnen ki jan yo rezone ak tradui ki rezònman nan enstriksyon yo.

    De klarifikasyon sou atik la:

    1) Baze sou eksperyans mwen kòm yon pwofesè pwogramasyon nan prèske 10 ane, li pa gen pwoblèm ki lang ou aprann ak, men ki jan ou aprann ak ki jan konplèks li ye.

    Mwen panse ke yon lang ki ka aprann nan yon fason estriktire, ak Lè sa a, deplase sou lòt bagay ki pi konplèks, se pi fasil pase kòmanse ak yon lang tankou Java depi nan konmansman an.

    Li se pi fasil yo aprann yon bagay tankou yon Hello World nan C oswa Pascal kòm yon baz, pase ak yon liy kèk (Pwogram nan ka a nan Pascal, oswa # enkli Nan ka C) ou ka kòmanse devlope algorithm la ak kòd pwogram nan ak lojik li yo dirèkteman, tankou nan Java, ki nan tèt li bezwen yon klas, yon metòd, ak kèk lòt bagay ki pou yon debutan se yon Surcharge enfòmasyon nesesè, e sa ka byen inyore epi deplase sou lòt bagay, men yo se konsèp ki la, e nan opinyon mwen, neglijans bagay yo se pa yon bon fason pou aprann, sitou si lang lan fòse ou sèvi ak yo. Se tankou kòmanse pratik sib la pou premye fwa ak yon M-16, ak tire pou mwa nan mòd semi-otomatik kenbe manch lan ak tou de men tankou yon pistolè.

    2) Si yon lang entèprete oswa konpile depann sou aplikasyon li, pa sou lang nan tèt li. Pou egzanp, si Python yo itilize, pou yon app entènèt ki itilize wsgi (swa mod_wsgi nan Apache, oswa uwsgi pou Nginx), se kòd la piton konpile lè yo kòmanse modil ki koresponn lan, génération .pyc dosye

    Genyen tou dèlko dosye binè pou Java (ki jenere binè natif natal olye pou yo bytecode), oswa konpilateur nan Scripts PHP nan binè pi bon kalite.

    Konsènan sa yo di sou PHP, li se tou senpleman yon lang ki fèt nan yon lòt epòk, ak lòt bagay nan tèt ou, epi san yo pa konsidere aspè ki pa t egziste nan moman an. Klèman lefèt ke li se pi itilize a pa fè li pi bon an pou anyen nan mond lan, men gen yon reyalite: li se lang lan ak ki gen plis chans pou jwenn yon travay nan tout pwogramasyon. Lè ou konnen li pa fè mal, menm si ou pa renmen li.

    Menm mwen menm, ki te travay kòm yon Administratè Sistèm pou plizyè ane epi kite travay la pwomotè, chak konsa souvan mwen gen yo mete PHP kòd nan yon bagay.

    1.    ChrisADR diro

      Bonjou Gonzalo, mèsi pou pataje,

      Sètènman pale de surcharj enfòmasyon nesesè, konnen ke menm lang lan ka entèprete oswa konpile se yon bagay ki pa nesesè nan etap sa a 🙂 Sètènman aplikasyon an enpòtan, men si nou di ke nan nivo sa a, nou pa jenere plis pase konfizyon. Nan menm fason an, pwoblèm oryante objè-oryante yo pa adrese, oswa lòt konsèp ki dwe dòz piti piti pou yo pa fè moun tèt vire.

      Depi espas limite, objektif prensipal la nan pòs la se montre lektè ki vle pwogram ke gen de mond gwo nan lang yo, ke "tradisyonèlman" entèprete a gen plis "senp", ke "tradisyonèlman" konpile yo se yon ti jan pi plis "konplèks" men ke li vo nivo konpleksite sa a pou gen yon konpreyansyon pi solid e ke li se jiska chak moun yo chwazi lang lan, depi depann sou apwòch la pwogram yo, yo yo pral kapab chwazi pwojè yo pi renmen ak nan menm lè a yo pral kapab konprann sa yo li ak / oswa ekri 🙂

      Mèsi anpil ankò, bonjou.

      1.    Gonzalo martinez diro

        Sa a se yon erè, pa gen okenn lang konpile oswa entèprete, gen entèprèt ak konpilateur pou chak lang, tou de pou ka diferan.

        Se pa yon surcharge enfòmasyon yo mansyone li kounye a, li se yon erè fè tankou yon deklarasyon. Nan opinyon mwen, li ta pi pwodiktif pou inyore entèprèt yo si ou pa t 'vle twò chaje ak enfòmasyon.

        1.    ChrisADR diro

          Mèsi pou klarifikasyon an, mwen pral pran li an konsiderasyon lè mwen retounen sou sijè a. Cheers

  11.   Ares diro

    Ki lang ou rekòmande pou bò sèvè lè ou konsidere php tonbe an favè?
    Menm bagay la tou pou baz done, mwen pa konnen si pral gen yon bagay pi bon ak plis modèn pase miskl.

    1.    ChrisADR diro

      PHP pa te tonbe soti nan favè ... Chak lang gen sik lavi li yo, ak PHP se sètènman deja yon lang ki antre nan echèl la nan "ki gen matirite", ki fè li itil nan nivo biznis la, kote estabilite se pi wo a tout ... Tankou kèk bank kote li toujou devlope nan Java, ki se pi plis "ki gen matirite" pase PHP ak sètènman gen disip li yo ak Opozan ... Epi nou pa mansyone COBOL ...

      Si sa w ap chèche a se inifòmite ak modènite, JavaScript ap vin youn nan favorites yo nan sa yo rele "devlopè yo chemine plen", byenke paradigm nan Ruby oswa "senplisite la" nan piton yo tou referans bon ... Menm pèr ta ka opsyon a depann sou bezwen yo 🙂

      Sèjousi ORM a (objè mapè relasyon) ap pran anpil fòs an tèm de jesyon relasyon done. Li ale soti nan sentaks SQL nan klas ak manyen atribi ... Prèske tout lang (si se pa tout) okipe kèk ORM.

      . Mongo DB se yon altènativ a baz done relasyon ki te vin byen enpòtan; sepandan, li nesesè konnen avantaj li yo ak dezavantaj ak valide si li ta pi bon solisyon an depann sou bezwen an espesifik.

      Mwen espere ke li ede ou, bonjou 🙂

      1.    Ares diro

        Mèsi, mwen pral tcheke sa.

      2.    Ares diro

        Mwen bliye.

        Ki sa ou rekòmande pou mwen travay avèk JAVA nan Linux?
        Si ou ka diferansye ant gratis ak fèmen pi byen.

        1.    ChrisADR diro

          Eclipse ak NetBeans yo louvri sous, mwen pa fin sèten si gen nenpòt ki se lojisyèl piman gratis, mwen gen yon abitid nan lè l sèvi avèk vim paske pafwa kantite lajan an nan kòd fè lè l sèvi avèk yon IDE tout ralanti ak tendans erè ekzekisyon. Bonjou 🙂

        2.    PaulZeta diro

          Pou travay avèk Java nan Linux mwen itilize IntelliJ mwen rekòmande ou.

          1.    ChrisADR diro

            PS, IntelliJ se lojisyèl propriétaires 🙂

  12.   je diro

    Nèg tou sonje ke ... Mwen travay nan yon bank epi mwen di ou ke lang pwogramasyon pran yon chèz dèyè kite SQL ak pwosedi ki estoke ale an premye.

    1.    Gonzalo martinez diro

      Ou dwe pran yo an kont pwosedi yo ki estoke, men pa lè l sèvi avèk yon lang pòtab ant motè, omwen nan eksperyans mwen, li se toujou sou evite yo sof si pa gen okenn lòt opsyon.