Ensimmäisen ohjelmointikielesi valitseminen

Varmasti tämä on yksi kysymyksistä, jotka tulevat eniten postilaatikkooni, kun puhut ohjelmoinnista. Jos aiomme aloittaa sarjan artikkeleita, joiden avulla voit oppia ohjelmoimaan ja antamaan takaisin ilmaista tietoa lahjoituksina ilmaisiin ohjelmisto- / avoimen lähdekoodin yhteisöihin ympäri maailmaa, on välttämätöntä vastata tähän, joskin vähän vaikeaan kysymykseen. Mitä ohjelmointikieliä minun pitäisi oppia?

Hieman historiaa

Jotta voisimme alkaa ymmärtää ja valita ohjelmointikielen, meidän on ensin tiedettävä vähän heidän historiastaan, käytöstä ja toiminnoista sekä siitä, miten he ratkaisevat erilaiset tarpeet ajan myötä.

Konekielet (matala)

Tunnetaan yleisesti nimellä Kokoonpano, ovat ohjelmointikieliä, jotka voisimme määritellä yleisemmän kielen murteiksi ... Tämä kuulostaa hieman monimutkaiselta, mutta aion esimerkin siitä ... Tiedämme, että yleinen laskentakieli on sähkö, tämä tarkoittaa, että viime kädessä tietokone lukee 0sy 1kyllä, kutsutaan tätä etietokone englanti. Tässä esimerkissä espanja on perussääntö, mutta kuten hyvin tiedämme, latinojen puhuva espanja ei ole sama kuin Espanjassa puhuva, ja silti Perun espanja ei ole sama Argentiinan espanjan kanssa. Meillä kaikilla on ilmeisesti melkein samat sanat (0sy 1s), mutta käyttö ja merkitys voivat vaihdella kontekstin mukaan.

Tämä tapahtuu prosessoritasolla. Kun puhumme laskentaarkkitehtuurit, (amd64, intel, arm, ...) viittaamme sen murteeseen tietokone espanja. Tämä johtuu siitä, että eri yritykset ymmärtävät järjestyksen ja merkityksen omalla tavallaan, joten jotkut vaihtelevat yksityiskohdissa, kuten virran virtaus tai järjestys, jossa ne pidetään. 0sy 1s.

Nämä ohjelmointikielet ovat erittäin nopeita, koska ne toimivat alhaisimmalla mahdollisella ohjelmointitasolla, mutta ne ovat suuresti riippuvaisia ​​arkkitehtuurista ja ovat varmasti hieman monimutkaisempia oppia kuin muut. Nämä edellyttävät usein laajempaa käsitteiden pohjaa tietojen muokkaamiseksi ja hyödyllisten asioiden ajamiseksi siinä. Videopelien ystäville esimerkkinä ovat SEGA-konsolit, jotka käyttivät Assemblyä ohjelmoimaan pelinsä. Ilmeisesti tuolloin muistin määrä oli vähäinen verrattuna nykypäivään, ja oli välttämätöntä hallita kieli, joka voisi olla nopea ja tuottaa kevyitä ohjelmia.

Korkean tason kielet

Tämä suuri ryhmä miettii niitä kieliä, jotka tulivat jälkeen Kokoonpano. Tarve hankkia kannettava koodi johti nimettyjen kieliryhmien syntymiseen koottu. Näiden joukossa ensimmäinen, joka hyödynsi, oli C, jolla on ollut hallitseva asema ohjelmoinnissa käyttöjärjestelmän tasolla 70-luvulta lähtien.

Käännetyt kielet

Katsotaanpa käytännön esimerkki siitä, mitä kommentoin. Katsotaanpa hyvin yksinkertaista C-kieliohjelmaa, joka tulostaa yhden koodirivin.

Oma. Christopher Diaz Riveros

Sen laatimisen jälkeen meillä on seuraava:

Oma suunnittelu: Christopher Díaz Riveros

Mutta nyt katsotaan, mitä meidän on kirjoitettava, jotta sama tulos voidaan toistaa Assembly-koodissa:

Oma. Christopher Diaz Riveros

Tämä on käännös kolmesta koodirivistämme simple.c, tiedosto simple.s luodaan komennolla gcc -S simple.c ja prosessorimme ymmärtäisi sen murteessa Kokoonpano. Ilmeisesti, jotta voidaan luoda suoritettava tiedosto, joka koostuu 0sy 1s tiedosto on käsiteltävä simple.s ja yhdistää se järjestelmämme jaettuihin kirjastoihin. Tämä tehdään käyttämällä a kokoonpanija (as) ja liitin (ld).

Käännetyt kielet tarjoavat suuren edun matalan tason kieliin verrattuna kannettavat. Siirrettävyys toimittaa koodin, joka voidaan suorittaa eri prosessoreilla ilman erillistä koodia kullekin arkkitehtuurille. Toinen ilmeinen etu on yksinkertaisuus, jota se käyttää lukiessaan ja kirjoittaessaan koodia. Sen tärkeimpien haittojen joukossa meillä on suuri monimutkaisuus, koska verrattuna seuraaviin näkemiimme kieliin, C: n tarjoama vapaus voi olla haitallista, jos et osaa hallita. Se on kuin aseen luovuttaminen, voi tapahtua, että kielen puuttuessa kokemus henkilö päätyy ampumaan oman jalkansa yrittäessään puhdistaa asetta.

Tulkitut kielet

Tässä ryhmässä meillä on paljon erilaisia ​​kieliä, joista tärkeimpiä ovat Python, Ruby, Javascript, PHP jne. ... Näiden kielten perusajatuksena on tarjota nopea tapa luoda ja suorittaa ohjelmia, koska monet vaikeista prosesseista suoritetaan tulkissa, ja logiikan ohjelmointi on koodi toteutettu. Katsotaanpa samaa esimerkkiä yllä, mutta tällä kertaa kirjoitettuna Pythonissa:

Oma. Christopher Diaz Riveros

Merkittävimmistä asioista voimme nähdä, että ensimmäinen rivi vastaa tulkin soittamisesta (ohjelma, joka suorittaa sovelluksemme) ja seuraava koodi on "yksinkertaisempi" kuin sen versio C: ssä, koska kaikki raskas työ on tulkille.

Oma. Christopher Diaz Riveros

Tulkitut kielet antavat kehittäjälle paremman suojaustason, koska heillä on tiukemmat turvavalvontatoimenpiteet (VAROITA, etteivät ne ole täydellisiä, koska parhaatkin voivat tehdä virheitä), emmekä enää kärsi aseen laukaisemisesta tietämättä, koska ensimmäisellä yrityksellä tulkki nosti hälytyksen ja toteutus peruutettiin. Suurin haitta ilmenee ohjelman suorittamisen yhteydessä, koska se on hitaampaa kuin binaarinen vastine, mikä johtuu nimenomaan suuremmasta käsittelymäärästä, jotta voidaan varmistaa, että koodi toimii. Jos ohjelma ei vaadi erittäin lyhyitä määräaikoja, ero voi jäädä huomaamatta, mutta jos puhumme tuhansista tai miljoonista tiedoista sekunnissa, ero tulee eksponentiaalisesti havaittavaksi käännetyillä kielillä.

Kirjoittaminen

Tämä on ominaista ohjelmointikielille, nämä voivat olla voimakkaasti heikosti kirjoitettu. Jätän tämän aiheen toiseen viestiin, koska se on välttämätöntä ja utelias ymmärtää, miten muisti tallennetaan ohjelmaan, mutta toistaiseksi meidän on tehtävä vain ero: Vahvasti kirjoitetut kielet edellyttävät meneillään olevan datan tuntemista. on työskenneltävä muuttujan tai vakion suhteen, kun taas heikosti tyypit voivat suorittaa tuloksia niin implisiittinen ja kaikki riippuu muunnoshierarkiasta, jota seuraa kieli. (jos sitä ei ymmärretä nyt, ei ongelmaa, jätämme sen myöhemmäksi)

Paradigmat

Kuten kaikki GNU / Linux-maailmassa, myös ohjelmointikielet perustuvat paradigmiin ja niiden ympärille syntyy yhteisöjä. Esimerkiksi meillä on Python-säätiö o Rubiini o PHP o Bash (tässä tapauksessa se on GNU-yhteisö). Haluan päästä tähän sillä, että en voi ilmaista suurta määrää hyviä ja huonoja puolia, jotka jokaisella on, mutta voin kertoa teille, että missä on ilmainen ohjelmointikieli, siellä on yhteisö, johon voi oppia ja johon osallistua. On syytä mainita, että monet, elleivät kaikki kielitulkit kirjoitettu C-kielellä, tai jokin läheinen johdannainen, ja heidän kehityksensä suorittaa yleensä pienempi yhteisöryhmä, jonka vastuulla on päätöksiä, jotka vaikuttavat kaikkiin kielen käyttäjiin. Instituutioita voidaan jopa perustaa varmistamaan kielen oikea kehitys, kuten C: n tapauksessa.

Mikä valita?

Olemme jo puhuneet tarpeeksi kielistä, enkä vieläkään vastaa tärkeimpään asiaan 😛. Mutta toivon, että tämän pienen artikkelin lukemisen jälkeen minun ei tarvitse sanoa, minkä kielen valitset, koska näiden tietojen avulla pystyt täysin etsimään uteliaisuutta tuottavaa kieltä. Ilmeisesti jos haluat oppia ohjelmoimaan kielellä Kokoonpano kestää jonkin aikaa, ennen kuin sinulla on jotain toimivaa, aika lyhenee huomattavasti, jos valitset käännetyn kielen, jossa * NIX -järjestelmien siirrettävyyden lisäksi voit oppia tietoja saman järjestelmän toiminnasta, koska olet kontakti C: n tai johdannaisten kanssa saa sinut tavalla tai toisella oppimaan käyttöjärjestelmän toiminnan yleisesti. Lopuksi, jos haluat oppia jotain kevyttä ja jonka avulla voit tehdä paljon ilman tarvetta ymmärtää paljon, tulkitut kielet ovat viihdyttävä tapa oppia ja kehittää ohjelmointitaitoja.

Opi jotain jännittävää

Tämä on paras neuvo, jonka voin antaa sinulle. Jos haluat oppia jotain, sinun on ensin löydettävä jotain jännittävää, muuten on melko vaikeaa voittaa minkä tahansa ohjelmointikielen tyypillinen oppimiskäyrä. Oletetaan, että hallinnoit järjestelmiä, jolloin sinun on ehkä opittava ihanteellinen kieli scripting (tulkittu), näissä on Perl, Python, Bash jne. jne. ... Ehkä sinun on pelejä, on olemassa useita projekteja kielillä, kuten Javascript, Lua, C ++, riippuen pelattavasta pelityypistä. Ehkä haluaisit luoda työkalun järjestelmätasolla, koska meillä on C, Python, Perl, kuten huomaat, että jotkut toistuvat, ja siksi, että monia kieliä voidaan käyttää moniin tehtäviin, siksi määritelmä monikäyttöiset kielet useimmissa näistä.

Aloita projekti

Tällä en tarkoita sitä, että luot seuraavan kääntäjän tai edes seuraavan ohjelmointikielen, projekti voi olla pienen virheen korjaaminen suosikkiohjelmassa, ehkä edes dokumentaation parantaminen. Miksi dokumentaatio? koska ei ole parempaa tapaa oppia ohjelmiston toimintaa kuin lukemalla sen dokumentaatio ja auttamalla sen kirjoittamisessa, koska lähdekoodin jälkeen se on suurin tietolähde, jonka löydät ohjelmasta. Toisessa hetkessä näemme kuinka lukea projektin koodi ja ymmärtää niiden hankkimat toiminnot ja arvot.

Paljon kiitoksia siitä, että tulit tänne, ja kuten aina, kommenttisi auttavat minua luomaan parempaa sisältöä ja tietämään, mihin keskittyä, Terveisiä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   anonyymi dijo

    Kuten aina 10 !!!!!! Kiitos artikkeleistasi. Terveisiä ja paljon muuta tulossa !!!!

    1.    ChrisADR dijo

      Paljon kiitoksia ages kannustaa minua jatkamaan kirjoittamista. Kippis

  2.   Rubén dijo

    Mielestäni on virhe esittää kysymys "mikä kieli valita?" Olen yksi niistä, jotka ajattelevat, että kieli on vähäisintä, tärkeintä on oppia ohjelmoinnin perusteet ja "ajatella laskennallisesti". Päätä syntaksista, sen kirjoittamisesta, jos se tukee OOP: ta, sen apuohjelmaa jne. Luulen, että se tulee studiossa luonnollisesti, ja loppujen lopuksi jokainen ohjelmoija osaa yli 1, 2 ja 3 kieltä ... ja ohjelmoinnin käsitteiden (eikä syntaksin) ansiosta hän pystyy ohjelmoimaan kielellä, jota et vielä ole kokenut.
    Uskon kuitenkin, että hyvä kieli voi olla Python yksinkertaisuuden vuoksi aloitetulle, mutta ennen kaikkea mene hieman pidemmälle, tutki algoritmeja ja tiedä, miten asiat toimivat "sisällä".

    Terveisiä ChrisADR

    1.    ChrisADR dijo

      Hei Rubén, kiitos jakamisesta
      On jotain, mitä olen oppinut ajan myötä ohjelmointimaailmassa, ja se on, että "se, joka paljon peittää, ei purista", ja tällä tunnetulla lauseella tarkoitan, että monta kertaa ja erityisesti innokkain päättää kokeilla kaikki hieman, ja niillä on erittäin nopeita käännöksiä koodaamisen oppimisessa. Uskon, ja se on henkilökohtainen mielipiteeni, että hyvän kehittäjän tulisi osata kääntäjän ja tulkin kieli ja hallita sen lisäksi, että hänellä on käsitys jostakin yleiskokouksen murteesta.
      Syynä on seuraava: prototyyppien on oltava aina jotain yksinkertaista ja nopeaa, helposti luotavaa ja joka yleensä osoittaa tuloksen, mutta jos se ei riitä, on oltava "suunnitelma B", johon turvautua tulkin saapuessa sen rajaan saakka.
      Assemblyn murteen tunteminen ei vain anna sinulle luottamusta, vaan opettaa myös ajattelemaan "laskennallisesti", mutta tämä osa on tietysti kaikkein monimutkaisin, ja se ei todellakaan ole asia, johon kaikki ohjelmoijat eivät tule.
      Mutta palaan aiheeseen, koska mielestäni pääidea on "valita kieli ja harjoitella paljon", koska oikeastaan ​​ainoa tapa saada hyvä ohjelmointi on lukemalla ja kirjoittamalla koodia, ja tämän olen oppinut ydinyhteisöltä Kun pidät samaa syntaksia pitkään, lopetat lomakkeen näkemisen ja alat huolestua TAUSTASTA. Kielen tai syntaksin valinnan idea on alusta alkaen se, että pystyt tottumaan sen lukemisen ja kirjoittamisen siten, että voidaan alkaa lukea ohjelman TÄRKEYS ohjelman syntaksin sijaan.
      Tämä on tärkein syy tähän viestiin, että kukin valitsee kielensä niin, että voimme seuraavassa selittää käsitteet, kenties tällä epäilyt selviävät 🙂
      Terveisiä ja kiitoksia jakamisesta.

  3.   Deibis Contreras dijo

    kiitos postista, se oli hyvä.

    terveiset

    1.    ChrisADR dijo

      Hei Deibis, kiitos jakamisesta 🙂 Terveisiä

  4.   JorgeFS dijo

    Minun neuvoni: kaikki muu kuin PHP. Kaksikymmentä vuotta sitten PHP järjesti tietynlaisen merkityksen olemassaololleen sen monimutkaisuuden vuoksi, että se ohjelmoi verkkoa toisella kielellä CGI: n avulla. Mutta tänään on olemassa laaja valikoima kehyksiä, jotka tekevät verkkokehityksestä paljon nautinnollisempaa tehokkailla kielillä, kuten Django Pythonille, Spring Java tai Rails Ruby. Vaikka PHP esiintyy tällä hetkellä kaikilla kielen suosiostauluilla, mielestäni PHP menettää merkityksensä ajan myötä.
    Kehotan voimakkaasti aloittamaan C \ C ++: lla ymmärtämään ohjelmoinnin todellisuuden, vaikka oppimiskäyrä on jyrkkä.
    Tervehdys.

    1.    ChrisADR dijo

      Hei Jorge, kiitos jakamisesta, muistan vain Laravelin, joka on melko vankka Framework mí, en henkilökohtaisesti koskaan pitänyt Springistä tai Java: sta verkkokehityksessä. Markkinat olivat tuolloin tienraivaajia, ja varmasti nykyajan modernit vaihtoehdot (Js, Python ja Ruby) ovat pystyneet parantamaan luettavien ja muokattavien koodien esittämistapaa ilman paljon työtä.
      Olen myös taipuvainen ihmisille, jotka oppivat C / C ++: ta jossain vaiheessa elämääni, aloitin Java-ohjelmalla, mutta luulen, että se on ohjelmoinnin kauneus, voit aloittaa kaikesta, mitä haluat, niin kauan kuin olet johdonmukainen, siitä on hyötyä 🙂 Kippis

    2.    Rubén dijo

      En voi olla eri mieltä kanssasi enää. Aloitin monta vuotta sitten C: n ja VB: n kanssa keskittyäksesi myöhemmin PHP: hen ja JS: ään (koska keskityin web-kehitykseen) ja myöhemmin opiskellessani opin lähinnä C / C ++: n ja Java: n.
      PHP: llä on useita etuja, joita en voinut luetella tässä viestissä. PHP7 on nopea (nopeampi kuin Python ... ilman hhvm: n, erilaisten välimuistien, kehysten kuten Phalcon tai tavukoodien käyttö Pythonissa), sillä on valtava määrä kirjastoja ja kehyksiä, sillä on valtava määrä suoraan toteutettuja toimintoja niiden käyttämiseen milloin tahansa, sen syntaksin kanssa, joka on niin samanlainen kuin C, on helppo siirtyä muille kielille.
      30% maailman verkkosivustoista on tehty WordPress (PHP) -tekniikalla, mikä ei näytä muuttuvan, Wikipedia käyttää sitä, Facebookia (hhvm: llä) ja suurta määrää sivustoja, yhteensä 80%.

      Muistutan, että Ruby on Rails, kuten Django, ovat 12-vuotiaita! Mikä kiintiö he ovat saavuttaneet tänä aikana? Ja tietysti puhumme kahdesta kehyksestä, joilla on käytännössä monopoli eikä minkään tyyppistä pirstoutumista ole olemassa. Mitä muita vakavia vaihtoehtoja minulla on? Sanomalla, että PHP menettää merkityksensä, ei ole juurikaan järkeä.

      Nyt kun Python on muodissa, koska sillä on nopea oppimiskäyrä, se on yksinkertainen kieli ja he myyvät sen sinulle "tulossa ohjelmoijaksi 20 tunnissa Pythonin kanssa ja työskentelemään sen kanssa" Googlen kaltaisten yritysten tuella ja että nyt on olemassa Muoti etsiä uusia kieliä (Go, Dart….) Erottautua CV: stä (tai 50 Javascript-kehyksen päivittäisenä syntymänä!) Ei tarkoita, että asiat muuttuvat.

      Ruby on erittäin mielenkiintoinen kieli, mutta se rikkoo niin paljon vakiintuneista malleista, että minun on vaikea uskoa, että siitä tuli suositumpaa kuin PHP. Tietenkin Ruby on mielestäni pahin kieli ohjelmoinnin aloittamiseen.
      Ymmärrän, että sanot minulle, että Python voi olla hauska ohjelmoida, jopa Ruby sen äärettömyydellä ... mutta Spring with Java? Todella? Java voi olla monia asioita ... mutta nautittavampaa kuin Python ja PHP?

      Kaikki on erittäin hyvä aloittaa Pythonilla, mutta koska pidät kiinni vain Pythonista, sinulla on riski, että monet yritykset uskovat, että ohjelmointitasosi ei ole "syvä" (vaikka olisitkin erittäin hyvä Pythonissa). Tämä johtuu siitä, että kilpailet muiden "monikäyttöisten" kielten, kuten C ++ tai Java, kanssa. Voit ohjelmoida Pythonissa tietämättä eroa, mikä helvetti on osoitin, bittioperaatiot, kuinka roskakorin toiminta ja pitkä jne.
      Python on ehkä vähiten samanlainen kuin "klassinen ohjelmointi", joka on olemassa ja jota voidaan pitää "lasten kielenä" (saa metafora), ja se puolestaan ​​on etu ja haitta.

      1.    JorgeFS dijo

        "Python on ehkä vähiten samanlainen kuin olemassa oleva" klassinen ohjelmointi ", joka voidaan nähdä" lasten kieleksi "(ymmärrä metafora), ja se puolestaan ​​on etu ja haitta." LOL, tämä on yksi hauskimmista asioista, jotka näin Pythonista. Oletko koskaan oppinut todella Pythonia?
        Kuinka kauan se on ollut ympäri maailmaa PHP: n ulkopuolella?
        Ystävä PHP syntyi kuolleena. PHP: llä (\ d +) on paljon taakkaa erittäin huonon alkuperäisen suunnittelun vuoksi, ja käyttäjäyhteisön ylläpitämiseksi se jatkaa kaikkien alkuperäisten suunnitteluvirheiden vetämistä hyvin perusteellisesti. PHP syntyi ilman modulaarisuutta, ja siinä oli paljon C-tyylisiä toimintoja (joita muuten en tiedä mistä sait sen, koska sen syntakse on samanlainen kuin C, joten se voidaan helposti siirtää muille kielille). Korkean tason kielellä, kuten PHP: n pitäisi käyttäytyä, on niin ruma asioita kuin tällä virallisella sivustolla lueteltu toimintojälki http://php.net/manual/en/indexes.functions.phpTämä johtuu siitä, että se syntyi ilman modulaarisuutta, joten kaikki on sekaisin sekoitettuna ja ilman nimitiloja.
        Tämä on pala PHP-koodia:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        jossain vaiheessa voidaan määrittää, mistä kaikki nämä "virta" -toiminnot tuotiin? EI, voisit sitten sanoa, että ne ovat rakenteellisia toimintoja, mutta sitten koko ekosysteemi on rakentamisfunktioita? Ja niin, PHP-koodissa on paljon roskaa, että jos et pysty ymmärtämään tällaisen huonon suunnittelun monimutkaisuutta ja hyödyttömyyttä, anna anteeksi, mutta sillä on vielä paljon nähtävää.
        Wordpress on erinomainen ohjelmistoratkaisu, mutta se ei tarkoita, että sillä olisi hyvä tekninen perusta. Voit lyödä vasaraa kivellä ja ajaa nauloja hampailla, ja voit silti tehdä erinomaista puusepäntyötä, mutta tietysti paljon enemmän työtä kuin toinen puuseppä, joka käyttää hyvää vasaraa.

        Toisaalta: "tule ohjelmoijaksi 20 tunnissa Pythonin kanssa ja työskentele sen parissa", en ole koskaan nähnyt niin tyhmyyttä. Voit rakentaa verkkosivuston PHP: ssä 20 tunnissa ilman mitään tietoa web-ohjelmoinnin toiminnasta tai itse ohjelmoinnista. Itse asiassa siksi PHP on niin suosittu, koska aloittelijat tullessaan tähän maailmaan pitävät PHP: tä nopean kehityksen pisteenä (minkä vuoksi niin paljon PHP-koodia imee niin kovaa).
        Pythonin puutteiden osalta ainoa, jossa se onnistui, oli työskennellä osoittimilla, mutta joka tapauksessa Python on korkean tason kieli (kuten Java), eikä se käytä niitä syntaksitasolla; mutta bittioperaatiot, vakavia?, tarkoitat tätä x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Ymmärsin vakavasti roskien keräilijän paljon vähemmän: https://docs.python.org/3/library/gc.html.
        PHP-aukot:
        -PHP: llä on erittäin heikko olio-ohjelmoinnin (OOP) suunnittelu.
        - Et voi vielä ylikuormittaa operaattoreita.
        -Yllätys, function overloading PHP: ssä se ei ole sitä, mitä luonnollisesti odotat tältä käsitteeltä.
        … .. ja kyllästyin vain hehe.
        Tervehdys.

        1.    Rubén dijo

          Laitoin sulkeisiin "ymmärrän metaforan" (vertaamalla Pythonia C ++ / Java: een samassa työympäristössä), on selvää, ettet ymmärtänyt sitä. Voisin kertoa teille, että C ++ -ohjelmoija voi oppia Pythonin paljon nopeammin kuin Python-ohjelmoija voi oppia C ++: n, aivan kuten ei ole mikään yllätys, että C / C ++ -ohjelmoijan keskipalkka on korkeampi kuin Python.
          Voisin selittää sen sinulle muilla esimerkeillä, jopa piirustuksella! mutta näyttää siltä, ​​että keskityt vain dekontekstualisointiin ja pilkkaamiseen, mitä laitan.

          En ole milloinkaan sanonut, että PHP on paras kieli maailmassa tai että sillä on esimerkillinen muotoilu, en tiedä mistä saat sen. Mielestäni sinun tulisi parantaa ymmärrystäsi ennen muiden tietojen arviointia. Totta (ja sanoin viestissäni) on, että sen kanssa kehittyminen on erittäin ketterää, sen lisäksi, että löydät koko kehysten, kirjastojen ja apuohjelmien ekosysteemin.
          Minkälaisen vertailun teemme? Python monikäyttöisenä kielenä vai verkkoon? Miksi siinä tapauksessa verrataan sitä PHP: hen? PHP: llä on oma kenttä, ja juuri siinä kentässä Python (0.2 prosentin osuudella, joka ei ole muuttunut koko vuoden) haaleaa PHP: n vieressä.
          Katsotaan nyt PHP-trendejä; 82,4 prosentista tammikuussa 2017 83.1 prosenttiin tammikuussa 2018: https://w3techs.com/technologies/history_overview/programming_language

          Aikooko Python tuhota PHP: n? Minä vuonna? mihin viiteen vuoteen? vuosikymmen?
          Pythonia voidaan käyttää monissa muissa tehtävissä, ja siitä tulee jopa laajempi käyttö kuin PHP, mutta Python web-kehityskielenä on valovuosien päässä siitä, ettei edes ole merkityksellistä, 0.2% pysähtyi 83.1%: iin nähden (kasvua tänä vuonna).

          Otat myös asiat itsestäänselvyytenä sanomalla, että en käy ympäri PHP: tä, vihjaamalla, että tunnen vain PHP: n, vaikka en ole ohjelmoinut PHP: ssä pitkään aikaan haha. Tällä hetkellä työhön liittyvistä syistä ohjelmoin enimmäkseen Java.
          En ole myöskään sanonut, että ohjelmoimalla Pythonissa sinulla ei ole tietoa bittiä, roskakorin tai osoitinta. Pikemminkin voit ohjelmoida Pythonissa edes tietämättä mitä tämä on. Epäilen kuitenkin suuresti, että tämä pätee C ++ - ohjelmoijaan. Ilmeisesti teen vertailun, kun Python siirtyy "monikäyttöisen kielen" kenttään, ei web-ohjelmointiin.

          Ohjelmoijaksi tuleminen 20 tunnissa on yksinkertaisesti vitsi, liioittelua. Voisin kuitenkin laittaa sinut tänne erilaisia ​​linkkejä online-koulutusalustoista ja kursseista, jotka lupaavat samanlaisia ​​asioita. Älä syyttää minua, syyttää sitä työmarkkinoilta, jotka ajattelevat, että "asiantuntijaohjelmoijaksi" tuleminen on 20 tunnin kurssin suorittaminen. Ja Python on yksi muodikkaimmista kielistä ja myös nopeimmalla oppimiskäyrällä ... valkoinen ja pullossa.

          Vaadin, että perustat viestisi sanomalla kuinka huono PHP on (mikä tietyssä osassa olen samaa mieltä). Minusta tuntuu oikein, paitsi että viestini ei ole siitä, mutta miksi PHP: tä jatketaan ja se ei katoa huomenna, kuten luulet.

          tervehdys

  5.   kukaan dijo

    C -> Go -> (Lisp | Haskell | Java | mikä tahansa)

    1.    ChrisADR dijo

      Äskettäin lukija lähetti minulle sähköpostini suosituksen Go-kirjasta, joka on varmasti kieli, joka on otettava huomioon tulevaisuudessa ja josta ehkä tulee olemaan viesti täällä 🙂 Monet grafiikat jaettavaksi

  6.   mvr1981 dijo

    No ... ja mitä ohjelmoin? Miksi oppia ohjelmointikieli tänään niin hyvien ja kokeneiden ohjelmoijien kanssa, joita on jo olemassa? Mitä ongelmia voin ratkaista, joita muut eivät ole jo ratkaisseet paljon tehokkaammin?… Lyhyesti sanottuna: Kuinka omaperäistä on olla ohjelmoija tänään? Kuinka voin tehdä yhteistyötä muiden kanssa tietämättömyyden ja kokemuksen puutteen takia potkaistakseni tai syrjäytyessäni?

    1.    ChrisADR dijo

      Hei mvr1981, todella mielenkiintoisia kysymyksiä 🙂 kerromme ne viimeisestä ensimmäiseen.

      Kuinka voin tehdä yhteistyötä muiden kanssa tietämättömyyden ja kokemuksen puutteen takia potkaistakseni tai syrjäytyessäni?

      Jos et halua potkia, ensimmäinen askel on oppia prosessi, et voi kuvitella, kuinka moni projektiin tuleva henkilö haluaa tehdä asioita yksinomaan omalla tavallaan ja haluaa yhteisön sopeutuvan toiveisiinsa. Se on varmasti kuin minä tulisin kotiisi ja teen sotkua ja kunnioittamatta perhettäsi (se tuntuu monta kertaa). Jos haluat estää tämän tapahtumisen, kiinnitä erityistä huomiota ohjeisiin, keinoihin tehdä se, äläkä lähetä jotain puutteellista, jos tarvitset apua, on aina keinoja kommunikoida, mutta huonosti tehty työ luo todennäköisesti huonoja ensivaikutelmia. Jos et halua sulkea itseäsi pois, se on sinun tehtäväsi, voit nähdä hänet hyödyttömänä ohjelmoijana, joka ei tiedä mitä tekee tai matkalla kohti erinomaista ohjelmoijaa, ja se tapahtuu vain harjoittelun ja varmasti virheiden kanssa. Olen ollut väärässä monta kertaa ennen kuin hankin kehittäjätilani Gentoolta, ja se ei estänyt minua yrittämästä "huonosta ajasta" huolimatta.

      Kuinka omaperäistä on olla ohjelmoija tänään?

      -Ei ole kyse omaperäisyydestä, se on välttämättömyys tänään, ajattele vain seuraavia, 20 tai 30 vuotta sitten, kirjoittaminen oli välttämätöntä, monet työpaikat päättelivät, että tiesit tai ainakin osit tehdä sen. Nykyään Officeen tunteminen on välttämätöntä, ei ole käytännössä yhtään työtä, joka ei vie sinut Office-asiakirjojen eteen. Huomenna, hyvin pian, ohjelmointi on välttämätöntä. Ja tämä pätee myös henkilökohtaisesta näkökulmasta. Tietäen mitä tapahtuu ohjelmissa, joille uskot niin tärkeitä asioita kuin rahasi, terveytesi, perheesi, on minulle jotain loogista, koska tiedät heidän rajoituksensa vain, jos tiedät miten ne toimivat ja tietää se, sinun on osattava ohjelmoida.

      Mitä ongelmia voin ratkaista, joita muut eivät ole jo ratkaisseet paljon tehokkaammin?

      - Olisit yllättynyt piirteet joita vaaditaan tänään, ja totuuden mukaan ei ole väliä, että yhteisössä on maailman parhaita ohjelmoijia, työ on aina suurempi kuin kehittäjien työkyky, voin vahvistaa tämän Gentoolla, on ihmisiä, jotka kehittävät ydin, Googlen, Sonyn jne. palveluksessa olevat henkilöt jne. ... ainoa asia, joka meillä kaikilla on yhteistä, on se, että kenelläkään ei ole niin paljon aikaa kuin haluaisi tehdä kaikki vireillä olevat työt.

      Miksi oppia ohjelmointikieli tänään niin hyvien ja kokeneiden ohjelmoijien kanssa, joita on jo olemassa?

      -Tämä on vastaus toiseen kysymykseen 😉 Mutta nyt voin lisätä, että sukupolvien on pystyttävä tukemaan jo kehitettyä työtä, tarkoitan tällä, että nuo "kokeneet" kehittäjät katoavat vähitellen ja sitä tarvitaan "nuoremmille" »Kehittäjät ottavat vastuun ja auttavat pitämään kierron hengissä. Yhteisö, jolla ei ole nuoria ja kokemattomia ihmisiä, on taipumus hävitä ajan myötä, koska tiedon välittäminen ei ole mahdollista.

      Ja mitä ohjelmoin?

      -Tämä on ehkä vaikein asia vastata, mutta yritän antaa sinulle esimerkin pocosta, jota aloin äskettäin kärsiä ongelmista GNOME 24: n ja sen yhteyden kanssa Waylandiin, jotka estävät Shutterin kaltaisia ​​ohjelmia ottamasta kuvakaappauksia. Tämä on minulle ongelma, koska kirjoittaessani artikkeleitani minun on näytettävä sinulle mitä sanon 🙂 katselen hieman ympärilläni tulin GNOME Screenshot -sovellukseen, lievästi "minimalistisena". Sen toimintojen joukossa on yksi näytön alueen ottaminen, mutta mitä tapahtuu, jos en ottanut kuvaa hyvin? No, minun on poistuttava ja palattava ohjelmaan, mikä on varmasti ikävä, painike, jossa lukee «Ota uudelleen» tai jotain sellaista, jonka avulla voin ottaa uuden sieppauksen ilman, että minun tarvitsee lähteä ja kirjoittaa uudestaan, auttaisi minua. Se on pieni ohjelmointiprojekti, en ole koskaan ohjelmoinut mitään GNOME-kehyksessä, joten ilmeisesti minulla on paljon opittavaa, ennen kuin lähetän "korjaustiedostoni" uudella painikkeella, mutta matkan varrella opin ohjelmoimaan ja vähän onnella se on ominaisuus siitä on apua useammalle kuin yhdelle, kun se on kaikkien käytettävissä.

      Tämä on esimerkki, se on jotain yksinkertaista ja että varmasti kukaan muu "asiantuntija" -ohjelmoija olisi voinut tehdä sen jo, mutta ilmeisen ajanpuutteen takia se ei ole ollut näin, nyt minulla on mahdollisuus tehdä se olematta todella super ohjelmoija.

      Nyt on vain sinun tehtäväsi löytää jotain, joka tekisi elämästäsi "yksinkertaisemman" siinä usein käyttämässäsi ohjelmistossa, sen kauneus on, että jos noudatamme seuraavissa artikkeleissa antamani neuvoja, kielellä ei ole merkitystä, koska He tietävät perusasiat alkamaan ymmärtää lukemansa koodin ja muokata sitä tekemään haluamasi, se on aivan erityinen tunne 🙂

      Terveisiä ja kiitoksia vielä kerran

      1.    kukaan dijo

        Luulen, että vasta kun olen avannut gnome captures -ohjelman, helpoin asia on siirtyä pikanäppäimiin ja määrittää kolme yhdistelmää tulostamaan kaikkien alt-print -toimintojen kaappaamiseksi aktiivisen ikkunan kaappaamiseksi ja super-print-toiminnon valitsemiseksi sieppausalueen käytettävissä olevat pikakuvakkeet ovat täällä, kyse on yksinkertaisesti niiden osoittamisesta

        1.    ChrisADR dijo

          Siksi annamme sinulle esimerkin 🙂 koska pienet asiat, kuten painike, ohjelmoivat, ne voivat auttaa joitain, koska ne voivat jäädä muiden huomaamatta, mutta ne varmasti täyttävät päätavoitteen, auttavat oppimaan ohjelmoimaan ja antavat tien uusille ominaisuuksille, Tämän painikkeen jälkeen voidaan käynnistää monia asioita, kuten istunnon hallinta tai kaikkien otettujen valokuvien esikatseluruutu, tai lyhyesti sanottuna monia asioita, jotka voitaisiin tehdä. Ajatuksena on, että löydät jotain, joka saa sinut uudelle uteliaisuudelle, kaikki järjestelmässäsi toimivat ohjelmistot saattavat tarvita parannuksia tai uusia ominaisuuksia, joita ei ole vielä otettu käyttöön ajan tai henkilöstön puutteen vuoksi 🙂

      2.    mvr1981 dijo

        Kiitos sinun. ovat erittäin hyviä vastauksia.

    2.    Guillermo dijo

      No, joku, joka ei tule olemaan alan ammattilainen, on tarpeen nähdä, missä ympäristössä he työskentelevät, sekä hallintotehtävissä että direktiiveissä voi olla mielenkiintoista tietää esimerkiksi Python / Basic ja osata ohjelmoida makroja toimistopaketeissa, kuten LibreOffice tai MS Office. Joskus tämä voi säästää monta tuntia työtä sinulle tai muille työntekijöille, jotka ympäröivät sinua ja pyytää heitä suorittamaan kaikki toistuvat tehtävät. Voit luoda hallintapaneelin, jolla voit nopeasti laskea yrityksen pääosuudet, kun olet muodostanut yhteyden tietokantaan. ja suorita SQL-kysely.
      Kuten kaikki, jos tiedät työkalut käden ulottuvilla, voit miettiä, kuinka saada siitä kaiken irti. Kaikki ei ole tehty.

  7.   Marcelo dijo

    Guillermo, olkaa täysin samaa mieltä kanssanne, "Kaikkea ei ole keksitty" ja mitä keksitaan, on muokattavissa. Sinun on saatava kaikki irti työkaluista ja käytettävä tarpeitasi parhaiten vastaavaa.

  8.   Ricardo dijo

    Ohjelmoinnin kannalta ensimmäinen opittava kieli on englanti, sitten se, joka vetoaa heihin eniten ja näyttää heille kauneimmalta.

    1.    ChrisADR dijo

      En ollut kirjoittanut sitä, mutta totta English englannin tunteminen auttaa paljon, koska suurin osa kielistä kirjoitetaan siihen, mutta myös siksi, että suurempi määrä ensikäden tietoja myös Kiitos paljon jakamisesta

  9.   Ruben salgado dijo

    Erinomainen artikkeli motivoivan lisäksi.

    1.    ChrisADR dijo

      Erittäin ystävällinen, kiitos paljon 🙂 Terveisiä

  10.   Gonzalo Martinez dijo

    Ohjelmointi on osata perustella ja kääntää päättely ohjeiksi.

    Kaksi selvitystä artikkelista:

    1) Lähes kymmenen vuoden ohjelmointiopettajakokemukseni perusteella ei ole väliä millä kielellä opit, vaan kuinka opit ja kuinka monimutkainen se on.

    Mielestäni kieli, joka voidaan oppia jäsennellyllä tavalla ja siirtyä sitten muihin monimutkaisempiin asioihin, on helpompaa kuin aloittaa Java-kielellä alusta alkaen.

    Hello Worldin oppiminen C: ssä tai Pascalissa on helpompaa kuin muutama rivi (PROGRAM Pascalin tapauksessa tai #include C): n tapauksessa voit alkaa kehittää algoritmia ja koodata ohjelman suoraan logiikallaan, kuten Java, joka itsessään tarvitsee luokan, menetelmän ja joitain muita asioita, jotka aloittelijalle ovat tiedon ylikuormitus tarpeeton, ja se voidaan hyvinkin jättää huomiotta ja siirtyä muihin asioihin, mutta ne ovat käsitteitä, jotka ovat olemassa, ja mielestäni asioiden huomiotta jättäminen ei ole hyvä tapa oppia, varsinkin jos kieli pakottaa käyttämään niitä. Se on kuin aloittaisi kohdeharjoittelu ensimmäistä kertaa M-16: lla ja ammunta kuukausia puoliautomaattitilassa pitämällä kahvasta molemmin käsin kuin pistooli.

    2) Tulkitaanko tai käännetäänkö kieli sen toteutuksesta riippuen itse kielestä. Esimerkiksi jos Pythonia käytetään, verkkosovelluksessa, joka käyttää wsgi: tä (joko mod_wsgi apache-tiedostossa tai uwsgi Nginxissä), python-koodi kootaan, kun vastaava moduuli käynnistetään, generoidaan .pyc-tiedostoja.

    Jaavalle on myös binääritiedostogeneraattoreita (jotka tuottavat natiivibinaareja tavukoodin sijaan), tai php-komentosarjojen kääntäjiä puhtaissa binääreissä.

    Mitä he sanovat PHP: stä, se on yksinkertaisesti kieli, joka on suunniteltu toiselle aikakaudelle, muut asiat mielessä ja ottamatta huomioon näkökohtia, joita ei tuolloin ollut. On selvää, että se, että sitä käytetään eniten, ei tee siitä parasta mitään maailmassa, mutta on todellisuus: se on kieli, jolla on suurin mahdollisuus saada työpaikka kaikessa ohjelmoinnissa. Tietäen, ettei se satuta, vaikka et pidä siitä.

    Vaikka olenkin työskennellyt järjestelmänvalvojana useita vuosia ja poistunut kehittäjän työstä, niin usein minun täytyy laittaa PHP-koodi johonkin.

    1.    ChrisADR dijo

      Hei Gonzalo, kiitos jakamisesta,

      Tietysti tarpeettomista tiedon ylikuormituksista tietäminen, että sama kieli voidaan tulkita tai koota, ei ole tässä vaiheessa välttämätöntä 🙂 Varmasti toteutus on tärkeää, mutta jos sanomme tällä tasolla, emme tuota enempää sekaannusta. Samalla tavalla ei käsitellä olio-ohjelmointikysymyksiä tai muita käsitteitä, jotka on annettava asteittain, jotta ihmiset eivät huimausta.

      Koska tilaa on rajoitetusti, viestin päätavoitteena on näyttää lukijoille, jotka haluavat ohjelmoida, että on olemassa kaksi suurta kielten maailmaa, että "perinteisesti" tulkitut ovat "yksinkertaisempia", että "perinteisesti" käännetyt ovat vähän "monimutkaisempi", mutta sen monimutkaisuuden arvoinen on vankempi ymmärrys ja että jokaisen on itse valittava kieli, koska ohjelmointitavasta riippuen he voivat valita suosikkiprojektinsa ja samalla pystyvät ymmärtämään mitä he lukevat ja / tai kirjoittavat 🙂

      Paljon kiitoksia vielä kerran, terveiset.

      1.    Gonzalo Martinez dijo

        Tämä on virhe, käännettyjä tai tulkittuja kieliä ei ole, kullekin kielelle on tulkkia ja kääntäjiä, molemmat eri tapauksissa.

        Sen mainitseminen nyt ei ole tiedon ylikuormitusta, on virhe tehdä tällainen lausunto. Mielestäni olisi ollut tuottavampaa jättää tulkit huomiotta, jos et halua ylikuormittaa tietoa.

        1.    ChrisADR dijo

          Kiitos selvennyksestä, otan sen huomioon palatessani aiheeseen. Kippis

  11.   Ares dijo

    Mitä kieltä suosittelet palvelinpuolelle ottaen huomioon, että PHP epäonnistui?
    Sama tietokannoille, en tiedä, tuleeko jotain parempaa ja nykyaikaisempaa kuin mySQL.

    1.    ChrisADR dijo

      PHP ei ole pudonnut suosiota ... Jokaisella kielellä on oma elinkaarensa, ja php on varmasti jo kieli, joka tulee "kypsän" asteikolle, mikä tekee siitä hyödyllisen yritystasolla, jossa vakaus on ennen kaikkea ... Kuten joissakin pankeissa, joissa sitä on edelleen kehitetty java-alueella, joka on "kypsempi" kuin php ja jolla on varmasti seuraajiaan ja vähättelijöitä ... Ja puhumattakaan COBOLista ...

      Jos etsit yhtenäisyyttä ja nykyaikaisuutta, javascriptista on tulossa yksi ns. "Full stack -kehittäjien" suosikeista, vaikka rubyniparadigma tai pythonin "yksinkertaisuus" ovatkin hyviä viitteitä…. Jopa perl voisi olla vaihtoehto tarpeista riippuen 🙂

      Nykyään ORM (Object Relational Mappers) vie paljon voimaa relaatiotietojen hallinnassa. Se siirtyy SQL-syntaksista luokan ja attribuuttien käsittelyyn ... Lähes kaikki kielet (ellei kaikki) käsittelevät joitain ORM-tiedostoja.

      . Mongo DB on vaihtoehto relaatiotietokannoille, josta on tullut varsin tärkeä; on kuitenkin tiedettävä sen edut ja haitat ja vahvistettava, onko se paras ratkaisu erityistarpeesta riippuen.

      Toivottavasti se auttaa sinua, terveisiä 🙂

      1.    Ares dijo

        Kiitos, tarkistan sen.

      2.    Ares dijo

        Minä unohdin.

        Mitä suosittelette minulle JAVA: n kanssa Linuxissa?
        Jos pystyt erottamaan paremmin vapaan ja suljetun.

        1.    ChrisADR dijo

          Eclipse ja NetBeans ovat avoimen lähdekoodin, en ole varma onko puhtaasti ilmaista ohjelmistoa, minulla on tapana käyttää VIM: ää, koska joskus koodin määrä tekee koko IDE: n käyttämisestä hitaan ja altis suoritusvirheille. Terveisiä 🙂

        2.    paulzeta dijo

          Jos haluat työskennellä jaavan kanssa Linuxissa, käytän IntelliJ: tä, suosittelen sinua.

          1.    ChrisADR dijo

            PS, IntelliJ on oma ohjelmisto 🙂

  12.   je dijo

    Kaverit muistavat myös, että ... Työskentelen pankissa ja sanon, että ohjelmointikielet ovat takapenkillä päästäkseen SQL- ja Stored-menettelyt ensin.

    1.    Gonzalo Martinez dijo

      Sinun on otettava ne huomioon tallennetuista menettelyistä, mutta jos et käytä kannettavaa kieltä moottoreiden välillä, ainakin kokemukseni mukaan, on aina vältettävä niitä, ellei muuta vaihtoehtoa ole.