Az első programozási nyelv kiválasztása

Természetesen ez az egyik olyan kérdés, amely a legtöbb esetben a postaládámba kerül, amikor a programozásról beszélünk. Ha olyan cikksorozatot fogunk kezdeni, amely lehetővé teszi, hogy megtanuljon programozni és ingyenes ismereteket adjon vissza ingyenes szoftver / nyílt forráskódú közösségek közreműködésével a világ minden tájáról, akkor válaszolni kell erre az alapvető kérdésre, ha kissé nehéz kérdés. Milyen programozási nyelvet kell megtanulnom?

Egy kis történelem

A programozási nyelv megértésének és megválasztásának megkezdéséhez először is tudnunk kell egy kicsit a történelmükről, felhasználásukról és funkcióikról, valamint arról, hogyan oldják meg a különböző igényeket az idő múlásával.

Gépnyelvek (alacsony szintű)

Közismert nevén AssemblyEzek olyan programozási nyelvek, amelyeket általánosabb nyelv dialektusaként határozhatnánk meg. Ez kissé bonyolultnak hangzik, de ezt példázni fogom ... Tudjuk, hogy a számítástechnika univerzális nyelve villamos energia, ez azt jelenti, hogy végső soron az, amit egy számítógép olvas 0vki 1igen, nevezzük ezt eszámítógépes angol. Ebben a példában a spanyol az alapszabály, de mint jól tudjuk, a latinok által beszélt spanyol nem ugyanaz, mint a Spanyolországban beszélt spanyol, és akkor is a perui spanyol nem ugyanaz, mint az argentin spanyol. Nyilvánvaló, hogy mindannyiunknak szinte ugyanazok a szavai vannak (0vki 1s), de a felhasználás és a jelentés kontextustól függően változhat.

Ez a processzor szintjén történik. Amikor arról beszélünk számítási architektúrák, (amd64, intel, arm, ...) ennek nyelvjárására utalunk számítógép spanyol. A különböző vállalatok ugyanis a maguk módján értik a sorrendet és a jelentést, ezért egyesek olyan részletekben változnak, mint például az áram folyása vagy a sorrend, amelyben meg fogják tartani őket. 0vki 1s.

Ezek a programozási nyelvek rendkívül gyorsak, mivel a lehető legalacsonyabb szintű programozással működnek, de nagymértékben függenek az architektúrától, és minden bizonnyal egy kicsit bonyolultabbak megtanulni, mint a többit. Ezek gyakran szélesebb körű fogalmakat igényelnek az adatok átalakításához és hasznos dolgok végrehajtásához. A videojátékok kedvelői számára példa lehet a SEGA konzolokra, amelyek az Assembly segítségével programozták játékukat. Nyilvánvaló, hogy abban az időben a memória mennyisége minimális volt a maihoz képest, és el kellett sajátítani egy olyan nyelvet, amely gyors lehet és könnyű programokat állíthat elő.

Magas szintű nyelvek

Ez a nagy csoport szemléli azokat a nyelveket, amelyek utána jöttek Assembly. A hordozható kód megszerzésének szükségessége az úgynevezett nyelvcsoport kialakulásához vezetett összeállított. Ezek közül elsőként a C használta ki, amely az 70-es évek óta az operációs rendszer szintjén uralja a programozást.

Összeállított nyelvek

Lássunk egy gyakorlati példát arra, amit kommentálok. Nézzünk meg egy nagyon egyszerű C nyelvű programot, amely egy kódsort nyomtat ki.

Saját. Christopher Diaz Riveros

Összeállítása után a következők vannak:

Saját tervezésű: Christopher Díaz Riveros

De most nézzük meg, mit kellene írnunk, hogy megismételjük ugyanazt az eredményt az Assembly kódban:

Saját. Christopher Diaz Riveros

Ez a 3 kódsorunk fordítása innen: simple.c, a fájl simple.s paranccsal jön létre gcc -S simple.c és ezt a processzorunk megértené egy dialektusban Assembly. Nyilvánvalóan egy olyan futtatható fájl létrehozása érdekében, amelyből áll 0vki 1s a fájlt fel kell dolgozni simple.s és csatlakoztassa rendszerünk megosztott könyvtáraihoz. Ez a szerelő (as) és egy csatlakozó (ld).

Az összeállított nyelvek nagy előnyt nyújtanak az alacsony szintű nyelvekkel szemben hordozható. A hordozhatóság olyan kódot nyújt, amely különböző processzorokon futtatható anélkül, hogy minden egyes architektúrához külön kódot kellene létrehozni. Egy másik nyilvánvaló előny az egyszerűség, amelyet a kód olvasása és írása során használ. Legfőbb hátrányai között igen összetett a helyzet, mivel a következő nyelvtípusokhoz képest, amelyeket látni fogunk, a C által kínált szabadság káros lehet, ha nem tudja, hogyan kell irányítani, minden bizonnyal olyan, mintha fegyvert adna át , megtörténhet, hogy tapasztalat híján az ember végül a saját lábát lőve próbálja megtisztítani a fegyvert.

Értelmezett nyelvek

Ezen a csoporton belül nagyon sokféle nyelv van, a legfontosabbak között van Python, Ruby, Javascript, PHP stb. Ezeknek a nyelveknek az az alapötlete, hogy gyors módot kínáljon a programok létrehozására és végrehajtására. , ez azért van, mert a nehéz folyamatokat sokan az értelmezőben hajtják végre, és a logika programozása az, amit a kódban megvalósítanak. Nézzük meg ugyanezt a példát, de ezúttal Pythonban írva:

Saját. Christopher Diaz Riveros

A legkiemelkedőbb dolgok közül azt láthatjuk, hogy az első sor felel az tolmács (az alkalmazásunkat végrehajtó program) hívásáért, és a következő kód sokkal egyszerűbb, mint a C verziója, mivel minden nehéz munkát elvégeznek a tolmácson.

Saját. Christopher Diaz Riveros

Az értelmezett nyelvek nagyobb biztonságot nyújtanak a fejlesztőnek, mivel szigorúbb biztonsági ellenőrzéseik vannak (VIGYÁZZUK, hogy nem tökéletesek, mivel a legjobbak is hibázhatnak), és már nem fenyegetjük azt a kockázatot, hogy észrevétlenül észrevesszük a fegyvert. mivel a tolmács első próbálkozásra riasztást indított, és a végrehajtást törölték. A fő hátrány a program futtatásakor válik nyilvánvalóvá, mivel lassabb, mint a bináris társa, ez éppen a nagyobb feldolgozási mennyiségnek köszönhető, hogy biztosítani lehessen a kód működését. Ha a program nem igényel rendkívül rövid határidőket, akkor a különbség észrevétlen maradhat, de ha másodpercenként több ezer vagy több millió adatról beszélünk, akkor a különbség exponenciálisan észrevehetővé válik az összeállított nyelvekben.

Gépelés

Ez a programozási nyelvek jellemzője, ezek lehetnek erősen gyengén gépelt. Hagyom ezt a témát egy másik bejegyzés számára, mivel szükséges és kíváncsi annak megértésére, hogy a memória hogyan tárolódik egy programban, de egyelőre csak meg kell különböztetnünk: Erősen tipizált nyelvek azok, amelyeknek ismerniük kell a típusú adatok, amelyeket egy változón vagy konstanson fognak dolgozni, míg a gyengén típusok képesek konverziókat végrehajtani beleértett és minden a konverziós hierarchiától függ, amelyet a nyelv követ. (Ha ezt most nem értik, semmi gond, későbbre hagyjuk)

Paradigmák

Mint minden a GNU / Linux világban, a programozási nyelvek is paradigmákon alapulnak, és közösségeket generálnak körülöttük. Például megvan a Python Alapítvány o Rubin o PHP o Bash (ebben az esetben a GNU közösség). Ezzel el akarok jutni azzal, hogy nem tudom kifejezni az egyes pro és kontra számok nagy számát, de elmondhatom, hogy ahol van ingyenes programozási nyelv, ott van egy közösség, ahol tanulni és részt venni lehet. Érdemes megemlíteni, hogy sok, ha nem az összes nyelvi tolmács C-ben íródott, vagy valamilyen közeli származék, és fejlesztésüket általában a közösség egy kisebb csoportja hajtja végre, akik felelősek az összes nyelvhasználót érintő döntések meghozataláért. Akár a C-hez hasonlóan, akár a nyelv helyes fejlődésének biztosítása érdekében intézményeket lehet alakítani.

Melyiket válasszuk?

Már elég sokat beszéltünk a nyelvekről, és még mindig nem válaszolok a legfontosabbra 😛. De remélem, hogy miután áttekintettem ezt a kis cikket, nem szükséges megmondanom, melyik nyelvet válasszam, mivel ezzel az információval teljes mértékben képesek keresni egy olyan nyelvet, amely kíváncsiságot generál. Nyilvánvaló, ha meg akarsz tanulni programozni egy nyelven Assembly hosszú időbe telik, mire valami funkcióval rendelkezel, az idő jelentősen lerövidül, ha egy fordított nyelvet választasz, ahol a * NIX rendszerek hordozhatóságán túlmenően információkat is megtudhatsz a ugyanaz a rendszer, mivel a C-vel vagy a derivatívákkal való érintkezés egyik vagy másik módon megtanulja az operációs rendszer általános működését. Végül, ha valami könnyű dolgot szeretne megtanulni, és ez lehetővé teszi, hogy sokat tehessen anélkül, hogy sokat kellene értenie, akkor az értelmezett nyelvek szórakoztató módszerek a programozási ismeretek elsajátítására és fejlesztésére.

Tanulj valami izgalommal

Ez a legjobb tanács, amit adhatok neked, ha valamit meg akarsz tanulni, előbb valami izgalmasat kell találnod, különben elég nehéz lesz felülmúlni bármelyik programnyelv tipikus tanulási görbéjét. Tegyük fel, hogy a rendszereket kezeli, ebben az esetben lehet, hogy ideális nyelvet kell megtanulnia scripting (értelmezve), ezeken belül van Perl, Python, Bash stb. stb. Lehet, hogy a tiéd játékok, sok projekt van olyan nyelveken, mint a Javascript, Lua, C ++, a kívánt játék típusától függően játszani. Talán szeretne létrehozni egy eszközt rendszerszinten, mivel nálunk C, Python, Perl van, amint látni fogja, hogy néhány megismétlődik, és ez azért van, mert sok nyelv használható sok feladathoz, ezért a definíció nak,-nek többcélú nyelvek ezek többségében.

Indítson el egy projektet

Ezzel nem azt akarom mondani, hogy a következő fordítót, vagy akár a következő programozási nyelvet készíted, egy projekt lehet egy kis hiba kijavítása a kedvenc programodban, esetleg még a dokumentáció javításában is. Miért a dokumentáció? mert nincs jobb módszer a szoftver működésének megismerésére, mint a dokumentáció elolvasása és megírása, mert a forráskód után ez a legnagyobb információforrás, amelyet a programról talál. Egy másik pillanatban meglátjuk, hogyan kell elolvasni egy projekt kódját, és megérteni az általuk megszerzett funkciókat és értékeket.

Köszönöm szépen, hogy eljutott ide, és mint mindig, megjegyzései segítenek abban, hogy jobb tartalmat generáljak, és tudjam, hova kell összpontosítanom.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Névtelen dijo

    Mint mindig egy 10 !!!!!! Köszönöm a cikkeket. Üdvözlet és még sok más jön !!!!

    1.    ChrisADR dijo

      Nagyon köszönöm 🙂 arra biztat, hogy írjak tovább. Üdvözlettel

  2.   Rubén dijo

    Szerintem hiba feltenni a "melyik nyelvet választani" kérdést. Azok közé tartozom, akik azt gondolják, hogy a nyelv a legkevesebb belőle, a lényeg a programozás alapjainak elsajátítása és a "számítási szempontból való gondolkodás". Döntse el a szintaxist, annak tipizálását, ha támogatja az OOP-t, a segédprogramot stb. Úgy gondolom, hogy ez a stúdióban magától meg fog történni, és végül is minden programozó több mint 1, 2 és 3 nyelvet ismer ... és a programozási koncepcióinak (és nem szintaxisának) köszönhetően képes olyan nyelven programozni, amellyel még nem rendelkezik.
    Azonban a beavatottak számára azt gondolom, hogy a jó nyelv egyszerűsége miatt lehet Python, de mindenekelőtt menjen egy kicsit tovább, tanulmányozza az algoritmusokat és tudja, hogyan működnek a dolgok "belül".

    Üdvözlet ChrisADR

    1.    ChrisADR dijo

      Szia Rubén, köszönöm a megosztást
      Van valami, amit az idők folyamán megtanultam a programozás világában, az az, hogy "aki sokat foglalkozik, az nem szorít", és ezen a jól ismert mondaton azt értem, hogy sokszor, és főleg a leglelkesebbek, úgy döntenek, hogy próbálj ki egy kicsit, és nagyon gyorsan fordulj a kódolás megtanulásához. Úgy vélem, és az én személyes véleményem, hogy a jó fejlesztőnek ismernie és elsajátítania kell egy fordítói nyelvet és egy tolmácsnyelvet, amellett, hogy fogalma van valamilyen közgyűlési dialektusról.
      Ennek oka az, hogy a prototípusnak mindig valami egyszerűnek és gyorsnak, könnyen elkészíthetőnek kell lennie, és ez általában eredményt mutat, de ha ez nem elég, akkor egy "B tervnek" kell lennie, amelyhez igénybe kell vennie, amikor a tolmács megérkezett annak határa.
      Az Assembly dialektusának ismerete nemcsak önbizalmat ad, hanem megtanítja a "számítási" gondolkodásra is, de nyilvánvalóan ez a rész a legbonyolultabb az összes közül, és ez minden bizonnyal nem minden programozóhoz tartozik.
      De térjünk vissza a témához, mert szerintem a fő gondolat az, hogy "válasszon nyelvet és gyakoroljon SOKKOT", mert valójában csak a kódolvasással és -írással lehet jó programozni, és ezt megtanultam a kernel közösség Ha sokáig megtartja ugyanazt a szintaxist, nem látja az űrlapot, és aggódni kezd a HÁTTÉR miatt. A nyelv vagy a szintaxis kezdettől való megválasztásának gondolata az, hogy az ember képes legyen megszokni annak olvasását és írását, hogy a program szintaxisa helyett elkezdhesse olvasni a program ÉRTELMÉT.
      Ez a bejegyzés legfőbb oka, hogy mindegyik úgy választja meg a nyelvét, hogy a következőkben megmagyarázzuk a fogalmakat, talán ezzel tisztázódnak a kételyek 🙂
      Üdvözlet és köszönet a megosztásért.

  3.   Deibis Contreras dijo

    köszönöm a hozzászólást jó volt.

    Üdvözlet

    1.    ChrisADR dijo

      Hello Deibis, köszönöm, hogy megosztottad 🙂 Üdvözlet

  4.   JorgeFS dijo

    A tanácsom: bármi más, csak a PHP. Húsz évvel ezelőtt a PHP bizonyos értelmet adott a létezésének a magas szintű komplexitásnak köszönhetően, amely a webet egy másik nyelven programozta a CGI segítségével. De ma már nagyon sokféle keretrendszer létezik, amelyek a webfejlesztést sokkal élvezetesebbé teszik az erős nyelveken, például a Django a Python, a Spring a Java vagy a Rails a Ruby számára. Bár a PHP jelenleg az összes nyelvi népszerűségi listán szerepel, véleményem szerint a PHP idővel elveszíti relevanciáját.
    Határozottan azt tanácsolom, hogy a C \ C ++ -val kezdve értse meg a programozás valóságát, bár a tanulási görbe meredek.
    Üdvözlet.

    1.    ChrisADR dijo

      Szia Jorge, köszönöm a megosztást, csak emlékszem a Laravel-re, ami egy elég szilárd keretrendszer. Én személy szerint soha nem szerettem a Springet vagy a Java-t a webfejlesztéshez, meglehetősen nehézkesnek találom, de azt hiszem, ez része annak az időnek, amiben voltak A piac akkoriban úttörők voltak, és minden bizonnyal manapság a modern alternatívák (Js, Python és Ruby) képesek voltak javítani a sok munka nélkül olvasható és módosítható kód bemutatásának módját.
      Hajlamos vagyok arra is, hogy az emberek életük egy pontján megtanulják a C / C ++ nyelvet, a Java-val kezdtem, de azt hiszem, ez a programozás szépsége, bármivel kezdhetsz, ameddig csak akarsz, amíg következetes vagy. légy hasznos 🙂 Egészségedre

    2.    Rubén dijo

      Nem tudok többé nem egyetérteni veled. Sok évvel ezelőtt kezdtem a C és a VB-vel, hogy később a PHP-re és a JS-re összpontosítsak (mivel a webfejlesztésre koncentráltam), később pedig tanulás közben elsősorban a C / C ++ -ot és a Java-t tanultam.
      A PHP számos előnnyel rendelkezik, amelyeket nem tudtam felsorolni ebben az üzenetben. A PHP7 gyors (gyorsabb, mint a Python ... hhvm, különböző gyorsítótárak, keretek, például Phalcon vagy Python esetén bájtkód használata nélkül), rengeteg könyvtárral és kerettel rendelkezik, rengeteg közvetlenül megvalósított funkcióval rendelkezik bármikor használható, a C-hez hasonló szintaxisa nagyon megkönnyíti a más nyelvekre való áttérést.
      A világszerte található webhelyek 30% -a WordPress-sel (PHP) készült, és úgy tűnik, ez nem változik, a Wikipédia használja, a Facebookot (hhvm-mel) és nagyszámú webhelyet, összesen 80% -ot.

      Emlékeztetlek arra, hogy a Ruby on Rails-hez hasonló Django 12 éves! Milyen kvótát értek el ez idő alatt? És természetesen 2 olyan keretről van szó, amelyek gyakorlatilag monopóliummal rendelkeznek, és nincs semmiféle töredezettség. Milyen komoly alternatíváim vannak? Annak a kijelentése, hogy a PHP elveszíti relevanciáját, nagyon kevés értelme.

      Most, hogy a Python divatos, mert gyors tanulási görbével rendelkezik, ez egy egyszerű nyelv, és eladják neked, mint „20 órán belül programozóvá válj a Pythonnál, és dolgozzanak rajta”, olyan cégek támogatásával, mint a Google hogy most megvan az a divat, hogy új nyelveket keresünk (Go, Dart….), hogy megkülönböztessük magatokat egy önéletrajzban (vagy a Javascript 50 keretrendszerének napi megszületéseként!), nem jelenti azt, hogy a dolgok változnak.

      A Ruby nagyon érdekes nyelv, de annyira szakít a bevett mintákkal, hogy nehezen hiszem el, hogy népszerűbb lett, mint a PHP. Természetesen a Ruby szerintem a legrosszabb nyelv a programozás megkezdéséhez.
      Megértem, hogy Ön azt mondja nekem, hogy a Python szórakoztató programozást jelenthet, még a Ruby is a sajátosságainak végtelenségével ... de Spring with Java? Igazán? A Java sok minden lehet ... de élvezetesebb, mint a Python és a PHP?

      Nagyon jó kezdeni a Python-nal, de mivel csak a Python-nál ragaszkodik, fennáll annak a kockázata, hogy sok vállalat elhiszi, hogy a programozási szintje nem "mély" (még akkor is, ha Ön nagyon jó a Pythonban). Ez azért van, mert más "többcélú" nyelvekkel versenyez, mint a C ++ vagy a Java. Programozhat Pythonban anélkül, hogy tudná a különbséget, mi a franc egy mutató, a bitenkénti műveletek, a szemétgyűjtő működése és egy hosszú stb.
      A Python talán a legkevésbé hasonlít a "klasszikus programozáshoz", amely létezik és "gyermekeknek szóló nyelvként" tekinthető (értsd meg a metaforát), ez pedig előny és hátrány.

      1.    JorgeFS dijo

        "A Python talán a legkevésbé hasonlít a" klasszikus programozáshoz ", amely létezik és" gyermekeknek szóló nyelvként "tekinthető (értsd meg a metaforát), ez pedig előny és hátrány." LOL, ez az egyik legviccesebb dolog, amit láttam mondani a Pythonról. Megtanultad már valaha a Pythont?
        Mióta van a világon a PHP-n kívül?
        PHP barátja született. A PHP-nek (\ d +) nagyon nagy vonóereje van a nagyon rossz kezdeti tervezés miatt, és a felhasználói közösség fenntartása érdekében ezeket a kezdeti tervezési hibákat nagyon alaposan tovább húzza. A PHP modularitás nélkül született, sok C-stílusú funkcionalitással (amiről egyébként nem tudom, honnan jöttél, mivel a szintaxisa hasonló a C-hez, könnyen más nyelvekre is portálható). Egy magas szintű nyelvnek, amint a PHP-nek viselkednie kell, olyan csúnya dolgok vannak, mint a hivatalos webhelyén felsorolt ​​funkcióknak http://php.net/manual/en/indexes.functions.phpEz azért van, mert modularitás nélkül született, tehát minden mocskosan összekevert és névterek nélkül.
        Ez egy darab PHP kód:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        valamikor meg lehet állapítani, hogy honnan importálták ezeket a „stream” funkciókat? NEM, akkor mondhatnád, hogy ezek buildin függvények, de akkor az egész ökoszisztéma buildin függvények? Tehát sok szemetet tartalmaz a PHP kód, amelyet ha nem képes megérteni az ilyen rossz tervezés bonyolultságát és haszontalanságát, bocsásson meg, de még mindig rengeteg világot lát.
        A Wordpress kiváló szoftveres megoldás, de ez nem jelenti azt, hogy jó technológiai alapokkal rendelkezik. Kalapálhat kővel és szögeket hajthat ki a fogaival, és így is kiváló asztalosmunkákat végezhet, de természetesen sokkal több munkával, mint egy másik ács, aki jó kalapácsot használ.

        Másrészt: "20 órás programozóvá válás a Pythonnal, és dolgozzon rajta", ilyen hülyeséget még nem láttam. 20 órán belül létrehozhat egy weboldalt PHP-ben, anélkül, hogy tudná a webes programozás működését vagy magát a programozást. Valójában ez az oka annak, hogy a PHP annyira népszerű, mert az újoncok, amikor belépnek ebbe a világba, a PHP-t a gyors fejlődés egyik pontjának tekintik (ezért is szívja ki annyira a sok PHP-kód).
        A Python hiányosságait tekintve csak a mutatókkal végzett munka volt sikeres, de a Python mindenesetre magas szintű nyelv (akárcsak a Java), és szintaxis szinten nem használja ezeket; de bitenként műveletek, komoly?, ezt érted x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Sokkal kevésbé értettem a szemétszedő dolgot: https://docs.python.org/3/library/gc.html.
        PHP hiányosságok:
        -PHP nagyon gyenge objektum-orientált programozási (OOP) kialakítással rendelkezik.
        -Még nem lehet túlterhelni az üzemeltetőket.
        -Meglepetés, function overloading a PHP-ben nem ezt várod el természetesen ettől a koncepciótól.
        ... .. és csak untam hehe.
        Üdvözlet.

        1.    Rubén dijo

          Zárójelbe tettem, hogy "értem a metaforát" (összehasonlítva a Pythont a C ++ / Java-val ugyanabban a munkakörnyezetben), egyértelmű, hogy nem értette. Mondhatnám, hogy egy C ++ programozó sokkal gyorsabban tanulhatja meg a Python-t, mint egy Python programozó a C ++ -ot, ahogy nem meglepő, hogy egy C / C ++ programozó átlagos fizetése magasabb, mint egy Python egyet.
          Más példákkal is megmagyarázhatnám neked, akár rajzzal is! de úgy tűnik, hogy te csak arra koncentrálsz, hogy dekontextualizáld és kigúnyolod, amit teszek.

          Soha nem mondtam, hogy a PHP a legjobb nyelv a világon, vagy hogy példaértékű lenne, nem tudom, honnan veszed ezt. Úgy gondolom, hogy mielőtt mások tudását megítélné, javítania kell az olvasás szövegértését. Az igaz (és mondtam az üzenetemben), hogy a vele való fejlesztés nagyon mozgékony, a keretrendszerek, könyvtárak és segédprogramok teljes ökoszisztémája mellett, amelyet megtalál.
          Ezenkívül milyen összehasonlítást végzünk? A Python többcélú nyelvként vagy az internet számára? Ebben az esetben miért hasonlítjuk össze a PHP-vel? A PHP-nek van egy saját mezője, és azon a területen halad a Python (0.2% -os részesedéssel, amely az egész évben nem változott) a PHP mellett.
          Most nézzük meg a PHP trendeket; a 82,4. januári 2017% -ról a 83.1. januári 2018% -ra: https://w3techs.com/technologies/history_overview/programming_language

          A Python lebontja a PHP-t? Melyik évben? milyen öt év alatt? évtized?
          A Python számos más feladatban felhasználható, és még szélesebb körben is használhatóvá válik, mint a PHP, de a Python, mint webfejlesztő nyelv, fényévekre van attól, hogy még releváns is legyen, 0.2% stagnál, szemben a 83.1% -kal (az idei emelkedéssel).

          Ön is természetesnek veszi a dolgokat azzal, hogy azt mondom, hogy nem járok körbe a PHP-n kívül, utalva arra, hogy csak a PHP-t ismerem, amikor pontosan nem régóta programozom a PHP-ben haha. Jelenleg munka miatt többnyire Java-ban programozok.
          Azt sem mondtam, hogy a Python programozásával nincsenek ismeretei a bitenkénti, a szemétszedő vagy a mutatóról. Inkább programozhat Pythonban anélkül, hogy tudná, mi ez. Azonban nagyon kétlem, hogy ez a helyzet lenne egy C ++ programozó esetében. És nyilvánvalóan akkor vetem össze az összehasonlítást, amikor a Python belép a "többcélú nyelv" mezőjébe, nem webprogramozás céljából.

          20 órán belül programozóvá válni egyszerűen vicc, túlzás. Ide tehetnék különféle linkeket az online oktatási platformokról és hasonló dolgokat ígérő tanfolyamokról. Ne engem hibáztasson, hanem egy olyan munkaerőpiacot, aki azt gondolja, hogy a "szakértő programozóvá" válás egy 20 órás tanfolyam elvégzése. És a Python az egyik divatos nyelv, és a leggyorsabb tanulási görbével is ... fehér és üvegben.

          Ragaszkodom hozzá, hogy az üzenetét arra alapozza, hogy mennyire rossz a PHP (ami bizonyos részben egyetértek). Számomra helyesnek tűnik, kivéve, hogy az üzenetem nem erről szól, hanem arról, hogy a PHP-t miért fogják továbbra is használni, és holnap nem fog eltűnni, ahogy gondolod.

          Az üdvözlő

  5.   senki dijo

    C -> Go -> (Lisp | Haskell | Java | bármi)

    1.    ChrisADR dijo

      Nemrégiben egy olvasó küldött nekem egy ajánlást egy Go könyvhöz az e-mailemre, minden bizonnyal egy olyan nyelvre, amelyet a jövőben figyelembe kell venni, és amelyről talán lesz itt egy bejegyzés 🙂 Sok grafika megosztandó

  6.   MVR1981 dijo

    Nos ... és mit programozok? Miért tanulnánk ma egy programozási nyelvet olyan jó és tapasztalt programozókkal, amelyek már léteznek? Milyen problémákat tudok megoldani, amelyeket mások még nem oldottak meg sokkal hatékonyabban? ... Röviden: Mennyire eredeti ma programozónak lenni? Hogyan tudok együttműködni másokkal anélkül, hogy tudásom és tapasztalatom hiánya miatt megrúgnának vagy kizárnának?

    1.    ChrisADR dijo

      Helló mvr1981, nagyon érdekes kérdések 🙂 az utolsótól az elsőig tekerjük őket.

      Hogyan tudok együttműködni másokkal anélkül, hogy tudásom és tapasztalatom hiánya miatt megrúgnának vagy kizárnának?

      Ha nem akar rúgni, akkor az első lépés a folyamat megtanulása, nem tudja elképzelni, hogy hány olyan projektbe érkező ember szeretne kizárólagosan a maga módján tenni dolgokat, és szeretné, ha a közösség alkalmazkodna kívánságaikhoz. Minden bizonnyal olyan, mintha én a házadba jönnék, rendetlenséget okoznék, és nem tisztelném a családodat (sokszor ez az érzés). Ha meg akarja akadályozni, hogy ez bekövetkezzen, akkor nagyon figyeljen a közreműködésre vonatkozó irányelvekre, annak eszközére, és ne küldjön valami hiányosat, ha segítségre van szüksége, mindig vannak eszközök a kommunikációra, de a rosszul elvégzett munka valószínűleg rossz első benyomásokat kelt. Ha nem akarod kizárni magad, ez rajtad múlik, úgy tekintheted rá, mint egy haszontalan programozóra, aki nem tudja, mit csinál, vagy éppen azon, aki úton van arra, hogy kiváló programozóvá váljon. hibákkal végig. Sokszor tévedtem, mielőtt megszereztem a fejlesztői státuszomat a Gentoo-n, és ez nem akadályozott meg abban, hogy a "rossz idő" ellenére próbálkozzak.

      Mennyire eredeti ma programozónak lenni?

      -Ez nem az eredetiségről szól, manapság szükségszerűség, gondoljunk csak a következőkre, 20 vagy 30 évvel ezelőtt a gépelés szükségszerűség volt, sok munkahely arra következtetett, hogy tudta, vagy legalábbis meg tudja csinálni. Ma az Office ismerete szükségszerűség, gyakorlatilag nincs olyan munka, amely ne állítaná az Office dokumentumai elé. Holnap, nagyon hamar, szükség lesz a programozásra. És ez személyes szempontból is érvényes, annak tudása, hogy mi történik azokban a programokban, amelyekre olyan fontos dolgokat bízol meg, mint a pénzed, az egészséged, a családod, számomra valami logikus, mert korlátjaikat csak akkor ismerheted meg, ha tudod, hogyan dolgozni és ahhoz, hogy tudja, programozni kell.

      Milyen problémákat tudok megoldani, amelyeket mások még nem oldottak meg sokkal hatékonyabban?

      -Meglepne a mennyisége jellemzők amire ma szükség van, és az igazat megvallva, nem számít, hogy a világon vannak a világ legjobb programozói, a munka mindig nagyobb lesz, mint a fejlesztők munkakapacitása, ezt ellenőrizni tudom a Gentoo-ban, ott olyan emberek, akik fejlesztik a kernelt, a Google-nél, a Sony-nál stb. dolgozó emberek, stb. ... az egyetlen dolog, ami mindannyiunkban közös, hogy senkinek nincs annyi ideje, amennyit szeretne, hogy elvégezhesse az összes függőben lévő munkát.

      Miért tanulnánk ma egy programozási nyelvet olyan jó és tapasztalt programozókkal, amelyek már léteznek?

      -Ez a második kérdésre válaszol 😉 De most hozzátehetem, hogy a generációknak képesnek kell lenniük támogatni a már kidolgozott munkát, ez alatt azt értem, hogy azok a "tapasztalt" fejlesztők fokozatosan eltűnnek, és szükség lesz a " fiatalabbak »A fejlesztők felelősséget vállalnak és segítenek életben tartani a ciklust, egy közösség, amelyben nincsenek fiatal és tapasztalatlan emberek, hajlamos az idő múlásával eltűnni, éppen azért, mert nem lesz lehetőség az ismeretek továbbítására.

      És mit programozok?

      -Talán erre a legnehezebb megválaszolni, de megpróbálok egy példát adni egy pocóra, amelyet nemrégiben a GNOME 24 és a Wayland-hez való kapcsolódás problémái okoztak, amelyek megakadályozzák, hogy a Shutterhez hasonló programok képernyőképeket készítsenek. Ez azért jelent problémát számomra, mert amikor cikkeket írok, meg kell mutatnom, mit mondok 🙂 kicsit körülnézve eljutottam a GNOME Screenshot alkalmazáshoz, enyhén szólva kissé "minimalista". A funkciói között van egy képernyő-készítés, de mi történik, ha nem jól készítettem a fényképet? Nos, el kell hagynom, és újra be kell lépnem a programba, minden bizonnyal valami fárasztó, segítségemre lehet egy gomb, amely azt írja, hogy "Újravétel", vagy valami hasonló lehetővé teszi, hogy új felvételt készítsek anélkül, hogy ki kellene mennem, és újra belépnem. programozási projektet, még soha nem programoztam semmit a GNOME keretrendszerébe, így nyilvánvalóan sok mindent meg kell tanulnom, mielőtt elküldeném a "javítást" az új gombbal, de végig megtanulok programozni, és remélhetőleg ezt vonás többnek is segítséget nyújt, ha mindenki számára elérhető.

      Ez egy példa, ez valami egyszerű, és minden más "szakértő" programozó biztosan megtehette volna már, de nyilvánvaló időhiány miatt nem ilyen volt, most nekem van lehetőségem megtenni , anélkül, hogy valóban szuper programozó lennék.

      Most már csak rajtad múlik, hogy talál-e valamit, ami "egyszerűbbé" tenné az életét abban a szoftverben, amelyet oly gyakran használ, ennek az a szépsége, hogy ha követjük a következő cikkekben megfogalmazott tanácsokat, nem számít, mert tudni fogja az alapokat, hogy megértse az elolvasott kódot, és módosítsa azt úgy, hogy azt tegye, amit akar, ez egy nagyon különleges érzés 🙂

      Üdvözlet és még egyszer köszönet

      1.    senki dijo

        Azt hiszem, hogy csak miután megnyitottam a gnome captures programot, a legegyszerűbb az, ha a billentyűparancsokra megyek, és három kombinációs nyomtatást rendelünk az összes alt-print rögzítéséhez az aktív ablak rögzítéséhez és a super-print-hez, hogy válasszon a rögzítésből régióban, a rendelkezésre álló parancsikonok már rendelkezésre állnak, egyszerűen csak hozzárendelésükről van szó

        1.    ChrisADR dijo

          Ezért adunk egy példát 🙂, mivel az olyan apró dolgok, mint ez a gomb, programozásra szolgálnak, segíthetnek egyeseknek, mivel mások észrevétlenek maradhatnak, de minden bizonnyal teljesítik a fő célt, segítenek megtanulni programozni és átadják helyüket az új funkcióknak, A gomb után sok mindent el lehet kezdeni, például munkamenet-kezelést, vagy az összes elkészített fénykép előnézeti képernyőjét, vagy röviden sok mindent meg lehet tenni. Az ötlet az, hogy találsz valamit, ami felkavarja a kíváncsiságodat. Bármely, a rendszereden futó szoftver fejlesztésekre vagy új szolgáltatásokra lehet szüksége, amelyeket idő- vagy személyzethiány miatt még nem hajtottak végre

      2.    MVR1981 dijo

        Neked köszönhetően. nagyon jó válaszok.

    2.    Guillermo dijo

      Nos, annak, aki nem lesz szakember a szakterületen, meg kell látni, hogy milyen környezetben dolgoznak, mind az adminisztratív feladatok, mind az irányelvek esetében érdekes lehet tudni például a Python / Basic programot és tudni, hogyan makrók programozására olyan irodai csomagokban, mint a LibreOffice vagy az MS Office. Vannak esetek, amikor ez sok órányi munkát takaríthat meg Önnek vagy más munkavállalóknak, akik körülveszik Önt, és felkérik őket, hogy végezzenek el ismétlődő feladatokat. Létrehozhat egy irányítópultot, amely gyorsan kiszámítja a vállalat fő arányait, miután csatlakozott az adatbázisához, és hajtson végre néhány SQL lekérdezést.
      Mint minden, ha ismeri az elérhető kéznél lévő eszközöket, elgondolkodhat azon, hogyan hozhatja ki a legtöbbet belőle. Nem minden van kitalálva.

  7.   Marcelo dijo

    Guillermo, teljesen egyetért veled: "Nem mindent találtak ki", és ami feltalálható, módosítható. A legtöbbet kell kihoznia az eszközökből, és az igényeinek leginkább megfelelőt kell használnia.

  8.   Ricardo dijo

    A programozáshoz először az angol kell megtanulni az angolt, majd az a nyelv, amely a legjobban vonzza őket és a legszebbnek tűnik számukra.

    1.    ChrisADR dijo

      Nem írtam, de igaz 🙂 Az angol nyelvtudás sokat segít, mivel a legtöbb nyelv benne van, de azért is, mert a nagyobb mennyiségű első kézből származó információ is nagyon köszönöm, hogy megosztottad

  9.   Ruben salgado dijo

    Kiváló cikk, a motiválás mellett.

    1.    ChrisADR dijo

      Nagyon kedves, nagyon köszönöm 🙂 Üdvözlet

  10.   Gonzalo Martinez dijo

    A programozás az, hogy hogyan kell érvelni és hogyan kell ezt az érvelést utasításokká alakítani.

    Két pontosítás a cikkel kapcsolatban:

    1) A csaknem 10 éves programozó tanárként szerzett tapasztalataim alapján nem az számít, hogy milyen nyelven tanulsz, hanem az, hogy hogyan tanulsz és mennyire összetett.

    Úgy gondolom, hogy egy strukturáltan megtanulható nyelv, majd át lehet térni más összetettebb dolgokra, könnyebb, mint kezdeni egy olyan nyelvvel, mint a Java.

    Könnyebb megtanulni valami Hello világot C vagy Pascal alapként, mint néhány sorral (Pascal esetében PROGRAM, vagy #include A C) esetében el lehet kezdeni az algoritmus fejlesztését, és közvetlenül kódolni a programot annak logikájával, mint a Java-ban, amelynek önmagában is szüksége van egy osztályra, egy módszerre és néhány egyéb dologra, ami egy kezdő számára felesleges információ-túlterhelés, és ezt lehet, hogy figyelmen kívül hagyják, és más dolgokra térnek át, de ezek olyan fogalmak, amelyek léteznek, és véleményem szerint a dolgok figyelmen kívül hagyása nem jó módja a tanulásnak, különösen, ha a nyelv arra kényszeríti, hogy használja őket. Olyan ez, mint egy M-16-os céltábla gyakorlata első megkezdése, és hónapokig félautomata üzemmódban lövés mindkét kezével, mint egy pisztoly.

    2) Az, hogy egy nyelvet értelmeznek vagy összeállítanak, annak megvalósításától függ, nem magától a nyelvtől. Például, ha Python-ot használunk, akkor egy webes alkalmazáshoz, amely wsgi-t használ (legyen az mod_wsgi az apache-hoz, vagy az uwsgi az Nginx-hez), a python kódot a megfelelő modul indításakor fordítják le.

    Vannak bináris fájlgenerátorok is a java számára (amelyek a byte-kód helyett natív bináris fájlokat generálnak), vagy a tiszta bináris fájlokban lévő php-szkriptek fordítói.

    Ami a PHP-ről szól, egyszerűen egy másik korszakban tervezett nyelv, más dolgokat szem előtt tartva, és az akkor még nem létező szempontok figyelembevétele nélkül. Nyilvánvaló, hogy az a tény, hogy a legtöbbet használják, nem teszi a legjobbat a világon, de van egy valóság: ez az a nyelv, amellyel a legtöbb esély van elhelyezkedni az összes programozás során. Tudni, hogy nem árt, még akkor sem, ha nem tetszik.

    Még nekem is, aki több évig rendszergazdaként dolgoztam, és elhagytam a fejlesztői munkát, olyan gyakran kell PHP-kódot beletennem valamibe.

    1.    ChrisADR dijo

      Szia Gonzalo, köszönöm a megosztást!

      Természetesen a felesleges információ-túlterhelésekről beszélve az a tudat, hogy ugyanazt a nyelvet lehet értelmezni vagy összeállítani, ebben a szakaszban nem szükséges 🙂 Természetesen a megvalósítás fontos, de ha ezt a szintet mondjuk, akkor nem generálunk többet a zavarnál. Ugyanígy nem foglalkoznak az objektum-orientált programozási kérdésekkel, vagy más olyan fogalmakkal, amelyeket fokozatosan kell adagolni, hogy elkerüljük az emberek szédülését.

      Mivel a hely korlátozott, a bejegyzés fő célja megmutatni az olvasóknak, akik programozni akarják, hogy két nagy nyelvvilág létezik, hogy a "hagyományosan" értelmezettek "egyszerűbbek", hogy a "hagyományosan" összeállítottak valamivel "komplex", de megéri ezt a bonyolultsági szintet szilárdabb megértés érdekében, és hogy minden ember maga választja meg a nyelvet, mivel a programozási megközelítéstől függően kiválaszthatja kedvenc projektjeit és a ugyanakkor képesek lesznek megérteni, amit olvasnak és / vagy írnak 🙂

      Még egyszer nagyon szépen köszönöm.

      1.    Gonzalo Martinez dijo

        Ez hiba, nincsenek lefordított vagy értelmezett nyelvek, minden nyelvhez vannak tolmácsok és fordítók, mindkettő különféle esetekre.

        Nem információs túlterhelés ezt most megemlíteni, hiba ilyen kijelentést tenni. Véleményem szerint produktívabb lett volna figyelmen kívül hagyni a tolmácsokat, ha nem akarod túlterhelni az információkat.

        1.    ChrisADR dijo

          Köszönöm a pontosítást, figyelembe veszem, amikor visszatérek a témához. Üdvözlettel

  11.   Ares dijo

    Milyen nyelvet javasol a szerver oldalon, figyelembe véve, hogy a PHP kiesett?
    Ugyanez az adatbázisok esetében is, nem tudom, lesz-e valami jobb és korszerűbb, mint a mySQL.

    1.    ChrisADR dijo

      A PHP nem esett ki a kedvéből ... Minden nyelvnek megvan az életciklusa, és a php minden bizonnyal már olyan nyelv, amely az „érett” skálára lép, ami üzleti szinten hasznos, ahol a stabilitás mindenekelőtt ... Mint egyes bankok, ahol még mindig a java-ban fejlett, amely "kiforrottabb", mint a php, és természetesen vannak hívei és rontói ... És nem is beszélve a COBOL-ról ...

      Ha az egységesség és a modernség a keresése, akkor a javascript az úgynevezett „full stack fejlesztők” egyik kedvencévé válik, bár a rubin paradigma vagy a python „egyszerűsége” is jó referencia ... Még a perl is lehet a lehetőség az igényektől függően 🙂

      Manapság az ORM (objektum-relációs leképezők) nagy erőt nyer a relációs adatkezelés szempontjából. SQL szintaxistól kezdve osztály és attribútum kezelésig megy ... Szinte az összes nyelv (ha nem az összes) kezel valamilyen ORM-et.

      . A Mongo DB a relációs adatbázisok alternatívája, amely eléggé fontossá vált, azonban meg kell ismerni az előnyeit és hátrányait, és érvényesítenie kell, hogy a konkrét igénytől függően ez lenne-e a legjobb megoldás.

      Remélem, segít, üdvözlet 🙂

      1.    Ares dijo

        Köszönöm, megnézem.

      2.    Ares dijo

        Elfelejtettem.

        Mit javasol nekem a JAVA-val való együttműködéshez Linux alatt?
        Ha jobban tud különbséget tenni szabad és zárt között.

        1.    ChrisADR dijo

          Az Eclipse és a NetBeans nyílt forráskódú, nem vagyok biztos benne, hogy van-e tisztán ingyenes szoftver, szokásom a vim használatát, mert néha a kód mennyisége miatt az egész IDE használata lassú és hajlamos a végrehajtási hibákra. Üdvözlet 🙂

        2.    paulzeta dijo

          A java használatához Linux-ban az IntelliJ-t használom, ajánlom.

          1.    ChrisADR dijo

            PS, az IntelliJ saját szoftver 🙂

  12.   je dijo

    A srácok arra is emlékeznek, hogy ... bankban dolgozom, és elmondom, hogy a programozási nyelvek háttérbe szorulnak, hogy az SQL és a Stored eljárások menjenek először.

    1.    Gonzalo Martinez dijo

      Figyelembe kell vennie őket a tárolt eljárásokkal, de ha nem használok hordozható nyelvet a motorok között, legalábbis tapasztalataim szerint, mindig az kerülendő őket, hacsak nincs más választás.