Programování

9 špičkových programovacích jazyků, které se nyní vyplatí naučit

Velké jazyky jsou populární z nějakého důvodu: Nabízejí obrovský základ otevřeného zdrojového kódu, knihoven a rámců, které usnadňují dokončení práce. To je výsledek let hybnosti, v nichž jsou opakovaně vybírány pro nové projekty, a odbornost v jejich nuancích roste hodnotně a hojně.

Někdy obrovské zdroje populárních běžných programovacích jazyků nestačí k vyřešení vašeho konkrétního problému. Někdy musíte hledat správný jazyk nad rámec toho, co je zřejmé, kde je správná struktura odlišná a zároveň nabízí tuto další funkci, která pomůže vašemu kódu běžet výrazně rychleji bez nekonečného ladění a optimalizace. Tento jazyk vytváří mnohem stabilnější a přesnější kód, protože vám brání v programování nedbalého nebo nesprávného kódu.

Svět je plný tisíců chytrých jazyků, které nejsou C #, Java nebo JavaScript. Některé si cení jen málo lidí, ale mnoho z nich má při řešení určitých problémů prosperující komunity spojené společnou láskou k jazykovému zařízení. Možná, že tu nejsou desítky milionů programátorů, kteří znají syntaxi, ale někdy má smysl dělat věci trochu jinak, protože experimentování s jakýmkoli novým jazykem může na budoucí projekty přinést značné dividendy.

Následující devět jazyků by mělo být na radaru každého programátora. Nemusí být nejlepší pro každou práci - mnoho z nich je zaměřeno na specializované úkoly. Ale všechny nabízejí výhody, které stojí za prozkoumání a investování. Může se stát, že jeden z těchto jazyků prokáže, že je přesně to, co váš projekt - nebo šéf - potřebuje.

Kotkin: Java přehodnocena

Java je skvělý jazyk, který podporuje některé z nejpopulárnějších platforem vůbec, ale trochu stárne a body bolesti se stávají příliš známými. Kotlin je mozkem dítěte týmu JetBrains v Rusku, těch, kteří nám přinesli skvělé IDE jako IntelliJ. Kotlin je určen k rychlému kompilaci, koexistenci s Javou a opravuje některé z nejhorších problémů, které zabírají čas vývojářů Javy.

Nejlepší částí může být pozornost věnovaná hodnotám s možnou hodnotou null, zhouba všech objektově orientovaných programátorů. Pokud máte pocit, že polovina vašeho kódu kontroluje nulové hodnoty, vývojáři Kotlin uslyšeli vaše výkřiky. Kotlin učiní velký krok k vyřešení tohoto problému, pokud ne jednou provždy, tak přinejmenším většinu času nutí vývojáře, aby explicitně vyvolali proměnné, které by mohly být nulové. Poté automaticky zkontroluje některé z nejhorších chyb, které s nimi můžeme udělat.

Kotlin je navržen pro práci s existujícím kódem Java, což je dobrá volba pro týmy, které chtějí postupně vylepšovat kódovou základnu. Bude také kompilován do JavaScriptu nebo nativního kódu, pokud to právě potřebujete. Google uznal hodnotu jazyka a nyní jsou vývojáři Androidu, kteří chtějí používat Kotlin, dobře podporováni.

Tato opatrná strategie se ukázala být populární, protože umožňuje týmu pomalu si osvojit jazyk. Skupina Kotlin získala mnoho fanoušků ve velkých vývojových týmech ve velkých bankách, poradenských skupinách a aplikačních firmách.

Erlang: Funkční programování pro systémy v reálném čase

Erlang začal hluboko uvnitř strašidelných sfér telefonních spínačů u Ericssonu, švédského telco. Když se programátoři Ericssonu začali chlubit výkonem „devíti 9“, poskytnutím 99,9999999 procent dat pomocí Erlangu si vývojáři mimo Ericsson začali všímat.

Erlangovo tajemství je funkční paradigma. Většina kódu je nucena pracovat ve svém vlastním malém světě, kde nemůže poškodit zbytek systému vedlejšími účinky. Funkce vykonávají veškerou svou práci interně, běží v malých „procesech“, které fungují jako karantény a navzájem si komunikují pouze prostřednictvím e-mailových zpráv. Nemůžete pouze chytit ukazatel a rychle změnit stav kdekoli v zásobníku. Musíte zůstat uvnitř hierarchie volání. Může to vyžadovat trochu více přemýšlení, ale je méně pravděpodobné, že se chyby rozšíří.

Model také usnadňuje běhovému kódu určit, co může běžet současně. Díky tak snadné detekci souběžnosti může plánovač běhového prostředí využít velmi nízké režie při nastavování a kopírování procesu. Fanoušci Erlang se rádi chlubí spuštěním 20 milionů „procesů“ současně na webovém serveru.

Pokud vytváříte systém v reálném čase bez prostoru pro vynechaná data, například fakturační systém pro přepínač mobilních telefonů, podívejte se na Erlang.

Go: Jednoduché a dynamické

Google nebyl první organizací, která zkoumala sbírku jazyků, jen aby je našla přeplněná, složitá a často pomalá. V roce 2009 společnost uvedla své řešení: staticky napsaný jazyk, který vypadá jako C, ale obsahuje inteligenci na pozadí, která programátorům ušetří zadávání typů a žonglování hovorů malloc. S Go mohou programátoři mít terseness a strukturu kompilovaného C, spolu se snadností použití dynamického skriptovacího jazyka.

Zatímco Sun a Apple při vytváření Javy a Swiftu sledovaly podobnou cestu, Google učinil s Go Go jedno výrazně odlišné rozhodnutí: Tvůrci jazyka chtěli, aby byl Go „dostatečně jednoduchý na to, aby držel v hlavě jednoho programátora.“ Rob Pike, jeden z tvůrců Go, skvěle řekl Ars Technica, že „někdy můžete z dlouhodobého hlediska získat více tím, že si věci odnesete.“ Existuje tedy několik doplňků typu zippy, jako jsou generika, dědičnost typů nebo tvrzení, pouze čisté, jednoduché bloky kódu if-then-else manipulujícího s řetězci, poli a hashovacími tabulkami.

Tento jazyk je údajně dobře zavedený uvnitř rozsáhlé říše Google a získává přijetí na dalších místech, kde mohou být milovníci dynamického jazyka Python a Ruby přiměni k přijetí některých přísností, které vycházejí z kompilovaného jazyka.

Pokud jste začínající společností, která se snaží upoutat pozornost Google, a potřebujete vybudovat obchodní logiku na straně serveru, je Go skvělým místem pro začátek.

OCaml: Komplexní žonglér s hierarchií dat

Někteří programátoři nechtějí specifikovat typy svých proměnných a pro ně jsme vytvořili dynamické jazyky. Jiní mají jistotu určení, zda proměnná obsahuje celé číslo, řetězec nebo možná objekt. Pro ně mnoho zkompilovaných jazyků nabízí veškerou požadovanou podporu.

Pak existují ti, kteří sní o propracovaných hierarchiích typů a dokonce mluví o vytváření „algeber“ typů. Představují si seznamy a tabulky heterogenních typů, které jsou spojeny, aby vyjádřily složitá, víceúrovňová extravagantní data. Mluví o polymorfismu, primitivech pro porovnávání vzorů a zapouzdření dat. Toto je jen začátek komplexního, vysoce strukturovaného světa typů, metatypů a metametatypů, po kterých touží.

Pro ně existuje OCaml, což je vážná snaha komunity programovacích jazyků popularizovat mnoho z výše uvedených myšlenek. K dispozici je podpora objektů, automatická správa paměti a přenositelnost zařízení. V obchodě Apple App Store jsou dokonce k dispozici aplikace OCaml.

Ideálním projektem pro OCaml může být vytvoření symbolického matematického webu pro výuku algebry.

TypeScript: JavaScript, který se vám bude líbit

Každý může používat JavaScript, ale zdá se, že nikdo nemá rád programování v něm. Nebo by se zdálo, že každý má dnes svůj oblíbený před procesor nebo super procesor, který rozšiřuje a vylepšuje jazyk. TypeScript je aktuální oblíbený, protože přidává typy do všech proměnných, což je důvod, proč se programátoři Java cítí o něco bezpečnější.

Největším důvodem, proč se nyní více vývojářů zajímá o TypeScript, je Angular, skvělý rámec pro vytváření webových aplikací, který se právě píše v TypeScriptu. Zajímavou vráskou je, že k použití Angular nemusíte používat TypeScript. Můžete si užít kvalitu jeho kódu a sloučit jej se starým JavaScriptem. Nemusíte si vybírat.

Důvodem je, že TypeScript je nadmnožinou JavaScriptu. Vývojáři přidali psaní takovým způsobem, který dobře hraje se staromódním JavaScriptem, což je docela užitečné, pokud jsou v kanceláři lidé, kterým se nelíbí myšlenka typů, nebo kteří mají dogmatické názory na to, jak typy stísňují jejich styl. Typy jsou fakticky volitelné a lidé, kteří věnovali čas specifikaci typů, mohou těžit z odměn.

Silné psaní má mnoho výhod, jako je včasné chycení některých chyb a zlepšení obecné kvality nástrojů. Přidávání typů umožňuje inteligentním editorům, aby vám pomohli s inteligentními návrhy při tvorbě mistrovského díla. Dokončení kódu je mnohem rychlejší a přesnější, když rutiny dokončení kódu vědí něco o funkcích a argumentech. To znamená menší pohyb prstů po klávesnici. Milovníci TypeScript si jsou jisti, že výhody, jako jsou tyto, lákají každého, kdo stojí na hranici, o síle silně rozhodného jazyka.

Rust: Bezpečný a použitelný systémový jazyk

Front-end programátoři nejsou jediní, kdo se baví. Rust je jako zrekonstruovaná verze C se spoustou polymorfního psaní pod kapotou. Za poslední dva roky po sobě získal „nejoblíbenější programovací jazyk“ od voličů Stack Overflow, což je pocta, která se odráží také v indexu jazykové popularity Stack Overflow. Jen před několika lety se Rust pohyboval kolem 50 na seznamu a letos se zvýšil na 18.

Proč? Možná proto, že Rust čistí mnoho drsných problémů s C, aniž by se příliš držel nebo trval na tom, aby vývojáři používali virtuální přímé bundy. Systémoví programátoři rádi nespoléhají na sběr odpadků, což je skvělá služba, dokud nenastartuje přesně v ten nejnevhodnější čas. Rust vám dává pocit, že máte na starosti to, co se stane s číslem v paměti, a nečekáte, až vám nějaká služba udělá práci za vás.

Systém psaní je obecný a flexibilní a nabízí druh polymorfismu, který je alespoň abstraktně inspirován Haskellem. Když je implementován, kompilátor přizpůsobí strukturu pro každý typ, což vývojáři rádi nazývají „monomorfismus“. Jazyk přidává několik dalších omezení, aby zabránil vývojářům v jízdě. Každá hodnota je například „vlastněna“ - což ve skutečnosti znamená, že ji lze spotřebovat pouze jednou, což zamezuje spletitému webu odkazů z jiných částí programu, které fungují, jako by měly plnou kontrolu nad hodnotou.

Všechny tyto funkce plus několik dalších - například závity bez rasových podmínek - znamenají, že nový programátor může začít psát systémový kód, aniž by narazil na některé z nejhorších anti-vzorů, které mají dlouho zastaralé programátory C. Získáte veškerou tvrdou a vysoce výkonnou zábavu při psaní C s kompilátorem, který zachytí mnoho nejhorších chyb ještě před spuštěním kódu.

Scala: Funkční programování na JVM

Pokud potřebujete pro svůj projekt jednoduchost kódu objektově orientovaných hierarchií, ale milujete funkční paradigma, máte několik možností. Pokud je Java vaší oblastí, je pro vás Scala volbou.

Scala běží na JVM, přináší do světa Java všechny striktní striktní požadavky funkčního programování tím, že přináší kód, který vyhovuje specifikacím třídy Java a vazbám na další soubory JAR. Pokud tyto další soubory JAR mají vedlejší účinky a další naléhavé ošklivé bolesti hlavy, budiž. Váš kód bude čistý.

Mechanismus typu je silně statický a kompilátor dělá veškerou práci k odvození typů. Mezi primitivními typy a typy objektů není žádný rozdíl, protože Scala chce, aby vše sestoupilo z jednoho volání ur-objektu Any. Syntaxe je mnohem jednodušší a čistší než Java; Lidé z Scaly tomu říkají „nízký obřad“. Názvy proměnných CamelCase s délkou odstavce můžete ponechat zpět v prostředí Java Land.

Scala nabízí mnoho funkcí očekávaných od funkčních jazyků, jako je líné vyhodnocení, rekurze ocasu a neměnné proměnné, ale byly upraveny tak, aby fungovaly s JVM. Základní metatypy nebo proměnné kolekce, jako jsou propojené seznamy nebo hashovací tabulky, mohou být proměnlivé nebo neměnné. Ocasní rekurze funguje s jednoduššími příklady, ale ne s komplikovanými, vzájemně se rekurzivními příklady. Myšlenky jsou tu, i když implementace může být omezena JVM. Opět přichází také se vší všudypřítomností platformy Java a rozsáhlou sbírkou existujících kódů Java napsaných komunitou otevřených zdrojů. To není špatný kompromis pro mnoho praktických problémů.

Pokud musíte žonglovat s daty v clusteru tisíc procesorů a mít hromadu starších kódů Java, Scala je skvělé řešení.

$config[zx-auto] not found$config[zx-overlay] not found