Počítače Okna Internet

Vysokoúrovňový jazyk pro psaní programů. Volba programovacího jazyka. Úrovně programovacích jazyků

Různé programovací jazyky a jejich oblasti použití. Přednáška v Yandexu

Náš první letošní příspěvek jsme se rozhodli věnovat zcela základnímu tématu, o kterém zazněla přednáška v Malém SHADu. Věnují se jí středoškoláci, kteří se zajímají o techniku, proto ta specifičnost prezentace - přednáška zaujme především ty, kteří s programováním teprve začínají a přemýšlejí, jakým směrem se dále rozvíjet. Pro ně má Yandex kurz „Úvod do programování (C ++)“, který lze absolvovat na platformě Stepic.org.

Rozsah programů a aplikací

Psaní kompilačního cyklu může vést k více či méně závažným zpožděním ve vývoji programu. Jejich syntaxe je často blízká lidským jazykům, což znamená, že i nezkušení programátoři zvládnou rychle číst programy. Navíc často nabízejí prvky syntaxe, které pouze nízkoúrovňové programovací jazyky mohou poskytnout pouze prostřednictvím knihoven. Nejlepší příklady jsou vestavěná hash pole. Skriptovací jazyky jsou většinou nestoudné, což je výhoda a může být nevýhoda.

Přednášející Michail Gustokashin – kurátor akademických programů na Yandexu, ředitel Centra pro studentské olympiády, Fakulta informatiky, HSE. Michail vychoval desítky vítězů a vítězů celoruských programovacích olympiád.

V rámci přednášky je řečeno, jaké programovací jazyky jsou, čím se liší, jak se objevily a které jsou lepší a které horší. Na začátku budeme mluvit trochu o historii jazyků - jak se objevily, jak lidé začali programovat, jak se vše vyvíjelo, co se děje nyní. V druhé části se dotkneme toho, pro jaké úkoly se který jazyk hodí, jak si „vybrat svůj oblíbený jazyk a užívat si života“. Lektor také něco málo povypráví o tom, jak se to vše podle jeho názoru naučit a následně získat práci.

Skriptovací jazyky také často poskytují vestavěnou správu paměti a neposkytují aritmetiku ukazatelů. Zejména v případě úloh náročných na data jsou nevýhody rychlosti skriptovacích jazyků jasné – existují různé metody, které se snaží tuto nevýhodu obejít.

V krátké historii počítače již byly vynalezeny stovky a stovky programovacích jazyků. V každém okamžiku však existoval snad jen tucet populárních programovacích jazyků. Objevují se programovací jazyky a programovací jazyky. Některé z nich jsou dokonce opravdu slavné, ale většina z nich ne. Seznam skvělých programovacích jazyků se mění, ale děje se tak velmi pomalu. Většina programátorů se toho hodně naučí a používá různé jazyky v jeho kariéře. Jakmile ale pochopíte hlavní myšlenku, je poměrně snadné se ji naučit nový jazyk o latině se říká, že vám pomůže snáze se učit různé nové jazyky.

Jako vždy je pod střihem podrobný přepis přednášky, abyste se mohli orientovat v jejím obsahu.

Historie programovacích jazyků

Začněme od začátku. Na začátku počítače neměly ani klávesnici! To znamená, že všechno bylo velmi špatné - neměli klávesnici ani obrazovku, měli děrné štítky (to jsou takové věci s dírami nebo bez děr). Podle toho tam buď byly čepy naražené, nebo tam svítily světlem. Pokud je tam díra (nebo naopak), znamenalo to nulu nebo jedničku. A programy se v té době psaly pomocí strojových kódů – každá operace v počítači (sčítání, odčítání, některé složitější operace) měla nějaký strojový kód. Lidé si sami vybrali tento kód z talíře, všemožné adresy v paměti, vše vyklepali rukama a strčili do čtečky – a vše se spočítalo. Samozřejmě, že práce programátora tehdy asi nebyla moc zajímavá – dělat díry – a s rozvojem vědy a techniky se samozřejmě začalo vymýšlet nejrůznější „zajímavější“ věci. Například assembler (Assembler), který už život trochu usnadnil.

Jak si usnadnil život? Místo toho, abychom si pamatovali, že pro tým existuje nějaký „magický“ kód, byly použity všechny druhy slov podobných „lidskému“. Angličtina- nějaké add nebo mov - a pak byly vyčísleny registry nebo paměťové oblasti, proměnné, se kterými je třeba tyto operace provádět. Ale je jasné, že to obecně vyžadovalo také dostatečně velké mentální úsilí, abychom měli na paměti, v jakém registru máme co leží, kde jaké proměnné a co se obecně děje. proč se to stalo? Protože počítače byly „hloupé“ a nedokázaly pochopit nic „chytřejšího“. Kompilace strojového kódu z assembleru totiž zabere i čas, paměť (tehdy toho samozřejmě nebylo dost).

Na některé z nejpopulárnějších jazyků se podíváme později. Ale pokud s tím začínáte, zeptejte se sami sebe: proč existuje tolik různých programovacích jazyků, když jediné, co děláme, je dávání jednoduchých příkazů počítači? Proč neexistuje jeden programovací jazyk, se kterým můžete dělat všechno? No, tento jazyk existuje. Ale tohle není jeden z nich. Každý počítač, včetně notebooku, smartphonu, serveru nebo mé ledničky, pokud je jedním z těchto chytrých, má malý mozek, vestavěnou centrální procesorovou jednotku.

V běžném životě říkáme, že píšeme kód, kterému počítač rozumí, nebo je většinou, ale ne striktně vzato, nesprávný. Toto jsou jediné pravdivé instrukce, které běží přímo na počítači. Proto se nabízí otázka: proč nepíšeme strojový kód? No, protože to prostě není možné. Jedná se o numerické operace, nejmenší instrukce které jsou prováděny na nejmenší možné úrovni v počítači. Kód je pouze pro stroj, ne pro nás lidi. Jiný počítačový model znamená jiný kód.

Postupně se ukázalo, že je velmi obtížné vyvinout tak velké komplexní programy. Produktivita programátora v těchto příkazech byla extrémně nízká - to znamená, že psal několik řádků denně (smysluplné) a každý řádek nedělal nic zvláštního - nějaké jednoduché aritmetické operace. A lidé chtěli, aby se jazyky mnohem více podobaly lidské řeči, konkrétně angličtině, aby bylo psaní programů snazší a pohodlnější. A jedeme!

Zapsat počítačový program do strojového kódu je jako kopat tunel přes Alpy jen se starou lžící, lžičkou vyrobenou z hliníku. Teoreticky myslitelné, ale prakticky nemožné. Všechny programovací jazyky jsou vlastně kompromisem. Byly vynalezeny, aby překlenuly propast mezi počítači a lidmi. Některé programovací jazyky jsou velmi blízké strojovým kódům. Další je pravděpodobně Assembler. Obecně platí, že čím blíže je jazyk ke strojovým kódům, tím hůře se programuje a tím více potřebujete vědět o hardwaru, který používáte.

Staré a mrtvé jazyky

Fortran se stal jedním z prvních jazyků. Mimochodem, byl také vyklepán na děrných štítcích - existovaly speciální děrné štítky na vyřazení programů Fortran. Ale když si teď vezmeš tenhle Fortran - podle mě je to dokonce někde mezi 50-60. se objevil - a zkuste na to něco napsat, bude to pro vás velmi nepříjemné, to vám garantuji! Moderní Fortran je dodnes živý, ale je zcela odlišný od toho, co býval.

Jiné jazyky - teď napíšu jednu věc, o které jste pravděpodobně slyšeli, pak pouze na akcích, kde se vypráví o historii programování - to je COBOL. Byl to jazyk pro psaní obchodních aplikací. Co jsou obchodní aplikace? Jakékoli transakce v bankách, něco jiného, ​​to vše bylo napsáno v Kobolu. U nás se to samozřejmě moc netěší. Myslím, že na Kobolu v Moskvě sotva najdete programátora. A někde ne v Moskvě – s ještě většími obtížemi. Ale překvapivě ještě před 10 lety byla více než polovina veškerého kódu napsaného lidstvem napsána v Cobolu. A až doteď se značná část všech bankovních transakcí provádí pomocí programů v něm napsaných (COBOL) a stále do toho lidé něco píší.

K čemu jsou programovací jazyky?

Tomu říkáme jazyk nízké úrovně. Tento jazyk se nazývá jazyk vysoké úrovně. Je mnohem snazší pochopit a naprogramovat. Jejich provádění je ale samozřejmě pomalejší, protože to za vás musí přeložit počítač. Rychlost však v tuto chvíli není důležitá, a proto se v tomto tutoriálu zaměřujeme na tyto jazyky na vysoké úrovni. Ale bez ohledu na to, co píšeme, musí být vždy před provedením přeloženo do strojového kódu. Takže i když je strojový kód tak důležitý, je nám to jedno.

Existuje i „vtipný“ jazyk, jmenoval se Algol (68. verze, která charakterizuje rok vzniku). Je to algoritmický jazyk. Obecně tam něco dokázali, ale teď nás moc nezajímá, co umí. A tady může naše exkurze do starověku a do relativně nepoužívaných jazyků skončit a přejít k tomu, co je stále živé (a aktivně žije).

Musíme pochopit, o co jde, ale programování pro nás znamená: píšeme zdroj... Píšeme tento takzvaný zdrojový kód. Napíšeme kód a počítač nám ho přeloží. Abyste to vysvětlili, musíte vědět, jak počítač funguje a co znamená programování.

Počítač se skládá z mnoha částí, ale nejdůležitější je procesor, nazývaný také centrální procesorová jednotka. Vypočítává úkoly a částečně koordinuje práci počítače. Pokud něco programujete, dáte počítači pokyny, které spustíte. Aby naprogramovaný program byl interaktivní, vstup, Výsledek je to, co vidíme na obrazovce nebo ve formě listu z tiskárny. To by byla hra bez vstupu, bez hry, protože by nebyla interaktivní. Existuje mnoho různých typů vstupu, ale nejčastěji používaným je vstup z klávesnice.

Staré, ale živé jazyky

Algol byl vynalezen v Evropě a Fortran se používal hlavně ve Státech - nejsou tam žádné velké rozdíly. Jaký trend je vidět? Zpočátku bylo všechno těžké a k psaní jste museli být téměř inženýr, elektroinženýr, rozumět tomu, kde jsou které kontakty uzavřeny, a něco jiného pro programování. Tehdy také bylo nutné sedět s listy a počítat vzpomínku, hlídat si ji. A postupně se vše zjednodušovalo, zjednodušovalo, zjednodušovalo a pro programátora pak ještě snáz - myslet na člověka co nejméně, co nejvíc dělat automaticky. Zhruba na konci tohoto období (přednášející ukazuje na Algol a Kobol) se začínají objevovat jazyky, které v jistém smyslu „přežily“ dodnes.

ZÁKLADNÍ. Možná na to někteří lidé stále něco píší, podle alespoň Viděl jsem, že v některých institucích učí v QBasic - takové modré okno, kde je napsáno "1989". Obecně platí, že žije „mocně a hlavně“! Byl vynalezen jako jazyk pro neprogramátory. V té době byl programátor taková velmi specializovaná profese. A tady vám říkají: „Tady máme skvělý základní jazyk a každý rozumný člověk si v něm vezme a napíše program – snadno“. Opět platí, že BASIC a moderní BASIC je obrovský rozdíl. Všechny tyto řádky číslované každých 10, nejrůznější GOTO a další hrůzy - nemají nic společného s moderním BASICem a dokonce mají málo společného s BASICem 89.

Historie programovacích jazyků

Programování, zpracování vstupu a generování výstupu logickými a matematickými operacemi. Programovací jazyky jsou texty, počítač je čte a provádí. Ale není to tak snadné jako napsat německý nebo anglický text, spíše je to jako cizí jazyk, čínština, protože nerozumíte ani slovu. Programovacími jazyky nic nevysvětlím, jsou určeny pouze k indikaci instrukcí do počítače a mají jen malý „slovník“. To znamená, že něco jednoduchého, například „nebe je modré“, by počítač neměl chápat, protože nic neví a lze jej téměř pouze uvažovat.

Další úsměvnou historkou je jazyk Pascal, široce známý v univerzitních kruzích, především v Rusku a v zemích bývalého Sovětského svazu. Překvapivě byl a stále je používán jako vyučovací jazyk. Ve zbytku světa je méně častý, ale také živý a zdravý. Existuje takový člověk Wirth - tady je to vědec, teoretik. Zúčastnil se diskuse o Algolu, nelíbilo se mu, co se stalo, a přišel s vlastním jazykem - Pascalem. A pak firma Borland (a předtím mnoho dalších firem – konkrétně se angažoval Apple) všechno vzala a zničila. Měl krásnou teorii, štíhlou – „všechno bude v pořádku“ – a vzali a nacpali tam, co lidé potřebují k práci. No, nevyšlo to tak hezky, jak chtěl.

Jaké programovací jazyky?

Procesor dnes dokáže porozumět asi 90 instrukcím, což také umí. Protože jsou tyto příkazy pro lidi obtížně srozumitelné a sotva kdokoli je umí programovat, byly vyvinuty programovací jazyky na vysoké úrovni. Jsou dobře srozumitelné ve srovnání s jazyky nižší úrovně, nazývanými také jazyky symbolických instrukcí, a nabízejí více než 90 předdefinovaných příkazů. Vyšší rychlost výpočtu je vaší výhodou.

Jaký je rozdíl mezi vyššími a nižšími programovacími jazyky

Za prvé, hlubší programovací jazyky jsou blíže strojovým kódům a jsou obvykle kompilovány.

A nakonec,. Xi byl vynalezen inženýry. Jestliže Pascal vynalezl vědec, pak C vynalezli Kernighan a Ritchie, pracovali jako inženýři v Bell. jak k tomu došlo? V té době nebylo možné v těchto jazycích napsat nic systémového (přednášející ukazuje na Fortran, COBOL, Algol). Co je to "systémové"? Například operační systém, nějaké ovladače, něco jiného. Tyto jazyky byly pro matematiku, pro obchod, pro všechny ty věci. A vše ostatní bylo napsáno v Assembleru. Některé jazyky byly, nyní jsou mrtvé, to znamená, že jazyk C se neobjevil okamžitě z Assembleru, ale prostřednictvím některých přechodných věcí.

Kompilace je překlad do spustitelného strojového jazyka nebo bajtkódu. Bytecode je nad strojovým jazykem, a proto potřebuje tlumočníka, který pak kód přeloží do strojového jazyka. Výhodou je nezávislost na platformě, pro každý operační systém lze naprogramovat interpret. Nevýhodou je, že interpretované jazyky jsou pomalejší než kompilované jazyky, zejména při vývoji her – zásadní argument pro použití kompilovaného jazyka. Programovací jazyky nižší úrovně také nemají automatický ovladač paměti, ale při programování potřebují řešit potřebnou paměť, což může přinést rychlost, ale je to ošemetné.

co je podstatou? Kernighan a Ritchie si rádi hráli hračku Asteroids – vesmírná loď létá a jsou tam asteroidy, střílí na ně a ony se rozpadnou. Měli server, na kterém hráli, ale bylo tam hodně lidí a hračka se zpomalovala. A někde ve své kanceláři zjistili, že mají nějaký počítač, který nikdo nepoužívá. Byl tu ale problém – měla jinou architekturu a hra byla napsána v Assembleru.

Vyšší programovací jazyky jsou vhodné zejména pro začátečníky a z důvodu nezávislosti na datových typech pro začátečníky. Nezávislost na datovém typu znamená, že na programovacím jazyku nezáleží, zda je proměnná číselná, písmenná nebo jiná.

Co je potřeba pro programování?

Na rozdíl od skriptovacích jazyků musíte například předem znát typ hodnoty. Řekněme, že chcete naprogramovat program. Co potřebuješ? Za prvé, počítač, který je nepostradatelný, pokud chcete spustit svůj program. Vlastně skoro jen znalost programovacího jazyka. Takže jste určitě dostali všechno, jen to, co máte napsat do editoru, teď budete možná překvapeni. Příkazy jsou tím, co charakterizuje programovací jazyk s „gramatiky“ a programovací syntaxí.

Samozřejmě to přepsali, dokonce některé funkce vystřihli, aby si na tom mohli hrát. To je ale vedlo k názoru, že přepisovat pokaždé na novou architekturu není příliš chytré. A rozhodli se napsat vysokoúrovňový jazyk, který by byl vhodný pro systémové programování, tedy ve kterém by bylo možné spravovat paměť, ve kterém by bylo možné pochopit, kde co je a jak se k těmto částem paměti dostat. . A tak se objevil jazyk C, který měl později na vše obrovský vliv. Všechny (přednášející ukazuje na Algol, Fortran a další zmíněné jazyky) měly velký vliv, ale C - ano ...

Proč gramatika? Opět není těžké napsat německý text bez gramatiky, ne. Syntaxe je mezi nimi zcela odlišná různé jazyky programování, ale pokud umíte používat programovací jazyk, není tak těžké se naučit nový. Proč syntaxe? Protože počítač nerozpozná začátek a konec instrukce, musíte mu sdělit, kde instrukce začíná a kde končí. To se provádí pomocí středníků, teček, odstavců a různých závorek.

Jaké prvky obsahuje programovací jazyk?

Ale to jsou jen některá z „gramatických pravidel“, ale pokud víte, že toto je již poloviční nájem. Existuje mnoho prvků, které musí programovací jazyk vysvětlit, z nichž všechny by nebyly příliš užitečné a pouze by vás zmátly. Místo toho byste měli vědět, jak něco naprogramovat hned, stačí vědět o základních prvcích. Jak víte, počítač ničemu nerozumí, takže se programátor snaží dát počítači matematické podmínky, aby mu vysvětlil, že má příkaz. Pokud chcete programovat, potřebujete dobré matematické a logické porozumění.

V souladu s tím to byl hlavní jazyk v Unixu - operačním systému, který byl v té době ještě populárnější než nyní. A zhruba v 80. letech byla situace asi taková (přednášející ukazuje v Basicu, C a dalších zmíněných jazycích). Řekněme, že tohle všechno už umřelo na lsti (přednášející maže odkazy na Assembler, Fortran a Algol) ... A v 80. letech se počítače zmenšovaly, chytřely, zlevňovaly a lidé chtěli nejrůznější podivnosti, aby žít ještě lépe, žít ještě zábavněji.

Proměnná je způsob, jak uložit číslo, řetězec nebo booleovskou hodnotu v programu. Téměř ve všech programovacích jazycích jsou proměnné nejdůležitější součástí programovacího jazyka, pouze ty „zástupné symboly“, které lze nahradit danou hodnotou, mohou vytvářet interaktivní programy.

Co je to programovací jazyk

Podmínka je požadavek, pokud je aplikován, pak se vykoná to, co je uvnitř podmínky. Existují operátoři, kteří vytvářejí podmínku. Operátory budou: rovno, nestejné, větší než, menší, pravda a nepravda. Smyčka obsahuje kód, který se provádí tak dlouho, dokud platí podmínka, která ke smyčce patří. Například desetkrát má tu výhodu, že vývojář nemusí psát kód desetkrát.

Jazyky pocházející z 80. let

Jednou z prvních zvláštností byl jazyk C++. Jazyk C má obrovské množství nedostatků (no, je prostě opravdu obrovský) - můžete v něm dělat cokoli, včetně střelby do nohy, střelby do nohy fikcí, do druhé nohy, střelby jednou nohou obecně na druhé noze - kterou chcete dělat. Zároveň se tam ale některé architektonické věci dělají dost obtížně - opět jako v Assembleru musíme mít přehled o tom, kde jsme, co a jakou paměť máme přidělenou; je tam celou dobu, kdy tato paměť někam "teče" - to znamená, že jsme vybrali, zapomněli smazat, smazali špatnou věc, vypadli z paměti, obecně - máme spoustu problémů.

C++ byl původně vytvořen jako sada doplňků k jazyku C, které by usnadnily vývoj. V té době přišlo do módy objektově orientované programování a lidé se rozhodli, že vše lze popsat formou hierarchie, to znamená, že máte míč (abstrakt), zdědíte z něj fotbalový míč, volejbal, další abstraktní míč. . Tehdy bylo v módě, že „teď píšeme všechno formou nějaké hierarchie a všechno bude v pořádku, život se zlepší, všechno bude v pořádku a všechno“. V jistém smyslu C++ implementoval tento objektový přístup – nebyl to první objektově orientovaný programovací jazyk, ale stal se docela populární a začaly se v něm objevovat nejrůznější funkce. C++ si přitom zachovalo téměř úplnou kompatibilitu (v té době) s jazykem C, program napsaný v C byl v 99 % případů úspěšně zkompilován jako C++ a dokonce fungoval stejně. To mělo usnadnit migraci z C do C++.

Funkce je kolekce kódu, kterou lze volat kdykoli. Pokud je například kód zapsán do funkce, neměl by být zapsán tak často a lze jej volat prostřednictvím názvu odpovídající funkce. Můžete také volat funkce s parametry. Toto číslo může funkce použít jako proměnnou. Stejnou funkci můžete například použít k výpočtu více faktur, které mají stejný vzorec.

Pokud byste chtěli vidět zdrojový kód mé ještě nedokončené hry. Na stránku s verzí aktuální hry. Na tomto webu bylo potřeba naprogramovat a zobrazit atraktivní design a četné funkce webu pro maminku optimálním a vyhovujícím způsobem.

Kromě objektového přístupu (v C ++) se rychle objevila standardní knihovna šablon (STL). Myslím, že ve škole ti, co ještě učili Pascal, zjistili, že za prvé tam nemáte zabudované třídění (ve starověkém, modrém Borland Pascalu, teď už je to v moderních verzích) - existuje příklad (zdroj) třídit, můžete jej zkopírovat a vložit. Ale pokud zde chcete seřadit celá čísla, zde chcete reálná čísla a zde jsou řetězce, které lze vzájemně porovnávat, museli jste napsat tři různé druhy, které dělají naprosto totéž, jen mají odlišné typy data. To není příliš dobré a šablony, které se okamžitě neobjevily v C ++, tento problém značně usnadnily. To znamená, že jste měli abstraktní program, který úspěšně seřadil něco, co lze vzájemně porovnávat.

Skriptovací jazyky z 90

Čas se ale nezastavil, v 80. letech se událo mnoho zajímavého. Jenže někde na přelomu 80. a 90. let se počítače staly tak dobrými, že už bylo možné dělat velmi podivné a velmi neefektivní věci. Konkrétně se jednalo o skriptovací jazyky, které nebyly kompilovány do strojového kódu, ale interpretovány. BASIC byl někdy také interpretován, ale tyto skriptovací jazyky byly určeny hlavně pro zpracování textu - například Perl, Python (tenkrát to nebylo moc slavné), PHP, Ruby - to jsou skriptovací jazyky, které jsou v jeden nebo v jiném stupni stále žijí (všem se podařilo objevit před rokem 2000, dokonce mnohem dříve).

Pojďme si je trochu projít, protože to jsou specifické věci a nyní se používají na mnoha místech. co je to za nápad? Pokud nezkompilujeme, můžeme povolit mnohem více. Program se například může podívat na svůj kód a nějak ho použít; ví, co se v ní děje a díky tomu dokáže spoustu zajímavých věcí.

Perl byl určen pro zpracování textu – v té době už bylo v počítačích tolik paměti, že do něj bylo možné nacpat nějaký text a udělat s tímto textem něco užitečného (například počítat slova, hledat nějaký druh). Ale podle mého názoru jej navrhli lidé, kteří byli trochu mimo, protože o něm existuje takový vtip: "Jakákoli sada znaků napsaných v Pearl je správný program." Podle mě se na to dá jen psát, nedá se to číst. Když se podívám na kód v Perlu a snažím se něco zjistit, nerozumím ničemu. Možná, že kdybych ho znal lépe, něco bych pochopil, ale jak jsem slyšel od těch lidí, kteří to ještě umí, říkají, že je to jednodušší přepsat. To znamená, že programy jsou krátké a opravdu snadněji se přepisují, než zjišťovat, co tam je, a opravovat to.

Zhruba v této době, v polovině 90. let, se objevil internet. Zpočátku to byla pošta, stránky se statickým HTML, ale lidé tam chtěli přidat nějakou dynamiku, aby se nám vše dělo dynamicky, daly se vyplňovat nějaké formuláře, dělat knihy hostů a něco jiného. Podle toho to vyžadovalo nějakou interakci, přišli s protokolem, jak to interaguje, a hlavně s generováním těchto statických (podmíněně) stránek, které budou uživateli „vyplivnuty“ v reakci na jeho požadavek.

Obecně se v té době nehodilo nic jiného než Pearl. Byl to špatný nápad napsat handler v čistém C nebo C++. A pro nedostatek lepšího jazyka v té době (a dostatečně dlouho), Pearl byl oblíbený jazyk pro vývoj webových aplikací. Rozsah samozřejmě není srovnatelný s tím, co se děje nyní.

PHP vzniklo jako ... náhodou. Jeden člověk s tím rychle přestal - udělal si nějakou vlastní stránku, měl nějakou knihu návštěv, něco jiného, ​​nějaké věci. A napsal sadu maker pro Pearl, která vypadala jako C, protože věděl, jak používat C, jen proto, že byl tak pohodlný. A nazval jsem to Osobní domovská stránka. Shared a řekl: "Lidé, podívejte se, co jsem napsal, všechno je zde mnohem jasnější než na Pearl a můžete to upravit." A lidem se to líbilo.

Pak případ zahodil. Obecně v důsledku toho toto PHP začalo žít a postupem času se stalo mnohem populárnějším než Perl. Ale toto jeho "porodní trauma" (nápad je jako sada maker pro Pearl) si s ním hrálo docela krutý vtip. Jazyk se ukázal být zvláštní. To znamená, že se to vyvíjelo samo, nikdo to nenavrhoval, nikdo neřídil vývojový proces (ani společnost, ani nikdo), ale bylo mnoho skupin, z nichž každá pila, co se jí líbilo. Ve výsledku se tam funkce jmenují jinak, není tam ani styl, vše je přes podtržítka, obecně nastavení je tu a tam a jak to bude celé fungovat není moc jasné. Ale můžete si sednout a psát v PHP za dvě hodiny, protože to tak zamýšlel.

Python a Ruby: Ruby je nyní méně populární, Python je tak nějak lépe "ořezaný", o tom později. Je jasné, že v té době to byly (přednášející ukazuje na Perl, Python, Ruby, PHP) vysoce specializované jazyky pro vysoce specializované účely. Obecně se v nich v té době nepsalo žádné systémové programování, žádná obchodní logika a nyní toho moc nedělá.

Kompilované jazyky z 90. let

Půjdeme zhruba ve stejnou dobu, ale jiným směrem. C++ jsme v té době používali skoro na všechno, co bylo potřeba napsat ne pro web, ne pro zpracování textu, ale pro jednoduché aplikace, pro operační systémy, pro hračky – obecně pro cokoli. Ale C++ je ve skutečnosti strašidelný jazyk. Proč? Protože za prvé zdědil kvůli zpětná kompatibilita všechny problémy C. Pořád jich může zabít milion různé způsoby, stejné, které byly v C (samozřejmě byly přidány nové způsoby v C ++). Přitom pokud vše dobře a správně napíšete tak, jak to pojali autoři C++, tak se samozřejmě nedalo zabít starými metodami a zdá se, že jich bylo méně. Měl však velmi zvláštní objektový model. Rozdělení programu na moduly, na kousky nějakého druhu obecně pocházelo z C (pokud můžete napsat include v C nebo C++ - ve skutečnosti to bylo koncipováno jako jednoduché vložení textu knihovny do vašeho programu, v konec, když napíšete hromadu inkluzí, máte vše - pokud je to „primitivní“, jako to bylo na úplném začátku - vše se vloží do jednoho souboru a pak se to všechno strašně dlouho kompiluje, protože to jde několikrát kolem. verze jsou ještě lepší.

Obecně má C++ spoustu nevýhod. Kvalifikace programátora musela být vysoká, aby mohla psát v C++, a takoví programátoři byli drahí (jak školení, tak něco jiného, ​​to znamená, že je těžké najít programátory na trhu, musí hodně platit, no, obecně to tak není...). A naše počítače počítají stále rychleji, zlevňují, lidé si kupují nové počítače a chtějí více aplikací, více hraček pro telefon, obecně – více radosti.

Tak se objevila Java (Java). I tam se pojí docela úsměvná historka, jak se název objevil v tomto jazyce. Jsou tam programátoři, kávu pijí pořád a v té době bylo v módě pít kávu, která rostla na ostrově Jáva. Jazyk byl koncipován jako jazyk pro vestavné spotřebiče, zejména pro kávovar. Tak vznikl název...
Co u ní začalo, co bylo na ní dobrého a proč si získala takovou oblibu? Nejprve se Sishnyho dědictví úplně zbavili. Žádná ukazovátka, mnohem méně způsobů, jak odstřelit jakoukoli část svého těla a všechno rozbít. Za druhé, představili mnohem novější nápady, pokud jde o objektový model - to znamená, že C++ se objevil mnohem dříve než Java a používal archaičtější, "divoký" objektový model. No a tady (přednášející ukazuje na Javu) už to bylo tenkrát promyšlenější a teoreticky lidé mysleli a v praxi vše aplikovali a dělali mnohem cool.

A konečně třetí. Naše Java programy nebyly sestaveny do strojového kódu, ale do kódu pro virtuální stroj. To znamená, že jste měli virtuální stroj JVM (VM) - Javovsky. Vaše programy byly shromážděny v jakési meziprezentaci a poté s pomocí tohoto stroje již byly spuštěny. co to udělalo? Za prvé se zpomalil, za druhé žral paměť strašnou silou a za třetí byl přenosný kamkoli (teoreticky) - i do kávovaru, dokonce i do mlýnku na kávu, dokonce i do počítače, dokonce i do mobilu. To je na jednu stranu dobře, to znamená, že jste právě napsali implementaci virtuálního stroje a pak všude spouštíte své Java programy. Ale na druhou stranu je špatné, že tentýž telefon měl v té době málo paměti, nízký výkon a to vše se navíc začalo otupovat a zpomalovat.

Ale ani to není hlavní důvod, proč byl jazyk obecně vynalezen. Jazyk Java byl vynalezen, aby snížil požadavky na kvalifikaci programátorů. To znamená, že by mohli psát chudší programátoři dobré programy v Javě, protože vám neumožňuje psát špatné programy - neexistují žádné prostředky, jak psát špatné programy. Dají se tam psát jen dobré programy. Tedy v chápání tvůrců jazyka.

To znamená, že pokud v C, v C++, v Pythonu, na čemkoli, dokážeme rozpustit nějaký strašidelný odpad z našeho projektu, kde máme všechno smíchané, shromážděné hodiny a tam něco jiného. V Javě můžete také rozpustit odpadkový koš, ale k tomu už musíte vynaložit určité úsilí. Čili standardně se to neukáže jako "smedlo", nastávají další problémy, že se tam něco zdědilo a zdědilo - obecně se na jeden smysluplný řádek získá deset nepříliš smysluplných. Na druhou stranu možná takový středně zdatný programátor umí napsat docela kvalitní kód.
Jsme skoro na konci. U nás se objevila další věc .Net (dosáhne), no a konkrétně nás zajímá C # (téměř to samé [přednášející ukazuje na Javu], tedy rozdíly v detailech, pokud si mezi nimi vyberete - podívejte se, kde zaplatíte více peněz).

A ještě jedna věc je JavaScript. Nemá nic společného s jazykem Java, objevil se ve stejném roce - slovo bylo módní, licencovali ochranná známka použít.

Na co si dát hlavně pozor? (Přednášející kreslí šipky z C ++ do Javy, .Net, C #, JavaScript a PHP). Chcete-li napsat jednoduchý program v jednom z těchto jazyků a v mnoha dalších - pokud znáte C ++, obecně nepotřebujete znát nic jiného - vezmete a napíšete v C ++ a pak na začátku přidáte dolary , něco jiného udělá maličkosti a začne vám to fungovat na čemkoli (lektor ukazuje na jazyky, ke kterým byly šipky z C++ přiřazeny). To znamená, že jsou si v některých jednoduchých věcech extrémně podobní. Pokud řešíte nějaké školní problémy, vzdělávací úkoly, něco jiného (nenavrhujete velký projekt - máte jeden soubor, který čte čísla, zobrazuje čísla v konzoli, dělá něco jiného), tak mezi těmito jazyky není téměř žádný rozdíl. Je vidět, že JavaScript a PHP jsou specializované, všechno mají trochu jinak. A zde (přednášející ukazuje na Javu a C #) je obecně velmi malý rozdíl.

Od té doby se objevily různé další zajímavosti, ale není jasné, zda budou žít nebo úspěšně zemřít. Co nyní používají, k jakým úkolům?

Výběr jazyka v závislosti na úkolu

Řekněme, že stojíte před úkolem napsat ovladač pro grafickou kartu. Jaký jazyk dnes použijete? (Křičte z publika: Java!) Proč... Java je skvělá, ale proč ne Ruby nebo PHP? (Přednášející mluví sarkasticky.)

Nízkoúrovňové programování

Pokud píšete něco nízkoúrovňového, pak je C nejlepší volbou, ale ve skutečnosti jsem něco slyšel (ale neviděl), že se k tomu používá C++. Ale sotva tomu věřím, protože v C můžete jasně ovládat - když jste dali tolik bajtů paměti, pak bude tak a tak. A jak je v C ++ (STL) implementován řetězec? No, nějak implementováno. A nakonec nevíme, jak a co se tam děje, možná nám dojde paměť na naší grafické kartě nebo se stane něco jiného. Proto C stále žije a neumírá, takové systémové programovací úlohy stále existují - napsat operační systém, napsat ovladače, napsat něco jiného - C je na to skvělé. Kromě toho nyní existují nejrůznější zařízení (internet věcí slibuje, že to brzy přijde), která žijí na baterie (a přirozeně jich budou miliony, vše bude zavěšeno tímto internetem věcí), měly by být velmi levné a spotřebovávat velmi málo elektřiny. Podle toho tam budou 2 KB paměti, 5 kHz procesor, no, samozřejmě, co tam přišroubovat virtuální stroj nebo skriptovací jazyk nebude v blízké budoucnosti fungovat, což znamená, že budete muset napsat něco v C. A i teď třeba výpočty na grafické kartě (OpenCL nebo nějaká jiná technologie) - oni nepřijdou s novým jazykem pro psaní programů - tam dělají C s nějakými velkými omezeními. Proč se učit něco nového jen proto, že lidé už vědí jak na to? Formálně je to pravděpodobně také v jistém smyslu C.

Webové programování

Řekněme, že chcete napsat nový Facebook ( sociální síť). Na co to budeš psát? (Z publika se mluví o HTML a CSS.) HTML, CSS je design a my tam chceme mít možnost přidávat fotky, přátele, zanechávat komentáře.

Pro skriptovací část – tedy to, co se bude dít na straně klienta – je to JavaScript. A někdy je JavaScript vygenerován v jiném jazyce a odeslán (stane se, že se skript vygeneruje ... protože někdy je snazší zvládnout některé změny v logice tímto způsobem).

Kupodivu je to napsané v PHP – a Facebooku a mnoha dalších velkých projektech. Samozřejmě jsem musel napsat nějaké své vlastní věci, aby to stále fungovalo dobře, a ne jako „tyap-blooper“, ale udělali to. V podstatě je úplně jedno, v čem píšete, ale Perl nedoporučuji. Tady a teď samozřejmě nikdo nepíše pro web nic od začátku. Každý píše nějaký rámec nebo tak něco. Online nakupování? Stáhli jsme si framework pro internetový obchod – no, to je ono, napsali jsme internetový obchod.

Obchodní programování

Dále chcete napsat nějakou nudnou bankovní aplikaci. Nebo máte například někoho, kdo prodává sim karty? Možná jste si někdy koupili telefon nebo něco jiného a řekli vám: "Systém visí, nemůžeme nic dělat." Na co takovou žádost napíšete? (Výkřik publika o Pythonu) Něco takového nemůžete v Pythonu napsat, co jste?! Pro podnikání v Pythonu nemá cenu nic psát. Proč? Protože když něco napíšete v Pythonu, nemůžete v procesu psaní najít významný počet chyb. Python se všemožně dynamicky typuje a obecně se tam dá schovat chyba tak, že vyskočí v takové situaci, že ani nechápete, co tam ti pokřivení uživatelé dělali, že se vám všechno rozbilo. To znamená, že je lepší psát malé skripty pro sebe v Pythonu - rozumíte tomu, co se tam děje a co se dělá. No, nebo něco, co není škoda vyhodit: chcete něco uvést na trh dříve než vaši konkurenti, tak co když to pokaždé praskne. Napsali jste v Pythonu a je to - převzali jste trh. A pokud něco píšete delší dobu, například nějakou bankovní aplikaci (aby schvalovala půjčky, něco jiného) - napíšete to v Javě. Protože je tam vážná věc, papíry, peníze, doklady, něco jiného, ​​ale nemůžete v tom zaneřádit natolik, aby se všechno porouchalo, jinak se lidé urazí - jejich peníze odešly a nikam se nedostaly, v okamžiku, kdy se řetězec proměnil v číslo nebo naopak. Takže to znamená, že metodicky vezmeš Javu a budeš psát, psát... No, nebo na.Net, takové situace se v zásadě také stávají. Tam samozřejmě můžete také narazit na problémy, ale pravděpodobnost je stále o něco nižší.

Programování pro armádu, letectví a kosmonautiku

A teď si představte, že se rozhodli poslat vás na Měsíc v raketě. Co byste raději použili k napsání kódu, který ovládá raketové motory? Uvidíme. To asi (přednášející ukazuje v Perlu, Pythonu, PHP, Ruby) za to nestojí - zpomaluje se, děje se něco jiného, ​​no, obecně bych nesouhlasil s létáním na takové raketě. V C++? Abych byl upřímný, ani bych mi nevěřil, protože v C ++ je příliš mnoho způsobů, jak se zabít. Když jste někde ve vesmíru, není to moc dobré.

Možná v Javě? Zdá se, že je tam všechno docela spolehlivé a architektura je dobrá, žádné divoké typy, žádná přebytečná paměť. Řekněme, že nadešel ten nejzásadnější okamžik a naše Java se rozhodla posbírat za nás odpadky. Musíme přistát, zpomalit a ona říká: "Ne, odpadky jdou." Obecně také ne moc dobré.

Abych byl upřímný, raději bych tento program nechal napsaný v Pascalu. Samozřejmě nemám Pascala moc rád, ale v takových věcech by to bylo velmi cool.

Použití několika jazyků najednou pro vývoj softwaru

No, co by se obecně mělo říci o moderních jazycích. V dnešní době mnoho projektů nežije v jednom jazyce, to znamená, že některé z nich žijí v jednom jazyce, některé v jiném a jiné ve třetím. Například, pokud máte nějakou webovou aplikaci, která zpracovává divoké množství informací, přístupy na disky (ani do databází, ty jsou tak obrovské, že ani databáze nepodporuje některé již napsané) jsou pravděpodobně zapsány v některých pak nízkých -úroveň C pro divoce rychlý zápis na disk a tak dále. Psát celý projekt v C se přirozeně nevyplatí. Možná existuje nějaká střední logika napsaná v Javě, která volá funkce Cis pro rychlá volání. No, frontend (to, na co se uživatel dívá), už je samozřejmě v něčem napsán, v nějakých skriptech, v něčem, co přímo spouští prohlížeč (JavaScript). A to vše spolu žije a úspěšně interaguje.

Při vývoji některých aplikací, i těch velkých, někdy lidé dělají co? Vezmou a napíšou prototyp v Pythonu (jak všechno bude fungovat), načrtnou, přemýšlejí o nějaké architektuře. Psaní na něm je opravdu velmi rychlé - hodili prototyp, experimentovali s ním a řekli: „Wow! To je tak hustý! " A kompletně přepsaný. Zdálo by se, že tu práci udělali dvakrát, trvalo to dvakrát tak dlouho (no, jeden a půl). Ale ne! Často se ukáže, že tato metoda není špatná, protože pokud hned napíšete do něčeho, například v Javě, a pak se rozhodnete: "Ne, pojďme refaktorovat, úplně změnit architekturu a to všechno," - pak utratíte 10x více času... I takové věci existují a žijí.

Podmínky úspěchu jakéhokoli programovacího jazyka

Nyní si promluvme o tom, proč některé dobře vypadající jazyky nepřežily nebo nežily ve velmi omezeném prostoru. Když Wirth viděl, co ty špatné společnosti Apple, Borland a všechno, co dělaly s jeho Pascalem, přišel s ještě lepším jazykem – Oberon. Bylo to prostě divoce minimalistické - to znamená, že tam bylo velmi málo příkazů (Řetězce? Proč potřebujeme řetězce? Vytvoříme pole znaků!). Něco mu nefungovalo do té míry, do jaké mohlo.

Ještě jedna věc. Americká armáda byla požádána, aby je také vyvinula cool jazyk, na kterém vše funguje a vše lze napsat. Výsledkem je poměrně obludný jazyk zvaný Ada, ve kterém však stále něco píší, ale opět - pouze pro armádu.

Co je za problém? Proč některé jazyky jako Python, který na začátku žádná společnost nepodporovala, převzaly trh. PHP, které je také špatně navržené, se také ujalo a uchvátilo trh (většinu) samo. A všelijaké miliardy dolarů byly proinvestovány (přednášející ukazuje na Adu) a nikam nešly, nic se nedělo. jaký je pro to důvod? Je to dáno tím, že kolem těchto jazyků neexistuje žádná infrastruktura. To znamená, že jazyk může být vynikající, ale pokud neexistuje žádná dokumentace, pokud neexistuje komunita, která by mohla odpovídat na otázky (na Stack Overflow) a nakonec, co je nejdůležitější, pokud jich není velké množství knihoven, jazyk nespustí. To znamená, že jste například chtěli napsat webovou stránku na Oberon. Proč ne? A zmatek začíná... Nemůžete zvednout svůj webový server na Oberonu za účelem lehkého testování, nemůžete připojit žádné knihovny, protože na Oberonu nejsou. A to vše se děje přes jakési berličky, síly jdou stranou a celkově plivete a píšete své stránky v čistém C místo Oberonu. A ty jazyky, které jsou schopny používat knihovny z jiných jazyků, žijí dobře. Stejný Python v těch místech, kde se zpomaluje. Obecně platí, že v C jsou napsány všechny možné standardní věci jako třídění a něco jiného a on (Python) ví, jak s nimi pracovat.

Java má také nativní rozhraní Java. Toto je v podstatě C, to znamená, že tam (podle mého názoru chtějí zakázat neustále, ale zdá se, že ještě nezakázali) tyto jazyky mohou interagovat s již existujícími knihovnami (hlavně těmi Sishny). A díky tomu berou a pracují. Myšlenka, kterou se vám snažím sdělit, je jasná, že? Nepište v jazycích, které nevědí, jak připojit knihovnu C. No, pokud si chcete užít něco skvělého. No a postupně oni (jazyky) zarůstají svou vlastní infrastrukturou. A žijí tak nějak dobře.

Programovací jazyk a kariérové ​​poradenství

Nyní si promluvme o tom, jak porozumět tomu, co v životě chcete. Co jsou skvělé věci? Můžeš dělat nějaké systémové programování, že? Je skvělé počítat tyto motorky, chcete spustit kvadrokoptéry, nějaké kamery a něco jiného. Pak je C pravděpodobně vaše volba.

Pokud chcete psát, možná to nejsou nejzajímavější aplikace v životě, ale je pro vás skvělé je navrhovat, přemýšlet o tom všem a vydělávat spoustu peněz za sezení a nudu většinu času (za to musíte zaplatit, pokud jste velmi kvalitní slečno), tady jsou - Java, .Net. Chodíš pracovat do banky, píšeš, chodíš do práce v devět v bílé košili, máš dobrý plat a píšeš podle doporučení nejlepších Java-source, .Net-sheep a toho všeho ...

Pokud chcete psát nějaké aplikace, nějaký prohlížeč, nějaké hračky, něco jiného, ​​pak je C++ skvělé. Pokud chcete psát webové stránky, zde jsou, jazyky dle vašeho výběru (přednášející ukazuje v Perlu, Pythonu, PHP, Ruby), není velký rozdíl. Jediná věc je, že PHP zemře dříve než Python, takže pokud jste líní učit se nové věci, naučte se Python. Velký rozdíl nepoznáte, ale déle vydržíte.

Co se děje s Ruby, je také nejasné. No, můžete také PHP, pokud jste se to již naučili, protože jsou tak jednoduché, že netrvá tak dlouho se tam znovu učit.

A konečně je tu další oblast použití programovacích jazyků - to je, když je používá neprogramátor. Řekněme, že jste matematik, fyzik, chemik, analytik, kdokoli a potřebujete rychle něco spočítat, analyzovat nějaká data (pro biology například, kolik polárních lišek žije na Velitelských ostrovech). To vše můžete vložit do tabulky v Excelu nebo to něčím analyzovat. K tomu se hodí i Python, umí pracovat s textem a knihovny jsou plné všeho možného, ​​statistického a tak dále. Pokud chcete dělat nějaký druh strojového učení, zpracovávat nějaká data, předpovídat, pak se to nyní také dělá nejrychleji v Pythonu. Je však třeba poznamenat, že úkoly jsou velmi odlišné. Pokud například chcete na burze okamžitě obchodovat za podmínek, kdy se kotace neustále mění, pak bez ohledu na to, jak skvělé Machine Learning napíšete v Pythonu, lidé, kteří to mají napsané v něčem rychlejším, budou mít čas koupit si vše dříve, zatímco vy budete počítáni, i když jejich algoritmy jsou horší. Proto i tyto úlohy strojového učení (některé z nich) vyžadují vysoký výkon (a extrémně vysoký), a tedy i další jazyky.

Jediný způsob, jak vědět, co chcete, je vyzkoušet všechno. Teď to řeknu jako jednu z vizí, jak si všechno můžete vyzkoušet. Jak se stát programátorem a šťastným? Tak. Začínáme od nuly. Zde se ve škole učíte svou matematiku, ruský jazyk a další povinné a volitelné předměty a vaše znalosti z oblasti programování se promítají na tabuli (lektor ukazuje na prázdnou tabuli) na tento moment... A chcete se stát šťastným člověkem, dělat to, co milujete, vydělávat spoustu peněz a nic si neodpírat a být šťastný.

Jeden způsob, jak to udělat. Existují samozřejmě nejrůznější inspirativní příběhy o lidech, kteří na vysokou školu vůbec nešli, nebo je opustili a stali se miliardáři, majiteli firem a podobně. Ale je třeba poznamenat, že většina lidí, kteří se možná nestali miliardáři, ale také si žijí dobře, univerzitu v určitém okamžiku vystudovala.

Jak jsme na tom s přijetím na VŠ (nyní studujete školu)? Zatímco jste ve škole, musíte pochopit, že dalším krokem je zapsat se a postarat se o to. Složte zkoušku nebo vyhrajte olympiádu. Na zkoušce lze použít Pascal, C ++ (včetně čistého C), Python (nebudu je dále uvádět). Na olympiádě - stejný Pascal, stejný C++, stejný Python (teď si povíme o jeho problémech) a nejčastěji Java. V závislosti na olympiádě se stále může stát cokoliv, ale ne podstata.

Jak vypadá graf rozložení jazyků na celoruské olympiádě v informatice? Lidé, kteří se účastní celoruské, nejlepší olympiády, o čem píší? Vypadá to takto (zde to znamená Pascal a tady je to asi 2000 a tady je to asi nula, tady je C ++ a tady je to 2015).

V roce 2000 skoro nikdo nepsal v C++. O patnáct let později už skoro nikdo nepíše v Pascalu, přestože Pascal je moderní. To je jazyk, který umí skoro všechno stejně. Prostě všichni jsou příliš líní se to naučit, každý nový trend a všichni dál píší v Borland Pascal, což samozřejmě nic neumí. V C ++ lidé píší nějaké třídicí algoritmy (STL) - skvělé, napsali sort () a je to. Na Pascalu, na běžném, na starém - to je problém. Napsali nějakou množinu (potřebu) - paráda, psali to v C ++, v Pascalu je zase muka spojitá. Na nových Pascalech to samozřejmě můžete udělat, ale ve skutečnosti stojí peníze. Možná jste si toho nevšimli, ale je to tak.

Existuje také Java, ale Java má spoustu písmen. Je to pro velké projekty, ale pro malé jednorázové programy to dopadá dost špatně, protože je toho hodně další písmena... Ale i někteří lidé píší, můžete se na tom naučit psát. Ale na Jednotné státní zkoušce tomu tak není a Jednotná státní zkouška bude z větší části stejně muset projít.

Co je na zkoušku nejlepší? Na zkoušku je nejlepší (pokud nic neumíte a ve škole vás nic nenaučí) naučit se Python. Některé úlohy zkoušky jsou na něm perfektně vyřešeny. Na olympiádě se obecně ukazuje, že C ++ je (používá se), protože Python je hodně pomalý, ne všechno se tam řeší.

Takže jste studovali nějakou malou podmnožinu jazyka a některé algoritmy (možná) a vyřešili spoustu problémů, abyste získali diplom z olympiády a šli na univerzitu, abyste získali vyšší vzdělání.

Nyní vám řeknu o tom, jak my v HSE budujeme kurz, v jakém pořadí jsou jazyky, jak se studují v aplikované matematice a informatice na Fakultě aplikovaných věd, což Yandex a já děláme. V prvním semestru - Python (ne v plném rozsahu, o tom, jak byste se měli učit ve škole) a C ++ (širší, mnohem širší, než se obvykle učí ve školách). Řeknu vám to hned, abyste se nelekli, když najednou budete chtít vstoupit, řekněte: „Proč, to všechno už vím, proč jdu někam studovat? Raději půjdu jinam." Pro ty, kteří již umí dobře programovat, je zde možnost přejít přímo ke studiu algoritmů a to v celkem teoretickém výcviku. Teď se na ně nedíváme, tohle (ukazuje na tabuli) je pro ty, kteří programují medium nebo vůbec.

V prvním semestru se učí základy Pythonu, jen aby se lidé naučili programovat a aby to nikoho zvlášť nepohoršovalo. Python se ve školách vyučuje jen zřídka, většinou lidé přicházejí se znalostí Pascalu nebo C++. V podstatě i Pascal, pokud je to masová škola. No, aby se nikdo neurazil, každý se učí nový jazyk (jako by byli za rovných podmínek). A C ++ jednoduše proto, že z C ++ pak můžete jít kamkoli.

Poté následuje kurz "Algoritmy" a samostatný projekt kurzu... Klasické algoritmy s implementací. Ne že bychom teoreticky něco vzali, vypočítali složitost. Na přednášce jsme to vzali, vypočítali složitost, na semináři - vzali, implementovali algoritmus. Projekt je o tom, že studenti dělají něco hotového. Například jeden z projektů zněl: počítat... Řekněme, že máte v Moskvě hodně bytů a rozumíte: „Ach, mám spoustu nepotřebných věcí, některé pronajmu. A stanoví cenu a nikdo si od vás nechce pronajmout byt - pravděpodobně příliš drahý. Nebo stanovili nějakou cenu, hned to sundali a vy si pomyslíte: „Ach, asi jsem to levně prošvihl“ – a taky se rozčilujete. To znamená, že bylo nutné spočítat, kolik stojí pronájem bytu? Vy zadáváte data – vytvoří pro vás odhad. Takový web, který se skládal z několika věcí: přijímat návrhy, analyzovat, aplikovat nějaký algoritmus strojového učení (pravděpodobně) nenáročný a vytvořit krásnou webovou tvář, ve které si můžete něco vybrat, něco zajet, pár metrů, libovolný počet místností , počet saun, počet jacuzzi ve vašem bytě a přibližný odhad nákladů. Tedy nějaký hotový, ne moc těžká věc... Zde to znamená (přednášející ukazuje na kurz o algoritmech) takový rázný C++, s konzolovým I/O. No a tady (přednášející ukazuje na nápis "projekt") je něco pod vedením mentora, případně s databázemi, možná s parsováním textů a s něčím jiným.
Pak přichází třetí semestr – předmět s názvem „Počítačové systémy“. Je tam docela dost assembleru pro pochopení (velmi málo) a pak něco podobného čistému C a interakci s operačními systémy, v podstatě systémové programování. A projekt na seminář je také něco na téma všech síťových interakcí, docela nízkoúrovňové: vyvinout nějakou utilitu, třeba rsync (synchronizace, možná víte. V čistém C víceméně napište analog rsync, které budete mít přes síť synchronizované složky se všemi přístupy k souborům atd.).

A konečně čtvrtý. Ani nevím, jak to nazvat, je to taková vinaigretta technologií nezbytných pro skutečný vývoj, například pro vývoj webu. To znamená, že se jedná o praktickou aplikaci databází, opět něco podobného, ​​co se dělalo v projektu (přednášející ukazuje na projekt 2. ročníku), ale více do hloubky. Čili takové víceméně konkrétní věci jsou již praktické programování. Paralelně s tím existuje nějaká teorie, no, tady se také zabývají vědou.

A po dvou kurzech se lidé rozejdou dělat to, co je zajímá, protože tato věc pokrývá poměrně široce takové základy programování a lidé v tomto bodě již chápou, že se nechtějí nijak zabývat počítačovými systémy (např. neměli rádi systémové programování), ale chtějí se vypořádat s některými teoretickými algoritmy, obtížností počítání, vymýšlením nových věcí, distribuovaných nebo něčím jiným. Nebo si naopak myslí, že tady toho moc nemají ( lektor ukazuje na první řádek kurzu s Pythonem a C++) tak jdi ( lektor ukazuje na třetí řádek kurzu se systémovým programováním) - jak se ti nelíbí, počítej bajty a nastav si všemožná omezení na čtení-zápis, dělej streamy, vlákna a něco jiného. A v souladu s tím si lidé vybírají nějaký směr a učí se. Tedy v zásadě proto, aby se u vás nerozvinul „syndrom káčátka“ – nejprve jste viděli svého Pascala a nyní říkáte „Pascal je síla“; nebo pokročilejší - viděli jste C++ a začali jste o všech říkat, že C++ je mocné a všechno ostatní není moc dobré.

Zde je potřeba se na to podívat (lektor ukazuje na seznam předmětů na tabuli) šířeji - je to jedna z metod, která byla zvolena zejména na HSE (objevila se nedávno, takže je celkem moderní). Jsou i jiné způsoby, jak se poznat. Na jiných dobrých univerzitách jsou umístěny v trochu jiném pořadí a jiné akcenty. Ale také se snaží lidi seznámit se vším, co mají.

Jak si programátor hledá práci

Ty jsi tohle ( lektor ukáže na seznam kurzů) udělal všechno, vystudoval VŠ, další dva roky studoval něco produktivnějšího a je potřeba jít do práce. Jak si vybíráte něco, s čím budete pracovat? Nejprve jste všechno poznali, šli někam hluboko a už víte, co máte rádi. Musíte si přirozeně vybrat, co milujete. Protože pokud milujete, budete investovat energii, budete mít motivaci a celkově bude vše v pořádku. Protože nejde jen o peníze, jde o to, aby to pro vás bylo zajímavé a příjemné. No, a chcete se dostat do skvělé společnosti, najděte si práci. Jakého člověka bych osobně rád viděl? Chodí ke mně třeba sto studentů – musím vzít dva nebo jednoho do práce. Proč přicházejí, vůbec nechápu, kdo jsou, co jsou zač, jak se mají? V lepším případě mi ukážou diplom, který dostali na univerzitě, a já řeknu: „Páni! To je skvělý diplom, ale není tak skvělý!" A mimochodem, mohu se mýlit. Možná měl ten člověk spoustu volného času a mnohem lépe se učil.

co by bylo skvělé? Nejprve nějaký open source projekt, který jste napsali od začátku do konce. Je žádoucí, pokud dělám nějakou infrastrukturu, aby se ta data dala rychle číst, nebo něco jiného, ​​tak by mě samozřejmě zajímalo, aby mi napsalo něco open source. Ne vytvořený web, ale něco k tématu. Proč mě to zajímá? Mohu se podívat na váš kód, vidím, jak často jste se dopouštěli, vidím, jak jste reagovali na chyby od uživatelů, na chyby od vývojářů, kteří jej používají – vše je zapsáno, podívám se na všechno a pomyslím si: „Páni, tahle chyba nebyl tu dva roky. zavřeno, zde jste uživateli nezdvořile odpověděli, pak neberu něco jiného “. To znamená, že toto je váš osobní projekt.

Dále, co jiného by bylo skvělé? Chtěl bych vidět, jak jste dělali týmovou práci. To znamená, že za mnou přijdete na pohovor a řeknete: „Kluci z univerzity a já jsme podali dobrou žádost. Udělal jsem tam databázi, oni něco udělali mobilní aplikace, a taky nám tam dělal kluk, holka-designér, kluk na technické podpoře. Bylo nás pět a udělali jsme skvělý projekt." No, vidím, jaký je skutečně váš projekt, říkám: "Jaký je váš?" Znovu se podívám na kód a pochopím, že umíte pracovat v týmu s lidmi.

Programátor není ten, kdo sedí sám (takovej indie) v garáži, někde se zhasnutým světlem, s nikým nemluví, má vousy a píše. Přesto existuje určitý druh interakce s lidmi. Například s šéfem, který vám může občas nadávat (šéfové, jsou takoví, ne vždy laskaví). A vidím, že umíte pracovat s lidmi a dělá mi radost, když máte nějaký dobrý tým. I když to není dobré, je to lepší, než to nemít.

Co bych si ještě osobně přál? Pokud jste se ukázali ve velkých projektech. Například jsme něco zavázali k linuxovému jádru, pokud děláte systémové programování, opravili jsme nějakou chybu. To znamená, že ukázali, že můžete číst kód někoho jiného a jste schopni v něm provést nějaké změny. Podívám se: "Oh, skutečně, přišel jsi na něco složitého a opravil jsi nějaké chyby!" A začínám z toho mít velkou radost. Protože jsem… no, já nevím… můj programátor skončil, protože mu konkurence nabídla vyšší plat, a já naléhavě potřebuji někoho zavřít – vás. Vypadám, jako bys psal jen od začátku, ale neumíš číst a upravovat cizí kód a jsem naštvaný.

A nakonec, v závislosti na konkrétní pozici, existují různé další věci. Pokud jste pracovní analytik, rád bych, abyste řešili úlohy analýzy dat na Kaggle. Pokud dostanete práci na nějakých algoritmických věcech, rád bych, abyste udělali nějaké algoritmy ve sportovním programování. A nakonec, pokud jste přemýšleli o profesi, přečetli jste si, jak probíhají pohovory, setkali jste se s tím, že tam někteří lidé vyjadřují velkou nespokojenost: „Přišel jsem a ptají se mě, jaký je můj koníček. Sedím jako sova a neodpovídám, protože nemám žádného koníčka, “- a myslí si, že tohle dělají personalisté. Ve skutečnosti se snaží zjistit, jak přátelští a vhodní jste. Jste-li nepřátelští a neadekvátní, pak ať jste jakkoli génius a workoholik, tvrdý specialista s velkými znalostmi, pro tým s vámi bude těžké pracovat a projekt nevytáhnete sami. Navíc, i když se protáhnete, dokážete si představit, jaká zátěž pro firmu. A že zítra přijdeš a řekneš: "Zvyš mi 10x plat, jinak tě opustím." Firmy se do této situace pochopitelně nechtějí dostat. Proto je výchova k přiměřenosti a dobré vůli v sobě samém stejně důležitá (přinejmenším) jako rozvoj jakýchsi odborných dovedností.

Abych to shrnul, co můžete říct? Které jazyky jsou dobré a které špatné? V rámci skupiny jazyků, například mezi Ruby, Pythonem a PHP, který si vybrat? Správná odpověď je samozřejmě Python, ale ve skutečnosti je rozdíl mezi nimi v počtu povolených chyb, v množství něčeho jiného - 5%, dobře, možná 10%. To znamená, že pokud už máte hotový projekt napsaný v PHP, tak nikdo se zdravým rozumem neřekne: "Přepišme vše v Pythonu." Řeknou: "Najmeme více vývojářů PHP a budeme pokračovat v psaní v PHP." Super, to není špatná volba. Je jasné, že pokud náhle začnete psát projekt, pak může být moudré zvolit Python hned. I když, také záleží. Možná máte na trhu spoustu levných PHP vývojářů, ale ty Pythonovy jsou drahé a vy si říkáte: "Ano, technologie je chladnější, ale ušetřím peníze za hotové vývojáře." A to je vše, skvělé, už tam chodíš a pracuješ.
Jak si mohu vybrat mezi Java a C++? Ano, děje se to samé. Myslím, že ve chvíli, kdy se rozhodnete, v jakém jazyce začít nový velký projekt, získáte znalosti ve svém profesním oboru a budete schopni dělat správná volba... Právě teď ještě nemusíte tuto volbu dělat, a tak vám radím, abyste dělali, co chcete.

Základy, jak jsem již řekl, velmi, velmi základy programování (co je funkce, co jsou if's, for's, pole, něco jiného) se lze naučit víceméně v jakémkoli jazyce. Například v C ++, protože to vypadá na spoustu věcí a specifik v něm (na této úrovni) je nejméně a písmen je nejméně na psaní zbytečných. No, pak, když se naučíte nějaké složité architektonické věci, učte se a dělejte si s tím příliš mnoho starostí. Čili hlavní je - zkoušejte, hledejte, co se vám líbí, a když si uvědomíte, že už jsou 4 hodiny ráno, sedíte a píšete pro zábavu, protože se vám to líbí, je to pravděpodobně v tomto okamžik, kdy jsi našel svou...

Programování pro začátečníky

Na úvod bych chtěl říci, že ovládat počítač a vytvářet programy může každý. Pro tvoření počítačové programy nepotřebujete mít neuvěřitelnou inteligenci ani diplom z matematiky. Potřebujete pouze touhu něco vymyslet a trpělivost, abyste hodiny neopustili.

Schopnost psát programy je stejná dovednost jako schopnost plavat, tančit nebo žonglovat. Někteří lidé to zvládnou mnohem lépe než jiní, ale každý může dosáhnout určitých výsledků správnou praxí. Právě z tohoto důvodu se děti začínají orientovat v programování již v raném věku. Děti nemusí být nutně skvělé; prostě mají sklon učit se novým věcem a nebojí se dělat chyby.

Navzdory tomu, že počítače působí jako velmi složitá elektronická monstra, odpočívejte. Jen velmi málo lidí přesně ví, jak fungují vyhledávače, které vám umožňují rychle najít potřebné informace na internetu a někteří lidé nepřišli na to, jak řídit auto. Stejně tak se téměř každý může naučit vytvářet programy, aniž by zacházel do podrobností o tom, jak přesně počítač funguje.

Obecně řečeno, program říká počítači, jak vyřešit konkrétní problém. Protože svět je plný problémů, počet programů, které lidé mohou napsat, je nekonečný.

Abyste však mohli počítači sdělit, jak vyřešit jeden obrovský problém, obvykle musíte počítači sdělit, jak vyřešit celou řadu malých problémů, které tvoří ten velký problém.

Ve skutečnosti není programování vůbec těžké a není to nic tajemného nebo nadpřirozeného. Pokud umíš psát pokyny krok za krokem který umožní osobě najít váš domov, můžete také napsat počítačový program.

Nejtěžší částí programování je identifikace malých problémů, které tvoří problém, který potřebujete vyřešit. Protože jsou počítače naprosto hloupé, musíte jim říct, jak mají provést jakoukoli akci.

Pokud si myslíte, že vytváření programu je zábavnější než jeho používání, máte vše, co k vytváření počítačových programů potřebujete. Pokud se chcete naučit psát počítačové programy, potřebujete následující tři vlastnosti.

Pronásledování. Pokud něco velmi chcete, určitě to dostanete (ale pokud uděláte něco nezákonného, ​​riskujete, že strávíte spoustu času ve vězení). Pokud se chcete naučit programovat, vaše touha vám určitě pomůže, bez ohledu na to, kolik překážek se vám postaví do cesty.

Zvědavost. Zdravá dávka zvědavosti může podnítit vaši touhu experimentovat a zlepšit své programátorské dovednosti i po přečtení této knihy. Díky zvědavosti je učení programování méně nudné a zajímavější. A pokud vás to zajímá, určitě si nastudujete a zapamatujete si více informací než kdokoli, koho to úplně nezajímá (například váš šéf).

Představivost. Počítačové programování je dovednost, ale představivost může pomoci tuto dovednost zdokonalit a zacílit. Začínající programátor s notnou dávkou fantazie vždy vytvoří mnohem zajímavější a užitečné programy než báječný programátor bez fantazie. Pokud nevíte, co dělat se svými programátorskými dovednostmi, váš talent jednoduše zemře bez fantazie.

Aspirace, zvědavost a představivost jsou tři nejdůležitější vlastnosti, které by měl mít každý programátor. Pokud je máte, musíte se starat jen o maličkosti: jaký programovací jazyk se naučit (například C ++), co je špatného na matematice atd.

Mezi mnoha programovacími jazyky lze vždy najít přesně ten jazyk, který je vhodný pro řešení daného úkolu. Když se objeví nový typ problému, lidé vytvářejí nové jazyky.

Počítač samozřejmě ve skutečnosti rozumí pouze jednomu jazyku jedniček a nul, kterému se říká strojový jazyk. Program napsaný ve strojovém jazyce obvykle vypadá nějak takto:

0010 1010 0001 1101

UN 1100 1010 1111

0101 ONO 1101 0101

1101 1111 0010 1001

Dále je velmi důležité, pro jaký účel je jazyk vybrán - pro výuku programování nebo pro řešení konkrétního aplikovaného problému. V prvním případě by měl být jazyk snadno srozumitelný, přesný a pokud možno bez nástrah. Za druhé je to komplexní, ale účinný a výrazný nástroj pro profesionála, který ví, co chce.

Nyní bych vám rád upřesnil, čím by se měl odlišovat programovací jazyk (Basic, Pascal) od jeho implementace, která bývá prezentována jako součást programovacího prostředí (Quick Basic, Virtual Pascal) - sada nástrojů pro úpravu zdrojových textů, generování spustitelného kódu, ladění, správa projektů atd. Syntaxe a sémantika programovacího jazyka jsou stanoveny v jazykovém standardu. Každé programovací prostředí poskytuje svůj vlastní interpret nebo kompilátor z tohoto jazyka, což často umožňuje použití konstrukcí, které nejsou pevně dané ve standardu.

Zvažte hlavní a oblíbené programovací jazyky

Assembler Jedná se o nejjasnějšího zástupce nízkoúrovňových jazyků, jejichž sada konceptů je založena na hardwarové implementaci. Jedná se o automatizační nástroj pro programování přímo do kódů procesoru. Strojové instrukce jsou popsány formou mnemotechnických operací, což umožňuje dosáhnout dostatečně vysoké modifikovatelnosti kódu. Vzhledem k tomu, že sada instrukcí na různých procesorech je různá, není třeba hovořit o kompatibilitě. Použití assembleru je vhodné v případech, kdy je potřeba přímo interagovat se zařízením, nebo získat vyšší efektivitu některé části programu z důvodu vyšší kontroly nad generováním kódu.

Cobol- Vysokoúrovňový programovací jazyk vyvinutý koncem 50. let 20. století. Sdružení CADASIL pro řešení obchodních a ekonomických problémů. Liší se pokročilými nástroji pro práci se soubory. Vzhledem k tomu, že příkazy programů napsaných v tomto jazyce aktivně používají běžnou anglickou slovní zásobu a syntaxi, je Cobol považován za jeden z nejvíce jednoduché jazyky programování. V současnosti se využívá pro řešení ekonomických, informačních a jiných problémů.

Fortran- Vysokoúrovňový programovací jazyk vyvinutý společností IBM v roce 1956 k popisu algoritmů pro řešení výpočetních problémů. Patří do kategorie procedurálně orientovaných jazyků. Nejběžnější verze tohoto jazyka jsou Fortran IV, Fortran 77 a Fortran 90. Používá se na všech počítačových třídách. Jeho nejnovější verze se také používá na počítačích s paralelní architekturou.

Peklo- Vysokoúrovňový programovací jazyk zaměřený na aplikace v systémech reálného času a určený k automatizaci úkolů řízení procesů a/nebo zařízení, například v palubních (lodních, leteckých, atd.) počítačích. Vyvinutý z iniciativy amerického ministerstva obrany v 80. letech 20. století. Pojmenována po anglické matematičce Adě Augustě Byronové (Lovelace), která žila v letech 1815-1851.

ZÁKLADNÍ(Beginner "s All-purpose Symbolic Instruction Code) Narodil se v 60. letech v Americe. BASIC byl koncipován jako jednoduchý jazyk pro rychlé učení. BASIC se stal de facto standardem pro mikropočítače právě díky své jednoduchosti jak v učení, tak v implementaci. K dosažení V této kvalitě byla učiněna řada rozhodnutí (chybějící psaní, číslování řádků a nestrukturální GOTO atd.), která negativně ovlivňují styl studentů programování. Kromě toho nedostatek výrazových prostředků vedl ke vzniku obrovského počtu dialektů jazyka, vzájemně nekompatibilní.specializované verze BASICu (např. Visual Basic) mají i přes získanou "strukturu" všechny stejné nevýhody, za prvé - nedbalost ve vztahu k typům a popisům. související systémy) nebo jako nástroj pro rychlé vytváření aplikací.

Pascal Pascal, který vyvinul slavný teoretik N. Wirth na základě myšlenek Algol-68, byl určen především pro výuku programování. Postaven na principu „nezbytného a dostatečného“ má silnou typovou kontrolu, konstrukce pro popis libovolných datových struktur a malou, ale dostatečnou sadu strukturovaných programovacích operátorů. Bohužel nevýhodou jednoduchosti a přesnosti jsou těžkopádné popisy jazykových konstruktů. Nejznámější implementací - Turbo / Borland Pascal - je navzdory rozdílům od standardu Pascal prostředí a sada knihoven, které tvoří výukový jazyk průmyslový systém pro vývoj programů v prostředí MS-DOS.

C a C++ Jazyk C je založen na požadavcích systémového programátora: plný a efektivní přístup ke všem počítačovým zdrojům, programovací nástroje na vysoké úrovni, přenositelnost programů mezi různými platformami a operačními systémy. C++, při zachování kompatibility s C, zavádí možnosti objektově orientovaného programování tím, že vyjadřuje myšlenku třídy (objektu) jako uživatelem definovaného typu. Díky těmto vlastnostem zaujal C / C ++ pozici univerzálního jazyka pro jakýkoli úkol. Jeho aplikace se však může stát neúčinnou tam, kde je požadováno získat výsledek připravený k použití v co nejkratším čase, nebo kde se samotný procesní přístup stává nerentabilním.

Delphi- nejedná se o pokračování podnikání Borland Pascal / Borland C, jeho niky - tzn. rychlá tvorba aplikací (Rapid Application Developing, RAD). Takové nástroje vám umožní rychle vytvářet pracovní program z již hotových komponentů, aniž by bylo vynaloženo mnoho úsilí na maličkosti. Zvláštní místo v takových systémech zaujímají možnosti práce s databázemi.

Lisp- Algoritmický jazyk, vyvinutý v roce 1960 J. McCarthym a určený k manipulaci se seznamy datových prvků. Používá se především v univerzitních laboratořích ve Spojených státech pro řešení problémů souvisejících s umělou inteligencí. V Evropě pro práci na umělé inteligenci nejraději používají Prolog.

Prolog- Vysokoúrovňový deklarativní programovací jazyk určený pro vývoj systémů a programů umělé inteligence. Patří do kategorie jazyků páté generace. Byl vyvinut v roce 1971 na univerzitě v Marseille (Francie) a je jedním z široce používaných a neustále rozvíjených jazyků. Jeho nejnovější verze je Prolog 6.0


LOGO- Vysokoúrovňový programovací jazyk vyvinutý na Massachusetts Institute of Technology kolem roku 1970 za účelem výuky matematických konceptů. Používá se také ve školách au uživatelů PC při psaní programů pro tvorbu kreseb na obrazovce monitoru a ovládání perového plotru.

Jáva Jako ukázkový příklad specializace jazyk Java se objevil v reakci na potřebu dokonale přenosného jazyka, programů, ve kterých běží efektivně na klientské straně WWW. Vzhledem ke specifikům prostředí Java může být dobrá volba pro systém založený na technologii Internet / Intranet.

ALGOL- Vysokoúrovňový programovací jazyk zaměřený na popis algoritmů pro řešení výpočetních problémů. Byl vytvořen v roce 1958 specialisty ze západoevropských zemí pro vědecký výzkum. Verze tohoto jazyka Algol-60 byla přijata na mezinárodní konferenci v Paříži (1960) a byla široce používána na počítačích 2. generace. Verze Algol-68, vyvinutá skupinou specialistů z Mezinárodní federace pro zpracování informací (IFIP) v roce 1968, získala status mezinárodního univerzálního programovacího jazyka zaměřeného na řešení nejen výpočetních, ale i informačních problémů. Přestože se v dnešní době Algol prakticky nepoužívá, sloužil jako základ nebo měl významný vliv na vývoj více moderní jazyky, například Ada, Pascal atd.
Pokud se chcete zeptat na konkrétní jazyk, použijte fórum pro programátory
Sám lepší jazyk neexistuje. Pokud se chcete stát profesionálem v psaní programů, musíte se naučit jeden z programovacích jazyků na vysoké úrovni (nejoblíbenějším programovacím jazykem je C++) a také jeden z databázových programovacích jazyků ( například SQL). Poté, co se naučíte programovací jazyk C++, nemůžete udělat chybu. Se znalostí tohoto jazyka můžete vždy najít práci v jakékoli programovací společnosti.

Navzdory velké popularitě programovacího jazyka C++ se často používají jiné jazyky. Na mnoha starších počítačích stále běží programy napsané v programovacím jazyce COBOL. Proto potřebujeme programátory, kteří dokážou tyto programy vylepšit a také napsat nové. Velké společnosti velmi často vyplácejí takovým programátorům vysoké platy.

Pokud se chystáte pracovat sami, je lepší se naučit tvořit vlastní programy pro databáze. K tomu se budete muset naučit programovací jazyky, jako je SQL nebo VBA, které se používají v Microsoft Access. Abyste mohli vytvářet webové stránky, potřebujete znát HTML a také trochu znalostí Javy, JavaScriptu, VBScriptu a dalších programovacích jazyků pro Internet. Nejnutnější bude programovací jazyk, který vám umožní snadno a rychle řešit zadané úkoly. Může to být C++, BASIC, Java, SQL nebo assembler.
Závěrem podotýkáme, že z odborného hlediska není až tak důležité, v jakém jazyce a v jakém prostředí programátor pracuje, jak moc svou práci dělá. Zařízení se mění a OS... Nové úkoly vyplývají ze široké škály tematických oblastí. Ustupují do minulosti a objevují se nové jazyky. Ale lidé zůstávají - ti, kteří píší, a ti, pro které jsou psány nové programy a jejichž požadavky na kvalitu zůstávají stejné bez ohledu na tyto změny.
Zde jsme si zopakovali základy programování a hlavní programovací jazyky.

Přeji hodně štěstí při učení programování!