5 нови езика за програмиране, които трябва да знаете

За някои хора изучаването на нов език за програмиране е излишък, който най-добре се избягва. Защо, о, защо, твърдят те, имаме ли нужда от още един език?


Нямаме ли вече достатъчно?

Не са ли съществуващите инструменти да свършат работата?

И тогава има онези неуморни търсачи, които скачат при възможността да опитат нови неща и да се натъкнат на скъпоценни камъни. За тях ученето е самоцел и не им е нужно много убедително да изгорят уикендите си, изграждайки игра на карти на базата на конзоли на този неясен, нов език.

Без значение към кой лагер принадлежите, има нещо извън разискването: всички искаме да отделим време за нещо, което ще има светло бъдеще.

За хората от наследения лагер, любимият им съществуващ език вече има тонове инерция и ще продължи да има светло бъдеще. За тях трябва да напомня, че тяхната сега зряла предпочитана инструментална верига за развитие някога е била „коол помощ“, която мнозина отказвали да пият. И така е днес; добавят се нови технологии за решаване на нови проблеми или за облекчаване на болката от развитието.

Ако нещо направи това достатъчно радикално, има вероятност той да продължи да грабва умопомрачителност и да достига върха. Когато това се случи, не искате да бъдете изоставени. ��

А за тези, които обичат да тичат с лъскавите неща, предупреждение: да се забавляваме е от съществено значение като програмист, но трябва да внимаваме да не хабим енергията си безцелно.

Сигурен, Brainfuck е невероятно изкривен, пъзелов, забавен малък език, но е малко вероятно да се възползвате, ако го преследвате сериозно. Искате нещо, което е ново, разумно и има солидна основа.

Как са избрани тези езици

Изборът на език е плашеща работа, особено когато се обмислят нови езици за бъдещи ползи от заетостта и удовлетворението. Всеки автор на езика е категоричен, че е изградил възможно перфектния език и е решил всички проблеми, които трябва да отговорят. Как тогава режете?

За тази публикация се съсредоточих върху няколко параметъра, за да поддържам търсенето в разумни граници.

Дата на излизане

Специално избягвах езиците, които са много, много нови.

Нови, имам предвид езици на по-малко от 5-6 години по време на писане и особено тези, които не са достигнали стабилност (версия 1.0, т.е.). Това, за съжаление, изключва някои истински скъпоценни камъни като кристал, Но се надявам да се върна към това и да напиша за успеха му някой ден. ��

Кодов фрагмент в Crystal („Бързо като C, Slick като Ruby“)

За мен 5-12 години е сладкото място, което е когато един език се стабилизира и се изработват повече усъвършенствания. Сега, разбира се, има изключения от това правило и те ще бъдат разгледани, когато е приложимо.

Силен интерес на общността

Този е не-мозъчен, но често се игнорира, когато се вълнуваме от нещо ново. Сега за много хора подкрепата на голяма компания е достатъчен прецедент за успех, но това не винаги е вярно.

Да, Apple на Objective-C и сега Swift процъфтява, защото това бяха единствените опции в силно контролирана екосистема, но Facebook е д и хамалски (грозно поемане на вече грозен език, според мен) остават малко повече от експерименти.

Идеалната комбинация би била език, подкрепен от голяма, стабилна компания и експлодираща популярност (като React).

Но месото на въпроса все още е общността. Ако езикът не създава бръмчане и няма достатъчно разработчици за образование и популяризиране, няма да излезе от гроба на GitHub.

За мен това изключва зрели, завладяващи езици като ракета и Erlang, тъй като те остават равни на кривата на растеж.

Фокусиран, добре дефиниран USP

Третото нещо, което търся, е ясно определена цел за езика. Например, по-добрата версия на PHP, която коригира проблемите с именуването и компилирането на родния PHP, не работи за мен.

Ползите са просто твърде малки, за да оправдаят пукнатините, които ще се появят, ако всеки се опита да премине към него. По този критерий не мога да не отхвърля опити като CoffeeScript, и много други подобни езици за компилиране на JavaScript.

Честно казано, аз съм длъжен незабавно да отхвърля подобренията само за синтаксиса. Историята е показала, че полезността коства дружелюбност, що се отнася до езиците, така че ако всички нови езици се съсредоточат е по-приятно изживяване, страхувам се, че няма да направим този списък.

Ясен, последователен синтаксис

Да, знам. Току-що казах, че синтаксисът няма значение. Е, за да бъда точен, казах, че „подобренията само за синтаксиса“ нямат значение. Но казаното, синтаксисът остава един от важните фактори за производителността и поддържането на програмистите, така че това е нещо, което трябва да се включи в моите изчисления тук.

Наред със синтаксиса идва и идеята за последователност. Именуването на функции, структурирането на модули и т.н. са ключови неща, които езикът не може да си позволи да сгреши. 2018 г. е, за Бога, и друг дизайн на езика, подобен на PHP, би бил жалко за всички нас. Така че, без допълнително обожание, нека започнем с нашите пет най-добри препоръки.

1. Джулия

За хората от MIT езиците, достъпни за науката за данни, бяха в най-добрия компромис. На Python, поради цялата си яснота и популярност, липсваха местни конструкции за работа с обекти с данни. Също така, бидейки интерпретиран език, Python беше бавен за тях (не библиотеките, имайте предвид, тъй като те са написани най-вече на C).

Но може би най-голямото изключване беше тромавият модел на паралелността и липсата на паралелен изчислителен модел, последният от които е основен в суперкомпютрите.

Като резултат, Джулия е роден.

Джулия достигна стабилното си издание на 29 септември 2018 г., едва няколко дни преди да бъде написана тази статия (говорим за времето!). Ето какво може да каже официалният уебсайт за неговите възможности:

Джулия превъзхожда числените изчисления. Синтаксисът му е чудесен за математиката, поддържат се много числови типове данни, а паралелизмът се предлага извън кутията. Многократното изпращане на Джулия е естествено приспособяване за определяне на числови и масивни подобни типове данни.

Според синтаксиса, Джулия може да се разглежда като комбинация от Python и C. Да, вероятно това е първият път, когато един език е насочен към двете качества и е успял.

За да е нещата просто, Джулия не налага строго писане и въпреки това пламва бързо. Ето някои показатели:

Официалните показатели на Julia

Както можете да видите, Джулия е малко по-лоша от C, но издухва Java и Python от водата. И какъв вид бонбони за очи предлага Джулия?

Е, ето реализацията на функция за изчисляване на хипотенузата на десен триъгълник:

И накрая, докато повечето от Юлия екосистема е силно наклонен към математическата работа, вярвам, че има светло бъдеще с общо предназначение.

Това е първият език по мои познания, който има първокласна поддръжка за паралелно изчисляване, така че няма да е изненада да види, че той придобива все по-голяма популярност в уеб и IoT домейните.

2. Ръжда

Ако сте опитвали новите версии на браузъра Firefox, знаете, че най-накрая, след години работа, изглежда, че може да успеят да отнемат част от пазарния дял от Chrome.

Ако браузърът се чувства лек и хаплив и визуализира бързо, всичко е благодарение на езика Mozilla, специално разработен: ръжда.

Да се ​​каже, че Руст има светло бъдеще ще бъде лъжа; езикът вече е огромен успех и ако още не сте чували за него, това е защото областта на приложение е специализирана и целта му е страшна: подмяна на C ++! Да, най-накрая имаме език, който не само е способен да прави това, но и вече го прави.

За хората, разочаровани от прекаленото натоварване на дизайна и управлението на паметта на C ++, Rust идва като глътка свеж въздух.

Ето как изглежда програма на Rust:

Струен и елегантен според мен. Ръст следва подхода на функционалното програмиране, което прави кода ви по-удобен за използване и няма обектно-ориентирани йерархии, с които да се борите.

И така, какво дава кураж на Руст да продължи след C ++? Това е новият модел памет. Вместо да разчита на стария нов танц () / delete (), Руст въвежда идеята за собственост.

Вместо да разпределят директно и да имат достъп до паметта, променливите на Rust се „заемат“ една от друга със строги ограничения, поставени от компилатора. Цялостната концепция е твърде сложна, за да се обясни с няколко думи, така че не се колебайте да разгледате официални документи да научиш повече.

Въпросът е, че това води до 100% безопасност на паметта без нужда от боклукбор, което е голяма работа.

Ръст превзе света на системното програмиране от буря. Той вече се поддържа в някои платформи, браузърите за захранване и двигателите за изобразяване бързо заместват C / C ++ код на производствените системи и се използват за писане на операционни системи.

Разбира се, не е чашата на всеки да създаде друг браузър или драйвер на устройство, но Руст вече се разпространява в други домейни. Вече имаме няколко напълно функционални, нелепо бързи уеб рамки в Руст, и все повече и повече библиотеки на приложения се разработват.

Честно казано, ако се интересувате от вълнуващо бъдеще, Руст е идеалният език и сега е перфектен момент. Ръждата е самолет, който излетя, но все още има време да се качи на борда, докато се отправя към звездите!

Уча Ръст от Дмитрий Нестерук.

3. Еликсир

Сред езиците, които се фокусират върху щастието на програмистите, първото място е запазено завинаги за Ruby. Това е език, който се чете като поезия и има достатъчно преки пътища, за да намали умственото триене по реда на величината.

Не е чудно, че рамката Rails продължава да доминира в пълната разработка на стекове за сериозни разработчици и стартиращи компании. Но не всички бяха доволни от Rails, особено един от основните му разработчици – Хосе Валим. Мисля, че самият създател обяснява най-добре генезиса на този език в интервю:

Това е дълга история, но ще се опитам да я направя кратка и сладка. Още през 2010 г. работех върху подобряването на производителността на Rails при работа с многоядрени системи, тъй като нашите машини и производствени системи се доставят с все повече и повече ядра. Целият опит обаче беше доста разочароващ, тъй като Ruby не предоставя подходящия инструмент за решаване на проблеми с едновременността. Тогава започнах да разглеждам други технологии и в крайна сметка се влюбих във виртуалната машина Erlang.

Започнах да използвам Erlang все повече и повече с опит забелязах, че ми липсват някои конструкции, налични на много други езици, включително функционални. Тогава реших да създам Elixir, като опит да докарам различни конструкции и отлични инструменти на върха на Erlang VM.

И ето, еликсир е роден!

Точно както Scala подобрява езика на Java, но е насочен към същата виртуална машина отдолу (JVM), Elixir също се възползва от десетилетията, доказана в битките виртуална машина Erlang.

Сега дискусията за Erlang е извън обхвата на тази статия, но минимумът, който трябва да знаете, е, че това е най-добре пазената тайна на телекомуникационната индустрия: ако нашите телефонни мрежи са много по-надеждни от нашите уеб-базирани системи, всичко е благодарение на Erlang.

С още по-прости думи, какво означава това е това. Ако изграждате система в реално време като чат, Elixir е много, много по-малко RAM гладен и стабилен от Ruby (или PHP, Python и Java, за този въпрос).

Машина, която работи с Ruby и достига максимум при 10 000 едновременни връзки, може лесно да се справи с 200 000, когато използва Elixir и все пак има достатъчно RAM памет, за да стартира 2D игри!

Елексир на кода на Elixir

Ентаксир безсрамно копира Ruby, а неговата доминираща уеб рамка, Phoenix, безсрамно копира Rails. Бих казал, че и това е хубаво, защото заедно с Laravel, Grails, Masonite и т.н., достигаме до точка, в която всички езици имат рамки, подобни на Rails, които могат да улеснят прехода. Някои може да се подиграят на „липсата на оригиналност“, но най-малкото не се оплаквам.

накрая, еликсир е една от онези технологии, които са освежаващи, приятни и проклети практически. Няколко магазина на Ruby (и дори не-Ruby) се преместват в Elixir, а големи компании като Pinterest го използват в производството с изключително задоволителни резултати.

Много хора смятат, че Node.js е бил импровизиран опит за едновременност и скоро ще бъде заменен от Elixir. Трябва да кажа, че съм съгласен с тях. ��

4. Котлин

През 2017 г. I / O, Google пусна бомба на нищо неподозиращата тълпа. Компанията официално обяви Kotlin като основен език за разработка на Android, изпращайки ударни вълни през индустрията.

Сега, когато Google активно се стреми да замени Java, не е изненада, след като беше ухапан от дело за Oracle; но приемането на Kotlin беше някак неочаквано и все още има голям шанс Google да излезе скоро с виртуалната си машина. Засега обаче Котлин се радва на скок.

Kotlin е разработен от JetBrains, компания, по-известна със своя набор от безумно добри редактори на кодове. Един от тях, IntelliJ IDEA, представлява основата на Android Studio. Целите на дизайна на Kotlin са безопасност, сбитост и 100% оперативна съвместимост с Java.

Повече от всичко друго, компилаторът Kotlin работи изключително усилено, за да елиминира всички изключения с нулеви указатели, които са толкова често срещани в света на Java. Той също така сваля пословичното многословие на Java, което ще дойде като облекчение за мнозина.

Ето едно чудесно сравнение на код между Java и Kotlin:

Кредит за изображение: hype.codes

Кодът на Котлин е значително по-кратък и много по-малко когнитивно претоварване, за да се орати.

Но нека да изясним едно нещо: Котлин е изключително малко вероятно да замени Java, въпреки че бързо се превръща в бърз фаворит. Вярвам, че след десет години малки и средни екипи няма да изглеждат по-далеч от Котлин, докато големите групи ще продължат да използват Java чисто поради наследени причини.

Въпреки това, Kotlin има изключително светло бъдеще, тъй като прави всичко, което прави Java, може да се слее с Java код, без никой да забележи, и е много по-приятно!

5. TypeScript

Бог знае, че трябваше да се сдържа за това място! Всичко вътре в мен крещеше „Бряст! Elm! ”, Но колкото и революционни да са идеите му или колко божествен е синтаксисът, Elm тепърва трябва да се разглежда като основна алтернатива за предни работи. �� Както и да е, нека да преминем към това, което е основно: TypeScript.

JavaScript е като дивите плодове: грозни и неприятни, но трябва да го стомасите, ако искате да оцелеете в джунглата на предно развитие. Бяха направени много опити за замяната му (и най-вероятно новият стандарт на WebAssembly ще успее), но това, което наистина привлече вниманието на всички, беше суперсетът, разработен от Microsoft.

Има отлични шансове, за които сте чували написан на пишеща машина: Angular беше първата рамка, която го обхвана от версия 2 нататък и хората бързаха да вземат под внимание. Това е така, защото TypeScript добавя някои много необходими и фантастични суперсили към най-известния език за програмиране в света.

Да, най-накрая е възможно да напишете родния JavaScript код, без да страдате и да проклинате раждането си!

Ето подобренията, които TypeScript предоставя в таблицата:

✓ Силно въвеждане: И накрая, низът не е число и числото не е обект, което не е празен масив!

✓ Проверка на времето за компилиране: Ако вашият код се компилира правилно, е повече или по-малко гарантирано, че няма свобода от брадавиците на JavaScript по време на изпълнение.

✓ Класове и модули: Да, класовете са стандартни в ES6, но те са включени и в TypeScript, освен чиста модулна система.

✓ Въведете извод: За сложни типове, типът може да се разбере лесно от компилатора, спестявайки ви главоболие.

✓ Асинхронизиране / изчакване: Ключовите думи и моделите на асинхронизацията / чакащите са основни, така че няма да се забърквате повече с обещания и отстъпки!

Пространства от имена, генерични данни, кортежи. , , Бих могъл да продължа и продължавам, но трябва да е достатъчно да кажа, че TypeScript превръща едно от най-лошите преживявания в развитие в едно от най-добрите.

Код от типа TypeScript

Въздействието на TypeScript не може да бъде отказано. Той изтласка подобни опити като “Дартс на Google” извън полето (макар че се опитва да се върне през Flutter, мобилна рамка за развитие) и отвори очите на разработчиците на JS за ползите от по-силните типове.

В резултат на това значителни библиотеки като React, D3, Vue (дори jQuery!) Вече имат TypeScript версия, а в най-добрите софтуерни магазини по целия свят всички JavaScript кодове се изписват като TypeScript код. TypeScript заглавките вече са достъпни и за Node.js (честно казано, ако възел може да подобри историята си за съвместна работа и да закърпи своето лошо управление на паметта, тя ще продължи вечно).

Може да се изненадате, като разберете, че създателят на Node.js, след като публично съжаляваше създаването му, работи върху а ново изпълнение (в момента няма официален уебсайт; само репото на GitHub), който има TypeScript като основен език.

Най-добрите новини? TypeScript е малък език за учене със значителни ползи в бъдеще. Ако сте междинен разработчик на JavaScript, ще вземете достатъчно от TypeScript в рамките на два дни, за да прехвърлите целия си съществуващ код!

Заключение и отказ от отговорност

Специфичните езици печелят толкова популярност, колкото тези в тази статия, но не са били включени в списъка по различни причини. Ето бърз поглед:

  • Golang: Вече утвърден като основен, ако не много популярен език. Вярвам, че в този момент Golang има няколко конкуренти, които ще поддържат ниския си пазарен дял.
  • R: R вече е горещ сред учените за данни и е малко вероятно да привлече много разработчици на приложения. Освен това не трябва да забравяме, че библиотеките за машинно обучение бавно си проправят път към всички основни езици (за Бога, дори и PHP ги има сега!), Така че всичко, което трябва да направите, е да изчакате известно време. ��
  • Swift: Apple има железен захват на тяхната екосистема, а Swift е единственият език, който се предлага там. Без съмнение, по-рано Цел С беше яростта, както е Суифт сега. Считам, че това е измама и затова отказвам да го включите тук. ��

Бъдещето винаги е несигурно и един от начините да се занимавате с кариерата си е да се придържате към това, което вече работи и да откажете да се „разсейвате“. Ако направите това, Java, PHP, Python, Ruby и т.н., всички са отлични езици, с които да се придържате. За някои от нас обаче нормата не е достатъчна. Те искат да излязат и да изследват и да залагат много на бъдещето. Ако попаднете в последния лагер, един от тези пет езика трябва да бъде в началото на вашия списък със задачи.

И накрая, когато се опитвате да оцените език, не позволявайте включените усилия да ви затрупват, защото това не е толкова много. Ако вече знаете няколко езика за програмиране, можете да научите всеки от тях в рамките на максимум два месеца, като прекарвате 5-6 часа седмично. Докато щастието и паричната възвръщаемост, които могат да бъдат генерирани в бъдеще, ще бъдат няколко пъти повече.

Пропуснах ли някой критичен език тук? Или може би имам нещо нередно в изброените тук езици? Ако е така, моля, оставете коментар и ми помогнете да се подобря. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map