Pirmās programmēšanas valodas izvēle

Protams, tas ir viens no jautājumiem, kas visvairāk ienāk manā iesūtnē, runājot par programmēšanu. Ja mēs sāksim rakstu sēriju, kas ļaus jums iemācīties programmēt un atdot bezmaksas zināšanas ieguldījuma veidā bezmaksas programmatūras / atvērtā koda kopienām visā pasaulē, ir jāatbild uz šo pamata, ja nedaudz grūtu jautājumu. Kādu programmēšanas valodu man vajadzētu iemācīties?

Nedaudz vēstures

Lai sāktu saprast un izvēlēties programmēšanas valodu, mums vispirms ir nedaudz jāzina par viņu vēsturi, lietojumiem un funkcijām un to, kā viņi laika gaitā risina dažādas vajadzības.

Mašīnu valodas (zems līmenis)

Parasti pazīstams kā Montāža, ir programmēšanas valodas, kuras mēs varētu definēt kā vispārīgākas valodas dialektus ... Tas izklausās mazliet sarežģīti, bet es to parādīšu ... Mēs zinām, ka universālā skaitļošanas valoda ir elektrība, tas nozīmē, ka galu galā ir tas, ko lasa dators 0sy 1jā, sauksim šo edators angliski. Šajā piemērā spāņu valoda ir pamatnoteikums, taču, kā mēs labi zinām, latīņu valodas spāņu valoda nav tā pati, ko runā Spānijā, un pat tad Peru spāņu valoda nav tāda pati kā Argentīnas spāņu valoda. Acīmredzot mums visiem ir gandrīz vienādi vārdi (0sy 1s), taču lietojums un nozīme var atšķirties atkarībā no konteksta.

Tas notiek procesora līmenī. Kad mēs runājam par skaitļošanas arhitektūras, (amd64, intel, arm, ...) mēs atsaucamies uz tā dialektu dators spāņu. Tas ir tāpēc, ka dažādi uzņēmumi savā veidā saprot kārtību un nozīmi, tāpēc daži atšķiras pēc detaļām, piemēram, strāvas plūsmas vai kārtības, kādā tie tiks turēti. 0sy 1s.

Šīs programmēšanas valodas ir ļoti ātras, jo tās darbojas pēc iespējas zemākā programmēšanas līmenī, taču tās ir ļoti atkarīgas no arhitektūras un, protams, ir mazliet sarežģītāk iemācīties nekā pārējās. Lai pārveidotu datus un palaistos uz tiem noderīgas lietas, tiem bieži nepieciešama plašāka jēdzienu bāze. Videospēļu cienītājiem piemērs varētu būt SEGA konsoles, kuras izmantoja Assembly, lai programmētu savas spēles. Acīmredzot tajā laikā atmiņas apjoms bija minimāls, salīdzinot ar mūsdienām, un bija nepieciešams apgūt valodu, kas varētu būt ātra un radīt vieglas programmas.

Augsta līmeņa valodas

Šī lielā grupa domā par tām valodām, kuras nāca pēc tam Montāža. Nepieciešamība iegūt pārnēsājamu kodu noveda pie tā sauktās valodu grupas rašanās sastādīts. Starp tiem pirmais izmantoja C, kas kopš 70. gadiem dominē programmēšanā operētājsistēmas līmenī.

Apkopotas valodas

Apskatīsim praktisku piemēru tam, ko es komentēju. Apskatīsim ļoti vienkāršu C valodas programmu, kas izdrukā vienu koda rindu.

Pašu. Kristofers Diazs Riveross

Pēc tā sastādīšanas mums ir:

Pašu dizains: Christopher Díaz Riveros

Bet tagad redzēsim, kas mums būtu jāraksta, lai atkārtotu to pašu rezultātu asamblejas kodā:

Pašu. Kristofers Diazs Riveross

Šis ir mūsu 3 koda rindiņu tulkojums no simple.c, fails simple.s tiek izveidots, izmantojot komandu gcc -S simple.c un tas ir tas, ko mūsu procesors saprastu dialektā Montāža. Acīmredzot, lai izveidotu izpildāmo failu, kas sastāv no 0sy 1s fails ir jāapstrādā simple.s un savienojiet to ar mūsu sistēmas koplietojamām bibliotēkām. Tas tiek darīts, izmantojot a montētājs (as) un savienotājs (ld).

Apkopotās valodas sniedz lielas priekšrocības salīdzinājumā ar zema līmeņa valodām portatīvie. Pārnesamība nodrošina kodu, kuru var izpildīt dažādiem procesoriem, bez vajadzības ģenerēt īpašu kodu katrai arhitektūrai. Vēl viena acīmredzama priekšrocība ir vienkāršība, ko tā izmanto, lasot un rakstot kodu. Starp galvenajiem trūkumiem mums ir ļoti sarežģīta, jo salīdzinājumā ar šādiem valodu veidiem, kurus mēs redzēsim, C piedāvātā brīvība var būt kaitīga, ja jūs nezināt, kā kontrolēt, tas noteikti ir tāds pats kā ieroča nodošana , var gadīties, ka pieredzes trūkuma dēļ cilvēks, mēģinot notīrīt ieroci, pats nošauj savu kāju.

Interpretētās valodas

Šajā grupā mums ir ļoti dažādas valodas, starp tām svarīgākajām ir Python, Ruby, Javascript, PHP utt. Šo valodu pamatideja ir nodrošināt ātru veidu, kā izveidot un palaist programmas , tas ir tāpēc, ka daudzi sarežģītie procesi tiek veikti tulkotājā, un kodā tiek realizēta loģikas programmēšana. Apskatīsim to pašu piemēru iepriekš, bet šoreiz rakstīts Python:

Pašu. Kristofers Diazs Riveross

Starp izcilākajām lietām mēs varam redzēt, ka pirmā rinda ir atbildīga par tulka izsaukšanu (programma, kas izpildīs mūsu lietojumprogrammu), un nākamais kods ir vairāk "vienkāršs" nekā tā versija C, jo viss smagais darbs ir veic ar tulku.

Pašu. Kristofers Diazs Riveross

Interpretētās valodas nodrošina izstrādātājam lielāku drošības līmeni, jo viņiem ir stingrāka drošības kontrole (UZSKATIES, ka tās nav ideālas, jo pat labākie var pieļaut kļūdas), un mēs vairs neciešam risku izšaut ieroci, nemanot tā kā jau pirmajā mēģinājumā tulks izteica trauksmi un izpilde tika atcelta. Galvenais trūkums kļūst acīmredzams, izpildot programmu, jo tā ir lēnāka nekā tā binārā partnere, tieši tāpēc, ka ir iespējams apstrādāt vairāk, lai varētu nodrošināt koda darbību. Ja programmai nav nepieciešami ārkārtīgi īsi termiņi, atšķirība var palikt nepamanīta, taču, ja mēs runājam par tūkstošiem vai miljoniem datu sekundē, atšķirība kļūst eksponenciāli pamanāma apkopotajās valodās.

Rakstīt

Tas ir raksturīgs programmēšanas valodām, tādas var būt stingri vāji drukāts. Es atstāšu šo tēmu citai ziņai, jo ir nepieciešams un interesanti saprast, kā atmiņa tiek glabāta programmā, taču pagaidām mums ir tikai jānošķir: Stingri ierakstītas valodas ir tās, kurām ir jāzina notiekošo datu veids. jāstrādā pie mainīgā vai konstanta, bet vāji veidi var veikt reklāmguvumus tā netiešs un viss būs atkarīgs no reklāmguvumu hierarhijas, kurai sekos valoda. (ja to tagad nesaprot, nav problēmu, mēs to atstāsim vēlāk)

paradigmas

Tāpat kā viss GNU / Linux pasaulē, arī programmēšanas valodas ir balstītas uz paradigmām, un ap tām tiek veidotas kopienas. Piemēram, mums ir Python fonds o rubīns o PHP o Bash (šajā gadījumā tā ir GNU kopiena). Ko es vēlos panākt ar to, ka es nevaru izteikt lielo plusu un mīnusu skaitu, kas katram ir, bet es varu jums pateikt, ka tur, kur ir bezmaksas programmēšanas valoda, ir kopiena, kurā mācīties un piedalīties. Ir vērts pieminēt, ka daudzi, ja ne visi valodas tulki ir rakstīti C vai daži tuvi atvasinājumi, un viņu attīstību parasti veic mazāka kopienas grupa, kas ir atbildīga par lēmumi, kas ietekmēs visus valodas lietotājus. Institūcijas var pat izveidot, lai nodrošinātu pareizu valodas attīstību, kā tas ir C gadījumā.

Kuru izvēlēties?

Mēs jau esam pietiekami daudz runājuši par valodām, un es joprojām neatbildu uz vissvarīgāko lietu 😛. Bet es ceru, ka pēc šī nelielā raksta pārskatīšanas man nav jāpasaka, kuru valodu izvēlēties, jo ar šo informāciju jūs pilnībā spējat meklēt ziņkārību. Acīmredzot, ja vēlaties iemācīties programmēt valodā Montāža paies ilgs laiks, līdz jums būs kaut kas funkcionāls, laiks ievērojami samazināsies, ja izvēlēsities kompilētu valodu, kurā papildus pārnēsājamībai * NIX sistēmās varēsit uzzināt arī informāciju par operētājsistēmas darbību. tā pati sistēma, jo, kontaktējoties ar C vai atvasinājumiem, jūs vienā vai otrā veidā uzzināt, kā operētājsistēma darbojas vispārīgi. Visbeidzot, ja vēlaties uzzināt kaut ko vieglu un tas ļauj daudz paveikt bez nepieciešamības daudz saprast, tulkotās valodas ir jautrs veids, kā mācīties un attīstīt programmēšanas prasmes.

Mācieties ar kaut ko aizraujošu

Tas ir labākais padoms, ko varu jums sniegt, ja vēlaties kaut ko iemācīties, vispirms jāatrod kaut kas aizraujošs, pretējā gadījumā būs diezgan grūti pārvarēt visu programmēšanas valodu tipisko mācīšanās līkni. Pieņemsim, ka jūs pārvaldāt sistēmas, tādā gadījumā jums, iespējams, būs jāiemācās ideāla valoda skriptu (interpretēts), tajos mums ir Perl, Python, Bash utt. utt. Varbūt jūsu lieta ir spēles, ir daudz projektu tādās valodās kā Javascript, Lua, C ++, atkarībā no spēles veida, kuru vēlaties spēlēt. Varbūt jūs vēlētos izveidot rīku sistēmas līmenī, jo mums ir C, Python, Perl, kā redzēsit, daži no tiem tiek atkārtoti, un tas ir tāpēc, ka daudziem uzdevumiem var izmantot daudzas valodas, tāpēc definīcija daudzfunkcionālas valodas lielākajā daļā šo.

Sāciet projektu

Ar to es negribu teikt, ka jūs izveidojat šādu kompilatoru vai pat nākamo programmēšanas valodu. Projekts var būt nelielas kļūdas novēršana jūsu iecienītākajā programmā, varbūt pat dokumentācijas uzlabošana. Kāpēc dokumentācija? jo nav labāka veida, kā uzzināt, kā programmatūra darbojas, nekā lasot un palīdzot uzrakstīt tās dokumentāciju, jo pēc pirmkoda tas ir lielākais informācijas avots, ko atradīsit par programmu. Citā brīdī mēs redzēsim, kā lasīt projekta kodu un saprast funkcijas un vērtības, ko tie iegūst.

Liels paldies par nokļūšanu šeit, un, kā vienmēr, jūsu komentāri palīdz man ģenerēt labāku saturu un zināt, kur koncentrēties. Sveicieni.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   anonīms teica

    Kā vienmēr 10 !!!!!! Paldies par jūsu rakstiem. Sveicieni un vēl kas vēl !!!!

    1.    KrissADR teica

      Liels paldies 🙂 mudina mani turpināt rakstīt. Priekā

  2.   Ruben teica

    Es domāju, ka ir kļūda uzdot jautājumu "kuru valodu izvēlēties?" Es esmu viens no tiem, kas domā, ka valoda ir mazākā no tām, svarīgi ir apgūt programmēšanas pamatus un "domāt skaitļošanas veidā". Izlemiet sintaksi, tās rakstīšanu, ja tā atbalsta OOP, tās lietderību utt. Es domāju, ka tas ir kaut kas, kas studijā notiks dabiski, un galu galā katrs programmētājs zina vairāk nekā 1, 2 un 3 valodas ... un, pateicoties viņam piederošajām programmēšanas koncepcijām (nevis sintaksei), viņš var programmēt valodā, kurā jums vēl nav pieredzes.
    Tomēr iesāktajam es domāju, ka laba valoda var būt Python tās vienkāršības dēļ, bet galvenokārt ejiet nedaudz tālāk, izpētiet algoritmus un zināt, kā lietas darbojas "iekšpusē".

    Sveiciens ChrisADR

    1.    KrissADR teica

      Sveiks, Ruben, paldies par dalīšanos
      Ir kaut kas, ko laika gaitā esmu iemācījies programmēšanas pasaulē, un tas ir tas, ka "tas, kurš daudz pārklāj, nesaspiež", un ar šo labi zināmo frāzi es domāju, ka daudzas reizes, un jo īpaši visvairāk entuziasma, nolemj izmēģiniet visu mazliet, un jums ir ļoti ātri pagriezieni attiecībā uz to, kā jūs iemācāties kodēt. Es uzskatu, un tas ir mans personīgais viedoklis, ka labam izstrādātājam jāzina un jāapgūst kompilatora valoda un tulka valoda, turklāt tam ir jēdziens par kādu asamblejas dialektu.
      Iemesls ir šāds: prototipam vienmēr jābūt kaut kam vienkāršam un ātram, viegli ģenerējamam, un tas parasti parāda rezultātu, bet, ja ar to nepietiek, ir jābūt "B plānam", pie kura jāizmanto, kad tulks ir ieradies tā robeža.
      Asamblejas dialekta zināšana ne tikai dod jums pārliecību, bet arī māca domāt "skaitļošanas veidā", taču acīmredzot šī daļa ir vissarežģītākā, un tas noteikti ir kaut kas, pie kā ne visi programmētāji nāk.
      Bet, atgriežoties pie tēmas, jo galvenā ideja, manuprāt, ir "izvēlēties valodu un praktizēt DAUDZ", jo patiesībā vienīgais veids, kā veiksmīgi strādāt programmēšanā, ir lasot un rakstot kodu, un tas ir tas, no kā esmu mācījies kodola kopiena Ja ilgu laiku turat to pašu sintaksi, jūs vairs neredzat veidlapu un sākat uztraukties par PAMATOJUMU. Valodas vai sintakses izvēles ideja jau no paša sākuma ir tāda, ka cilvēks var pieradināt tās lasīšanu un rakstīšanu tā, lai varētu sākt lasīt programmas Nozīmi programmas sintakses vietā.
      Tas ir galvenais šī ieraksta iemesls, ka katrs izvēlas savu valodu, lai turpmāk mēs varētu izskaidrot jēdzienus, varbūt ar to šaubas tiek noskaidrotas 🙂
      Sveiciens un paldies par dalīšanos.

  3.   Deibis Contreras teica

    paldies par amatu tas bija labs.

    Sveicieni

    1.    KrissADR teica

      Sveiks Deibis, paldies par dalīšanos 🙂 Sveicieni

  4.   HorheFS teica

    Mans padoms: jebkas cits, izņemot PHP. Pirms 20 gadiem PHP bija zināma sava pastāvēšanas jēga, pateicoties augstajam sarežģītības līmenim, kas programmēja Web citā valodā, izmantojot CGI. Bet šodien ir daudz dažādu sistēmu, lai padarītu Web izstrādi daudz patīkamāku spēcīgās valodās, piemēram, Django for Python, Spring for Java vai Rails for Ruby. Lai gan PHP pašlaik parādās visās valodu popularitātes diagrammās, manuprāt, PHP laika gaitā zaudēs savu nozīmi.
    Es ļoti iesaku sākt ar C \ C ++, lai saprastu programmēšanas realitāti, kaut arī mācīšanās līkne ir stāva.
    Sveicieni.

    1.    KrissADR teica

      Sveiks, Jorge, paldies par dalīšanos, tikai atceroties Laravel, kas ir diezgan stabila Framework mí, kas man personīgi nekad nav paticis pavasaris vai Java tīmekļa izstrādei, es uzskatu, ka tas ir diezgan apgrūtinošs, bet es domāju, ka tas ir daļa no laika, kurā viņi ir bijuši tirgū, tajā laikā, kad viņi bija pionieri, un noteikti mūsdienīgas alternatīvas (Js, Python un Ruby) ir spējušas uzlabot koda uzrādīšanas veidu, kas ir lasāms un modificējams bez daudz darba.
      Es esmu nosliece arī uz to, ka cilvēki kādā dzīves posmā mācās C / C ++. Es sāku ar Java, taču es domāju, ka tas ir programmēšanas skaistums. Jūs varat sākt ar visu, ko vēlaties, ja vien esat konsekventi tas būs esi noderīgs 🙂 Priekā

    2.    Ruben teica

      Es vairs nevaru jums nepiekrist. Es sāku pirms daudziem gadiem ar C un VB, lai vēlāk pievērstos PHP un JS (kopš es koncentrējos uz tīmekļa izstrādi) un vēlāk studējot, es galvenokārt apguvu C / C ++ un Java.
      PHP ir vairākas priekšrocības, kuras es nevarēju uzskaitīt šajā ziņojumā. PHP7 ir ātrs (ātrāks nekā Python ... neizmantojot hhvm, dažādas kešatmiņas, ietvarus, piemēram, Phalcon vai bytecode Python gadījumā), tam ir milzīgs bibliotēku un ietvaru skaits, tam ir milzīgs daudzums tieši īstenotu funkciju, ko izmantot tās jebkurā laikā, tās C līdzīgā sintakse ļoti atvieglo migrāciju uz citām valodām.
      30% vietņu visā pasaulē tiek veidotas, izmantojot WordPress (PHP), un tas, šķiet, nemainās, Vikipēdija to izmanto, Facebook (ar hhvm) un lielu skaitu vietņu, kopā 80%.

      Es jums atgādinu, ka tādam Ruby on Rails kā Django ir 12 gadi! Kādu kvotu viņi ir sasnieguši šajā laikā? Un, protams, mēs runājam par 2 ietvariem, kuriem praktiski ir monopols un nav sadrumstalotības veida. Kādas citas nopietnas alternatīvas man ir? Sakot, ka PHP zaudēs savu nozīmi, ir ļoti maz jēgas.

      Tagad, kad Python ir modē, jo tam ir ātra mācīšanās līkne, tā ir vienkārša valoda, un viņi to pārdod jums kā «20 stundu laikā ar Python kļūsiet par programmētāju un strādājiet pie tā» ar tādu uzņēmumu atbalstu kā Google un tas, ka tagad ir mode meklēt jaunas valodas (Go, Dart ...), lai atšķirtu sevi CV (vai kā Javascript 50 sistēmu ikdienas piedzimšana!), nenozīmē, ka lietas mainās.

      Rubīns ir ļoti interesanta valoda, taču tā tik ļoti atdalās no iedibinātajiem modeļiem, ka man ir grūti noticēt, ka tā kļuva populārāka nekā PHP. Protams, man šķiet, ka Rubīns ir vissliktākā valoda, no kuras sākt programmēt.
      Es saprotu, ka jūs man sakāt, ka Python var būt patīkami programmēt, pat Ruby ar daudzajām īpatnībām ... bet Spring with Java? Tiešām? Java var būt daudz kas ... bet patīkamāks nekā Python un PHP?

      Viss ir ļoti labi sākt ar Python, taču, turoties tikai pie Python, jūs riskējat, ka daudzi uzņēmumi uzskatīs, ka jūsu programmēšanas līmenis nav "dziļš" (pat ja jūs ļoti labi darbojaties Python). Tas notiek tāpēc, ka jūs konkurējat ar citām daudzfunkcionālām valodām, piemēram, C ++ vai Java. Jūs varat ieprogrammēt Python, nezinot atšķirību, kas pie velna ir rādītājs, darbības pa bitēm, kā darbojas atkritumu savācējs un kāda gara utt.
      Python, iespējams, ir vismazāk līdzīgs "klasiskajai programmēšanai", kas pastāv un ko var uzskatīt par "bērnu valodu" (iegūstiet metaforu), un tas savukārt ir priekšrocība un trūkums.

      1.    HorheFS teica

        "Python, iespējams, ir vismazāk līdzīgs" klasiskajai programmēšanai ", kas pastāv un ko var uzskatīt par" valodu bērniem "(saprotiet metaforu), un tas savukārt ir priekšrocība un trūkums." LOL, šī ir viena no smieklīgākajām lietām, ko redzēju teikto par Python. Vai jūs kādreiz patiešām esat iemācījies Python?
        Cik ilgi tas ir bijis visā pasaulē ārpus PHP?
        Draugs PHP ir dzimis miris. PHP (\ d +) tas ir ļoti apgrūtināts ļoti slikta sākotnējā dizaina dēļ, un, lai uzturētu lietotāju kopienu, tas turpina ļoti rūpīgi vilkt visas šīs sākotnējās dizaina kļūdas. PHP ir dzimis bez modularitātes, ar daudzām C stila funkcionalitātēm (kuras, starp citu, es nezinu, no kurienes jūs to ieguvāt, jo tās sintakse ir līdzīga C, to var viegli pārnest uz citām valodām). Augsta līmeņa valodai, kā vajadzētu izturēties PHP, ir tik neglītas lietas kā šī funkciju taka, kas norādīta tās oficiālajā vietnē http://php.net/manual/en/indexes.functions.phpTas ir tāpēc, ka tas ir dzimis bez modularitātes, tāpēc viss ir netīri sajaukts un bez nosaukumvietām.
        Šis ir PHP koda gabals:
        "Stream_notification_callback");
        straume_konteksts_parametri ($ ctx, $ params);
        var_dump (straumes_konteksta_get_params ($ ctx));
        ?>
        kādā brīdī var noteikt, no kurienes visas šīs “straumes” funkcijas tika importētas? NĒ, tad jūs varētu teikt, ka tās ir buildin funkcijas, bet vai visa ekosistēma ir buildin funkcijas? Tātad PHP kodā ir daudz atkritumu, un, ja jūs nespējat saprast tik slikta dizaina sarežģītību un bezjēdzību, piedodiet man, bet tam joprojām ir daudz pasaules, ko redzēt.
        Wordpress ir lielisks programmatūras risinājums, taču tas nenozīmē, ka tam ir laba tehnoloģiskā bāze. Jūs varat metināt ar akmeni un izdzīt nagus ar zobiem, un jūs joprojām varat veikt lieliskus galdniecības darbus, bet, protams, ar daudz vairāk darbu nekā cits galdnieks, kurš izmanto labu āmuru.

        No otras puses: "20 stundu laikā kopā ar Python kļūsti par programmētāju un strādā pie tā", es nekad neesmu redzējis tik stulbumu. Jūs varat izveidot vietni PHP 20 stundu laikā un nezinot, kā darbojas tīmekļa programmēšana vai pati programmēšana. Patiesībā tieši tāpēc PHP ir tik populāra, jo iesācēji, ienākot šai pasaulē, PHP uzskata par straujas attīstības punktu (tieši tāpēc tik daudz PHP koda iesūcas).
        Attiecībā uz Python trūkumiem vienīgais, kurā tas bija veiksmīgs, bija darbs ar rādītājiem, taču jebkurā gadījumā Python ir augsta līmeņa valoda (tāpat kā Java), un sintakses līmenī tas tos neizmanto; bet operācijas pa bitēm, nopietnas?, jūs domājat šo x << y, x >> y: https://wiki.python.org/moin/BitwiseOperators. Es nopietni daudz mazāk sapratu atkritumu savācēju lietu: https://docs.python.org/3/library/gc.html.
        PHP nepilnības:
        -PHP ir ļoti slikts objektorientētās programmēšanas (OOP) dizains.
        -Jūs vēl nevarat pārslogot operatorus.
        -Pārsteigums, function overloading PHP tas nav tas, ko jūs dabiski sagaidāt no šī jēdziena.
        ... .. un man vienkārši apnika hehe.
        Sveicieni.

        1.    Ruben teica

          Es ievietoju iekavās "saprast metaforu" (salīdzinot Python ar C ++ / Java tajā pašā darba vidē), ir skaidrs, ka jūs to nesapratāt. Es varētu jums pateikt, ka C ++ programmētājs var apgūt Python daudz ātrāk nekā Python programmētājs var iemācīties C ++, tāpat kā nav pārsteigums, ka vidējā C / C ++ programmētāja alga ir augstāka par Python viens.
          Es jums to varētu paskaidrot ar citiem piemēriem, pat ar zīmējumu! bet šķiet, ka jūs koncentrējaties tikai uz dekontekstualizāciju un izsmieklu, ko es ieliku.

          Nekad neesmu teicis, ka PHP ir labākā valoda pasaulē vai ka tai ir priekšzīmīgs dizains, es nezinu, no kurienes jūs to iegūstat. Es domāju, ka, pirms vērtējat citu zināšanas, jums jāuzlabo izpratne par lasīšanu. Patiesība (un es teicu savā ziņojumā) ir tā, ka attīstīties kopā ar to ir ļoti veikls, papildus visai ietvaru, bibliotēku un utilītu ekosistēmai, kuru jūs varat atrast.
          Arī kādu salīdzinājumu mēs veicam? Python kā daudzfunkcionāla valoda vai tīmeklim? Kāpēc tādā gadījumā mēs to salīdzinām ar PHP? PHP ir noteikts lauks, un tieši tajā laukā Python (ar 0.2% daļu, kas visu gadu nav mainījies) nobāl blakus PHP.
          Tagad mēs redzēsim PHP tendences; no 82,4% 2017. gada janvārī līdz 83.1% 2018. gada janvārī: https://w3techs.com/technologies/history_overview/programming_language

          Vai Python tronēs PHP? Kurā gadā? pēc kādiem pieciem gadiem? desmitgade?
          Python varēs izmantot daudzos citos uzdevumos un pat kļūt plašāk izmantots nekā PHP, taču Python kā tīmekļa izstrādes valoda ir gaismas gadu attālumā no tā, ka tā pat nav aktuāla, 0.2% stagnē pret 83.1% (ar pieaugumu šogad) .

          Jūs arī uzskatāt lietas par pašsaprotamām, sakot, ka es neeju apkārt ārpus PHP, dodot mājienu, ka es zinu tikai PHP, kad precīzi neesmu sen ieprogrammējies PHP Pašlaik darba apsvērumu dēļ pārsvarā programmēju Java.
          Es arī neesmu teicis, ka, programmējot Python, jums nav zināšanu par bitwise, atkritumu savācēju vai rādītāju. Drīzāk jūs varat programmēt Python, pat nezinot, kas tas ir. Tomēr es ļoti šaubos, vai tas būtu gadījumā ar C ++ programmētāju. Un acīmredzot es veicu salīdzinājumu, kad Python ienāk šajā "daudzfunkcionālās valodas" laukā, nevis tīmekļa programmēšanai.

          Kļūt par programmētāju 20 stundu laikā ir vienkārši joks, pārspīlējums. Tomēr es šeit varētu ievietot dažādas saites par tiešsaistes izglītības platformām un kursiem, kas sola līdzīgas lietas. Nevainojiet mani, pārmetiet to darba tirgum, kas domā, ka kļūšana par “ekspertu programmētāju” ir 20 stundu kursu apgūšana. Un Python ir viena no modernākajām valodām, kā arī ar ātrāko mācīšanās līkni ... balta un pudelē.

          Es uzstāju, ka jūs balstāt savu ziņojumu, sakot, cik slikta ir PHP (kas, protams, es piekrītu). Man tas šķiet pareizi, izņemot to, ka mans vēstījums nav par to, bet kāpēc PHP turpinās izmantot, un tas nezudīs rīt, kā jūs domājat.

          Sveiciens

  5.   neviens teica

    C -> Go -> (Lisp | Haskell | Java | neatkarīgi no tā)

    1.    KrissADR teica

      Nesen kāds lasītājs uz manu e-pastu man nosūtīja ieteikumu par Go grāmatu, noteikti valodu, kas jāņem vērā nākotnē un par kuru, iespējams, šeit būs ieraksts.

  6.   mvr1981 teica

    Nu ... un ko es programmēju? Kāpēc šodien mācīties programmēšanas valodu kopā ar tik labiem un pieredzējušiem programmētājiem, kas jau pastāv? Kādas problēmas es varu atrisināt, ko citi vēl nav atrisinājuši daudz efektīvākā veidā?… Īsāk sakot: cik oriģināls mūsdienās ir programmētājs? Kā es varu sadarboties ar citiem bez zināšanu un pieredzes trūkuma, lai netiktu spiests vai izslēgts?

    1.    KrissADR teica

      Sveiki mvr1981, patiešām interesanti jautājumi 🙂 mēs tos satinēsim no pēdējā līdz pirmajam.

      Kā es varu sadarboties ar citiem bez zināšanu un pieredzes trūkuma, lai netiktu spiests vai izslēgts?

      Ja jūs nevēlaties, lai jūs iesit, pirmais solis ir iemācīties procesu, jūs nevarat iedomāties to cilvēku skaitu, kuri nāk uz projektiem, kuri vēlas darīt lietas tikai savā veidā, vēloties, lai sabiedrība pielāgotos viņu vēlmēm. Tas noteikti ir tāds, ka es atnāku uz tavu māju un uztaisu putru un necienu tavu ģimeni (tā tas jūtas daudzas reizes). Ja vēlaties, lai tas nenotiktu, pievērsiet īpašu uzmanību ieguldījuma vadlīnijām, līdzekļiem, ar kuriem to darīt, un nesūtiet kaut ko nepilnīgu, ja jums nepieciešama palīdzība, saziņai vienmēr ir iespējas, taču slikts darbs, iespējams, radīt sliktus pirmos iespaidus. Ja jūs nevēlaties izslēgt sevi, tas ir atkarīgs no jums, jūs varat redzēt viņu kā bezjēdzīgu programmētāju, kurš nezina, ko viņš dara, vai to, kurš ir ceļā, lai kļūtu par izcilu programmētāju, un tas notiek tikai ar praksi un noteikti ar kļūdām pa ceļam. Pirms sava izstrādātāja statusa iegūšanas Gentoo esmu kļūdījies daudzas reizes, un tas mani neatturēja mēģināt, neskatoties uz “slikto laiku”.

      Cik oriģināls ir būt programmētājam šodien?

      -Runa nav par oriģinalitāti, tā ir nepieciešamība mūsdienās, padomājiet tikai par sekojošo, pirms 20 vai 30 gadiem rakstīšana bija nepieciešamība, daudzi darbi secināja, ka jūs to zināt vai vismaz spējat. Šodien, zinot, ka Office ir nepieciešama, praktiski nav darba, kas nenostādītu jūs Office dokumentu priekšā. Rīt, pavisam drīz, programmēšana būs nepieciešama. Un tas attiecas arī no personiskā viedokļa, zinot, kas notiek programmās, kurām jūs uzticat tik svarīgas lietas kā savu naudu, veselību, ģimeni, man ir kaut kas loģisks, jo jūs varat uzzināt viņu ierobežojumus tikai tad, ja zināt, kā viņi strādāt un, lai to zinātu, jums jāzina, kā programmēt.

      Kādas problēmas es varu atrisināt, ko citi vēl nav atrisinājuši daudz efektīvāk?

      -Tevi pārsteigtu summa funkcijas kas šodien ir nepieciešami, un patiesību sakot, nav svarīgi, vai sabiedrībā ir labākie programmētāji pasaulē, darbs vienmēr būs lielāks par izstrādātāju darbaspējām, es to varu pārbaudīt Gentoo, tur ir cilvēki, kas izstrādā kodolu, cilvēki, kas strādā Google, Sony utt. utt. ... vienīgais, kas mums visiem ir kopīgs, ir tas, ka nevienam nav tik daudz laika, cik viņš vēlētos, lai varētu paveikt visus gaidītos darbus.

      Kāpēc šodien mācīties programmēšanas valodu kopā ar tik labiem un pieredzējušiem programmētājiem, kas jau pastāv?

      -To atbild uz otro jautājumu 😉 Bet tagad es varu piebilst, ka paaudzēm jāspēj atbalstīt jau izstrādāto darbu, ar to es domāju, ka tie "pieredzējušie" izstrādātāji pamazām pazudīs un tas būs vajadzīgs " jaunāki »Izstrādātāji uzņemas atbildību un palīdz uzturēt ciklu dzīvu. Kopiena, kurā nav jaunu un nepieredzējušu cilvēku, laika gaitā mēdz pazust tieši tāpēc, ka nebūs iespējas nodot zināšanas.

      Un ko es plānoju?

      -Tas ir varbūt visgrūtākais, uz ko atbildēt, bet es mēģināšu jums sniegt poco piemēru, kuru es nesen sāku ciest no problēmām ar GNOME 24 un tā savienojumu ar Wayland, kas neļauj tādām programmām kā Shutter veikt ekrānuzņēmumus. Šī man ir problēma, jo, rakstot rakstus, man jums jāparāda, ko es saku, mazliet paskatoties apkārt, es nonācu GNOME ekrānuzņēmuma lietojumprogrammā, lai neteiktu vairāk. Starp tās funkcijām ir arī ekrāna apgabala uzņemšana, bet kas notiks, ja es neuzņemtu fotoattēlu labi? Nu, man ir jāpamet un atkārtoti jāieiet programmā, kaut kas noteikti ir garlaicīgs, man palīdzētu poga ar uzrakstu «Pārņemt» vai kaut kas tamlīdzīgs, kas ļauj man uzņemt jaunu ierakstu bez nepieciešamības atstāt un ievadīt vēlreiz. Tas ir mazs programmēšanas projektu, es nekad neko neesmu ieprogrammējis GNOME sistēmā, tāpēc acīmredzot man ir daudz jāmācās, pirms sūtot savu "ielāpu" ar jauno pogu, bet pa ceļam es iemācos programmēt un, cerams, arī šo iezīme tas būs noderīgs vairāk nekā vienam, kad tas būs pieejams visiem.

      Šis ir piemērs, tas ir kaut kas vienkāršs un to noteikti varēja izdarīt jebkurš cits "eksperts" programmētājs, taču acīmredzama laika trūkuma dēļ tas tā nav bijis, tagad es esmu tas, kuram ir iespēja to izdarīt to, patiesībā neesot superprogrammētājs.

      Tagad tikai jums ir jāatrod kaut kas, kas padarītu jūsu dzīvi "vienkāršāku" programmatūrā, kuru jūs tik bieži izmantojat, jo skaistums ir tas, ka, ja mēs sekosim tālāk sniegtajos rakstos sniegtajam ieteikumam, tam nebūs nozīmes, jo jūs zināt pamatus, lai sāktu saprast lasīto kodu un pārveidotu to, lai darītu to, ko vēlaties, tā ir ļoti īpaša sajūta 🙂

      Sveiciens un vēlreiz paldies

      1.    neviens teica

        Es domāju, ka tikai pēc tam, kad esmu atvēris gnome captures programmu, visvieglāk ir pāriet uz īsinājumtaustiņiem un piešķirt trīs kombinācijas print, lai uzņemtu visu alt-print, lai tvertu aktīvo logu, un super-print, lai veiktu atlasi no tveršanas reģionā, pieejamie īsinājumtaustiņi ir šeit, tas ir tikai to piešķiršanas jautājums

        1.    KrissADR teica

          Tāpēc mēs sniedzam jums piemēru 🙂, jo mazas lietas, piemēram, šī poga, tiek programmētas, tās var palīdzēt dažiem, jo ​​citi var palikt nepamanīti, taču tie noteikti atbilst galvenajam mērķim, palīdz iemācīties programmēt un dod vietu jaunām funkcijām, Pēc šīs pogas var sākt daudzas lietas, piemēram, sesijas pārvaldību vai visu uzņemto fotoattēlu priekšskatījuma ekrānu, vai arī īsumā daudzas lietas, ko varēja izdarīt. Ideja ir tāda, ka jūs atradīsit kaut ko tādu, kas liek jums zinātkārei, jebkurai programmatūrai, kas darbojas jūsu sistēmā, var būt nepieciešami uzlabojumi vai jaunas funkcijas, kas laika vai personāla trūkuma dēļ vēl nav ieviestas 🙂

      2.    mvr1981 teica

        Pateicoties tev. ir ļoti labas atbildes.

    2.    Rēķins teica

      Nu, kādam, kurš nebūs šīs jomas profesionālis, būtu nepieciešams redzēt, kurā vidē viņš strādā, gan administratīvajiem uzdevumiem, gan direktīvām var būt interesanti uzzināt, piemēram, Python / Basic un zināt, kā lai programmētu makro biroja paketēs, piemēram, LibreOffice vai MS Office. Ir gadījumi, kad tas var ietaupīt daudzas darba stundas jums vai citiem darbiniekiem, kuri jūs ieskauj un lūdz viņus veikt jebkuru atkārtotu uzdevumu. Jūs varat izveidot informācijas paneli, lai ātri izveidotu uzņēmuma galveno attiecību pēc savienojuma izveidošanas ar tā datu bāzi un veikt kādu SQL vaicājumu.
      Tāpat kā viss, ja zināt rīkus, kas jums ir pa rokai, varat domāt par to, kā maksimāli izmantot to. Ne viss ir izdomāts.

  7.   Marcelo teica

    Giljermo, pilnībā piekrīti tev, "Ne viss ir izgudrots", un tas, kas ir izgudrots, ir modificējams. Jums ir maksimāli jāizmanto rīki un jāizmanto tas, kas vislabāk atbilst jūsu vajadzībām.

  8.   Ricardo teica

    Programmēšanai vispirms jāapgūst angļu valoda, pēc tam tā, kas viņus visvairāk uzrunā un šķiet skaistākā.

    1.    KrissADR teica

      Es to nebiju uzrakstījis, bet patiess 🙂 angļu valodas zināšana ļoti palīdz, jo tajā tiek rakstīta lielākā daļa valodu, bet arī tāpēc, ka lielāks pirmās puses informācijas daudzums arī liels paldies par dalīšanos

  9.   Rubeens Salgado teica

    Izcils raksts, papildus motivēšanai.

    1.    KrissADR teica

      Ļoti laipns, liels paldies 🙂 Sveiciens

  10.   Gonzalo Martinez teica

    Programmēšana ir zināt, kā pamatot un pārveidot šo pamatojumu instrukcijās.

    Divi skaidrojumi par rakstu:

    1) Pamatojoties uz manu gandrīz 10 gadu programmēšanas skolotāja pieredzi, nav svarīgi, ar kādu valodu jūs mācāties, bet gan tas, kā jūs mācāties un cik sarežģīts tas ir.

    Es domāju, ka valoda, kuru var iemācīties strukturētā veidā un pēc tam pāriet uz citām sarežģītākām lietām, ir vieglāka nekā sākt ar tādu valodu kā Java no sākuma.

    Vieglāk ir iemācīties kaut ko līdzīgu Hello World C vai Pascal kā bāzi, nekā ar dažām rindiņām (PROGRAM Pascal gadījumā vai #include C) gadījumā jūs varat sākt izstrādāt algoritmu un tieši kodēt programmu ar tās loģiku, tāpat kā Java, kam pašam ir nepieciešama klase, metode un dažas citas lietas, kas iesācējam ir nevajadzīga informācijas pārslodze, un to var arī ignorēt un pāriet uz citām lietām, taču tie ir jēdzieni, kas ir, un, manuprāt, lietu neievērošana nav labs veids, kā mācīties, it īpaši, ja valoda liek jums tās lietot. Tas ir tāpat kā pirmo reizi uzsākt mērķa treniņu ar M-16 un mēnešiem ilgi šaut pusautomātiskā režīmā, turot rokturi ar abām rokām kā pistoli.

    2) Tas, vai valoda tiek interpretēta vai kompilēta, ir atkarīgs no tās ieviešanas, nevis no pašas valodas. Piemēram, ja tiek izmantots Python, tīmekļa lietotnei, kas izmanto wsgi (vai nu mod_wsgi apache, vai uwsgi Nginx), pitona kods tiek apkopots, startējot atbilstošo moduli, ģenerējot .pyc failus

    Ir arī binārie failu ģeneratori Java (kas ģenerē vietējos bināros failus baitkodu vietā), vai arī PHP skriptu kompilatori tīros bināros failos.

    Runājot par to, ko viņi saka par PHP, tā ir vienkārši valoda, kas izstrādāta citā laikmetā, ņemot vērā citas lietas un neņemot vērā aspektus, kas tajā laikā vēl nebija. Skaidrs, ka fakts, ka tas ir visizplatītākais, nepadara to par labāko visā pasaulē, taču pastāv realitāte: tā ir valoda, ar kuru ir vislielākās iespējas iegūt darbu visās programmēšanas programmās. Zinot, ka tas nesāp, pat ja jums tas nepatīk.

    Pat es vairākus gadus strādāju par sistēmas administratoru un aizgāju no izstrādātāja darba, tik bieži man kaut kas ir jāievieto PHP kods.

    1.    KrissADR teica

      Sveiks, Gonzalo, paldies par dalīšanos

      Protams, runājot par nevajadzīgām informācijas pārslodzēm, zināšana, ka vienu un to pašu valodu var interpretēt vai apkopot, ir tas, kas šajā posmā nav vajadzīgs 🙂 Noteikti ieviešana ir svarīga, taču, ja mēs sakām, ka šajā līmenī mēs neradīsim vairāk kā neskaidrības. Tādā pašā veidā netiek risināti objektorientētās programmēšanas jautājumi vai citi jēdzieni, kas dozējami pakāpeniski, lai neradītu cilvēkiem reiboni.

      Tā kā vietas ir ierobežoti, ieraksta galvenais mērķis ir parādīt lasītājiem, kuri vēlas ieprogrammēt, ka pastāv divas lielas valodu pasaules, ka "tradicionāli" ​​interpretētie ir "vienkāršāki", ka "tradicionāli" ​​sastādītie ir nedaudz vairāk "Sarežģīts", bet ir vērts iegūt tik sarežģītu līmeni, lai būtu drošāka izpratne un ka katra paša ziņā ir izvēlēties valodu, jo atkarībā no programmēšanas pieejas viņi varēs izvēlēties savus iecienītākos projektus un tajā pašā laikā kad viņi varēs saprast, ko viņi lasa un / vai raksta 🙂

      Vēlreiz liels paldies, sveicieni.

      1.    Gonzalo Martinez teica

        Tā ir kļūda, nav sastādītu vai interpretētu valodu, katrai valodai ir tulki un sastādītāji, gan dažādiem gadījumiem.

        To pieminēt tagad nav informācijas pārslodze, ir kļūdaini izdarīt šādu paziņojumu. Manuprāt, būtu bijis produktīvāk ignorēt tulkus, ja nevēlaties pārslogot ar informāciju.

        1.    KrissADR teica

          Paldies par paskaidrojumu, es to ņemšu vērā, atgriežoties pie tēmas. Priekā

  11.   āri teica

    Kādu valodu jūs iesakāt servera pusei, ņemot vērā to, ka PHP neizdevās?
    Tas pats attiecībā uz datu bāzēm, es nezinu, vai būs kaut kas labāks un modernāks par mySQL.

    1.    KrissADR teica

      PHP nav izkritis no labvēlības ... Katrai valodai ir savs dzīves cikls, un php noteikti jau ir valoda, kas nonāk “nobriedušu” skalā, kas padara to noderīgu biznesa līmenī, kur stabilitāte ir pāri visam ... Tāpat kā dažas bankas, kur tas joprojām ir attīstīts java, kas ir vairāk "nobriedis" nekā php un noteikti ir savi sekotāji un nelabvēļi ... Un nemaz nerunājot par COBOL ...

      Ja jūs meklējat viendabīgumu un mūsdienīgumu, javascript kļūst par vienu no tā dēvēto “pilnas kaudzes izstrādātāju” favorītiem, kaut arī rubīna paradigma vai pitona “vienkāršība” ir arī labas atsauces… Pat perl varētu būt iespēja atkarībā no vajadzībām 🙂

      Mūsdienās ORM (objektu relāciju kartētāji) prasa lielu spēku relāciju datu pārvaldības ziņā. Tas pāriet no SQL sintakses uz klases un atribūtu apstrādi ... Gandrīz visas valodas (ja ne visas) apstrādā dažus ORM.

      . Mongo DB ir alternatīva relāciju datu bāzēm, kas ir kļuvusi diezgan nozīmīga, tomēr ir jāzina tās plusi un mīnusi un jāapstiprina, vai tas būtu labākais risinājums atkarībā no konkrētās vajadzības.

      Es ceru, ka tas jums palīdzēs, sveicieni 🙂

      1.    āri teica

        Paldies, es to pārbaudīšu.

      2.    āri teica

        ES aizmirsu.

        Ko jūs iesakāt man strādāt ar JAVA Linux?
        Ja jūs varat labāk atšķirt brīvo un slēgto.

        1.    KrissADR teica

          Eclipse un NetBeans ir atvērtā koda avoti, es neesmu pārliecināts, vai ir kāda tīri brīva programmatūra, man ir paradums izmantot vim, jo ​​dažreiz koda daudzuma dēļ visa IDE izmantošana ir lēna un pakļauta izpildes kļūdām. Sveiciens 🙂

        2.    paulzeta teica

          Lai strādātu ar java operētājsistēmā Linux, es izmantoju IntelliJ, es jums iesaku.

          1.    KrissADR teica

            PS, IntelliJ ir patentēta programmatūra 🙂

  12.   je teica

    Puiši to arī atceras ... Es strādāju bankā un saku, ka programmēšanas valodas nonāk otrajā plānā, lai vispirms ļautu SQL un Stored procedūrām.

    1.    Gonzalo Martinez teica

      Jums tās jāņem vērā saglabātās procedūras, taču, vismaz pēc manas pieredzes, neizmantojot pārnēsājamu valodu starp dzinējiem, vienmēr ir jāizvairās no tām, ja vien nav citas iespējas.