První programovací jazyk byl jeho název a autor. Jak si vybíráte (první) programovací jazyk? Nebo jak správně klást otázky? Runtime - provádění programu

Tímto textem chci zahájit sérii článků o historii vývoje programovacích jazyků. Jedná se o upravenou verzi této kolekce.

Programování se objevilo dlouho před 50. lety 20. století. První myšlenky vyslovil Charles Babbage (1792-1871), který je právem považován za otce počítače. Neznal tranzistory, mikroobvody a monitory, ale přesně popsal základní principy, na kterých budou všechny počítače postaveny. Nápad vyvinula hraběnka Ada Lovelace (1815-1852). Jeho místo v historii stále vyvolává mnoho kontroverzí, ale jedna věc je naprosto jistá – byla to právě Ada, kdo se vlastně stal prvním slavným programátorem. Díky její práci se ukázalo, že cestou k efektivnímu využívání strojů jsou algoritmy popsané v kódu.

Babbageův analytický motor

Ale programování se nemohlo vyvíjet izolovaně od počítačů. Bez nich je to jen hra mysli, abstrakce, bez ohledu na kvalitu myšlenek. Proto až do 50. let 20. století byly programovací jazyky sadou strojových instrukcí, často vysoce specializovaných a zanikly spolu s cílovým zařízením.

Podstata problému

O architektuře počítače dnes nemusíte vědět nic, pro většinu programátorů je důležitý pouze jazyk, vše ostatní je vedlejší. V 50. letech bylo všechno jinak – museli jste pracovat s elementárními strojovými kódy, což je skoro jako programování s páječkou.

Dalším problémem bylo, že za vývoj jazyků byli zodpovědní lidé, kteří se přímo podíleli na tvorbě počítačů – především inženýři a pouze nuceně programátoři. Proto reprezentovali jazyk ve formě posloupnosti čísel operací a paměťových buněk. Zhruba řečeno to vypadalo takto:

01 x y - přidání obsahu paměťové buňky y k buňce x;

02 x y - Podobný postup odečítání.

V důsledku toho se kód programu proměnil v nekonečný řetězec čísel:

01 10 15 02 11 29 01 10 11…

Dnes vám tento kód bude připadat děsivý, ale na začátku 50. let minulého století to byla norma.


počítač ze 40. let 20. století

Programátoři museli dlouho studovat strojové instrukce, poté pečlivě napsat kód a po dokončení jej ještě několikrát zkontrolovat - riziko chyby bylo velké. Problémy nastaly, když vývoj strojů brzdil nedostatek personálu pro psaní programů. Bylo nutné naléhavé rozhodnutí.

První sběratel

Řešení leželo na povrchu: bylo nutné převést číselná označení operací do písmen. To znamená, že místo "01 10 15" použijte "ADD 10 15". To vyžadovalo další překlad znaků do příkazu stroje, ale vzhledem k problému byla oběť minimální.

Řešení se ukázalo být tak zřejmé, že není s jistotou známo, kdo jako první vynalezl jazyk symbolických instrukcí. S největší pravděpodobností se objevil současně na několika místech najednou. Za název a popularizaci jsou považováni autoři knihy „Příprava programů pro digitální počítač“ od Wilkese, Wheelera a Gilla. Je snadné uhodnout, že název Assembler pochází z anglického slova assemble - sestavit, sestavit, což poměrně přesně vystihuje proces. Později se symboly začaly týkat nejen nejjednodušších operací, ale také adresování, což značně zjednodušilo čitelnost kódu.

Nyní se to zdá jako elementární řešení, ale tehdy byla implementace složitým procesem, který vyžadoval vytvoření korespondenčních tabulek s přiřazením označení každé paměťové buňce. To vedlo ke třem základním věcem:

  • Vznik konceptu symbolické proměnné nebo jen proměnné.
  • Vytváření tabulek, s jejichž pomocí byste mohli najít shodu symbolů, operací a paměťových buněk.
  • Pochopit, že programování může být umění.

To byl katalyzátor jazykového průlomu.

Kompilátory a zkreslení

Assembler umožnil vytvářet jednoduché transformace. Například překlad 01 do ADD. Makro assembler rozšířil tuto myšlenku a dal programátorům možnost sbalit několik instrukcí do jedné. Pokud jste například v programu neustále přidávali hodnotu k místu paměti a kontrolovali, zda je plná, bylo možné toto vše zapsat do makra INCRT a použít pouze změnou proměnných. Ve skutečnosti se makro assemblery staly prvními jazyky na vysoké úrovni.

S tímto přístupem byl ale důležitý problém – pokaždé, před vytvořením kódu, bylo nutné poskládat základní operace do maker. Byl potřeba nástroj, který by osvobodil programátory od neustálého kopírování. Tak vznikl kompilátor.

Nyní víme, že díky kompilátoru můžeme vytvořit programovací jazyk s naprosto libovolnou syntaxí, hlavní je, že správně převede náš kód do strojových instrukcí. V té době byli odborníci k jazykům na vysoké úrovni skeptičtí. Částečně to bylo způsobeno výkonem počítačů – zjednodušení syntaxe se složitými transformacemi bylo nákladné, mohlo vrátit technologický pokrok před několika lety. Částečným důvodem byly emoce – bylo těžké opustit formu strojových instrukcí, ztratit kontrolu nad procesy. Programátoři se vážně báli, že po kompilaci nebudou schopni porozumět spustitelným příkazům. Dnes je nám fuk, jak strojový kód vypadá, ale v té době se to zdálo jako důležitý problém.

Kompilátor však byl jediným východiskem ze situace, ale zde se objevil další problém - aritmetické výrazy. Jejich provedení není stejné jako to, jak stroj čte kód. Ze školního kurzu známe pořadí výpočtů ve výrazu „2 + 3 * 5“, ale stroj čte kód jedním směrem, takže odpověď bude špatná. Ano, výše uvedený příklad lze vyřešit vytvořením makra, ale pro složité výrazy úrovně „(2 + 3 * 5 + 4/6) * 10 + 16- (14 + 15) * 8“ byl zásadně odlišný přístup. Požadované.

Éra nové formace

John Backus, tvůrce Fortranu, dokázal najít algoritmus pro analýzu zásobníku. Začal na něm pracovat v roce 1954 a trvalo mu téměř 5 let, než prokázal právo na existenci jazyků na vysoké úrovni. Celé jméno Fortranu je The IBM Formula Translating System, neboli FORmula TRANslator. Navzdory jeho 60 letům věku zůstává jedním z nejpopulárnějších programovacích jazyků a je neuvěřitelně žádaný v Data Science. Během této doby jsme viděli mnoho verzí: Fortran 1, II, 66, 77, 90, 95, 2008 a další vyjde příští rok (plánován byl Fortran 2015, ale kvůli zpožděním se název může změnit na 2018) . Bylo to ve Fortranu, kde bylo poprvé současně implementováno mnoho atributů jazyka na vysoké úrovni, včetně:

  • aritmetické a logické výrazy;
  • DO smyčka (raná forma smyčky FOR);
  • podmíněný příkaz IF;
  • podprogramy;
  • pole.

Dalším důležitým dědictvím Fortranu, o kterém moderní programátoři ani nevědí, je použití proměnných omezení pro celá čísla. Všechny musely začínat jedním ze 6 znaků I, J, K, L, M, N (odvozeno z I-Nteger). Odtud pochází zvyk brát proměnné i, j atd. pro výčty.


IBM 704 - stroj, na kterém byl Fortran vytvořen

Fortran přitom zůstal jazykem blízkým autům. Bylo tam například něco takového:

If (výraz) dog, dozero, dopos

Důvodem byla architektura počítače IBM, která vyžadovala instrukci pro použití správného registru: záporný, nulový nebo kladný. Blízkost ke strojům se projevila i ve známém příkazu GOTO (později jej zdědil Basic), který znamenal přímý přechod na ten či onen příkaz.

Vrátíme-li se k problému aritmetických výrazů, algoritmus stack-busting (tj. parsování celého řetězce) nebyl efektivním řešením, ale ukázal, jak jednoduchá a logická může být implementace.

Jazyky pro každého

Fortran 1 byl vědecký jazyk založený na operacích s komplexními čísly a pohyblivou řádovou čárkou. Neuměl ani zpracovat text, k tomu ho musel převést na speciální kódy. Proto se Fortran ukázal jako nevhodný pro podnikání, kde byl speciálně vytvořen jazyk Cobol.

Jeho syntaxe je zásadně odlišná, co nejblíže přirozené angličtině. Prakticky neexistovala žádná aritmetika, pouze výrazy ve tvaru:

Přesunout příjem do celkových odečíst výdaje

Cobol se stal zosobněním maximální vzdálenosti od dřívějšího strojně-aritmetického myšlení k univerzálnímu. A hlavně se nyní dalo pracovat s textem a poznámkami.

Dalším základním jazykem byl Algol (ALGOritmický jazyk), určený pro vědecké zprávy a publikace. Poprvé se v něm objevily věci pro nás přirozené:

  • rozdíly mezi přiřazením: = a logickou rovností =;
  • použití cyklu for se třemi argumenty: počáteční hodnota, limit, krok;
  • bloková struktura programů, uzavřená mezi začátkem a koncem, eliminovala potřebu GOTO.

Z Algolu pocházely C, C++, C #, Java a mnoho dalších populárních jazyků.

Čtvrtou velrybou 50. let byl Lisp (jazyk LIST Processing), navržený speciálně pro umělou inteligenci. Jeho hlavní vlastností není práce s imperativními daty, ale s funkcemi. K tomu musel John McCarthy poskytnout mnoho mechanismů pro normální provoz: dynamické psaní, automatické přidělování paměti, garbage collector. Nakonec to byl Lisp, který se stal předchůdcem jazyků, jako je Python a Ruby, a dodnes se aktivně používá v AI.

Padesátá léta tak změnila myšlení programátorů, obdařila čtyři základní jazyky a postavila svět na koleje počítačové revoluce.
Příště si povíme, jak se jazyky a programovací svět vyvíjely v 60. letech.

Spočívá v instalaci klíčových spínačů na přední panel výpočetního zařízení. Je zřejmé, že tímto způsobem lze kompilovat pouze malé programy.

S rozvojem výpočetní techniky se objevil strojový jazyk, s jehož pomocí mohl programátor nastavovat instrukce, operující s paměťovými buňkami, plně využívající možnosti stroje. Používání většiny počítačů na úrovni strojového jazyka je však obtížné, zejména pokud jde o I/O. Proto jsme museli jeho používání opustit.

Například pro organizaci čtení bloku dat z diskety může programátor použít 16 různých příkazů, z nichž každý vyžaduje 13 parametrů, jako je číslo bloku na disku, číslo sektoru na stopě atd. dokončí operace disku, řadič vrátí 23 hodnot indikujících přítomnost a typy chyb, které mají být analyzovány.

„Slova“ ve strojovém jazyce se nazývají instrukce, z nichž každý představuje jednu elementární akci pro centrální procesor, jako je například čtení informací z paměťové buňky.

Každý model procesoru má svou vlastní sadu strojových instrukcí, i když většina z nich je stejná. Pokud procesor A plně rozumí jazyku procesoru B, pak se říká, že procesor A je kompatibilní s procesorem B. Procesor B bude považován za nekompatibilní s procesorem A, pokud má A instrukce, které procesor B nerozpozná.

Během 60. let vzrostla poptávka po vývoji softwaru a programy se staly velmi rozsáhlými. Lidé si začali uvědomovat, že vytváření softwaru je mnohem obtížnější úkol, než si představovali. To vedlo k rozvoji strukturovaného programování. S rozvojem strukturovaného programování byly dalším pokrokem procedury a funkce. Pokud například existuje úloha, která se provádí několikrát, lze ji deklarovat jako funkci nebo proceduru a při provádění programu ji jednoduše zavolat. V tomto případě se celkový kód programu zmenší. Funkce umožňují vytvářet modulární programy.

Dalším pokrokem bylo použití struktur, které vedlo k přechodu do tříd. Struktury jsou složené datové typy vytvořené pomocí jiných typů. Například struktura času. Zahrnuje: hodiny, minuty, sekundy. Programátor mohl vytvořit časovou strukturu a pracovat s ní jako se samostatnou strukturou. Třída je struktura, která má své vlastní proměnné a funkce, které s těmito proměnnými pracují. To byl velmi velký úspěch v oblasti programování. Nyní bylo možné programování rozdělit do tříd a nebylo možné otestovat celý program skládající se z 10 000 řádků kódu, ale program mohl být rozdělen do 100 tříd a každá třída mohla být testována. Díky tomu bylo mnohem snazší napsat softwarový produkt.

Jazyk symbolických instrukcí

V případě, že je potřeba mít výkonný program, místo strojových jazyků se používají strojově orientované jazyky jim blízké - assemblery. Lidé místo strojových instrukcí používají mnemotechnické instrukce.

Ale i práce s assemblerem je poměrně složitá a vyžaduje speciální školení.

Strukturované programování předpokládá dobře definované řídicí struktury, programové bloky, instrukce bez skoků (GOTO), samostatné rutiny, rekurzi a podporu lokálních proměnných.

Podstata tohoto přístupu spočívá v možnosti rozdělit program na jednotlivé prvky.

Také vytvořeno funkční(aplikační) jazyky ​​(Příklad: Lisp - eng. Zpracování seznamu, 1958) a hlavolam jazyky ​​(příklad: Prolog - eng. Programování v LOGIC, 1972).

Přestože strukturované programování při použití přineslo vynikající výsledky, i to selhalo, když program dosáhl určité délky. Psaní složitějšího (a dlouhého) programu vyžadovalo nový přístup k programování.

OOP

V důsledku toho byly na konci 70. a na začátku 80. let vyvinuty principy objektově orientovaného programování. OOP kombinuje nejlepší principy strukturovaného programování s výkonnými novými koncepty, jejichž jádro se nazývá zapouzdření, polymorfismus a dědičnost.

Příklady objektově orientovaných jazyků jsou Object Pascal, C++, Java atd.

OOP vám umožňuje optimálně organizovat programy rozdělením problému na jednotlivé části a pracovat s každou zvlášť. Program v objektově orientovaném jazyce, řešící nějaký problém, ve skutečnosti popisuje část světa související s tímto problémem.

Příklad nahrávání pořadu v různých jazycích

jazyk vysoké úrovně (Delphi)

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

X86 assembler (koprocesor)

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

Strojový kód (hexadecimální, každý příkaz začíná na novém řádku)

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

Strojový kód (binární reprezentace)

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

Odkazy


Nadace Wikimedia. 2010.

  • Ay-ay
  • Kabanov, Nikolaj Alexandrovič

Podívejte se, co je "Historie programovacích jazyků" v jiných slovnících:

    Historie programovacího jazyka Python- Python vznikl v 80. letech 20. století a jeho tvorba začala v prosinci 1989 Guido van Rossumem v Centru pro matematiku a informatiku v Nizozemsku. Jazyk Python byl koncipován jako potomek programovacího jazyka ABC, schopný zpracovat ... ... Wikipedia

    Časová osa programovacích jazyků- Seznamy programovacích jazyků Podle kategorie Chronologický Genealogický Chronologie programovacích jazyků Chronologický seznam programovacích jazyků. Obsah ... Wikipedie

    Srovnání programovacích jazyků- Tento článek by měl být wikifikován. Vyplňte jej prosím podle pravidel formátování článku. Konvence ... Wikipedie

    Stručná historie vývoje programovacích jazyků- S rozvojem výpočetní techniky vznikly různé programovací techniky. V každé fázi byl vytvořen nový přístup, který pomáhal programátorům s rostoucí složitostí programů. Obsah 1 Začátek vývoje 2 Jazyk symbolických instrukcí 3 Struktura ... Wikipedie

    Historie logiky- studuje vývoj vědy o formách a zákonitostech správného myšlení (logika). Vznik logiky jako rozvinuté analýzy principů vyvozování se vztahuje výhradně ke třem místním civilizacím, a to: Číně, Indii a starověku ... ... Wikipedia

    Historie Linuxu- Tento článek nebo sekce vyžaduje revizi. Vylepšete prosím článek podle pravidel pro psaní článků ... Wikipedie

    Historie svobodného softwaru- Fráze "Free Software" neboli software s otevřeným zdrojovým kódem se vztahuje na produkty distribuované za podmínek liberálních licencí, které uživateli poskytují více možností než tradiční softwarové licence ... ... Wikipedia

Jednou z nejrevolučnějších myšlenek, které vedly k vytvoření, byla myšlenka vyjádřená ve 20. letech 19. století C. Babbagem o předběžném záznamu pořadí akcí stroje -. Od tohoto okamžiku začíná historie programovacích jazyků.

Revolučním momentem v historii programovacích jazyků byl vznik systému pro kódování strojových instrukcí pomocí speciálních znaků, který navrhl John Mauchley, zaměstnanec Pensylvánské univerzity. Mauchlyho kódovací systém uchvátil jednu ze zaměstnankyň jeho firmy, Grace Murray Hopper, která celý svůj život zasvětila počítačům a programování.

Při práci na počítači Mark-1 musela G. Hopper a její skupina čelit mnoha problémům. Zejména vymýšleli rutiny.

Na úsvitu historie programovacích jazyků byl strojový kód jediným prostředkem komunikace mezi člověkem a počítačem. Velkým úspěchem tvůrců programovacích jazyků bylo, že se jim podařilo zajistit, aby samotný počítač fungoval jako překladač z těchto jazyků do strojového kódu.

Koncem 40. let, než se G. Hopper připojil k firmě Johna Mauchlyho, tato firma vytvořila systém nazvaný „Short Code“, což byl primitivní vysokoúrovňový programovací jazyk. Programátor v ní zapsal řešený problém ve formě matematických vzorců a následně pomocí speciální tabulky překládané znak po znaku tyto vzorce převedl na dvoupísmenné kódy. Následně speciální počítačový program převedl tyto kódy na binární strojový kód. Systém vyvinutý J. Mauchlym byl v podstatě jedním z prvních primitivních interpretů.

Již v roce 1951 vytvořila Hopperová první kompilátor na světě a zavedla i samotný termín. Překladač Hopper provedl funkci kombinování instrukcí a při překladu provedl organizaci podprogramů, výběr, transformaci vysokoúrovňových instrukcí (tehdy pseudokódů) na strojové instrukce.

Polovina 50. let se vyznačuje rychlým pokrokem v historii programovacích jazyků. Role programování ve strojových instrukcích se začala zmenšovat. Začal se objevovat nový typ programovacího jazyka, který fungoval jako prostředník mezi stroji a programátory. První a jeden z nejběžnějších byl Fortran, vyvinutý skupinou programátorů v IBM v roce 1954 (první verze).

V polovině 60. let vytvořili Thomas Kurtz a John Kemeny, členové katedry matematiky na Dartmouth College, specializovaný programovací jazyk, který se skládal z jednoduchých anglických slov. Nový jazyk byl pojmenován BASIC.

Na počátku 60. let bylo možné všechny existující programovací jazyky na vysoké úrovni spočítat na jedné ruce, ale později jejich počet dosáhl tří tisíc. Samozřejmě, že drtivá většina jazyků nedostala v historii programovacích jazyků žádnou širokou distribuci; v praxi se jich nepoužívá více než dvě desítky. Vývojáři orientovali programovací jazyky na různé třídy úloh, do té či oné míry je svázali s konkrétní počítačovou architekturou a implementovali osobní vkus a nápady. V 60. letech v historii programovacích jazyků byly učiněny pokusy překonat tento „rozpor“ vytvořením univerzálního programovacího jazyka. Prvním duchovním dítětem tohoto směru byl PL/I (Programm Language One), 1967. Poté se této role přihlásil ALGOL-68 (1968). Předpokládalo se, že se takové jazyky vyvinou a zdokonalí a nahradí všechny ostatní. Žádný z těchto pokusů však dosud nebyl úspěšný. Komplexnost jazyka vedla z pohledu programátora k neopodstatněné složitosti konstrukcí, neefektivitě překladačů.

Na konci 50. let se v historii programovacích jazyků objevil ALGOL (ALGOL, z ALGOritmický jazyk - algoritmický jazyk). ALGOL je určen pro záznam, který je postaven ve formě sledu postupů sloužících k řešení zadaných úkolů.

Vývoj myšlenky Algolu strukturovat vývoj algoritmů našel svůj největší odraz v historii programovacích jazyků, když švýcarský vědec Niklaus Wirth na počátku 70. let vytvořil jazyk Pascal. Pascal byl původně vyvinut jako vzdělávací jazyk a nyní je skutečně jedním z hlavních jazyků pro výuku programování na školách a univerzitách.

Období od konce 60. do začátku 80. let je v historii programovacích jazyků charakteristické rychlým růstem počtu různých jazyků, který paradoxně provázel softwarovou krizi. Tato krize byla obzvláště akutní pro americké vojenské oddělení. V lednu 1975 se Pentagon rozhodl obnovit pořádek v chaosu překladatelů a ustavil výbor pověřený vývojem jednoho univerzálního jazyka. Vítězný jazyk byl nazván ADA.

Jazyk C (první verze - 1972), který je velmi oblíbený mezi vývojáři softwarových systémů (včetně), zanechal velký otisk v historii programovacích jazyků. C kombinuje funkce jak vysokoúrovňového jazyka, tak strojově orientovaného jazyka, což umožňuje programátorovi přístup ke všem strojovým zdrojům, což jazyky jako Basic a Pascal nemají.

Po mnoho let byl software stavěn na základě operačních a procedurálních jazyků jako Fortran, Basic, Pascal, Ada, C. Klasické operační a/nebo procedurální programování vyžaduje, aby programátor podrobně popsal, jak problém vyřešit, tzn. formulace algoritmu a jeho speciální záznam. Očekávané vlastnosti výsledku však většinou nejsou specifikovány. Základní pojmy jazyků těchto skupin jsou operátor a data. V procedurálním přístupu se operátory spojují do skupin – procedur. Strukturované programování jako celek nepřesahuje rámec tohoto směru, pouze dodatečně opravuje některé užitečné techniky programovací technologie.

Zásadně odlišný směr v historii programovacích jazyků je spojen s metodikami (někdy nazývanými „paradigmata“) neprocedurálního programování. Patří mezi ně objektově orientované a deklarativní programování. Objektově orientovaný jazyk vytváří prostředí ve formě mnoha nezávislých objektů. Každý objekt se chová jako samostatný počítač, lze je použít k řešení problémů jako „černé skříňky“, aniž bychom se pouštěli do vnitřních mechanismů jejich fungování. Z mezi profesionály populárních objektových programovacích jazyků je třeba zmínit především C++, pro širší okruh programátorů jsou preferována prostředí jako Delphi a Visual Basic.

Pokud uvažujete o výuce programování, je velmi důležitý programovací jazyk, který se rozhodnete zvolit jako první, měl by souviset s tím, co chcete dělat v budoucnu, a být relevantní. I když programování obecně není pro lenochy, některé jazyky se učí snadněji než jiné, mají komunity věnované učení a nabízejí užitečné dovednosti pro učení jiných programovacích jazyků.

Výběrové schéma

Jsou otázky, které jsou kladeny tak často, že vznikají celá schémata, která na ně odpovídají. Zde je například jeden z nich věnovaný volbě prvního programovacího jazyka.

Při výběru prvního programovacího jazyka stojí za to střízlivě posoudit následující faktory:

  • Trh práce.
  • Dlouhodobé perspektivy jazyka.
  • Potíže s učením jazyka.
  • Co přesně můžete vytvořit v procesu učení a tím, že ukážete ostatním, abyste si udrželi motivaci.

Popularita a poptávka

JavaScript

JavaScript, nezaměňovat s Javou, je programovací jazyk, který v 90. letech vyvinul Brendan Eich, dříve vlastněný Netscape Communications a nyní Mozilla Foundation. JavaScript je jednou ze základních technologií, na kterých je založena webová komunita, jak ji známe. Nenechte se zmást, JavaScript existuje i mimo prohlížeč, ale většinou v kontextu připojených aplikací a služeb.

Jazyk sám o sobě je dynamický a dává programátorům flexibilitu používat objektově orientované programovací styly (protože samotný jazyk je většinou objektově orientovaný), stejně jako funkcionální a imperativní. Extrahuje většinu své syntaxe z C, a pokud plánujete nějakým způsobem vyvíjet web, mělo by být na vašem seznamu učení JavaScriptu.

Naštěstí je JavaScript relativně snadné se naučit, právě teď ve vašem prohlížeči, abyste si ho mohli zahrát, a přestože tomu tak bylo již nějakou dobu, rychle si získává na popularitě. Mnozí z vás, kteří to přidělili, poukázali na to, že vaše výhra ve výuce JavaScriptu je obrovská, protože jej můžete okamžitě použít k vytváření věcí pro web, což může být to, co se mnoho lidí naučí programovat.

Krajta

Mohu také doporučit Python.

Navzdory řadě problémů, které jsou v Pythonu historicky vlastní, je i nadále vedoucím nástrojem v řadě oblastí:

Působivé, že? Co se týče velkých a populárních projektů napsaných v Pythonu, jsou to taková monstra jako:

Můžete také najít na našem webu.

Dovolím si vyzdvihnout nějaký obecný trend ve vývoji programovacích jazyků. Bystrý čtenář už asi dávno tušil, co se chystám říct. Jazyky se vyvíjejí směrem k více a více abstrakci. A to je doprovázeno poklesem účinnosti. Otázka zní: stojí abstrakce za to? Odpověď: stojí to za to. Stojí to za to, protože zvýšení úrovně abstrakce znamená zvýšení úrovně spolehlivosti programování. S nízkou účinností lze bojovat stavbou rychlejších počítačů. Pokud jsou požadavky na paměť příliš vysoké, můžete množství zvýšit. To samozřejmě vyžaduje čas a peníze, ale dá se to vyřešit. Ale existuje jen jeden způsob, jak se vypořádat s chybami v programech: je třeba je opravit. Ještě lépe, nezavazujte se. Ještě lépe je udělejte co nejobtížnější. A přesně k tomu směřuje veškerý výzkum v oblasti programovacích jazyků. A musíte se smířit se ztrátou účinnosti.

Účelem této recenze bylo pokusit se dát čtenáři představu o celé rozmanitosti existujících programovacích jazyků. Mezi programátory často panuje názor na „obecnou použitelnost“ konkrétního jazyka (C, C ++, Pascal atd.). Tento názor vzniká z několika důvodů: nedostatek informací, zvyk, setrvačnost myšlení. První faktor jsem se snažil mírně kompenzovat. K tomu zbytku mohu jen říci, že skutečný profesionál by se měl neustále snažit zvyšovat svou odbornou kvalifikaci. A kvůli tomu se nemusíte bát experimentovat. Co když tedy všichni kolem píší v C / C ++ / VB / Pascal / Perl / Java / ... (zdůraznit nutné)? Proč nezkusit něco nového? Co když se ukáže, že je to efektivnější? Samozřejmě, než se rozhodnete použít nový jazyk, musíte pečlivě prostudovat všechny jeho vlastnosti, včetně přítomnosti efektivní implementace, schopnosti interakce se stávajícími moduly atd., a teprve poté se rozhodnout. Samozřejmě vždy existuje riziko, že se vydáte špatnou cestou, ale ... Nemýlí se jen ten, kdo nic nedělá.

A dál. Slyšel jsem a někdy se účastnil diskuzí typu „jazyk A je lepší než jazyk B“. Doufám, že po přečtení této recenze se mnozí přesvědčí o nesmyslnosti podobných sporů. Maximálně lze diskutovat o výhodách jednoho jazyka oproti druhému při řešení konkrétního problému za určitých podmínek. Tady je skutečně někdy o čem polemizovat. A rozhodnutí někdy zdaleka není samozřejmé. Nicméně argumentovat "obecně" je zjevný nesmysl.

Tento článek má být reakcí na ty, kteří křičí „jazyk X MUST DIE“. Doufám, že odpověď se ukázala jako zcela adekvátní a přesvědčivá. Doufám také, že článek má kromě polemické i poznávací hodnotu.



Související články: