Prvi programski jezik je bil njegovo ime in avtor. Kako izberete (prvi) programski jezik? Ali kako postaviti prava vprašanja? Runtime - izvajanje programa

S tem besedilom želim začeti serijo člankov o zgodovini razvoja programskih jezikov. Je prilagojena različica te zbirke.

Programiranje se je pojavilo že dolgo pred 50-imi leti XX stoletja. Prve ideje je izrazil Charles Babbage (1792-1871), ki upravičeno velja za očeta računalnika. Za tranzistorje, mikrovezja in monitorje ni poznal, je pa natančno opisal osnovna načela, na katerih bodo zgrajeni vsi računalniki. Idejo je razvila grofica Ada Lovelace (1815-1852). Njegovo mesto v zgodovini še vedno povzroča veliko polemik, a ena stvar je popolnoma gotova - prav Ada je dejansko postala prva slavna programerka. Zahvaljujoč njenemu delu je postalo jasno, da so način za učinkovito uporabo strojev algoritmi, opisani v kodi.

Babbageov analitični motor

Toda programiranje se ni moglo razvijati ločeno od računalnikov. Brez njih je samo miselna igra, abstrakcija, ne glede na kakovost idej. Zato so bili do petdesetih let prejšnjega stoletja programski jeziki nabor strojnih navodil, pogosto visoko specializiranih in izumrl skupaj s ciljno napravo.

Bistvo problema

Danes vam o računalniški arhitekturi ni treba vedeti ničesar, za večino programerjev je pomemben le jezik, vse drugo je drugotnega pomena. V 50. letih prejšnjega stoletja je bilo vse drugače – delati je bilo treba z osnovnimi strojnimi kodami, kar je skoraj kot programiranje s spajkalnikom.

Druga težava je bila, da so bili za razvoj jezikov odgovorni ljudje, ki so neposredno sodelovali pri ustvarjanju računalnikov - predvsem inženirji in le prisilno programerji. Zato so predstavljali jezik v obliki zaporedja številk operacij in spominskih celic. Grobo rečeno je izgledalo takole:

01 x y - dodajanje vsebine pomnilniške celice y v celico x;

02 x y - Podoben postopek odštevanja.

Posledično se je programska koda spremenila v neskončen niz številk:

01 10 15 02 11 29 01 10 11…

Danes se vam bo ta koda zdela grozljiva, vendar je bila v zgodnjih petdesetih letih prejšnjega stoletja norma.


Računalnik iz 1940-ih

Programerji so morali dolgo časa preučevati strojna navodila, nato pa skrbno napisati kodo in jo po zaključku še večkrat ponovno preveriti - nevarnost napake je bila velika. Težave so se pojavile, ko je razvoj strojev oviralo pomanjkanje osebja za pisanje programov. Potrebna je bila nujna odločitev.

Prvi zbiralec

Rešitev je ležala na površini: številčne oznake operacij je bilo treba prevesti v črke. To pomeni, da namesto "01 10 15" uporabite "DODAJ 10 15". To je zahtevalo dodaten prevod znakov v strojni ukaz, a glede na težavo je bila žrtev minimalna.

Rešitev se je izkazala za tako očitno, da ni zagotovo znano, kdo je prvi izumil zbirni jezik. Najverjetneje se je pojavil hkrati na več mestih hkrati. Za naslov in popularizacijo veljajo avtorji knjige "Priprava programov za digitalni računalnik" avtorjev Wilkesa, Wheelerja in Gilla. Zlahka je uganiti, da ime Assembler izhaja iz angleške besede assemble - sestaviti, sestaviti, kar precej natančno opisuje postopek. Kasneje so simboli začeli zadevati ne le najpreprostejše operacije, ampak tudi naslavljanje, kar je močno poenostavilo berljivost kode.

Zdaj se to zdi kot elementarna rešitev, vendar je bila tedaj izvedba zapleten proces, ki je zahteval izdelavo korespondenčnih tabel, pri čemer je vsaka pomnilniška celica dodelila oznako. To je privedlo do treh temeljnih stvari:

  • Pojav koncepta simbolne spremenljivke ali samo spremenljivke.
  • Izdelava tabel, s pomočjo katerih bi lahko našli ujemanje simbolov, operacij in pomnilniških celic.
  • Razumeti, da je programiranje lahko umetnost.

To je bil katalizator za jezikovni preboj.

Prevajalniki in pristranskosti

Sestavljalec je omogočil ustvarjanje preprostih transformacij. Na primer, prevajanje 01 v ADD. Sestavljalnik makrov je razširil to idejo in programerjem dal možnost strniti več navodil v eno. Na primer, če bi v programu nenehno dodajali vrednost pomnilniški lokaciji in preverjali, ali je polna, bi lahko vse to zapisali v makro INCRT in uporabili tako, da spremenite samo spremenljivke. Pravzaprav so sestavljalci makrov postali prvi jeziki na visoki ravni.

Toda pri tem pristopu je bila pomembna težava - vsakič, preden je bilo treba ustvariti kodo, je bilo treba osnovne operacije zložiti v makre. Potrebno je bilo orodje, ki bi programerje osvobodilo nenehnega kopiranja. Tako je nastal prevajalnik.

Zdaj vemo, da lahko zahvaljujoč prevajalniku ustvarimo programski jezik s popolnoma katero koli sintakso, glavna stvar je, da pravilno prevede našo kodo v strojna navodila. Takrat so bili strokovnjaki skeptični glede jezikov na visoki ravni. To je bilo deloma posledica zmogljivosti računalnikov - poenostavitev sintakse s kompleksnimi transformacijami je bila draga, lahko bi vrnila tehnološki napredek pred nekaj leti. Del razloga so bila čustva – težko se je bilo odmakniti od oblike strojnih navodil, izgubiti nadzor nad procesi. Programerji so se resno bali, da po prevajanju ne bodo mogli razumeti izvedljivih ukazov. Danes nam je vseeno, kako izgleda strojna koda, toda v tistih časih se je zdela pomembna težava.

Kljub temu je bil prevajalnik edini izhod iz situacije, a tu se je pojavila še ena težava - aritmetični izrazi. Njihova izvedba ni enaka temu, kako stroj bere kodo. Iz šolskega tečaja poznamo vrstni red izračunov v izrazu "2 + 3 * 5", vendar stroj bere kodo v eno smer, zato bo odgovor napačen. Da, zgornji primer je mogoče rešiti z ustvarjanjem makra, toda za kompleksne izraze ravni "(2 + 3 * 5 + 4/6) * 10 + 16- (14 + 15) * 8" je bil bistveno drugačen pristop zahtevano.

Obdobje nove formacije

John Backus, ustvarjalec Fortrana, je uspel najti algoritem za analizo sklada. Na njej je začel delati leta 1954 in potreboval je skoraj 5 let, da je dokazal pravico jezikov na visoki ravni do obstoja. Polno ime Fortrana je IBM Formula Translating System ali FORmula TRANslator. Kljub svoji 60-letni starosti ostaja eden najbolj priljubljenih programskih jezikov in je neverjetno povpraševan v podatkovni znanosti. V tem času smo videli veliko različic: Fortran 1, II, 66, 77, 90, 95, 2008, naslednje leto pa bo izšla še ena (načrtovan je bil Fortran 2015, vendar se zaradi zamud lahko ime spremeni v 2018) . V Fortranu so bili prvič hkrati implementirani številni atributi jezika na visoki ravni, vključno z:

  • aritmetični in logični izrazi;
  • zanka DO (zgodnja oblika zanke FOR);
  • pogojni stavek IF;
  • podprogrami;
  • nizi.

Druga pomembna Fortranova zapuščina, za katero sodobni programerji niti ne vedo, je uporaba spremenljivih omejitev za cela števila. Vsi so morali začeti z enim od 6 znakov I, J, K, L, M, N (izpeljano iz I-Nteger). Od tod izvira navada jemanja spremenljivk i, j itd. za naštevanje.


IBM 704 - stroj, na katerem je bil ustvarjen Fortran

Hkrati je Fortran ostal jezik blizu avtomobilov. Na primer, bilo je nekaj takega:

Če (izraz) doneg, dozero, dopos

Razlog je bila arhitektura računalnika IBM, ki je zahtevala navodilo za uporabo pravilnega registra: negativnega, nič ali pozitivnega. Bližina strojem se je pokazala tudi v znanem ukazu GOTO (kasneje ga je podedoval Basic), kar je pomenilo neposreden prehod na en ali drug ukaz.

Če se vrnemo k problemu aritmetičnih izrazov, algoritem za razbijanje sklada (to je razčlenitev celotnega niza) ni bil učinkovita rešitev, vendar je dokazal, kako preprosta in logična je lahko izvedba.

Jeziki za vsakogar

Fortran 1 je bil znanstveni jezik, ki je temeljil na kompleksnih številih in operacijah s plavajočo vejico. Niti besedila ni znal obdelati, za to ga je moral pretvoriti v posebne kode. Zato se je Fortran izkazal za neprimernega za poslovanje, kjer je bil posebej ustvarjen jezik Cobol.

Njegova sintaksa je bistveno drugačna, čim bližje naravni angleščini. Aritmetike praktično ni bilo, samo izrazi v obliki:

Premaknite dohodek v skupno odštevanje stroškov

Cobol je postal poosebljenje največje razdalje od nekdanjega strojno-aritmetičnega mišljenja do univerzalnega. In kar je najpomembneje, zdaj je bilo mogoče delati z besedilom in opombami.

Naslednji temeljni jezik je bil Algol (ALGOritmični jezik), namenjen znanstvenim poročilom in publikacijam. V njem so se prvič pojavile stvari, ki so bile za nas naravne:

  • razlike med dodelitvijo: = in logično enakostjo =;
  • uporaba zanke for s tremi argumenti: začetna vrednost, meja, korak;
  • blok struktura programov, zaprtih med začetkom in koncem, je odpravila potrebo po GOTO.

Iz Algola so prišli C, C ++, C #, Java in številni drugi priljubljeni jeziki.

Četrti kit v petdesetih letih prejšnjega stoletja je bil Lisp (jezik za obdelavo seznama), zasnovan posebej za umetno inteligenco. Njegova glavna značilnost ni delo z imperativnimi podatki, ampak s funkcijami. Za to je moral John McCarthy zagotoviti številne mehanizme za normalno delovanje: dinamično tipkanje, samodejno dodeljevanje pomnilnika, zbiralnik smeti. Navsezadnje je bil Lisp tisti, ki je postal prednik jezikov, kot sta Python in Ruby, in se še danes aktivno uporablja v AI.

Tako so petdeseta leta prejšnjega stoletja spremenila miselnost programerjev, podarila štiri temeljne jezike in postavila svet na tirnice računalniške revolucije.
Naslednjič se pogovorimo o tem, kako so se jeziki in programski svet razvili v šestdesetih letih prejšnjega stoletja.

Sestoji iz namestitve stikal s ključi na sprednji plošči računalniške naprave. Očitno je bilo mogoče na ta način prevesti le majhne programe.

Z razvojem računalniške tehnologije se je pojavil strojni jezik, s pomočjo katerega je lahko programer nastavil navodila, ki delujejo s pomnilniškimi celicami in v celoti izkoriščajo zmogljivosti stroja. Vendar pa je uporaba večine računalnikov na ravni strojnega jezika težka, zlasti ko gre za V/I. Zato smo morali njegovo uporabo opustiti.

Na primer, za branje bloka podatkov z diskete lahko programer uporabi 16 različnih ukazov, od katerih vsak zahteva 13 parametrov, kot so številka bloka na disku, številka sektorja na stezi itd. Ko disk se operacija zaključi, krmilnik vrne 23 vrednosti, ki označujejo prisotnost in vrste napak, ki jih je treba analizirati.

"Besede" v strojnem jeziku se imenujejo navodila, od katerih vsaka predstavlja eno osnovno dejanje za osrednji procesor, kot je na primer branje informacij iz pomnilniške celice.

Vsak model procesorja ima svoj nabor strojnih navodil, čeprav je večina enakih. Če procesor A popolnoma razume jezik procesorja B, se pravi, da je procesor A združljiv s procesorjem B. Za procesor B se reče, da ni združljiv s procesorjem A, če ima A navodila, ki jih procesor B ne prepozna.

V 60. letih se je povpraševanje po razvoju programske opreme povečalo in programi so postali zelo veliki. Ljudje so se začeli zavedati, da je ustvarjanje programske opreme veliko težja naloga, kot so si predstavljali. To je privedlo do razvoja strukturiranega programiranja. Z razvojem strukturiranega programiranja so bili postopki in funkcije naslednji napredek. Na primer, če obstaja naloga, ki se izvaja večkrat, jo je mogoče deklarirati kot funkcijo ali proceduro in jo pri izvajanju programa preprosto pokličite. V tem primeru se celotna programska koda zmanjša. Funkcije vam omogočajo ustvarjanje modularnih programov.

Naslednji napredek je bila uporaba struktur, kar je pripeljalo do prehoda v razrede. Strukture so sestavljeni tipi podatkov, zgrajeni z uporabo drugih tipov. Na primer, struktura časa. Vključuje: ure, minute, sekunde. Programer bi lahko ustvaril časovno strukturo in z njo delal kot ločeno strukturo. Razred je struktura, ki ima svoje spremenljivke in funkcije, ki delujejo s temi spremenljivkami. To je bil zelo velik dosežek na področju programiranja. Zdaj bi bilo mogoče programiranje razdeliti na razrede in ne bi bilo mogoče preizkusiti celotnega programa, sestavljenega iz 10.000 vrstic kode, ampak bi lahko program razdelili na 100 razredov in vsak razred je bilo mogoče preizkusiti. To je precej olajšalo pisanje programskega izdelka.

Jezik montaže

V primeru, ko je treba imeti učinkovit program, se namesto strojnih jezikov uporabljajo strojno usmerjeni jeziki, ki so jim blizu - sestavljalci. Ljudje namesto strojnih navodil uporabljajo mnemonična navodila.

Toda tudi delo z montažerjem je precej zapleteno in zahteva posebno usposabljanje.

Strukturirano programiranje predpostavlja dobro definirane krmilne strukture, programske bloke, navodila brez skokov (GOTO), samostojne rutine, rekurzijo in podporo za lokalne spremenljivke.

Bistvo tega pristopa je v možnosti razdelitve programa na njegove sestavne elemente.

Prav tako ustvarjen delujoč(aplikativni) jeziki (Primer: Lisp - eng. Obdelava LISTA, 1958) in uganka jeziki (primer: Prolog - eng. Programiranje v LOGICU, 1972).

Čeprav je strukturirano programiranje ob uporabi dalo izjemne rezultate, tudi ni uspelo, ko je program dosegel določeno dolžino. Pisanje bolj zapletenega (in daljšega) programa je zahtevalo nov pristop k programiranju.

OOP

Posledično so se v poznih sedemdesetih in zgodnjih osemdesetih letih prejšnjega stoletja razvila načela objektno usmerjenega programiranja. OOP združuje najboljša načela strukturiranega programiranja z zmogljivimi novimi koncepti, katerih jedro se imenujejo inkapsulacija, polimorfizem in dedovanje.

Primeri objektno usmerjenih jezikov so Object Pascal, C++, Java itd.

OOP vam omogoča, da optimalno organizirate programe, tako da problem razdelite na njegove sestavne dele in delate z vsakim posebej. Program v objektno usmerjenem jeziku, ki rešuje neki problem, pravzaprav opisuje del sveta, ki je povezan s tem problemom.

Primer snemanja programa v različnih jezikih

Jezik visoke ravni (Delphi)

X: = sin (y * Pi) + 1;

X86 montažer (koprocesor)

Fldpi fmul qword ptr [Y] fsin fld1 fadd p st (1), st (0) fstp qword ptr [X]

Strojna koda (šestnajstiška, vsak ukaz se začne v novi vrstici)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Strojna koda (binarna predstavitev)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Povezave


Fundacija Wikimedia. 2010.

  • Aj-aj
  • Kabanov, Nikolaj Aleksandrovič

Poglejte, kaj je "Zgodovina programskih jezikov" v drugih slovarjih:

    Zgodovina programskega jezika Python- Python je bil zasnovan v osemdesetih letih prejšnjega stoletja, njegovo ustvarjanje pa je decembra 1989 začel Guido van Rossum v Centru za matematiko in računalništvo na Nizozemskem. Jezik Python je bil zasnovan kot potomec programskega jezika ABC, ki je sposoben obvladovati ... ... Wikipedia

    Časovnica programskih jezikov- Seznami programskih jezikov Po kategorijah Kronološka Genealoška Kronologija programskih jezikov Kronološki seznam programskih jezikov. Vsebina ... Wikipedia

    Primerjava programskih jezikov- Ta članek je treba wikiificirati. Prosimo, da ga izpolnite v skladu s pravili oblikovanja članka. Konvencije ... Wikipedia

    Kratka zgodovina razvoja programskih jezikov- Z razvojem računalniške tehnologije so nastale različne tehnike programiranja. Na vsaki stopnji je bil ustvarjen nov pristop, ki je programerjem pomagal pri naraščajoči kompleksnosti programov. Vsebina 1 Začetek razvoja 2 Zbirni jezik 3 Struktura ... Wikipedia

    Zgodovina logike- preučuje razvoj znanosti o oblikah in zakonitostih pravilnega mišljenja (logika). Pojav logike kot razvite analize principov sklepanja je povezan izključno s tremi lokalnimi civilizacijami, in sicer: Kitajsko, Indijo in starodavno ... ... Wikipedia

    Zgodovina Linuxa- Ta članek ali razdelek potrebuje revizijo. Prosimo, izboljšajte članek v skladu s pravili za pisanje člankov ... Wikipedia

    Zgodovina proste programske opreme- Izraz "brezplačna programska oprema" ali odprtokodna programska oprema se nanaša na izdelke, distribuirane pod pogoji liberalnih licenc, ki uporabniku ponujajo več možnosti kot tradicionalne licence programske opreme ... ... Wikipedia

Ena najbolj revolucionarnih idej, ki je pripeljala do nastanka, je bila ideja, ki jo je v 20. letih 19. stoletja izrazil C. Babbage o predhodnem posnetku vrstnega reda delovanja stroja -. Od tega trenutka se začne zgodovina programskih jezikov.

Revolucionarni trenutek v zgodovini programskih jezikov je bil nastanek sistema za kodiranje strojnih navodil s posebnimi znaki, ki ga je predlagal John Mauchley, uslužbenec Univerze v Pennsylvaniji. Mauchlyjev sistem kodiranja je očaral eno od zaposlenih v njegovem podjetju, Grace Murray Hopper, ki je vse svoje življenje posvetila računalnikom in programiranju.

Med delom na računalniku Mark-1 se je morala G. Hopper in njena skupina soočiti s številnimi težavami. Predvsem so si izmislili rutine.

Na zori zgodovine programskih jezikov je bila strojna koda edino sredstvo komunikacije med človekom in računalnikom. Velik dosežek ustvarjalcev programskih jezikov je bil, da jim je uspelo, da je računalnik sam deloval kot prevajalec iz teh jezikov v strojno kodo.

V poznih 40. letih, preden se je G. Hopper pridružil podjetju Johna Mauchlyja, je ta ustvaril sistem, imenovan "Short Code", ki je bil primitiven programski jezik na visoki ravni. V njej je programer zapisal problem, ki ga je treba rešiti v obliki matematičnih formul, nato pa je s posebno tabelo, preveden znak za znakom, te formule pretvoril v dvočrkovne kode. Kasneje je poseben računalniški program te kode pretvoril v binarno strojno kodo. Sistem, ki ga je razvil J. Mauchly, je bil v bistvu eden prvih primitivnih tolmačev.

Že leta 1951 je Hopper ustvarila prvi prevajalnik na svetu, uvedla pa je tudi sam izraz. Prevajalnik Hopper je izvajal funkcijo združevanja navodil in med prevajanjem naredil organizacijo podprogramov, izbiro, preoblikovanje ukazov visoke ravni (takrat psevdokod) v strojna navodila.

Za sredino 50. let je značilen hiter napredek v zgodovini programskih jezikov. Vloga programiranja v strojnih navodilih se je začela zmanjševati. Začel se je pojavljati nov tip programskega jezika, ki je deloval kot posrednik med stroji in programerji. Prvi in ​​eden najpogostejših je bil Fortran, ki ga je leta 1954 razvila skupina programerjev pri IBM-u (prva različica).

Sredi šestdesetih let prejšnjega stoletja sta Thomas Kurtz in John Kemeny, člana oddelka za matematiko na Dartmouth College, ustvarila specializiran programski jezik, sestavljen iz preprostih angleških besed. Novi jezik so poimenovali BASIC.

V zgodnjih 60. letih je bilo mogoče vse obstoječe programske jezike na visoki ravni prešteti na eno roko, kasneje pa je njihovo število doseglo tri tisoč. Seveda velika večina jezikov v zgodovini programskih jezikov ni bila deležna široke distribucije; v praksi se ne uporablja več kot dva ducata. Razvijalci so programske jezike usmerili v različne razrede nalog, jih v takšni ali drugačni meri vezali na specifične računalniške arhitekture ter implementirali osebne okuse in ideje. V 60. letih v zgodovini programskih jezikov so se poskušali premagati to "neskladje" z ustvarjanjem univerzalnega programskega jezika. Prvi zamisel te smeri je bil PL / I (Programm Language One), 1967. Nato je to vlogo prevzel ALGOL-68 (1968). Domnevalo se je, da se bodo takšni jeziki razvijali in izboljševali ter izpodrinili vse druge. Vendar nobeden od teh dosedanjih poskusov ni bil uspešen. Celovitost jezika je privedla do neupravičene, z vidika programerja, kompleksnosti konstrukcij, neučinkovitosti prevajalcev.

Konec 50-ih let se je v zgodovini programskih jezikov pojavil ALGOL (ALGOL, iz ALGORithmic Language - algoritemski jezik). ALGOL je namenjen snemanju, ki so zgrajeni v obliki zaporedja postopkov, ki se uporabljajo za reševanje zadanih nalog.

Razvoj Algolove ideje o strukturiranju razvoja algoritmov se je najbolj odrazil v zgodovini programskih jezikov, ko je švicarski znanstvenik Niklaus Wirth v zgodnjih 70. letih ustvaril jezik Pascal. Pascal je bil prvotno razvit kot izobraževalni jezik, zdaj pa je eden glavnih jezikov za poučevanje programiranja v šolah in na univerzah.

Za obdobje od poznih 60. do zgodnjih 80. let prejšnjega stoletja je v zgodovini programskih jezikov značilna hitra rast števila različnih jezikov, ki je, paradoksalno, spremljala krizo programske opreme. Ta kriza je bila še posebej akutna za ameriško vojaško ministrstvo. Januarja 1975 se je Pentagon odločil vzpostaviti red v kaosu prevajalcev in ustanovil odbor, ki je bil zadolžen za razvoj enega univerzalnega jezika. Zmagovalni jezik je bil poimenovan ADA.

Jezik C (prva različica - 1972), ki je zelo priljubljen med razvijalci programskih sistemov (tudi), je pustil velik pečat v zgodovini programskih jezikov. C združuje značilnosti jezika visoke ravni in strojno usmerjenega jezika, kar omogoča programerju dostop do vseh strojnih virov, česar jeziki, kot sta Basic in Pascal, ne.

Že vrsto let je bila programska oprema zgrajena na podlagi operativnih in proceduralnih jezikov, kot so Fortran, Basic, Pascal, Ada, C. Klasično operativno in/ali proceduralno programiranje zahteva, da programer podrobno opiše, kako rešiti problem, t.j. formulacija algoritma in njegov poseben zapis. Vendar pričakovane lastnosti rezultata običajno niso določene. Osnovni koncepti jezikov teh skupin so operater in podatki. Pri proceduralnem pristopu so operaterji združeni v skupine – procedure. Strukturno programiranje kot celota ne presega okvirov te smeri, le dodatno popravlja nekatere uporabne tehnike programske tehnologije.

Bistveno drugačna smer v zgodovini programskih jezikov je povezana z metodologijami (včasih imenovanih "paradigme") neproceduralnega programiranja. Ti vključujejo objektno usmerjeno in deklarativno programiranje. Objektno usmerjen jezik ustvarja okolje v obliki številnih neodvisnih objektov. Vsak objekt se obnaša kot ločen računalnik, z njim je mogoče reševati probleme kot "črne skrinjice", ne da bi se poglobili v notranje mehanizme njihovega delovanja. Od predmetnih programskih jezikov, ki so priljubljeni med strokovnjaki, je treba najprej omeniti C ++, za širši krog programerjev so prednostna okolja, kot sta Delphi in Visual Basic.

Če razmišljate o učenju programiranja, je programski jezik, za katerega se odločite najprej izbrati, velikega pomena, naj bo povezan s tem, kaj želite početi v prihodnosti, in biti relevanten. Čeprav programiranje na splošno ni za lene, se je nekaterih jezikov lažje naučiti kot drugih, imajo skupnosti, ki so namenjene učenju in ponujajo uporabne veščine za učenje drugih programskih jezikov.

Izbirna shema

Obstajajo vprašanja, ki se zastavljajo tako pogosto, da se za odgovor nanje oblikujejo cele sheme. Tukaj je na primer eden izmed njih, posvečen izbiri prvega programskega jezika.

Pri izbiri prvega programskega jezika je vredno trezno oceniti naslednje dejavnike:

  • Trg dela.
  • Dolgoročne perspektive jezika.
  • Težave pri učenju jezika.
  • Kaj točno lahko ustvarite v procesu učenja in s tem, da pokažete drugim, da vas motivira.

Priljubljenost in povpraševanje

JavaScript

JavaScript, ki ga ne smemo zamenjevati z Javo, je programski jezik, ki ga je v 90. letih razvil Brendan Eich, prej v lasti Netscape Communications, zdaj pa Mozilla Foundation. JavaScript je ena temeljnih tehnologij, na kateri temelji spletna skupnost, kot jo poznamo. Naj vas ne zavede, JavaScript obstaja tudi zunaj brskalnika, vendar večinoma v kontekstu povezanih aplikacij in storitev.

Sam jezik je dinamičen in daje programerjem fleksibilnost pri uporabi objektno usmerjenih stilov programiranja (ker je sam jezik večinoma objektno usmerjen) ter funkcionalnih in imperativnih. Večino svoje sintakse izvleče iz C, in če se nameravate na kakršen koli način ukvarjati s spletnim razvojem, bi moralo biti učenje JavaScripta na vašem seznamu.

Na srečo se je JavaScript razmeroma enostavno naučiti, trenutno v brskalniku, ki ga lahko igrate, in čeprav je minilo že nekaj časa, hitro pridobiva na priljubljenosti. Mnogi od vas, ki ste ga dodelili, so opazili, da je vaš dolar pri učenju JavaScripta velik, saj ga lahko takoj uporabite za ustvarjanje stvari za splet, kar se lahko veliko ljudi nauči programirati.

Python

Priporočam lahko tudi Python.

Kljub številnim težavam, ki so bile zgodovinsko neločljive za Python, je še vedno vodilno orodje v številnih nišah:

Impresivno, kajne? Kar zadeva velike in priljubljene projekte, napisane v Pythonu, so to takšne pošasti, kot so:

Najdete jih tudi na naši spletni strani.

Dovolil si bom izpostaviti nekaj splošnega trenda v razvoju programskih jezikov. Pronicljivi bralec je verjetno že zdavnaj uganil, kaj bom povedal. Jeziki se razvijajo v smeri vse bolj abstrakcije. In to spremlja padec učinkovitosti. Vprašanje je: ali je abstrakcija vredna? Odgovor: vredno. To je vredno, saj povečanje stopnje abstrakcije pomeni povečanje stopnje zanesljivosti programiranja. Z nizko učinkovitostjo se je mogoče boriti z gradnjo hitrejših računalnikov. Če so zahteve po pomnilniku previsoke, lahko količino povečate. To seveda zahteva čas in denar, vendar se da rešiti. Vendar obstaja samo en način za reševanje napak v programih: popraviti jih je treba. Še bolje, ne zavezujte se. Še bolje, čim bolj otežite jih. In prav temu so namenjene vse raziskave na področju programskih jezikov. In se morate sprijazniti z izgubo učinkovitosti.

Namen tega pregleda je bil poskus bralcu dati predstavo o vsej raznolikosti obstoječih programskih jezikov. Med programerji pogosto obstaja mnenje o "splošni uporabnosti" določenega jezika (C, C ++, Pascal itd.). To mnenje nastane iz več razlogov: pomanjkanje informacij, navada, vztrajnost razmišljanja. Prvi dejavnik sem poskušal nekoliko kompenzirati. Za ostalo pa lahko rečem le, da bi si moral pravi profesionalec nenehno prizadevati za izpopolnjevanje svojih poklicnih kvalifikacij. In za to se vam ni treba bati eksperimentirati. Kaj torej, če vsi okoli njih pišejo v C / C ++ / VB / Pascal / Perl / Java / ... (poudarite potrebno)? Zakaj ne bi poskusili nečesa novega? Kaj pa, če se izkaže za bolj učinkovito? Seveda, preden se odločite za uporabo novega jezika, morate natančno preučiti vse njegove značilnosti, vključno s prisotnostjo učinkovite izvedbe, zmožnostjo interakcije z obstoječimi moduli itd., In šele nato sprejeti odločitev. Seveda vedno obstaja tveganje, da gremo narobe, ampak ... Samo tisti, ki ne naredi nič, se ne moti.

In še naprej. Slišal sem in včasih sodeloval v razpravah, kot je "jezik A je boljši od jezika B". Upam, da se bodo po branju tega pregleda mnogi prepričali o nesmiselnosti takšnih sporov. Največ, o čemer je mogoče razpravljati, so prednosti enega jezika pred drugim pri reševanju določenega problema v določenih pogojih. Tukaj je res včasih treba kaj prepirati. In odločitev je včasih daleč od očitne. Vendar je trditi "na splošno" očitna neumnost.

Ta članek naj bi bil odgovor tistim, ki kričijo "jezik X MORA UMRTI". Upam, da se je odgovor izkazal za dokaj ustrezen in prepričljiv. Upam tudi, da ima članek poleg polemične in spoznavno vrednost.



Povezani članki: