Wiel vun Ärer éischter Programmiersprache

Bestëmmt ass dëst eng vun de Froen déi am meeschten zu menger Inbox kommen wann een iwwer Programméierung schwätzt. Wa mir eng Serie vun Artikele starten déi et erlaben Iech ze léieren ze programméieren a gratis Wëssen zréckzeginn a Form vu Bäiträg fir gratis Software / Open Source Gemeinschaften ronderëm d'Welt, ass et néideg dës Basis ze beäntweren wann e bësse schwéier Fro. Wéi eng Programmiersprooch soll ech léieren?

E bësse vun der Geschicht

Fir ze fänken eng Programméierungssprooch ze verstoen an ze wielen, musse mir als éischt e bëssen iwwer hir Geschicht, hir Notzen a Funktiounen wëssen, a wéi se verschidde Bedierfnesser mat der Zäit léisen.

Maschinnssproochen (nidderegen Niveau)

Allgemeng bekannt als Assemblée, si Programméierungssproochen déi mir als Dialekter vun enger méi allgemenger Sprooch definéiere kéinten ... Dëst kléngt e bësse komplizéiert awer ech ginn et virbildlech ... Mir wëssen datt d'Universalsprooch vum Berechnung ass Stroum, dat heescht datt letztendlech wat e Computer liest 0sy 1jo, loosst eis dat nennen eComputer Englesch. An dësem Beispill ass Spuenesch d'Basisregel, awer wéi mir et gutt wëssen, ass d'Spuenesch déi vu Latinos geschwat gëtt net déiselwecht wéi déi a Spuenien geschwat, an trotzdem ass d'Spuenesch aus Peru net datselwecht mat der Spuenescher vun Argentinien. Natierlech hu mir all bal déiselwecht Wierder (0sy 1s), awer d'Benotzung an d'Bedeitung variéiere jee no Kontext.

Dëst geschitt um Prozessor Niveau. Wa mir iwwer schwätzen Rechenarchitekturen, (amd64, intel, arm, ...) bezéie mir eis op den Dialekt dovun Computer Spuenesch. Dëst ass well verschidde Firmen d'Bestellung an d'Bedeitung op hir eege Manéier verstoen, sou datt verschidde variéieren an Detailer wéi de Stroum vum Stroum, oder d'Bestellung an där d'Elementer gehale ginn. 0sy 1s.

Dës Programméierungssproochen sinn extrem séier, well se um niddregste méigleche Programméierungsniveau schaffen, awer si sinn héich ofhängeg vun der Architektur a si sécher e bësse méi komplizéiert ze léieren wéi de Rescht. Dës erfuerderen dacks eng méi breet Basis vu Konzepter fir d'Daten ze transforméieren an nëtzlech Saachen drop ze lafen. Fir Videospillfrënn wier e Beispill SEGA Konsolen, déi Assemblée benotzt hunn fir hir Spiller ze programméieren. Natierlech zu där Zäit war de Betrag u Gedächtnis minimal am Verglach mat haut, an et war noutwendeg eng Sprooch ze meeschteren déi séier kéint sinn a Liichtprogrammer produzéieren.

Sproochen op héijem Niveau

Dëse grousse Grupp betruecht déi Sprooche déi duerno koumen Assemblée. De Besoin fir portable Code ze kréien huet zum Entstoe vun enger Grupp vu Sprooche geruff zesummegestallt. Ënnert dësen war deen éischten dee profitéiert huet C, deen zënter de 70er Joren eng Iwwerherrschung bei der Programméierung um Betribssystemniveau hat.

Kompiléiert Sproochen

Loosst eis e praktescht Beispill vu wat ech kommentéieren. Loosst eis e ganz einfache C Sproocheprogramm kucken deen eng Zeil Code dréckt.

Eegent. Christopher Diaz Riveros

Nodeems mir et zesummegestallt hunn, hu mir déi folgend:

Eegenen Design: Christopher Díaz Riveros

Awer loosst eis kucken wat mir misste schreiwen fir datselwecht Resultat am Versammlungscode ze replizéieren:

Eegent. Christopher Diaz Riveros

Dëst ass d'Iwwersetzung vun eisen 3 Zeilen Code aus simple.c, d'Datei simple.s gëtt mam Kommando erstallt gcc -S simple.c an et ass wat eise Prozessor an engem Dialekt géif verstoen Assemblée. Selbstverständlech fir en executable ze kreéieren deen aus besteet 0sy 1s d'Datei muss veraarbecht ginn simple.s a verbannt et mat de gemeinsame Bibliothéiken vun eisem System. Dëst gëtt mat engem gemaach Versammler (as) Connector (ld).

Kompiléiert Sprooche bidden e grousse Virdeel iwwer déi niddereg Niveauen, si sinn portabel. Portabilitéit liwwert Code deen op verschiddene Prozessoren ausgefouert ka ginn ouni de spezifesche Code fir all Architektur ze generéieren. En aneren offensichtleche Virdeel ass d'Einfachheet déi se beim Liesen a Schreiwe vum Code benotzt. Ënnert seng Haaptnodeeler hu mir eng héich Komplexitéit, well am Verglach mat de folgenden Typen vu Sprooche déi mir wäerte gesinn, kann d'Fräiheet déi C bitt schiedlech sinn wann Dir net wësst wéi Dir kontrolléiert, et ass sécher wéi eng Waff ofzeginn , et kéint geschéien datt am Mangel un Erfahrung eng Persoun endlech säin eegene Fouss schéisst an e Versuch d'Waff ze botzen.

Interpretéiert Sproochen

An dëser Grupp hu mir eng grouss Varietéit vu Sproochen, ënner de wichtegsten hu mir Python, Ruby, Javascript, PHP, etc ... , dëst ass well vill vun de schwéiere Prozesser am Dolmetscher ausgefouert ginn, an d'Programméiere vun der Logik ass wat am Code implementéiert gëtt. Loosst eis datselwecht Beispill hei uewen kucken awer dës Kéier a Python geschriwwen:

Eegent. Christopher Diaz Riveros

Zu den aussergewéinlechste Saache kënne mir gesinn datt déi éischt Zeil verantwortlech ass fir den Dolmetscher ze ruffen (de Programm deen eis Uwendung ausféiert) an de pafolgende Code ass méi "einfach" wéi seng Versioun am C, well all déi schwéier Aarbecht gemaach gëtt op den Dolmetscher.

Eegent. Christopher Diaz Riveros

Interpretéiert Sprooche bidden den Entwéckler eng méi grouss Sécherheetsschicht, well se méi streng Sécherheetssteuerungen hunn (OPGEPASST datt se net perfekt sinn, well och déi Bescht kënne Feeler maachen) a mir leiden net méi de Risiko fir eng Waff ze schéissen ouni et ze wëssen, zënter dem éischte Versuch géif den Dolmetscher en Alarm maachen an d'Ausféierung géif annuléiert ginn. Den Haapt Nodeel gëtt evident beim Ausféiere vum Programm, well et méi lues ass wéi säi binäre Kolleg, dëst genau wéinst der méi grousser Veraarbechtung fir kënnen ze garantéieren datt de Code funktionnéiert. Wann de Programm net extrem kuerz Deadline brauch, kann den Ënnerscheed net bemierkt ginn, awer wa mir iwwer Dausende oder Millioune vun Daten pro Sekonn schwätzen, gëtt den Ënnerscheed exponentiell a kompiléierte Sproochen erkennbar.

Tippen

Dëst ass eng Charakteristik vu Programméierungssproochen, dës kënne sinn staark schwaach getippt. Ech loossen dëst Thema fir en anere Post, well et noutwenneg a virwëtzeg ass ze verstoen, wéi Erënnerung an engem Programm gespäichert ass, awer fir de Moment brauche mir nëmmen den Ënnerscheed ze maachen: Staark getippte Sprooche sinn déi, déi wëssen Typ vun Daten déi op enger Variabel oder Konstant geschafft ginn, wärend den schwaach Typen kënnen Conversiounen esou maachen implizit an alles hänkt vun enger Konversiounshierarchie ofhängeg vun der Sprooch of. (Wann et elo net verstanen ass, kee Problem, mir loossen et fir méi spéit)

Paradigmen

Wéi alles an der GNU / Linux Welt baséieren d'Programméierungssproochen no Paradigmen, a Communautéiten entstinn ronderëm. Zum Beispill hu mir den Python Foundation o Rubin o PHP o Bash (an deem Fall ass et d'GNU Gemeinschaft). Wat ech domat wëlle kréien ass datt ech net déi grouss Zuel vu Vir- an Nodeeler ausdrécke kann, déi all Mënsch huet, awer ech kann Iech soen datt wou et eng gratis Programmiersprache ass, et eng Gemeinschaft ass fir ze léieren an drun deelzehuelen. Et ass derwäert ze ernimmen datt vill wann net all Sprooch Dolmetscher an C geschriwwe sinn, oder eng enk Derivat, an hir Entwécklung gëtt normalerweis vun enger méi klenger Grupp aus der Gemeinschaft ausgefouert, déi zoustänneg sinn fir Entscheedungen ze huelen déi all Sproochbenotzer betreffen. Institutioune kënne souguer gegrënnt ginn fir eng korrekt Entwécklung vun der Sprooch ze garantéieren, sou wéi dat de Fall C ass.

Wéi eng ze wielen?

Mir hu scho genuch iwwer Sprooche geschwat an ech äntweren ëmmer nach net dat Wichtegst 😛. Awer ech hoffen datt nodeems ech dësen klengen Artikel iwwerschafft hunn et net néideg ass fir Iech ze soen wéi eng Sprooch Dir sollt wielen, well mat dëser Informatioun sidd Dir voll fäeg no enger ze sichen déi Virwëtz generéiert. Natierlech wann Dir wëllt léieren an enger Sprooch ze programméieren Assemblée et wäert laang daueren ier Dir eppes funktionelles hutt, d'Zäit gëtt staark reduzéiert wann Dir eng kompiléiert Sprooch wielt, wou Dir nieft der Portabilitéit op * NIX Systemer hutt, fäeg sidd Informatiounen iwwer de Fonctionnement vum selwechte System ze léieren, well Dir an Kontakt mat C oder Derivaten léisst Iech op déi eng oder aner Manéier léieren wéi e Betribssystem op eng allgemeng Manéier funktionnéiert. Schlussendlech, wann Dir eppes Liicht léiere wëllt an dat Iech erlaabt vill ze maachen ouni vill ze verstoen, interpretéiert Sprooche sinn e lëschtege Wee fir Programméierungsfäegkeeten ze léieren an z'entwéckelen.

Léiert mat eppes Spannendes

Dëst ass dee beschte Rot deen ech Iech ka ginn, wann Dir eppes wëllt léieren, musst Dir als éischt eppes Spannendes fannen, soss ass et relativ schwéier déi typesch Léierkurve vun alle Programméierungssproochen ze iwwerwannen. Stellt Iech vir datt Dir Systemer verwaltet, an deem Fall musst Dir eng ideal Sprooch léieren Skripting (interpretéiert), an dësen hu mir Perl, Python, Bash, etc etc ... Vläicht sinn Är Spiller, et gi vill Projeten a Sproochen wéi Javascript, Lua, C ++, ofhängeg vun der Aart vum Spill dat Dir wëllt spillen. Vläicht wëllt Dir e Systemniveau-Tool erstellen, well mir C, Python, Perl hunn, wéi Dir gesitt, e puer ginn widderholl, an dëst ass well vill Sprooche fir vill Aufgaben kënne benotzt ginn, dofir d'Definitioun vun polyvalente Sproochen an deene meeschten.

Start e Projet

Mat dësem mengen ech net datt Dir de folgende Compiler erstallt, oder och déi folgend Programmiersprache, e Projet kann et sinn e klenge Feeler an Ärem Liiblingsprogramm ze fixéieren, vläicht och hëllefen d'Dokumentatioun ze verbesseren. Firwat d'Dokumentatioun? well et kee bessere Wee ass fir ze léieren wéi d'Software funktionnéiert wéi beim Liesen an hëllefen hir Dokumentatioun ze schreiwen, well nom Quellcode ass et déi gréissten Informatiounsquell déi Dir iwwer de Programm fannt. An engem anere Moment wäerte mir kucken wéi een de Code vun engem Projet liest an d'Funktiounen a Wäerter verstoen déi se kréien.

Villmools Merci fir heihinner ze kommen a wéi ëmmer, Är Kommentaren hëllefen mir besser Inhalt ze generéieren a wësse wou ech fokusséieren, Gréiss.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

37 Kommentaren, loosst ären

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn.

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.

  1.   anonym sot

    Wéi emmer en 10 !!!!!! Merci fir Är Artikelen. Gréiss an nach méi komm !!!!

    1.    ChrisADR sot

      Villmools Merci 🙂 encouragéiert mech weider ze schreiwen. Prost

  2.   Rubén sot

    Ech mengen et ass e Feeler d'Fro ze stellen "wéi eng Sprooch ze wielen?" Ech sinn ee vun deenen, déi mengen datt d'Sprooch am mannsten ass, et ass wichteg d'Basis vun der Programmatioun ze léieren an "berechnend ze denken." Entscheed iwwer eng Syntax, wéi se getippt gëtt, ob et OOP ënnerstëtzt, säin Notzen asw. Ech mengen et ass eppes wat natierlech an der Studie kënnt an no all Programméierer weess méi wéi 1, 2 an 3 Sproochen ... an dank de Programméierungskonzepter (an net Syntax) déi hien huet, ass hien fäeg an enger Sprooch programméieren, an där Dir nach keng Erfahrung hutt.
    Wéi och ëmmer, fir déi initiéiert denken ech datt eng gutt Sprooch Python ka sinn fir seng Einfachheet, awer virun allem e bësse méi wäit goen, Algorithmen studéieren a wësse wéi d'Saache "bannen" funktionéieren.

    Gréiss ChrisADR

    1.    ChrisADR sot

      Salut Rubén, merci fir deelen
      Et ass eppes wat ech mat der Zäit an der Welt vun der Programmatioun geléiert hunn, an dat ass "deen dee vill bedeckt net dréckt" a mat dësem bekannten Ausdrock mengen ech datt vill Mol, a besonnesch déi begeeschtertst, decidéieren ze probéieren alles e bëssen, an hu ganz séier Wendungen a Saache Léiere vum Code. Ech gleewen, an et ass meng perséinlech Meenung, datt e gudden Entwéckler eng Compiler Sprooch an eng Dolmetscher Sprooch soll kennen a beherrschen, zousätzlech zu engem Begrëff vun engem Assemblée Dialekt.
      De Grond ass déi folgend, de Prototyp muss ëmmer eppes einfach a séier sinn, einfach ze generéieren an dat weist allgemeng e Resultat, awer wann et net genuch ass, muss et e "Plang B" sinn fir ze gräifen wann den Dolmetscher ukomm ass seng Limit.
      En Dialekt vun der Assemblée ze wëssen, gëtt Iech net nëmmen Vertrauen, awer léiert Iech "computational" ze denken, awer offensichtlech ass deen Deel dee komplizéierte vun allen, an et ass sécher eppes, op dat net all Programméierer kommen.
      Awer zréck zum Thema, well d'Haaptiddi denken ech ass, "wielt eng Sprooch a praktizéiert vill", well wierklech deen eenzege Wee fir gutt ze programméiere gëtt duerch Liesen a Schreiwen Code, an dat ass eppes wat ech geléiert hunn d'Käre Gemeinschaft Wann Dir déiselwecht Syntax fir eng laang Zäit hält, stoppt Dir d'Form ze gesinn a fänkt Iech un de BACKGROUND ze këmmeren. D'Iddi fir eng Sprooch oder Syntax vun Ufank un ze wielen ass datt ee säi Liesen a Schreiwe kann esou gewinnt hunn datt een de Bedeitung vum Programm liese kann amplaz d'Syntax vum Programm.
      Dëst ass den Haaptgrond fir dëse Post, datt jidderee seng Sprooch wielt, fir datt mir an de folgende Konzepter erkläre kënnen, vläicht mat dësem sinn d'Zweifel gekläert 🙂
      Gréiss a merci fir deelen.

  3.   Deibis Contreras sot

    merci fir de Post et war gutt.

    Wat

    1.    ChrisADR sot

      Moien Deibis, merci fir deelen 🙂 Gréiss

  4.   Jorge FS sot

    Mäi Rot: alles anescht wéi PHP. Virun 20 Joer huet PHP e gewësse Sënn a senger Existenz gemaach wéinst dem héije Komplexitéitsniveau dat de Web an enger anerer Sprooch mat CGI programméiert huet. Awer haut gëtt et eng grouss Varietéit vu Frameworks fir Webentwécklung vill méi agréabel a mächtege Sproochen ze maachen, wéi Django fir Python, Fréijoer fir Java oder Rails fir Ruby. Och wann PHP aktuell op alle Sproochepopularitéitskaarte steet, menger Meenung no wäert PHP seng Relevanz mat der Zäit verléieren.
    Ech roden onbedéngt mat C \ C ++ unzefänken fir d'Realitéit vum Programméiere ze verstoen, obwuel d'Léierkurve steil ass.
    Merci.

    1.    ChrisADR sot

      Salut Jorge, merci fir d'Deelen, just un de Laravel erënnert, wat e relativ zolitte Framework ass 🙂 Ech hu perséinlech ni Fréijoer oder Java fir Webentwécklung gär, ech fannen et zimlech ëmständlech, awer ech mengen et ass en Deel vun der Zäit déi se gewiescht sinn de Maart, zu där Zäit wou se Pionéier waren a sécher haut modern Alternativen (Js, Python a Ruby) konnten de Wee vu Code presentéieren verbesseren deen ouni vill Aarbecht liesbar a verännerbar ass.
      Ech sinn och u Leit geneigt C / C ++ iergendwann an hirem Liewen ze léieren, ech hu mat Java ugefaang, awer ech denken dat ass d'Schéinheet vun der Programmatioun, Dir kënnt ufänken mat wat Dir wëllt, soulaang Dir konsequent ass wäert et hëllefsbereet 🙂 Prost

    2.    Rubén sot

      Ech kann net méi mat Iech averstane sinn. Ech hunn viru ville Joere mat C a VB ugefaang, fir méi spéit op PHP a JS ze fokusséieren (well ech op Webentwécklung fokusséiert hunn) a spéider beim Studium hunn ech C / C ++ a Java haaptsächlech geléiert.
      PHP huet eng Rei Virdeeler déi ech an dësem Message net konnt opzielen. PHP7 ass séier (méi séier wéi Python ... ouni hhvm ze benotzen, verschidde Cache, Frameworks wéi Phalcon oder Bytecode am Fall vu Python), et huet eng riesech Unzuel u Bibliothéiken a Frameworks, et huet eng riesech Unzuel vun direkt implementéierte Funktiounen fir zu all Moment benotzt, Seng C-ähnlech Syntax mécht et ganz einfach an aner Sproochen ze migréieren.
      30% vun de Websäite weltwäit gi mat WordPress (PHP) gemaach an dat schéngt näischt ze änneren, Wikipedia benotzt et, Facebook (mat hhvm) an eng grouss Zuel vu Site, am Ganzen, 80%.

      Ech erënneren drun datt Ruby on Rails wéi Django 12 Joer al sinn! Wéi eng Quote hunn se an dëser Zäit erreecht? An natierlech schwätze mir vun 2 Kaderen déi praktesch e Monopol hunn an et gëtt keng Aart vu Fragmentéierung. Wéi eng aner seriös Alternativen hunn ech? Sot datt PHP d'Relevanz verléiert wäert ganz wéineg Sënn maachen.

      Elo wou Python a Moud ass well et eng séier Léierkurve huet, ass et eng einfach Sprooch a si verkafen et Iech als de "ginn e Programméierer an 20 Stonnen mam Python a schaffen drun", mat der Ënnerstëtzung vu Firmen wéi Google an datt elo d'Moud ass fir nei Sproochen ze sichen (Go, Dart ....) fir Iech an engem CV ze differenzéieren (oder wéi déi alldeeglech Gebuert vu 50 Frameworks fir Javascript!), heescht net datt d'Saache sech änneren.

      Ruby ass eng ganz interessant Sprooch, awer et brécht sou vill mat etabléierte Musteren datt ech et schwéier gleewen datt et méi populär gouf wéi PHP. Natierlech, Ruby ech denken ass déi schlëmmste Sprooch fir ze programméieren.
      Ech verstinn datt Dir mir seet datt Python agreabel ka programméieren, och Ruby mat senge ville Besonderheeten ... awer Fréijoer mat Java? Wierklech? Java ka vill Saache sinn ... awer méi erfreelech wéi Python a PHP?

      Et ass ganz gutt fir mam Python unzefänken, awer wann Dir eleng mam Python hält, riskéiert Dir datt vill Firme gleewen datt Ären Niveau vun der Programmatioun net "déif" ass (och wann Dir ganz gutt bei Python sidd). Dëst ass well Dir mat anere "polyvalente" Sprooche wéi C ++ oder Java konkurréiert. Dir kënnt a Python programméieren ouni den Ënnerscheed ze wëssen wat der Däiwel en Zeigefanger ass, bësseg Operatiounen, wéi e Müllsammler funktionnéiert an eng laang etc.
      Python ass vläicht déi mannst ähnlech wéi "klassesch Programméierung" déi existéiert a kann als "Kannersprooch" ugesi ginn (kritt d'Metapher), an dat ass e Virdeel an en Nodeel.

      1.    Jorge FS sot

        "Python ass vläicht déi mannst ähnlech wéi 'klassesch Programméierung' déi existéiert a kann als eng 'Kannersprooch' ugesi ginn (kritt d'Metapher), an dat ass e Virdeel an en Nodeel." LOL, dëst ass eng vun de witzegsten Saachen déi ech je gesinn hunn iwwer Python gesot. Hutt Dir jeemools wierklech Python geléiert?
        Wéi laang ass et ronderëm d'Welt ausserhalb vu PHP?
        Frënd PHP war stierwen. PHP (\ d +) huet vill Belaaschtung domat wéinst engem ganz schlechten initialen Design a fir d'Benotzer Gemeinschaft z'erhalen hält se weider all déi initial Designfeeler ganz grëndlech. PHP gouf ouni Modularitéit gebuer, mat vill C-Stil Funktionalitéiten (déi iwwregens, ech weess net wou Dir et kritt, well seng Syntax ass ähnlech wéi C et kann einfach op aner Sprooche portéiert ginn). Eng héich Niveau Sprooch, wéi PHP sech sollt behuelen, huet sou ellen Saachen wéi dësen Trail vu Funktiounen déi op senger offizieller Säit opgezielt sinn http://php.net/manual/en/indexes.functions.phpDëst ass well et ouni Modularitéit gebuer gouf, dofir ass alles knaschteg gemëscht an ouni Nummraim.
        Dëst ass e Stéck PHP Code:
        "Stream_notification_callback");
        stream_context_set_params ($ ctx, $ params);
        var_dump (stream_context_get_params ($ ctx));
        ?>
        iergendwann kann et bestëmmt ginn aus wou all dës 'Stream' Funktionalitéiten importéiert goufen? NEE, Dir kéint da soen datt se Buildin Funktioune sinn, awer dann ass dat ganzt Ökosystem Buildin Funktiounen?. An dofir ass et vill Müll am PHP Code, datt wann Dir d'Komplexitéit an d'Nëtzlosegkeet vun esou engem schlechten Design net verstees, verginn mir awer et huet nach vill Welt ze gesinn.
        Wordpress ass eng exzellent Software-Léisung, awer dëst bedeit net datt et eng gutt technologesch Basis huet. Dir kënnt mat engem Steen hammeren an Neel mat Ären Zänn verdreiwen, an Dir kënnt ëmmer nach exzellent Schräineraarbecht maachen, awer natierlech, mat vill méi Aarbecht wéi en aneren Schräiner deen e gudde Hammer benotzt.

        Op där anerer Säit: "gitt an 20 Stonnen e Programméierer mam Python a schafft drun", ech hunn nach ni sou eng Dommheet gesinn. Dir kënnt eng Websäit a PHP bauen an 20 Stonnen an ouni Wësse wéi Webprogrammerung funktionnéiert, oder d'Programmerung selwer. Tatsächlech ass dëst firwat PHP sou populär ass, well Ufänger wann se an d'Welt erakommen PHP als e Punkt vun enger schneller Entwécklung gesinn (dofir souvill PHP Code saucht sou schwéier).
        Wat de Python Mängel ugeet, war deen eenzegen an deem et erfollegräich war mat Zeigefanger ze schaffen, awer op alle Fall ass Python eng héich Niveau Sprooch (wéi och Java) a benotzt dës net um Syntaxniveau; awer bësseg Operatiounen, serieux?, Dir mengt dat x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Ech hunn de Müllsammler eescht verstanen: https://docs.python.org/3/library/gc.html.
        PHP Lücken:
        -PHP huet e ganz schlechten objektorientéierten Programméierung (OOP) Design.
        -Dir kënnt d'Operateuren nach net iwwerlueden.
        -Iwwerraschung, function overloading an PHP ass et net wat Dir natierlech vun dësem Konzept erwaart.
        ... .. an ech hu mech just langweilt hehe.
        Merci.

        1.    Rubén sot

          Ech hunn an parentheses gesat "d'Metapher verstoen" (andeems Dir Python mat C ++ / Java am selwechten Aarbechtsëmfeld vergläicht), et ass kloer datt Dir et net verstanen hutt. Ech kéint Iech soen datt e C ++ Programméierer Python vill méi séier léiere kann wéi e Python Programméierer C ++ léieren, sou wéi et keng Iwwerraschung ass datt den Duerchschnëttsgehalt vun engem C / C ++ Programméierer méi héich ass wéi e Python.
          Ech kéint Iech et mat anere Beispiller erklären, och mat enger Zeechnung! awer et schéngt datt Dir nëmmen op d'Dekontextualiséiere konzentréieren an lächerlech wat ech gesat hunn.

          Ech hunn ni gesot datt PHP déi bescht Sprooch vun der Welt ass oder datt et en exemplarescht Design huet, ech weess net wou Dir dat kritt. Ech mengen datt ier Dir d'Wësse vun aneren beurteelt sollt Dir Äert Liesverständnes verbesseren. Wat richteg ass (an ech hunn a menger Noriicht gesot) ass datt d'Entwécklung domat ganz agil ass, zousätzlech zum ganzen Ökosystem vu Frameworks, Bibliothéiken an Utilities déi Dir fannt.
          Och wat fir e Verglach maache mir? Python als polyvalent Sprooch oder fir de Web? An deem Fall, firwat vergläiche mir et mat PHP? PHP huet e spezifescht Feld, an et ass an deem Feld wou Python (mat engem 0.2% Undeel, wat dëst ganzt Joer net geännert huet) nieft PHP blekt.
          Loosst eis d'PHP Trends kucken; vun 82,4% am Januar 2017 op 83.1% am Januar 2018: https://w3techs.com/technologies/history_overview/programming_language

          Geet de Python PHP ofsetzen? A wéi engem Joer? a wéi a fënnef Joer? Jorzéngt?
          Python kann a villen aneren Aufgaben benotzt ginn, a souguer méi wäit benotzt ginn wéi PHP, awer Python als Webentwécklungssprooch ass Liichtjoer ewech souguer relevant, 0.2% stagnéiert géint 83.1% (mat enger Hausse dëst Joer).

          Dir hëlt och Saachen als selbstverständlech andeems Dir seet datt ech net ausserhalb vu PHP ronderëm ginn, an drop hin datt ech nëmmen PHP kennen, wann ech präzis laang net an PHP programméiert hunn haha. Momentan, aus Aarbechtsgrënn, programméieren ech meeschtens op Java.
          Ech hunn och net gesot datt Dir am Python programméiert hutt Dir keng Kenntnisser iwwer Bitweise, e Müllsammler oder e Zeiger. Villméi kënnt Dir a Python programméieren ouni och ze wëssen wat dat ass. Wéi och ëmmer, ech bezweifelen héich dat ass de Fall fir en C ++ Programméierer. A selbstverständlech maachen ech de Verglach wann de Python dat Feld vun der "Multipurpose Sprooch" erakënnt, net fir Webprogramméierung.

          Gitt e Programméierer an 20 Stonnen ass einfach e Witz, eng Iwerdreiwung. Wéi och ëmmer, ech kéint Iech hei verschidde Links iwwer Online Ausbildungsplattformen a Coursen setzen, déi ähnlech Saache verspriechen. Schold mech net, schëlleg et op engem Aarbechtsmaart dee mengt datt en "Expert Programméierer ginn" wier eng Fro vun engem 20-Stonne Cours. A Python ass eng vun de fashionable Sprooche an och mat der schnellster Léierkurve ... wäiss an enger Fläsch.

          Ech insistéieren, Dir baséiert Är Noriicht drop ze soen wéi schlecht PHP ass (wat ech an engem gewëssen Deel averstanen sinn). Et schéngt mir richteg ze sinn, ausser datt mäi Message net iwwer dat ass, awer firwat PHP weider benotzt gëtt an et wäert net muer verschwannen wéi Dir mengt.

          Gréiss

  5.   keen sot

    C -> Go -> (Lisp | Haskell | Java | egal wéi)

    1.    ChrisADR sot

      Viru kuerzem huet e Lieser mech op meng E-Mail eng Empfehlung vun engem Go-Buch geschéckt, sécher eng Sprooch fir an Zukunft ze berécksiichtegen a vun där vläicht e Post hei ass 🙂 Vill Grafike fir ze deelen

  6.   mvr 1981 sot

    Gutt ... a wat programméieren ech? Firwat léiert haut eng Programmiersprooch mat sou gudden an erfuerene Programméierer déi et scho gëtt? Wéi eng Probleemer kann ech léisen, déi anerer net scho vill méi effizient geléist hunn? ... Kuerz: Wéi originell ass e Programméierer haut? Wéi kann ech mat aneren zesummeschaffen ouni vu mengem Mank u Wëssen an Erfahrung gestouss oder ausgeschloss ze ginn?

    1.    ChrisADR sot

      Hallo mvr1981, wierklech interessant Froen 🙂 mir ginn se vun der leschter op déi éischt.

      Wéi kann ech mat aneren zesummeschaffen ouni vu mengem Manktem u Wëssen an Erfahrung gestouss oder ausgeschloss ze ginn?

      Wann Dir net wëllt gestouss ginn, ass deen éischte Schrëtt de Prozess ze léieren, Dir kënnt Iech net d'Zuel vu Leit virstellen, déi op Projete kommen, déi d'Saache exklusiv op hir Manéier maache wëllen, an datt d'Gemeinschaft hire Wënsch upasse wäert. Et ass sécher wéi ech bei Iech heem kommen an e Mess maachen an Är Famill respektéieren (sou ass et vill Mol). Wann Dir dëst verhënnere wëllt, pass gutt op d'Richtlinne fir dozou bäizedroen, d'Moyene fir dat ze maachen, a schéckt net eppes onkomplett, wann Dir Hëllef braucht da gëtt et ëmmer Mëttel fir ze kommunizéieren, awer eng schlecht Aarbecht wäert wahrscheinlech schlechte éischt Andréck schafen. Wann Dir Iech net wëllt ausschléissen, dat ass u Iech, kënnt Dir hien als den onnëtze Programméierer gesinn, deen net weess wat hie mécht oder deen um Wee fir en exzellente Programméierer ze ginn, an dat geschitt nëmme mat Praxis a sécher mat Käferen ënnerwee. Ech war vill falsch ier ech mäin Entwécklerstatus op Gentoo krut, an dat huet mech net dovun ofgehalen trotz der "schlechter Zäit" ze probéieren.

      Wéi originell ass et haut e Programméierer ze sinn?

      -Et ass net iwwer Originalitéit, et ass eng Noutwennegkeet haut, denkt just un dat folgend, virun 20 oder 30 Joer, Tippen war eng Noutwennegkeet, vill Aarbechtsplazen hunn ofgeleet datt Dir wousst oder op d'mannst et kéint maachen. Haut wësse Office eng Noutwennegkeet, et gëtt praktesch keng Aarbecht déi Iech net virun Office Dokumenter stellt. Muer, ganz geschwënn, wäert d'Programméierung eng Noutwennegkeet sinn. An dëst gëllt och aus enger perséinlecher Siicht, ze wëssen wat geschitt an de Programmer un déi Dir Saache vertrauen sou wichteg wéi Är Suen, Är Gesondheet, Är Famill, ass eppes logesches fir mech, well Dir kënnt hir Limitatioune just wëssen wann Dir wësst wéi se schaffen a fir et ze wëssen, musst Dir wëssen wéi Dir programméiere kënnt.

      Wéi eng Probleemer kann ech léisen déi anerer net scho vill méi effizient geléist hunn?

      -Dir wier iwwerrascht vum Betrag vun Eegeschaften déi haut erfuerderlech sinn, a fir d'Wourecht ze soen, et ass egal datt et déi bescht Programméierer vun der Welt an der Gemeinschaft sinn, d'Aarbecht wäert ëmmer méi grouss sinn wéi d'Aarbechtskapazitéit vun den Entwéckler, ech kann dat zu Gentoo bestätegen, et gi Leit déi de Kernel, Leit, déi fir Google, Sony, etc asw schaffen ... dat eenzegt wat mir all gemeinsam hunn ass datt keen esou vill Zäit huet wéi se gär hätt déi all waarden Aarbecht ze maachen.

      Firwat léiert haut eng Programmiersprooch mat sou gudden an erfuerene Programméierer déi et scho gëtt?

      -Dëst gëtt an der zweeter Fro beäntwert 😉 Awer elo kann ech derbäifüügen datt Generatioune mussen d'Aarbecht ënnerstëtze kënnen déi scho entwéckelt goufen, doduerch mengen ech datt déi "erfuerene" Entwéckler no an no verschwannen an et wäert noutwendeg fir de " méi jonk »Entwéckler huelen Verantwortung an hëllefen dem Zyklus um Liewen ze halen, eng Gemeinschaft déi keng jonk an onerfueren Leit huet, ass ufälleg mat der Zäit ze verschwannen, eben well et keng Méiglechkeet gëtt Wëssen ze vermëttelen.

      A wat programméieren ech?

      -Dëst ass vläicht déi schwéierst Saach ze äntweren, awer ech probéieren Iech e Beispill ze ginn poco Ech hu viru kuerzem u Probleemer mat GNOME 24 a senger Verbindung mat Wayland ze leiden, déi verhënneren datt Programmer wéi Shutter Screenshots maachen. Dëst ass e Problem fir mech, well wann ech meng Artikele schreiwen, muss ech Iech weisen, wat ech soen 🙂 ech hunn e bësse gesicht, ech sinn op d'GNOME Screenshot Uwendung komm, e bësse "minimalistesch" fir ze soen. Ënnert senge Funktiounen ass et eng Écranregioun ze maachen, awer wat geschitt wann ech d'Foto net gutt gemaach hunn? Gutt, ech muss de Programm verloossen an erëm aginn, eppes langweileges bestëmmt, e Knäppchen dee seet "Wiederhuelen" oder sou eppes erlaabt mir eng nei Erfaassung ze huelen ouni erauszekommen an erëm eran ze kommen, géif mir hëllefen. Et ass e klengen programméiere Projet, ech hunn ni eppes am GNOME Kader programméiert, also offensichtlech hunn ech vill ze léieren ier ech mäi "Patch" mam neie Knäppchen schécken, awer ënnerwee léieren ech ze programméieren a mat e bësse Gléck ass et Fonktioun et wäert méi wéi een hëllefen wann et fir jiddereen verfügbar ass.

      Dëst ass e Beispill, et ass eppes einfach an datt sécher all aner "Expert" Programméierer et scho gemaach hätt, awer wéinst evidentem Zäitmangel war et net sou, elo sinn ech deen, deen d'Méiglechkeet huet ze maachen et, ouni tatsächlech e super Programméierer ze sinn.

      Elo ass et just un Iech fir eppes ze fannen dat Äert Liewen "méi einfach" maacht an där Software déi Dir sou dacks benotzt, d'Schéinheet vun deem ass datt wa mir de Rot folgen deen ech Iech an de folgenden Artikelen ginn, d'Sprooch wäert egal sinn, well Dir wësst d'Grondlage fir de Code ze verstoen deen Dir gelies hutt an ännert et fir ze maachen wat Dir wëllt, dat ass e ganz speziellt Gefill 🙂

      Gréiss an nach eng Kéier Merci

      1.    keen sot

        Ech denken datt nëmmen eemol ech de Gnome Captures Programm opgemaach hunn, ass dat einfachst fir op d'Tastatur Ofkierzungen ze goen an dräi Kombinatiounen ze drécken fir all Alt-Print ze erfaassen fir déi aktiv Fënster ze fänken an Super-Print fir eng Auswiel aus der Fanger ze maachen Regioun, déi verfügbar Ofkierzungen si scho verfügbar, et ass einfach eng Saach ze zielen

        1.    ChrisADR sot

          Duerfir gi mir Iech e Beispill 🙂 well kleng Saache wéi dee Knäppchen programméiere kënnen, si kënnen e puer hëllefen, well se vun aneren onbemierkt kënne goen, awer se erfëllen sécher d'Haaptzil, hëllefen ze léieren ze programméieren an nei Weeër ze ginn, No deem Knäppchen kënne vill Saache gestart ginn, wéi zum Beispill e Sessiounsmanagement, oder e Virschau-Bildschierm vun all de Fotoen déi gemaach goufen, oder kuerz, vill Saachen déi gemaach kënne ginn. D'Iddi ass datt Dir eppes fënnt wat Iech Äert Virwëtz spréngt, all Software déi op Ärem System leeft kann eventuell Verbesserungen oder nei Features brauchen déi wéinst Zäitmangel oder Personal nach net ëmgesat goufen 🙂

      2.    mvr 1981 sot

        Merci un Dech. si ganz gutt Äntwerten.

    2.    Bill sot

      Gutt, fir een deen net professionnel am Feld wäert sinn, wier et néideg ze gesinn an wéi engem Ëmfeld se schaffen, souwuel fir administrativ Aufgaben an Direktiven et kann interessant sinn ze wëssen, zum Beispill Python / Basic a wësse wéi fir Makroen a Bürospäck wéi LibreOffice oder MS Office ze programméieren. Et ginn Zäiten wou dëst vill Stonnen Aarbecht fir Iech oder aner Aarbechter späichere kann déi Iech ëmginn a se froen all repetitiv Aufgab ze maachen, Dir kënnt en Dashboard erstellen fir séier d'Haaptverhältnisser vun der Firma auszerechnen nodeems Dir mat der Datebank verbannt hutt an maachen e puer SQL Ufro.
      Wéi alles, wann Dir d'Handwierksgeschir wësst, da kënnt Dir iwwerleeën wéi Dir dat Bescht eraus kritt. Net alles ass gemaach.

  7.   Marcelo sot

    Guillermo, ganz averstan mat Iech, "Net alles gëtt erfonnt" a wat erfonnt ass ännert. Dir musst dat bescht aus den Tools kréien a benotzt deen deen am Beschten entsprécht.

  8.   Ricardo sot

    Fir ze programméieren ass déi éischt Sprooch fir ze léieren Englesch, dann déi déi se am meeschten usprécht a fir si am schéinsten ass.

    1.    ChrisADR sot

      Ech hat et net geschriwwen, awer richteg 🙂 Englesch wëssen hëlleft vill well déi meescht Sprooche dra geschriwwe sinn, awer och well déi méi grouss Unzuel un éischter Hand och 🙂 Villmools Merci fir d'Deelen

  9.   Ruben salgado sot

    Exzellenten Artikel, nieft motivéierend.

    1.    ChrisADR sot

      Ganz léif, villmools Merci 🙂 Gréiss

  10.   Gonzalo martinez sot

    Programméiere weess wéi ze resonéieren an dës Begrënnung an Instruktiounen z'iwwersetzen.

    Zwee Erklärungen iwwer den Artikel:

    1) Baséierend op meng Erfahrung als Programméierungsenseignant vu bal 10 Joer, ass et egal mat wéi enger Sprooch Dir léiert, awer wéi Dir léiert a wéi komplex se ass.

    Ech mengen datt eng Sprooch déi strukturéiert geléiert ka ginn an duerno op aner méi komplex Saache weidergoe méi einfach ass wéi mat enger Sprooch wéi Java vun Ufank un unzefänken.

    Et ass méi einfach eppes wéi eng Hello World an C oder Pascal als Basis ze léieren, wéi mat e puer Zeilen (PROGRAMM am Fall vu Pascal, oder #include Am Fall vun C) kënnt Dir ufänken den Algorithmus z'entwéckelen an de Programm mat senger Logik direkt ze kodéieren, wéi a Java, wat u sech eng Klass, eng Method, an e puer aner Saache brauch, déi fir en Ufänger eng Informatiounsiwwerbelaaschtung onnéideg ass, an dat ka gutt ignoréiert ginn an op aner Saache weidergoen, awer si si Konzepter déi do sinn, a menger Meenung no ass d'Siicht iwwer d'Saachen net e gudde Wee fir ze léieren, besonnesch wann d'Sprooch Iech zwéngt se ze benotzen. Et ass wéi d'Zilpraktik fir d'éischt mat engem M-16 unzefänken, a fir Méint am semi-automatesche Modus ze schéissen, de Grëff mat béide Hänn wéi eng Pistoul ze halen.

    2) Egal ob eng Sprooch interpretéiert oder zesummegestallt gëtt, hänkt vun hirer Ëmsetzung of, net vun der Sprooch selwer. Zum Beispill, wann Python benotzt gëtt, fir eng Web App déi wsgi benotzt (entweder mod_wsgi an Apache, oder uwsgi fir Nginx), gëtt de Python Code zesummegestallt beim Start vum entspriechende Modul, generéiert .pyc Dateien.

    Et ginn och binär Dateie Generatoren fir Java (déi natierlech Binarien generéieren amplaz Bytecode), oder Compiler vu php Scripten a reng Binarien.

    Wat se soen iwwer PHP, ass et einfach eng Sprooch entwéckelt an enger anerer Ära, mat anere Saachen am Kapp, an ouni Aspekter ze berécksiichtegen déi et deemools nach net gouf. Kloer, de Fakt datt et am meeschte benotzt gëtt mécht et net dat Bescht fir eppes op der Welt, awer et gëtt eng Realitéit: et ass d'Sprooch mat där et déi gréisste Chance ass fir eng Aarbecht an all Programméierung ze kréien. Wëssen datt et net wéi deet, och wann Dir et net gär hutt.

    Och ech, déi zënter e puer Joer als Systemadministrator geschafft hunn an den Job vum Entwéckler verlooss hunn, all sou dacks muss ech PHP Code an eppes setzen.

    1.    ChrisADR sot

      Salut Gonzalo, Merci fir d'Deelen,

      Bestëmmt schwätzt vun onnéideg Informatiounsiwwerbelaaschtungen, wëssend datt déiselwecht Sprooch interpretéiert oder zesummegestallt ka ginn ass eppes wat an dësem Stadium net néideg ass is Bestëmmt d'Ëmsetzung ass wichteg, awer wa mir soen datt op dësem Niveau generéiere mir net méi wéi Duercherneen. Am selwechte Wee ginn objektorientéiert Programméierungsfroen net behandelt, oder aner Konzepter déi no an no doséiert musse ginn fir d'Leit net schwindeleg ze maachen.

      Well de Raum limitéiert ass, ass d'Haaptzil vum Post de Lieser ze weisen, déi programméiere wëllen datt et zwou grouss Welte vu Sprooche gëtt, datt déi "traditionell" interpretéiert méi "einfach" sinn, datt déi "traditionell" zesummegesat e bësse méi sinn "komplex" awer datt et derwäert ass dee Komplexitéitsniveau e méi zolitt Verständnis ze hunn an datt et un all Persoun ass d'Sprooch ze wielen, well ofhängeg vun der Programméierungs Approche kënne se hir Liiblingsprojeten auswielen an gläichzäiteg kënne se verstoen wat se liesen an / oder schreiwen 🙂

      Merci nach eng Kéier, Gréiss.

      1.    Gonzalo martinez sot

        Dëst ass e Feeler, et gi keng kompiléiert oder interpretéiert Sproochen, et ginn Dolmetscher a Kompiléierter fir all Sprooch, béid fir verschidde Fäll.

        Et ass keng Informatiounsiwwerbelaaschtung et elo ze ernimmen, et ass e Feeler sou eng Ausso ze maachen. A menger Meenung no, wier et méi produktiv gewiescht d'Dolken ze ignoréieren, wann Dir net mat Informatioun iwwerluede wollt.

        1.    ChrisADR sot

          Merci fir d'Opklärung, ech wäert et berécksiichtegen wann ech zum Thema kommen. Prost

  11.   Ares sot

    Wéi eng Sprooch empfeelt Dir fir d'Server Säit wann Dir bedenkt datt php aus der Faveur gefall ass?
    Dat selwecht fir Datenbanken, ech weess net ob et eppes Besseres a méi modernes gëtt wéi mySQL.

    1.    ChrisADR sot

      PHP ass net aus der Faveur gefall ... All Sprooch huet säi Liewenszyklus, a php ass sécher schonn eng Sprooch déi an d'Skala vun "erwuesse" kënnt, wat et op Geschäftsniveau nëtzlech mécht, wou Stabilitéit virun allem ass ... Wéi e puer Banken wou et nach ëmmer a Java entwéckelt ass, wat méi "erwuesse" wéi php ass a sécher seng Follower an Ofleeger huet ... An net ze vergiessen COBOL ...

      Wann Dir wat Dir sicht Uniformitéit a Modernitéit ass, gëtt de Javascript ee vun de Favoritte vun de sougenannte "Full Stack Entwéckler", och wann de Rubinparadigma oder d '"Einfachheet" vum Python och gutt Referenze sinn…. Och Perl kéint d'Optioun sinn jee no Bedierfnesser 🙂

      Hautdesdaags hëlt den ORM (Objekt Bezéiungskaarten) vill Kraaft a Bezuch op Bezéiungsdatemanagement. Et geet vu SQL Syntax op Klass an Attribut Handling ... Bal all Sproochen (wann net all) handhaben e puer ORM.

      . Mongo DB ass eng Alternativ zu relationalen Datenbanken déi zimlech wichteg ginn ass; Et ass awer néideg seng Vir- an Nodeeler ze kennen a validéieren ob et déi bescht Léisung wier ofhängeg vum spezifesche Bedierfnes.

      Ech hoffen et hëlleft Iech, Gréiss 🙂

      1.    Ares sot

        Merci, ech kucken dat.

      2.    Ares sot

        Ech hunn vergiess.

        Wat empfeelt Dir mech fir mat JAVA op Linux ze schaffen?
        Wann Dir kënnt tëscht gratis an zougemaach besser ënnerscheeden.

        1.    ChrisADR sot

          Sonnendäischtert an NetBeans sinn oppe Quell, ech sinn net sécher ob et een ass déi reng gratis Software ass, ech hunn d'Gewunnecht Vim ze benotzen, well heiansdo mécht de Betrag vum Code eng ganz IDE lues a geféierlech fir Ausféierungsfeeler. Gréiss 🙂

        2.    Paul Zeta sot

          Fir mat Java a Linux ze schaffen, benotzen ech IntelliJ, ech recommandéieren Iech.

          1.    ChrisADR sot

            PS, IntelliJ ass propriétaire Software 🙂

  12.   je sot

    Kärelen erënnere sech och drun ... Ech schaffen an enger Bank an ech soen Iech datt Programméierungssproochen e Sëtz huelen fir SQL a gespäichert Prozeduren als éischt ze loossen.

    1.    Gonzalo martinez sot

      Dir musst se op déi gespäichert Prozedure berécksiichtegen, awer andeems Dir keng portable Sprooch tëscht Motore benotzt, op d'mannst a menger Erfahrung, ass et ëmmer drëm ze vermeiden, ausser et gëtt keng aner Optioun.