Počítače Okna Internet

Nejlepší programovací jazyk na světě. Pět slibných programovacích jazyků se světlou budoucností

JavaScript je dobrý pro přidání základní interaktivity na webové stránky, ale když je kód vaší webové aplikace tisíce řádků kódu, projeví se jeho slabiny. Proto Google vytvořil Dart, jazyk, o kterém společnost věří, že bude novým rodným jazykem pro webové programování.

Stejně jako JavaScript používá Dart syntaxe a klíčová slova podobné těm, které se používají v jazyce C. Jeden podstatný rozdíl je však v tom, že zatímco JavaScript je založen na prototypech, objekty ve Dartu jsou definovány pomocí tříd a rozhraní, jako v C ++ nebo Javě. Dart také umožňuje programátorům dodatečně definovat proměnné se statickými typy. Cílem je, aby byl Dart tak známý, dynamický a flexibilní jako JavaScript, a zároveň vývojářům umožnil psát kód, který se rychle a snadno spouští a je obtížné dělat chyby, které je těžké najít.

Existuje jen málo míst, kde můžete Dart použít. Je navržen tak, aby fungoval buď na klientovi, nebo na serveru (a la Node.js), ale jediný způsob, jak spustit kód Dart na straně klienta, je jeho křížová kompilace do JavaScriptu. Ani poté však nepoběží ve všech prohlížečích. Ale protože je Dart vydán pod bezplatnou licencí BSD, každý prodejce, který souhlasí s podmínkami společnosti Google, může tento jazyk ve svých produktech používat. Vše, co Google zbývá udělat, je přesvědčit celé odvětví.


Studovaný programovací jazyk č. 2: Cejlon

Gavin King popírá, že by se Cejlon, jazyk, který v Red Hat vyvíjí, stal „zabijákem Javy“. King je dobře známý jako tvůrce rámce Hibernate Object Relational Mapping pro Javu. Miluje Javu, ale věří, že je stále co zlepšovat.

Některé z věcí, které King v Javě nemá rád, jsou podrobná syntaxe jazyka, nedostatek funkcí první třídy a vyšších řádů a nedostatek podpory metaprogramování. Zejména je zarmoucen neexistencí deklarativní syntaxe pro definování strukturovaných dat, která podle Kinga „odpovídá Java mezi XML“. Ceylon si klade za cíl vyřešit všechny tyto problémy.

King a jeho tým nemají v plánu znovu objevit kolo. Nebude existovat žádný ceylonský virtuální stroj, ceylonský kompilátor vytvoří java bytecode, který lze spustit na JVM. Ceylon ale bude víc než jen překladač. Strategický cíl tohoto projektu je vytvoření nového vývojového kitu pro Cejlon, který nahradí Javu, která je podle Kinga „nafouklá“, nešikovná a stále není důkladně modernizována.

Jedná se o obtížný úkol a Red Hat dosud pro Cejlon nevydal žádné nástroje. King říká, že kompilátor má vyjít letos. Nečekejte však v nejbližší době žádný software napsaný na „100% čistém Cejlonu“.


Studijní programovací jazyk č. 3: Jděte

Kód F # je poněkud podobný kódu OCaml, ale obsahuje vlastní zajímavou syntaxi. Například pro usnadnění vědeckých výpočtů mohou být číselné datové typy v F # jednotky. F # také poskytuje konstrukce usnadňující asynchronní I / O, paralelizaci CPU a výstupní procesy do GPU.

Po dlouhém období zrání v Microsoft Research je nyní F # dodáván s Visual Studio 2010. Ještě lépe, ale ne v celé společnosti, společnost Microsoft zpřístupnila kompilátor a kořenovou knihovnu F # pod licencí open source Apache. Můžete s ním začít zdarma a dokonce ho používat v systémech Mac a Linux (pomocí běhu Mono).


Studovaný programovací jazyk # 5: Opa

Webové programování je velmi obtížné. I ty nejjednodušší webové aplikace se skládají z nekonečných řádků napsaných ve více jazycích: HTML a JavaScript pro klienta, Java nebo PHP pro server, SQL pro databázi atd.

Opa nenahrazuje žádný z těchto jazyků samostatně. Navíc se je snaží nahradit všechny najednou, což představuje zcela nové paradigma webového programování. V aplikaci Opa jsou klientské uživatelské rozhraní, logika serveru a databáze I / O napsány ve stejném jazyce Opa.

Toho je dosaženo kombinací rámců na straně klienta a serveru. Kompilátor Opa rozhoduje, kde se má spustit tento program(na klientovi, serveru nebo tam a tam) a poté spustí svůj kód. U klientských programů překládá Opa do příslušného kódu JavaScript, včetně volání AJAX.

Přirozeně by s tímto druhem integrovaného systému mělo nakonec vyjít něco magického. Modul Opa runtime integruje vlastní webový server a systém správy databází, které nelze nahradit samostatnými alternativami. To však nemusí být tak důležité vzhledem k možnosti vyvíjet moderní webové aplikace založené na datech s několika desítkami řádků kódu. Opa je dodáván zdarma a dále tento moment je k dispozici pro 64bitové platformy Linux a Mac OS X, zatímco další porty jsou stále ve vývoji.


Studovaný programovací jazyk # 6: Fantom

Chcete vytvářet aplikace Java nebo .Net? Pokud píšete na Fantom, můžete si vybrat a poté dokonce změnit platformy. Důvodem je, že Fantom byl od samého začátku postaven pro mobilitu napříč platformami. Projekt Fantom se skládá nejen z kompilátoru, který může vydávat bytecode pro JVM nebo .Net CLI, ale také ze sady API, která oddělují rozhraní Java a .Net API a vytvářejí další vrstvu přenositelnosti.

Plánuje se další zvýšení pohyblivosti Fantomu. Kompilátor od Fantomu do JavaScriptu je již k dispozici a následující cíle mohou zahrnovat projekt kompilátoru LLVM, Parrot VM a Objective-C pro iOS.

Fantom je distribuován zdarma pod licencí Academic Free License 3.0 a je k dispozici pro platformy Windows a Unix (včetně Mac OS X).


Vystudoval programovací jazyk # 7: Zimbu

Díky své smíšené povaze je Zimbuova syntaxe jedinečná a specifická, ale zároveň má mnoho funkcí. Používá výrazy a operátory podobné těm, které se používají v C, ale s vlastními klíčovými slovy, datovými typy a strukturami bloků. Podporuje správu paměti, vlákna a kanály.

Jediným problémem je přenositelnost. Přestože Zimbu je kompilovaný jazyk, jeho kompilátor produkuje kód ANSI C a binární soubory lze vytvářet pouze na platformách s integrovaným kompilátorem C.

Projekt Zimbu je bohužel stále ve vývoji. Kompilátor a některé ukázkové programy lze sestavit sami, ale ne všechny platné kódy Zimbu se zkompilují a spustí podle očekávání. Ještě nebyly vyvinuty všechny deklarované funkce a některé z již uvedených funkcí nefungují správně. Jazyková specifikace se také pravděpodobně časem změní a podle potřeby přidá klíčová slova, typy a syntaxi. V důsledku toho je dokumentace také neúplná. Pokud to však chcete zkusit, nezbytné nástroje jsou již k dispozici pod licencí Apache.


Studovaný programovací jazyk # 8: X10

Paralelní zpracování dat bylo kdysi specializovaným výklenkem vývoje softwaru, ale s rozmachem vícejádrových procesorů a distribuovaných počítačů si paralelismus získal oblibu. Současné programovací jazyky bohužel tento trend nedrží. Proto IBM Research vytváří X10, jazyk navržený speciálně pro moderní paralelní architektury, jehož cílem je „desetinásobná“ produktivita vývojářů.

Paralelismus v X10 je možný díky programovacímu modelu PGAS (model sdíleného globálního adresního prostoru). Kód a data jsou přidělovány v blocích a distribuovány v různých „mezerách“, čímž se usnadňuje škálování programu z prototypu s jedním vláknem (jeden prostor) na vícevláknový běžící na jednom nebo více vícejádrových procesorech (více mezer) ) ve vysoce výkonném klastru.

Kód X10 je nejvíce podobný Javě. Runtime X10 je v zásadě k dispozici jako vložené spustitelné soubory a soubory tříd pro JVM. Kompilátor X10 může vydávat zdrojový kód C ++ nebo Java. V budoucnu se plánuje vývoj budoucí kompatibility s Javou.

Mezitím se jazyk vyvíjí, i když je již docela rozvinutý. Kompilátor a modul runtime jsou k dispozici pro různé platformy, včetně Linuxu, Mac OS X a Windows. Mezi další nástroje patří interaktivní vývojové prostředí (IDE) založené na Eclipse a debugger, které jsou licencovány pod veřejnou licencí Eclipse.


Studovaný programovací jazyk # 9: haXe

K zápisu přenosného kódu lze použít mnoho jazyků. Kompilátory C jsou k dispozici téměř pro všechny architektury CPU a bajtový kód Java poběží všude, kde je JVM. Ale haXe (vyslovováno „hex“) je více než jen přenosné. Jedná se o multiplatformní jazyk, který lze použít v různých operačních prostředích od vestavěného

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í programovací technologie 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 pro virtuální realitu a další. 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 softwaru. Č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, pomocí kterého můžete vyvíjet jak aplikace pro počítače, tak gadgety, 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í tréninku. 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 vypořádat s C #, ale z dlouhodobého hlediska 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í jazyky programování se bez tohoto zástupce prostě neobejde. 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.

To samozřejmě není zdaleka úplná charakteristika jazyků a jejich klasifikace, ale i tak malý seznam je dostačující na to, abyste si sami 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 nezbytně stačit k vydělávání dobrých peněz a řešení zajímavých problémů.

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ý jazyk obecný účel vytvořil 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ž vypůjčil nápady od mnoha 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 open source - Hack je otevřen každému, kdo se chce podílet na jeho zdokonalování. 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 ++; kód jazykového programu 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čilo 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í.

  • Překlad

Rozdělíme -li programovací jazyky podle popularity, budou rozděleny do tří úrovní. První echelon zahrnuje běžné jazyky jako Java, JavaScript, Python, Ruby, PHP, C #, C ++ a Objective-C. Přestože některé z předních jazyků ubývají, je lepší znát jeden nebo více z nich, pokud chcete snadno najít práci.


Jazyky druhé úrovně se snaží proniknout do hlavního proudu, ale zatím toho nedosáhli. Osvědčily se budováním silných komunit, ale většina konzervativních IT společností je stále nepoužívá. Scala, Go, Swift, Clojure a Haskell jsou jazyky, které bych zařadil do druhého sledu. Některé společnosti k tomu používají tyto jazyky jednotlivé služby ale rozšířené používání je vzácné (s výjimkou Swiftu, který začíná předbíhat Objective-C jako primární jazyk pro iOS). Go and Swift mají dobrou šanci na přechod z úrovně 2 na úroveň 1 během příštích dvou až tří let.


Většina jazyků v prvním sledu je pevně zakořeněná ve svých pozicích. Ztráta jazyka z vedoucí pozice proto vyžaduje značné množství času a pro jazyk druhého stupně je velmi obtížné prorazit do prvního.


Nadějné jazyky z tohoto článku patří do třetího sledu a teprve začínají. Některé jazyky jsou ve třetím sledu po mnoho let, aniž by získaly popularitu, zatímco jiné se objevily na scéně za pár let. Stejně jako například jazyky, které budou v článku diskutovány.

Nadějné jazyky: proč těchto pět?

Těchto pět programovacích jazyků, o kterých bude řeč, je velmi nových (je možné, že o některých uslyšíte poprvé), a zjevně mají skvělé šance proniknout do druhého echelonu v příštích 2-3 letech. Možná jednoho dne bude jeden z těchto jazyků schopen vytlačit jazyky prvního echelonu.


Proto bylo pro tento seznam vybráno těchto pět jazyků:


Elm získává na popularitě v komunitě JavaScript, a to především mezi těmi, kteří dávají přednost funkčnímu programování, které je na vzestupu. Stejně jako TypeScript nebo Dart je Elm transpilován do JavaScriptu.


Rust je systémový programovací jazyk zaměřený především na mezery, které používají C a C ++. Proto je překvapivé sledovat, že popularita tohoto jazyka mezi webovými vývojáři roste rychleji. Tato skutečnost nabývá na významu, když zjistíte, že jazyk byl vytvořen v Mozille, která chtěla dát lepší možnost webovým vývojářům, kteří musí psát nízkoúrovňový kód, a zároveň je výkonnější než PHP, Ruby, Python nebo JavaScript. Rust byl také zvolen nejlepším v kategorii „Oblíbená technologie“ v průzkumu vývojářů StackOverflow z roku 2016 (což znamená, že většina uživatelů by chtěla jazyk nadále používat).


Kotlin existuje zhruba pět let, ale teprve letos dosáhl produkční verze 1.0. Navzdory skutečnosti, že dosud nedosáhl popularity Scala, Groovy nebo Clojure - tří nejoblíbenějších a nejmodernějších (kromě Javy) jazyků pro JVM - vyčnívá z mnoha jiných jazyků JVM a zdá se, že je připraven zaujmout své místo mezi vůdci této skupiny .... Jazyk pochází z JetBrains (tvůrce populárního IntelliJ IDEA IDE). Je tedy navržen se zaměřením na produktivitu vývojářů.


Crystal je další jazyk, který doufá, že přinese výkon programu na úrovni C do světa webových vývojářů na vysoké úrovni. Crystal se zaměřuje na komunitu Ruby, protože jeho syntaxe je podobná a někdy shodná s Ruby. Již tak velký počet spuštění Ruby stále roste a Crystal může hrát klíčovou roli v tom, že pomůže posunout výkon těchto aplikací na další úroveň.


Elixir se také inspiroval ekosystémem Ruby, ale namísto snahy přinést výhody podobné C se zaměřuje na budování vysoce dostupných, responzivních systémů, tj. s čím má Rails podle kritiků problém. Elixir dosahuje těchto výhod pomocí Erlang VM, který má dobrou pověst postavenou na 25 letech úspěchu v telekomunikačním průmyslu. Phoenix (webový framework pro Elixir), spolu s velkým a vzkvétajícím ekosystémem, dává tomuto jazyku další přitažlivost.


Nyní sledujte, jak čtyři z těchto pěti jazyků stoupají po žebříčku popularity (na základě údajů StackOverflow a GitHub):




Každý z těchto jazyků se může pochlubit vášnivou komunitou a vlastním týdenním zpravodajem. Pokud uvažujete o studiu mladého jazyka s vzrušujícími příležitostmi do budoucna, přečtěte si krátké prezentace pro každý z těchto pěti jazyků, které napsali ostřílení nadšenci a vůdci příslušných ekosystémů.

Jilm

Elm je funkční programovací jazyk orientovaný na použitelnost, který kompiluje do vysoce výkonného kódu JavaScript. Můžete jej použít, a to i ve spojení s JavaScriptem, k vytváření uživatelská rozhraní na internetu. Hlavní výhody Elm oproti JavaScriptu jsou spolehlivost, snadná údržba a zaměření na zábavu při programování. Víc přesný:

  • Žádné runtime výjimky: Kód Elm má pověst nikdy neházet výjimky za běhu... Vůbec ne, že „nedefinovaná není funkce“.
  • Legendární kompilátor druhu: Jilmový překladač často Chvála za nejužitečnější hlášení chyb mezi konkurencí. „Pokud se to kompiluje, obvykle to prostě funguje“ je běžná víra, a to i po zásadním refaktoringu. Díky tomu je údržba velkých projektů Elm mnohem snazší než u odpovídajících projektů JS.
  • Sémantické verzování: elm-package vynucuje sémantické verze automaticky. Pokud se autor balíčku pokusí provést změny API, aniž by zvýšil číslo hlavní verze, balíček elm to zjistí a odmítne publikovat. nová verze balík. Žádný jiný známý správce balíčků nevynucuje sémantické vytváření verzí tak spolehlivě.
  • Rychlé a funkční: Elm je čistý funkční jazyk, který zajišťuje, že neexistují žádné mutace nebo vedlejší účinky. To nejen poskytuje vynikající škálovatelnost kódu Elm, ale také pomáhá vykreslit uživatelské rozhraní aplikace rychleji než React, Angular nebo Ember.
  • Výkonné nástroje: formát elm zdrojový kód formátuje podle standardu komunity. Už žádné polemiky o konvencích kódování. Stačí v editoru kliknout na tlačítko „Uložit“ a váš kód vypadá pěkně. elm-test je dodáván s „bateriemi“ pro podporu jednotkového i náhodného testování. elm-css vám umožňuje psát kód Elm, který se kompiluje do souboru css, takže můžete kód rozdělit mezi vaši aplikaci a styly, abyste zajistili, že se vaše konstanty nikdy nedostanou ze synchronizace.

Kód Elm může také komunikovat s JavaScriptem. To znamená, že jej můžete v malých dávkách aplikovat do kódu JS a stále můžete používat obrovský ekosystém JS, aniž byste znovu objevili kolo.

Kotlin

Kotlin je staticky napsaný jazyk, který cílí na JVM a JavaScript. Kotlin se narodil z potřeby JetBrains, který hledal nový jazyk pro vývoj jejich sady nástrojů (která byla většinou napsána v Javě). Něco, co by jim umožnilo využít jejich stávající kódovou základnu a zároveň vyřešit některé problémy, které Java způsobila. A jsou to právě řešení těchto běžných nedostatků, ke kterým při psaní dochází software definoval většinu charakteristik Kotlina.

  • Stručnost: snížit množství standardního kódu potřebného k vyjádření určitých konstrukcí.
  • Všestrannost: vytvořte jazyk, který je vhodný pro jakýkoli typ průmyslové aplikace, ať už je to web, mobilní vývoj, desktopové nebo serverové aplikace.
  • Bezpečnostní: ať jazyk zvládne některé běžné chyby související s problémy, jako jsou výjimky nulových odkazů, sám.
  • Interakce: Umožněte jazyku interagovat se stávajícími základnami kódů, knihovnami a rámci Java, abyste mohli postupně implementovat a využívat výsledky své investice.
  • Nástroje: JetBrains vyrábí nástroje a dělá je z víry, že mnoho rutinních úkolů lze automatizovat a vést k efektivnějšímu a produktivnějšímu vývoji. Jazyk by tedy měl snadno umožnit použití pomocných nástrojů.

Kotlin byl a vždy bude pragmatický - hledá běžné problémy, se kterými se často setkáváme při psaní kódu a snaze pomoci je vyřešit. Běží jako červené vlákno prostřednictvím různých jazykových funkcí, jako jsou:

  • Null-safe ve výchozím nastavení: Typy Kotlin jsou ve výchozím nastavení nenulovatelné, což zabraňuje nepříjemným výjimkám nulového odkazu / ukazatele.
  • Delegace první třídy: schopnost delegovat funkčnost člena třídy na externí funkci, což usnadňuje opětovné použití a vylepšení kompozice.
  • Dohoda: sada konvencí, které vám umožňují psát expresivní kód, a připravit tak cestu pro silně typovaný DSL, který zlepšuje čitelnost a usnadňuje refaktorování.
    html (head (title (+ "XML encoding with Kotlin")) body (p (+ "This is some HTML")))

Kotlin 1.0 byl vydán v únoru 2016 po více než pěti letech vývoje a rozsáhlého testování v reálných projektech. V současné době používá Kotlin více než deset produktů JetBrains. Používají ho také společnosti jako Amex, NBC Digital, Expedia a Gradle.


Obdržet dodatečné informace navštivte kotlinlang.org


Tato část byla napsána

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 s nimi zacházet?

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 před zahájením projektu průzkum a ujistěte se, že minimálně existuje aktivní podpora jazyka 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 velký projekt na roky, pak je lepší zvolit osvědčené technologie, pro které si můžete najmout tolik specialistů, jaké 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í dodavatel (například Oracle, SAP, IBM), který například zaručuje, že jeho technologie bude podporována dalších 10 let, a s tímto dodavatelem byla podepsána příslušná smlouva o podpoře, pak v v zásadě to můžete 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 (jazyk, framework, databáze nebo cokoli) s open source zdrojový kód, pak vám to dává jistou záruku, že pokud se v tomto nástroji najednou objeví chyba, pak v extrémních případech můžete tuto chybu opravit vlastními rukama. 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. Obchod 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, jaké jsou důvody pro myšlenku 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 použití nového jazyka umožňuje 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ém kolem něj.

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 větší 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 obecné jazyky 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 se lépe implementují 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"
Většina moderních programovacích jazyků, které známe, je multifunkční, to znamená, že mohou činit velmi odlišná rozhodnutí.

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 zvolím nějaký druh „koně“, pak bych nasadil 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 jazycích na straně serveru není vývoj tak patrný. 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.