Počítače Okna Internet

Nejnovější programovací jazyky. Pět slibných programovacích jazyků se světlou budoucností

1. Při výběru programovacího jazyka pro projekt vzniká volba mezi dvěma stranami - zvolte starý osvědčený nástroj nebo nový, krásný, funkční, ale málo testovaný, a proto nespolehlivý jazyk. Co je v této situaci nejchytřejší? Jaká jsou rizika jednotlivých řešení a jak se s nimi vypořádat?

Igor Zilberg, SmartHead
Nástroje by měly být vybírány podle adekvátnosti úkolu a přítomnosti zkušeného týmu obeznámeného s vybranými nástroji. Rizika při práci s novými nástroji jsou minimalizována výzkumem, vytvořením konceptu a zapojením zkušených konzultantů. Nové technologie musí být neustále studovány, ale aplikovány pouze tehdy, jsou -li lépe přizpůsobeny konkrétnímu úkolu.

Alexandr Makarčuk, qb
Pro podnikání pojem „krásný jazyk“ neexistuje. Na nový nevyzkoušený jazyk můžete sázet pouze tehdy, pokud zaručeně dodá projektu nějaké zvláštní USP, které zákazníci pocítí, a hlavně za něj chtějí zaplatit. Pokud je tato podmínka splněna, můžete si vybrat nový jazyk, ale budete muset nést všechna rizika s tím spojená.

Grigory Nikonov, Actis Wunderman
Samozřejmě záleží na projektu a vyspělosti samotného jazyka. Pokud to projekt umožňuje, nebo je použití jazyka podmínkou a jsou k dispozici potřebné předmětové knihovny, pak je docela možné experiment povolit. Rizika jsou zřejmá: nástrahy, na které lze narazit v polovině. Minimalizace těchto rizik je také zřejmá: pokud je to možné, proveďte výzkum před zahájením projektu a ujistěte se, že alespoň existuje aktivní podpora pro jazyk na fórech nebo od výrobce.

, ADV
V této záležitosti vše závisí na načasování a rozpočtech projektu. Pokud jsou oba velmi omezené, pak jakýkoli výzkum není oprávněný a může přinést velké problémy, až do úplného selhání projektu.

Alexej Fedorov"Spolužáci"
Odpověď závisí hodně na tom, jaká je plánovaná doba trvání projektu. Pokud se jedná o malý zakázkový projekt, který je třeba udělat rychle, předejte jej a zapomeňte na něj - pak si můžete vybrat, co chcete. Pokud se jedná o rozsáhlý projekt na roky, pak je lepší zvolit osvědčené technologie, pro které si můžete najmout počet specialistů, které potřebujete. Chcete -li odhadnout, kolik specialistů na konkrétní technologii je ve vašem regionu, stačí použít jakoukoli rozumnou službu, například LinkedIn nebo HeadHunter. A pak se musíte podívat na nefunkční požadavky: zátěž, zabezpečení, odolnost proti chybám atd.

2. Jaké jsou základní faktory k zajištění toho, aby jazyk mohl a měl být používán ve výrobě?

Igor Zilberg, SmartHead
Nikdo a nic v tomto světě neposkytuje záruky. Spoléháme na naše zkušenosti a běžné osvědčené postupy.

Alexandr Makarčuk, qb
Existují tři hlavní funkce, které naznačují, že je výhodné používat určitý jazyk. Za prvé, přítomnost „živé“ komunity v tomto jazyce, za druhé přítomnost úspěšných případů a za třetí podpora jazyka ze strany velkých prodejců.

Grigory Nikonov, Actis Wunderman
Přítomnost „vyspělých“ předmětových knihoven a rámců, aktivní internetová komunita nabízející rady při řešení problémů, absence negativních recenzí o stabilitě a výkonu konečné aplikace.

Alexey Persianov, Michail Parfenyuk, ADV
Faktory jsou komunita daného jazyka, počet implementovaných projektů, počet vývojářů atd. Produkční vydání v novém a surovém jazyce skrývá velké problémy s podporou.

Alexej Fedorov"Spolužáci"
Formální záruku lze zálohovat pouze smlouvou. Pokud existuje seriózní prodejce (například Oracle, SAP, IBM), který například zaručuje, že jeho technologie bude podporována po dobu dalších 10 let, a s tímto dodavatelem byla podepsána odpovídající smlouva o podpoře, pak v zásadě Můžete to považovat za jistý druh záruky ... Problém je, že to je obvykle velmi drahé a kvalita podpory od velkých prodejců je obvykle nechutná.

Proto byla ve světě v posledních letech přijata jiná praxe - open source. Pokud máte open source nástroj s otevřeným zdrojovým kódem (jazyk, rámec, databáze nebo cokoli jiného), pak vám to dává jistou záruku, že pokud se v tomto nástroji najednou objeví chyba, pak jako poslední možnost můžete tuto chybu opravit pomocí své vlastní ruce. Právě tuto vlastnost opensource řešení považuji za klíčovou pro dnešní podnikání.

3. Jak jednat, když vývojář nebo dokonce několik vývojářů navrhne změnu programovacího jazyka, ale situace ukazuje, že jejich vášeň není podporována adekvátními obchodními požadavky na technologie?

Igor Zilberg, SmartHead
Vývojáři nemají žádné obchodní požadavky. Obchod je představuje. Byznys však závisí na kvalitě kódu, který vývojáři píší. Pokud tedy vývojáři chtějí použít technologii, která zjevně není vhodná pro řešení obchodního problému, pak musí buď vývojáře přesvědčit, nebo to změnit. Adekvátní a zkušený vývojář je schopen porozumět obchodním požadavkům a aplikovat na ně nejvhodnější řešení. My jsme takové problémy neměli. V naší praxi se častěji stává opak: zákazník místo formulování obchodních požadavků ovlivňuje výběr technologie (často na úkor implementace vlastních požadavků).

Alexandr Makarčuk, qb
Pokud přechod do nového jazyka není podporován hmatatelnými argumenty a neslibuje pro projekt závažné výhody, pak není potřeba. Vývojáři to ale samozřejmě musí vysvětlit, aby tým nepůsobil dojmem, že je neposlouchají.

Grigory Nikonov, Actis Wunderman
Dodržujte konzervativní politiku a neměňte jazyk bez dobrého důvodu. Vždy bude existovat další projekt, na kterém si vyzkoušíte nový jazyk.

Alexey Persianov, Michail Parfenyuk, ADV
S vývojáři se můžete na půli cesty setkat pouze v případě interního projektu, nebo pokud je napsán pro školení týmu. V tomto případě jsou rizika neúspěchu malá a v případě neúspěchu se předávají užitečné zkušenosti do budoucna. Jinak by podnik neocenil perfekcionismus vývojářů.

Alexej Fedorov"Spolužáci"
Nejprve by se měl člověk zeptat, co je základem myšlenky změny jazyka. Co to dá? Jaké jsou výhody a jaké jsou nevýhody? Kolik stojí takový přechod a jaký je časový rámec? Jaká jsou rizika?

Pokud vám přijaté odpovědi vyhovují z obchodního hlediska, pokračujte. Pokud nejste spokojeni, musíte se pokusit vývojářům sdělit důvody, proč je odmítáte.

4. Kdy se vyplatí náklady na přechod z jednoho jazyka do druhého?

Igor Zilberg, SmartHead
Je nemožné odhadnout náklady na změnu platformy a související výhody mimo kontext projektu. Takové rozhodnutí lze učinit pouze na základě záměrného přístupu v rámci konkrétního projektu, a nikoli na základě jakýchkoli „univerzálních“ názorů nebo pravidel.

Alexandr Makarčuk, qb
Kdy to bude znamenat hmatatelné zisky, přímé i nepřímé, kvůli vzhledu nového USP v projektu, což zvýší konkurenceschopnost produktu.

Grigory Nikonov, Actis Wunderman
V případě, že vám použití nového jazyka umožní výrazně optimalizovat celý životní řetězec předmětné oblasti: od návrhu, vývoje a testování aplikace až po implementaci a následné aktualizace a vylepšení díky vlastnostem jazyka a ekosystému kolem toho.

Alexey Persianov, Michail Parfenyuk, ADV
Když je jazyková podpora ukončena a současně počet specialistů na trhu má tendenci k nule. Nebo pokud zcela ztratíte starý tým bez schopnosti udržet si technologii. Když bude zisk z jazyka vyšší než náklady na jeho změnu.

Alexej Fedorov"Spolužáci"
Když vy a vaši kolegové máte jasné odpovědi na výše uvedené otázky.

5. Myslíte si, že existuje zavedené rozdělení používání jazyků pro konkrétní úkoly? Pokud ano, jak přesně to vidíte? Může se objevit jazyk nebo již existuje, který situaci změní a převezme většinu vývojářů?

Igor Zilberg, SmartHead
Samozřejmě existuje několik typických použití pro různé platformy (nikoli pro jazyky). Například Java a .NET pro relativně velké obchodní aplikace nebo služby. Node.js pro multithreading a zasílání zpráv. Všechny nelze vyjmenovat. Tyto hranice jsou však velmi, velmi rozmazané a také závisí na regionu. Například v USA je trochu jiná zkušenost s používáním, „módou“ a typickými aplikacemi platforem než u nás.

Alexandr Makarčuk, qb
Na jedné straně je dobře zavedené rozdělení jazyků podle aplikací, ale na druhé straně jsou regionální a nákladové faktory docela důležité: náklady na vstup do technologie, podpora atd. Pokud jde o vznik nových jazyků, zde je třeba poznamenat následující věc. Za posledních několik let úroveň komunikace výrazně vzrostla a programovací jazyky jsou v podstatě stejné. Možná je to právě další revoluce v komunikaci, která si vyžádá zcela nové vývojové technologie.

Grigory Nikonov, Actis Wunderman
V zásadě existuje takové rozdělení: C a C ++ se tradičně používají pro vývoj na nízké úrovni, Java a C # jsou považovány za jazyky obecný účel vhodné pro širokou škálu úkolů od obchodní logiky po mobilní aplikace... Python, Ruby a PHP se zaměřují hlavně na vývoj webu, JavaScript na aplikace prohlížeče. Nemyslím si, že by v této oblasti byly možné drastické změny, i když móda pro jazyky a rámce se někdy mění - nyní si například jazyk Go začíná získávat na popularitě.

Alexey Persianov, Michail Parfenyuk, ADV
Ano. Některé věci jsou lépe implementovány v různé jazyky vzhledem k rychlosti práce a snadnosti použití, například v php projektech kvůli „pomalosti“ jazyka, můžete implementovat chat v Node nebo agregátor v Javě - výsledek bude lepší.

Každý rok každý nový jazyk dostává vavříny „těch nejlepších“ a láká vývojáře, ale zatím jsou pozice osvědčených jazyků neochvějné. V budoucnosti může být všechno.

Alexej Fedorov"Spolužáci"
Nejznámější pro tebe a mě moderní jazyky programování je multifunkční, to znamená, že se o nich můžete rozhodovat velmi odlišně.

Pokud jde o nový jazyk, ano, takový jazyk se může objevit, ale vzhledem k poměrně silné setrvačnosti odvětví si nemyslím, že v příštích 5 letech někdo vytlačí Javu a C / C ++ z piedestalu. Pokud si vyberu nějaký druh „koně“, nasadím JavaScript. Dnes vidíme obrovský růst v oboru ve všem, co souvisí s JavaScriptem. Rámce se rodí jako houby po dešti. Internetový humbuk kolem této technologie je obrovský. Podívejme se, kam to všechno vede.

6. Měl by být programátor DevOps (mít dovednosti programátora a správce systému)? Co dělat s tím, že většina programátorů odmítá rozvíjet kompetence a být v této oblasti zodpovědná?

Alexey Persianov, Michail Parfenyuk, ADV
K nastavení prostředí obvykle využívají služeb správce systému. Ale pravděpodobně to dává smysl, že osoba, která píše kód, by měla být schopna nastavit web pro optimální provedení daného kódu. To ušetří čas i náklady.

7. Měli byste ve svých projektech používat mikroslužby?

Alexey Persianov, Michail Parfenyuk, ADV
Neexistuje jednoznačná odpověď, ale naše odpověď je ano. Samozřejmě mohou přidat spoustu problémů, ale také pomohou mnohé vyřešit. Například díky mikroslužbám lze různé části aplikace psát v různých programovacích jazycích, je možné škálovat načtené části aplikace atd.

8. Potřebuje vývojář umět pracovat s celou řadou moderních webových technologií a jazyků?

Alexey Persianov, Michail Parfenyuk, ADV
V posledních letech udělal front-end obrovský skok, zatímco vývoj v jazycích na straně serveru není tak nápadný. Vývojář samozřejmě musí znát základy souvisejících oblastí, ale není možné být guruem v jazycích na straně serveru a v jazycích na straně klienta, každý si musí dělat to své a být v tom skutečným profesionálem.

V dynamicky se měnícím světě, kdy se jen včera uznávané profese mění v nic, mnoho lidí hledá něco, co by v životě mělo dělat, aby to bylo zajímavé i relevantní pro současnou dobu a zároveň výnosné. Velmi často taková vyhledávání vedou k programování: dobří programátoři, dokonce i v SNS, vydělávají tisíce dolarů, mají spoustu volného času, schopnost pracovat na dálku a mají šanci na kariérní růst.

Kromě těchto výhod se programování liší také v tom, že abyste jej zvládli, nemusíte trávit roky utíráním kalhot na univerzitách. Tady o všem rozhoduje sebevzdělávání, internet má všechno potřebné materiály pro úspěšné samostudium jakéhokoli programovacího jazyka: lekce v textové podobě, video tutoriály, návody, rady zkušených profesionálů a další vzdělávací materiály. Tímto způsobem můžete snadno zvládnout moderní technologie programování a najít si opravdu slušnou práci.

Než se ale pustíte do podnikání, musíte si zodpovědět jednu důležitou otázku: které moderní programovací jazyky budou v roce 2017 relevantní, na který z nich byste měli věnovat čas a úsilí? Zde hodně závisí na správné odpovědi - složitosti a rychlosti procesu učení, minimálním prahu pro vstup do skutečné aktivity, dalších kariérních vyhlídkách.

Slibné oblasti programování a jazyků pro rok 2017

Abyste se rozhodli pro konkrétní programovací jazyk ke studiu (jeden nebo více), musíte si nejprve zodpovědět otázku: v jaké oblasti programování by chtěl člověk pracovat. Nejoblíbenější a rychle se rozvíjející oblasti jsou nyní:

Technologie webového programování. Vývoj webových stránek, online služby a bankovnictví, internetové obchody, vstupní stránky pro firmy a podobně - to vše je součástí webového programování. Stále více lidí na planetě se stává uživateli internetu, je to rychlejší a levnější, dokonce i lidé ve zralém a vyšším věku se stávají aktivními uživateli internetu. V roce 2017 tento trend jen zesiluje a strop jeho rozvoje zatím není vidět. Proto je velmi prospěšné naučit se programovací jazyky související s internetem. Seznam nejpopulárnějších z nich bude uveden níže;

Programování pro gadgety: chytré telefony, tablety, chytré hodinky, brýle virtuální realita atd. Je to také velmi zajímavý a rychle se rozvíjející obor činnosti. Miliony lidí na celém světě používají gadgety, čtou si o nich novinky, sledují videa, poslouchají hudbu a dělají spoustu dalších věcí. Všechny tyto funkce elektroniky jsou možné díky dobře napsanému software... Často to stojí mnohem víc než samotné fyzické zařízení. Programování v této oblasti je nyní velmi výnosné. Stojí za zmínku, že se zde nejčastěji používají programovací jazyky. vysoká úroveň.

Jaký jazyk zvolit

Nelze říci, který jazyk je nejmodernější. Mnoho z nich je využíváno velmi široce a aktivně. Ale pokud jde o slibné programovací jazyky, nejlepší jsou následující:

  • Jáva. Nejuniverzálnější a nejpopulárnější programovací jazyk, který lze použít k vývoji aplikací pro počítače i miniaplikace, zejména pro Android OS. Má srozumitelnou syntaxi, učí se celkem snadno a rychle, první Java programy lze napsat několik týdnů po zahájení školení. Hlavní charakteristikou, která ji činí velmi slibnou, je její použití pro programování pro Android, který se nyní velmi rychle vyvíjí;
  • C #. Skvělá volba pro člověka, který se chce své činnosti věnovat psaní programů pro počítačové systémy. Právě jazyk CI Sharp (C #) je základem, na kterém je napsána většina programů pro různé platformy a služby od Microsoftu. Lze jej použít k vývoji webových aplikací pomocí .NET a Azure, stejně jako programů přímo pro Windows, různých obchodních aplikací a mnoha dalších věcí. Trochu se zapotit, než se vyrovnat s C #, ale dlouhodobě se to vyplatí;
  • PHP. Pokud je vaším úkolem psát vysoce kvalitní skripty a interaktivní šablony pro internetové zdroje nebo být správcem serveru, což je nyní velmi výnosné povolání, pak bude PHP nejlepší způsob realizovat takovou touhu. Moderní programovací jazyky se bez tohoto zástupce jednoduše neobejdou. Učí se tak rychle a snadno - pokud studujete PHP důkladně a pravidelně, pak se za 2-3 roky můžete ucházet o velmi dobrou pozici a odpovídající plat.

Samozřejmě to není zdaleka úplná charakteristika jazyků a jejich klasifikace, ale i tak malý seznam je dostačující na to, abyste si vybrali dobrý a slibný obor činnosti.

Kompletní přehled moderních programovacích jazyků může trvat příliš dlouho, ale není to tak nutné, protože stojí za to si pamatovat to hlavní - člověk, který ovládá jakýkoli jazyk, si určitě najde své místo v oblasti programování. A znalost jednoho z těchto jazyků bude určitě stačit k tomu, aby se dobře vydělaly peníze a vyřešily zajímavé problémy.

Jedním z nejpoužívanějších systémů pro hodnocení popularity programovacího jazyka je TIOBE, jehož podstatou je spočítat počet webových stránek, na kterých je název konkrétního jazyka.

Ne vždy to však ukazuje, kolik lidí ve skutečnosti je tento moment chcete použít nebo používáte programovací jazyk, takže tým GitHub přistoupil k tomuto problému z jiného úhlu.

Jejich systém, nazývaný PYPL (PopularitY of Programming Languages), je založen na počtu vyhledávací dotazy návody: čím více lidí vyhledává návody na konkrétní programovací jazyk, tím je v žebříčku PYPL výše.

10. Swift

Jazyk nebyl tak dávno, ale Apple chce, aby se v příštích 20 letech stal klíčovým jazykem na celém světě a pro všechny platformy, včetně webu a Androidu.

9. R.

R byl vytvořen v roce 1993 a dnes jej používají velké společnosti pro strojové učení a analýzu velkých objemů dat.

8. Cíl-C

Přestože byl Swift původně vydán, aby nahradil Objective-C, jazyk je stále populární a je v popředí vývoje iOS. To se ale pravděpodobně brzy změní.

7. C ++

Nejpopulárnějšími produkty C ++ jsou Windows a Google Chrome.

6. C.

Táta může být v Xi. To je pravděpodobně důvod, proč se tento jazyk používá všude a jeho kód lze spustit doslova na jakékoli výpočetní platformě.

5. JavaScript

Právě tento jazyk bývá v různých hodnoceních na prvním místě. Podle GitHubu však není nejoblíbenější. JavaScript se používá především k vývoji webových aplikací, ale ve skutečnosti neexistuje žádné omezení.

4. C #

C # je vyvinut společností Microsoft a používá se hlavně v souvisejících systémech, například v Windows Phone... Vyhledávací nástroj Bing je také napsán v C #.

3. PHP

Tento jazyk je nejoblíbenější volbou pro vývoj backendu. Jsou na něm napsány stránky jako Facebook, VKontakte, Yahoo.

2. Python

Python byl vytvořen v roce 1989 a od té doby se zdá, že je stále populárnější.

Od doby, kdy se v roce 1957 objevil první programovací jazyk Fortran na vysoké úrovni, uplynulo téměř 60 let a není divu, že programování za tak dlouhou dobu vyskočilo. Objevily se nové technologie, nové koncepty a programovací paradigmata a samozřejmě nové jazyky. Vytvoření programovacího jazyka je zpravidla dáno časovou náročností: nové úkoly často vyžadují k jejich řešení nové nástroje, které budou svou práci dělat lépe než jejich předchůdci. V tomto ohledu se každoročně objevuje několik nových jazyků, které absorbují vše nejlepší, co bylo za desítky let praktického programování nashromážděno, a zároveň přináší něco nového. Některé z nejvíce zajímavé jazyky programování, které se objevilo poměrně nedávno, ale již se etablovalo jako výkonné a moderní nástroje pro vývojáře a bude v tomto článku uvažováno.

Rychlý

Volný obecný jazyk vytvořený uživatelem od společnosti Apple pro vývoj pro iOS a OS X. Jazyk je kompatibilní s Objective-C, což umožňuje používat oba jazyky v jednom programu. Vývoj jazyka začal v roce 2010 pod vedením Chrise Lattnera, vedoucího vývoje Applu. Swift si již od mnoha půjčil nápady stávající jazyky velmi odlišné směry: od C ++ po Haskell. Oficiální představení jazyka proběhlo v červnu 2014 spolu s 500stránkovým manuálem, jak jej používat. Na Swiftu můžete pracovat v programovacím prostředí Xcode 6 pro iOS. Jazyková verze 3.0 přidává podporu pro Linux.
Jazyk vzal hodně z Objective-C; zároveň je umístěn jako bezpečnější a rychlejší. Podle vývojářů běží kód Swift 1,5krát rychleji než podobný kód Objective-C.

Zaseknout

Jazyk vyvinutý společností Facebook; vzhledově podobný PHP. Programový kód na Hacku je spuštěn na speciálním virtuálním stroji, který také podporuje PHP. Jazyk je otevřený - zdrojové kódy Hack je otevřen každému, kdo se chce podílet na jeho vylepšení. Přestože je jazyk založen na známém PHP, vývojářům se podařilo vytvořit zcela nový a vysoce spolehlivý nástroj pro rychlé tvoření webové stránky a další aplikace. Výsledek zapůsobil na Facebook natolik, že všechny projekty společnosti byly převedeny na Hack - skutečnost, která mluví sama za sebe.

Julie

Nový jazyk pro matematické výpočty. Syntaxe jazyka byla ovlivněna Matlabem a dalšími matematickými jazyky, ale existují také významné rozdíly. Samotný jazyk je napsán v C a C ++; programový kód jazyk je spuštěn na virtuálním stroji LLVM, pro který je Julia vybavena kompilátorem JIT. Díky kompilaci bylo dosaženo vysoké rychlosti práce s aplikacemi, srovnatelné s programy napsanými v C ++.
Jazyk podporuje distribuované výpočty, přetížení funkcí a paralelizaci kódu. Hlavní úkol Julie: práce s velkým objemem výpočtů při zachování vysokého výkonu. Pro tyto účely byla do jazyka také přidána podpora pro cloud computing. Kromě toho čistě matematické problémy s pomocí Julie je také možné vytvářet programy pro všeobecné účely.

Šipka

Jazyk vytvořený společností Google jako náhrada za JavaScript. Kvůli některým „základním nedostatkům“ v jazyce JavaScript, které nelze opravit, bylo rozhodnuto o vytvoření nového jazyka pro webové programování. Současně musel být jazyk vytvořen co nejpodobněji těm stávajícím, aby se zjednodušil přechod a učily nováčky. V současné době jsou programy Dart prováděny dvěma způsoby: through virtuální stroj Dart VM a překladem do JavaScriptu. V budoucnosti by Dart měl nahradit JavaScript jako univerzální jazyk pro webové programování.

Zadejte skript

Další jazyk, který se nahrazuje JavaScriptem. Vývojářem nového jazyka se stal slavný Anders Hejlsberg, autor Delphi, C # a Turbo Pascal. Typový skript je otevřený jazyk zpětně kompatibilní s Java Script. Kompilátor převede kód Type Script na JavaScript, který je poté spuštěn prohlížečem. Na rozdíl od JS podporuje nový jazyk všechny možnosti objektově orientovaného programování a také připojení modulů. Kompatibilita s Type Script a JavaScript umožňuje použití stávajícího kódu JavaScript v nových projektech Type Script, včetně populárních knihoven JS. Existuje obecná paradigma programování.