Най-добрият език за програмиране, който да научите сега

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

Всяко училище, MOOC и сайт за обучение трябва да приемат първи език за младите падаванци. Някои места, като забързания Харвард, все още се придържат към 70-та ера C, но много училища се колебаят между JavaScript, Python и Java. Единият е заровен във всеки браузър, един е изчистеният избор на социалните науки, а един е богатото на предпочитанията на по-математически настроените хора.

Най-добрият избор ли е? Явно ли е по-добър от другите? Или всички те са еднакво вероятно да изпратят значителен брой студенти, крещящи в възглавниците си през нощта? Нека разгледаме най-добрите причини да научим Java, Python или JavaScript.

Java е класическа

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

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

Python е нов

Всъщност Python не е толкова нов - проектът е започнал преди повече от 30 години - но се чувства нов, защото успехът му идва бавно. Едва наскоро Python избухна и намери широко разпространение сред непринудените програмисти. Новостта означава, че училищата, които приемат Python, създават нови планове за уроци, пишат нови изпити и разработват нови тестета слайдове. Те не изкопават някои прашни стари въпроси от 90-те години с препратки към Pets.com и MySpace.

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

Целият този успех изгражда положителна обратна връзка. Изданието на Tiobe от ноември 2020 г. отбеляза за първи път, че Python се изкачи на второто място (зад C), признавайки как езикът става все по-популярен от Java.

JavaScript е навсякъде

Той е в браузъра и браузърът е основата за вашия работен плот, телефон и всички тези павилиони, които виждате навсякъде. През последното десетилетие JavaScript заема първите линии на уеб сървърите, тъй като уеб приложенията Node.js се превръщат в най-популярния начин за разработчиците да пишат „изоморфен код“, който може да работи както на клиентите, така и на сървърните ферми. JavaScript е практически на същата възраст като Java и въпреки това отнема години на сървърите да открият неговата сила. Нов и стар е едновременно.

Java се пише

Може да не ви харесва да отделяте време за определяне на типа на всяка променлива, но не отнема толкова време, за да щракнете върху три клавиша, за да добавите „int“ към кода си. Когато направите това, вие получавате цялата мощ, която идва от позволяването на компилатора да провери незабавно вашия код незабавно и да открие глупавите грешки, преди да бъде внедрен. Типово проверените езици ни принуждават да мислим по-стриктно за логиката в нашия код и това е основен урок за новите програмисти. Структурата на типа на Java намалява грешки и изгражда по-добър код.

Python не е въведен

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

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

JavaScript е и двете

Самият JavaScript е нетипизиран, но напоследък някои от високопоставените членове на света на JavaScript преминават към TypeScript, надмножество на оригиналния език, което ви дава възможност да задавате типовете, когато искате. И ако не искате, добре, обикновеният JavaScript също ще работи добре. Това е спокойна версия на проверка на типа.

Устройства, управляващи Java

Най-популярната платформа за мобилни телефони в света е Android, огромен стек код, изграден върху Java. Но това е само най-видимата платформа. Приставките, новите Chromebook и дори някои настолни компютри изпълняват приложения за Android точно като смартфоните. Близък братовчед на Java, C #, доминира в света на Windows. C # не е точно същото като Java, но е много близо. Ако ще пишете заявление за фиксиран хардуер, има голяма вероятност Java да е най-добрият избор.

Python управлява науката за данните

Ако пишете софтуер за работа с данни, има голяма вероятност да искате да използвате Python. Опростеният синтаксис е привлякъл много учени и езикът е намерил силен последовател в лабораториите из страната. Сега, когато науката за данните се задържа във всички слоеве на света на бизнеса, Python го следва.

Едно от най-добрите изобретения за създаване и споделяне на интерактивни документи, Jupyter Notebook, започна с общността на Python, преди да приеме други езици. Това е един от най-добрите начини за смесване на софтуер, данни и текст, който обяснява какво се случва. Читателите могат да поемат думите и след това да натискат бутони, за да стартират софтуера върху данните.

JavaScript управлява мрежата

Другите платформи може да са добри, но уеб браузърът продължава да бъде единственият портал, който почти всеки използва, за да се свърже със света. Това обикновено е най-използваният софтуер на работния плот, смартфона и таблета. JavaScript стартира като шеф на този локален клиент и влиянието му се разширява до пълна доминация, тъй като растежът на Node.js улеснява разработчиците да пускат същия код на клиента и сървъра.

Има и десетки добри JavaScript рамки (Angular, React, Vue и др.), Които предлагат основа за изграждане на вашето уеб приложение, а някои са достатъчно умни, за да преместят кода ви между клиента и сървъра, ако е необходимо. 

Дори в световете, доминирани от други езици, JavaScript си проправя път в стека. Много разработчици на смартфони прескачат Java и Swift, за да създадат своите платформени приложения в JavaScript. В края на краищата JavaScript определя какво се случва в правоъгълника на браузъра и това почти гарантира, че ще вземе решение за това, което се случва с повечето кликвания и натискания на клавиши навсякъде.

Java изпълнява всичко

Ако напишете код на Python, има голяма вероятност той да се изпълни в Jython, изпълнение на езика, написан на Java, за да се възползва от вездесъщието на Java Virtual Machine. Ако трябва да стартирате JavaScript, можете също да го подадете на Rhino и Nashorn, два инструмента, които превръщат JavaScript в байт код на Java.

Тези два езика не са единствените, които разчитат на солидното представяне на JVM. Много функционални езици за програмиране като Scala, Clojure и Kotlin също разчитат на същите основи. Това помага на всички, като улеснява свързването на тези базирани на JVM езици заедно, ако искате да ги използвате в един и същ проект.

Python работи навсякъде

Python не е първият избор или дори последният избор за хората, които пишат емулатори за други езици. И все пак е лесно да се намери Python на много компютри. Създателите на езика винаги са разпространявали кода като отворен код и пакетите са почти навсякъде. Всъщност ще намерите Python включен в MacOS и най-пълноценните дистрибуции на Linux. И макар да не е включен в Windows, инсталирането е много лесно - просто го направете по интелигентен начин.

JavaScript се изпълнява в браузъра

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

Не само братовчедите на JavaScript като CoffeeScript и LiveScript се превръщат в JavaScript. Дори езици като Lisp, OCaml и Pascal могат да бъдат конвертирани в JavaScript и да се изпълняват в браузъра. Python е популярен в браузъра в проекти като тетрадките Jupyter и дори Java може да бъде преведена в JavaScript с помощта на инструменти като Google Web Toolkit.

Java има силни IDE

Eclipse, NetBeans и IntelliJ са едни от най-добрите интегрирани среди за разработка наоколо. Те са създадени от общността на Java и възпитавани през годините, за да създадат една от най-поддържащите среди за писане на код. Алгоритмите за попълване на код и генериране на код може да не напишат целия ви софтуер, но могат да напишат значителна сума. Всичко това задържане на ръце наистина помага на новите разработчици да синтаксисът да бъде правилен. 

Тези IDE бяха толкова популярни, че разработчиците от други езици намериха начин да пуснат своя код вътре в тях. Ако станете професионален програмист на Java, почти сигурно ще използвате един от тях. Междувременно, ако искате по-опростено и приятелско изживяване за програмиране на Java, опитайте BlueJ или Greenfoot. Тези „IDE за начинаещи“ са създадени специално за изучаване на Java.

Python има облака

Езикът Python намери първия си дом в света на Unix и затова не е изненадващо, че облаците, пълни с кутии за Linux, са естествени места за намиране на много Python код. Някои от най-новите инструменти като Jupyter обединяват код, данни и обяснения, така че хората да могат да споделят своите идеи с други като научни статии, които оживяват. Тетрадките на Юпитер не са статични документи, а интерактивни инструменти за изследване.

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

Има и няколко добри хоста за преносими компютри, които добавят допълнителни функции за споделяне на данни и обработка на големи, интензивни задачи за анализ на изчислителни данни. Google например управлява Colaboratory, който ще съхранява данните ви и ще предложи безплатен достъп до графични процесори за по-бързо изчисление. Сатурн облак рекламира производителност, която може да е 100 пъти по-бърза от вашия работен плот.

JavaScript има JSFiddle

Всеки браузър се предлага с повече от достатъчно мощност, за да действа като IDE. JSFiddle е само най-известният от повече от дузина уебсайтове, които ви позволяват да споделяте JavaScript код с други разработчици. Уеб страниците обаче не са статични, защото можете да бъркате с кода и да гледате как се изпълнява в същата уеб страница. Инструменти като този улесняват експериментирането с цялото синтактично забавление на JavaScript.

Научете всеки - или и трите

Светът на програмирането обича да се опрашва взаимно. Въпреки че може да е объркващо да отскачате между различни езици и да поддържате синтаксиса прав, възможно е да използвате и трите езика в проекти, без да се затрупвате прекалено. Проектите на Java или JavaScript, които анализират данни, могат да се свързват в библиотеките за наука за данни, написани на Python. Или проектите на Python могат да извикват Java или JavaScript код.

Интелигентните разработчици също са създали инструменти за автоматично превеждане, свързване и интегриране на различните езици помежду си. Искате ли да стартирате Python код във вашия браузър? Сега има няколко различни опции и вероятно още. Java има клас ScriptEngine, който ще оцени JavaScript. Има стотици различни езици, които ще работят като JavaScript чрез превод или емулация.

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

Прочетете повече за разработването на софтуер:

  • Най-добрите безплатни курсове по програмиране по време на заключване
  • Какво е CI / CD? Обяснено е непрекъснато интегриране и непрекъсната доставка
  • Какво е гъвкава методология? Обяснено съвременното разработване на софтуер
  • Какво е API? Обяснени интерфейси за приложно програмиране
  • Най-добрият език за програмиране, който да научите сега
  • Най-ценните умения за разработчици на софтуер през 2020 г.
  • 6 най-добри езика за програмиране за разработване на AI
  • 24-те най-високо платени роли на разработчици през 2020 г.
  • Разработчик на пълен стек: Какво е това и как можете да станете такъв
  • 9 клопки в кариерата, които всеки разработчик на софтуер трябва да избягва