TECH · 21 декабря 2016, 18:08 · Отдел информации dev.by
Java — №1: составлен «абсолютный» топ-10 языков программирования

Преподаватель Калифорнийского университета в Беркли Дэвид Гевирц поставил перед собой задачу определить наиболее популярный язык программирования и понять, что значит «самый популярный». Для этого он сопоставил существующие рейтинги, определив «абсолютную десятку» в собственной колонке на ZDNet.

Фото: ZDNet

Популярность языков программирования интересует всех. Студенты хотят понять, какой язык программирования стоит выучить, чтобы гарантированно найти работу. Опытные разработчики интересуются рейтингами с целью понять релевантность своих навыков и, возможно, сменить фокус. Понимание популярности языков программирования важно и для решения практических задач — например, при создании API или работы над совместимостью проекта.

При составлении собственного рейтинга Гевирц объединил данные, которыми пользуются три самые популярные классификации: PYPL (исследует популярность обучающих сайтов и инструкций в поисковике Google), TIOBE (определяет популярность языков программирования на основе поисковиков) и IEEE (оценивает комплекс показателей, связанных с востребованностью языка, количеством написанных на нём проектов с открытым кодом и т.д.).

После сведения данных из разных источников исследователь получил следующую таблицу:

Сводная таблица популярности языков программирования на основании данных разных источников. Иллюстрация: ZDNet.

Java — №1

Чтобы выделить нужные данные и определить агрегированный рейтинг, Гетц объединил столбцы, оценил частоту упоминания в них каждого языка программирования, сформировав таким образом топ-10.

Агрегированный данные популярности языков программирования. Иллюстрация: ZDNet

При этом исследователь разделил языки на три группы: первичные, вторичные и третичные. В первую группу попали Java, C, Python и C++, во вторую — JavaScript, C#, PHP и Swift, а в третьей остались Objective-C и R.

Языки из первого кластера универсальны и не привязаны к определённой платформе или области программирования.

Во второй группе расположились языки веб-разработки (PHP и JavaScript), заточенный под технологии Microsoft С# и Swift, разработанный Apple для своих продуктов. Это даёт возможность назвать второй кластер «платформенным».

Знакомство с языком — лишь часть головоломки. Неважно, как хорошо вы знаете и любите Python и старый, но всегда актуальный C. Если вы разрабатываете плагины или темы для WordPress, вы будете писать на JavaScript или PHP. И неважно, насколько популярны другие языки. А если вы работаете на компанию, связанную с Microsoft, вам лучше знать C#.

Рекомендации для начинающих

Исследователь даёт рекомендации начинающим программистам: первым языком стоит выбрать C++ или Java, затем разобраться в JavaScript, после чего не составит труда получить нужные знания в PHP, Swift или Python, в зависимости от задач.

Важно знать несколько языков и фреймворков, чтобы действительно качественно решать поставленные задачи. Если начать с того, чтобы выучить по языку из каждого представленного кластера, вы сможете относительно легко развиваться в любом направлении.

Источник: dev.by

Обсуждение

Missing

Люди, учащие первым языком Java имеют очень тяжёлую судьбу, как мне кажется. Лучший язык для начинающего - это тот, в котором любая концепция информатики ясна и/или очевидна, ну или хотя бы не слишком замудрена. Где можно написать код и посмотреть результат, а не думать, что за статики и почему тут стринг с большой буквы, и почему тут так, а вот тут так. Можно спорить, мол тогда не будешь знать основ, так чего бы с разу не учить язык Ассемблера? Основы основ, абстракций по минимуму.

Missing
+5

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

Missing-male

Кумир, басик и пасцаль давно стоило закопать. С их задачами более чем хорошо справляется Python. В нём как раз можно на бегу в консоли видеть почему и как меняются переменные, плюс он требует мало мальски форматировать код, а не писать унылые убогие нечитаемые портянки без понимания, где блок кода начинается, где заканчивается.

Затем, уж если человек дожил до училища и пошёл на программиста, учить лучше C/C++, ассемблер само собой (в рамках архитектуры ЭВМ) и js+html+css. Учить первым языком жабу или любой другой аналогичный зонд [свежий пруф](https://dev.by/lenta/main/java-is-not-free) - это надо быть ССЗБ.

И да, делается это всё вполне открытыми и бесплатными средствами, а не тыренными дельфями, ABC пасцалями и убитыми реинкарнациями миров Кушниренко, которые нифига не способствуют пониманию выровненной в один поток портягки напичканной огрызками вида вещ к, нач, нц, кц, нс, кон и прч упрт ааббрвтр ктр нкт н пмнт и нпнмт.

Missing
+6

> свежий пруф

ох вы ж диванные аналитики, в теме не разбиретесь, зато "пруфы" кидаете

вот вам анти пруф: http://jug.ru/2016/12/digest-the-register/ А знаете, у джавы есть open jdk, oracle java, там разные лицензии, все такое. Но проще конечно кричать java все, все на питон.

Новичкам - javascript, открыл браузер и складываешь числа на jquery. И не нужно питон на винду ставить.

Потом можно перелезть на нормальный язык типо джавы, или остаться в ~~говне~~ javascript.

Missing-male

Да, и работают эти разнолицензированные тоже интересно. Вагон софта, начиная от EDeclaration до всякого софта с платёжных терминалов очень "запускается" на open, "почти не жрёт ресурсов", "не тормозит", "удобно обновляется штатными средствами" и конечно же "легко работает на любой ОС". И да, Оракл будет всегда готов с потрохами съесть в суде любой выстреливший проект и только на ваши интернал разработки всем плевать. Давайте уже заканчивать с распилами, особенно в сфере образования, а то у нас привыкли сначала неоправданно пихать во все места палёный софт 20 лет, потом пяткой в грудь стучать что "у нас везде именно этот софт, потому что другой не используется" и удивляться, почему в стране все пользуются нелицензионным софтом (как например очень долго было с Delphi) и не готовы платить за ПО отечественного производства ни гроша (отсюда большинство контор автоматически ориентируются строго на аутсорс - у нас же фиг заработаешь).

Новичкам js в браузере - это мегаидея! А почему так никто не сделал? Справка не нужна. Фичи IDE не нужны. Читаемость не нужна - лучше вообще сразу весь код минификатором угандошить. Кроме jQuery можно ещё десяток либ затащить. Пусть у каждого препода будет свой набор либ, со своим офигенным набором костылей. А на винде давайте пусть они TypeScrypt юзают и удивляются, что у других всё иначе. Возможность сохранить и запускать как самостоятельную программу (это вообще requirements на олимпиадах) - не нужна. И вообще глядя на код на js удивляешься, почему все любят гнобить php. Реально уверены, что лучше язык предназначенный для вебчика, чем язык который изначально пилился на замену языку используемому в обучении? А много ли js во всяких САПРах, математическом и образовательном софте? Может он используется в таких модных нынче штуках как ИИ и BigData? Может контроллеры на нём можно программить, всякие конструкторы образовательные детские, а C и micropython для лохов?

Missing-male
+1

зря Вы так про javascript

Missing-male

>> в один поток портягки напичканной огрызками вида вещ к, нач, нц, кц, нс, кон и прч упрт ааббрвтр ктр нкт н пмнт и нпнмт.

не трогайте Цел Ка. Это святое!

Missing

"Затем, уж если человек дожил до училища и пошёл на программиста, учить лучше C/C++, ассемблер само собой (в рамках архитектуры ЭВМ) и js+html+css."

нифига. это мнение человека, который видимо начал программировать до универа и посему записал себя в Илиту, а не прогавших в школе сверстников в клинические дебилы. чего только выбор слова "дожил" стоит - типа, пилять, не хер собачий не каждому дано (а мне вот дано, я Б-г). Программа училища и универа должна быть рассчитана на полного нуля, а не на тебя, чувак. Вот здесь у чела правильный взгляд на вещи, пусть и старовата статья http://www.stolyarov.info/files/anti_c_v03.pdf

и я с ним совершенно согласен в том, что этот ваш хваленый си имеет репутацию сложной нех, отсекающей неспособных (по мнению баснописцев) к программированию, от Свитой Ылиты, только в силу того, что его лепят первым языком. мне повезло его учить после прочтения танненбаума с его современными ос, и я ответственно заявляю, что после талмуда про управление процессами и виртуальную память он прост как лапоть включая свои сраные указатели. вывод - промышленные языки создаются для промышленных профессионалов, которые уже в теме (в частности си для системных программистов), а не для обучения. а вот ненавистный тебе пасцаль для людей вполне себе годен.

Missing-male

Половину Вы сами на лету выдумали, например про Б-г (кстати, при чём тут Борис Гребенщиков?) и про то что кто-то якобы указал, что программа обучения должна быть рассчитана на докторов наук и кулхацкеров. Нет. Но при поступлении люди доживают до распределения и делают некоторый выбор между "Мне хватило информатики в школе, пойду я лучше на экономиста/врача/учителя" и "было интересно, хочу знать всё что происходит под капотом и писать софт для космолётов". И да, если ты идёшь учиться на программиста, то тебе надо бы за время обучения в ВУЗе узнать некоторые основы, без которых ты будешь ничем не лучше чем "илита дома на коленке", а зачастую ещё и хуже, потому что кому-то дома это было интересно и он с этим разобрался, а кто-то пришёл "потому что мамка сказала что тут можно деньги грести и не делать ничего, сказала их програмизд на рабоце толька у кантру гуляе сутками", а ещё лютый процент выпускников работают не по своей специальности, потому что осознание что "это не их призвание" приходит к ним слишком поздно, а перепоступать дорого/времени жалко/в армию не хочется.

Вместо того чтобы хаять Си напишите по нему нормальный учебник, исправьте косяки образования и будет вам счастье. Сами же сказали что просто начать надо иначе. В остальном язык ничем не хуже других, работает на тех же компах, более того он повлиял на многие другие ЯП (в том числе C#, Java, Python, JavaScript, Objective C), после него их освоить по мере надобности будет гораздо проще. Просто народ привык его подавать как какую-то неведомую термоядерную алхимию, чуть ли не прошитую чёрной материей и интегралами. Возьмите любую книгу по Qt и наслаждайтесь, без попоболи и смс - открыто, бесплатно, совмременно, с минимумами утечек памяти и других приколов присущих крякнутому 6-ому билдеру.

И да, для промышленности как бы программистов тоже нужно где-то учить. И если в ВУЗе учат программистов не для промышленности, то для чего? Для детсада? Для сети макдаков? И вообще ваша трактовка несколько не верна. Си - компилируемый статически типизированный язык программирования общего назначения. Промышленность - лишь одна из сфер применения. Знать его идеально и писать софт только на нём совсем не обязательно, но если хочешь называть себя программистом, должен хотя бы знать о чём речь, а то сейчас сведём всю систему образования ИТшников к давно вымершему паскалю (тем временем труп Borland продолжают перепродавать пытаясь отбить вложения) и замертво рождённому КуМИРу, нафиг забыв про реальность, какой бы она не была. И да, кроме ассемблера (опять же хотя бы поверхностно, просто чтобы примерно понимать, что происходит внутрях) не вижу смысла в построении современной системы образования с обучением ЯП которого нет в TOP 10 востребованных (рейтинги сами найдёте?), потому что такие специалисты, которых потом ещё 5 лет переучивать, не найдут себе работы после ВУЗа.

Missing

из-за моего наезда про "илиту" походу вылетела суть. а она в том, что в TOP-10 все языки промышленные (то есть используются в индустрии) и рассчитаны на применение профессиональным программистом (ну или хотя бы студентом не первого курса). начинать (подчеркиваю это слово) обучение программированию с этих языков - плохая идея. и здесь не прокатит обвинение в незаинтересованности, потому-что речь про полных нулей, которые шли в универ, потому-что хотят создавать программы (и вообще без понятия, как это делается). незнание аэродинамики не запрещает хотеть делать самолеты, и это очень хорошо - никто бы иначе не захотел. то есть интерес вроде есть на обывательском уровне, а его уже убивают профессиональными инструментами, которые заведомо не по зубам большинству на первом курсе. это похоже на требование в вакансиях "требуется х. опыт от 2-х лет". изучение языков из топ-10 вешает такую плашку на входе в универ.

учебные языки типа паскаля именно что создавались для вводного курса программирования (семестр-другой по длительности) и они хороши для этих целей. и без разницы, что их нет в ТОП-10. паскаля там в принципе быть не должно, потому-что при создании не предполагалось его юзать в прод. и если кто-то это делал, то это недоразумение.

Missing-male

Интересно. Давайте от обратного пойдём: если ЯП попадают на первые места по использованию в мире (не в отдельно взятом выдуманном ВУЗе) и при этом используются далеко не только программистами (как например указанный python), по какому критерию они были выбраны этими людьми? Или вы думаете, это такой масонский заговор 18-го века? Типа "а давайте программировать не на тех языках, которые понятны людям, гибки и хорошо подходят для решения широкого круга задач, а на тех от которых мозг выворачивает и где можно сделать ошибок больше, брейнфак например".

Эволюция в технологиях и среди ЯП так же существует. Плохие ЯП используются редко или вообще умерли. Хорошие ЯП получают развитие и широкую поддержку. И да, если уж взялись учить чтобы учить, то давайте учить что-то открытое и общедоступное широким массам (априори знания должны быть полностью открытыми), а не лочить на "единственный правильный компилятор запускаемый под единственно правильной ОС написанный единственной правильной конторой".

Missing

"по какому критерию они были выбраны этими людьми?" - по пригодности для решения их задач. в основном - профессиональных.

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

"Плохие ЯП используются редко или вообще умерли." тогда паскаль точно не плохой. он создавался для обучение кодингу с нуля и до сих пор успешно выполняет эту функцию (там, где его наши дубомесы из министерств на си не заменили).

и я хз про питон как первый язык - я против c++ для чайников и ненависти к паскалю.

Missing-male

>> по пригодности для решения их задач. в основном - профессиональных.

Языков много, задач тоже, по сути под любой спектр задач уже давно можно найти "специальный самый удобный язык" который на поверку не удобен никому, кроме его авторов и тех, кому его навязали как первый. Так было например с Коболом и FoxPro. Я знаю пару-тройку контор, которые до сих пор тягают этот "труп дохлой лошади". Все они рано или поздно вымирают, среди них выкристализовываются те, на которых действительно можно работать. И по хорошему - нужно, если хотите иметь сопровождаемый софт, а не ещё один "труп лошади". И писать на них можно вполне хороший и понятный даже новичкам код, если грамотно пользоваться средствами языка, а не хачить костылями поперёк велосипедов.

>> тогда паскаль точно не плохой

Борланд умер. Труп этой "лошади" уже несколько раз перепродавали, ребрендинг turbo pascal => borland pascal => object pascal => Delphi => RAD Studio не шибко помог. Хотя опять же, я знаю полтора маргинала которые на нём и сейчас пишут софт в связке с FireBird.

Как человек начинавший с turbo pascal, я против паскаля в образовании. После него переучиваться на другой ЯП и переосмысливать всё, что до этого учил несколько геморройно, особенно если закопал много времени (привычки зло). Python изначально разрабатывался как замена ABC, который в свою очередь

```

ABC задумывался для использования в целях, аналогичных применению Бейсик, Паскаля и AWK. Он не предназначался для системного программирования, но задумывался как хорошая база для изучения программирования и использования непрограммистами в повседневной работе.

```

При этом у Python из коробки есть некоторые требования к code style, которые мешают писать однострочный говнокод или одноколоночную портянку, которая при первом взгляде больше напоминает не алгоритм, а "четыресловавсекапсом". Для полного счастья ещё нужно наконец-то заставить людей давать переменным соответствующие имена, а однобуквенники из ряда qwerty, которые так любят в учебниках и методичках по Паскалю. И внезапно алгоритм становится наглядным и читаемым аки стишок, а такой код гораздо лучше усваивается. В отладчик лезть не нужно - есть отладочная консоль. Каких-то левых торрентов качать и крякать не нужно. Документация вся на месте, бери и пользуйся. Я не понимаю, какие с ним могут быть проблемы. И да, его, как такового, для многих программистов вполне достаточно: вакансий вагон и маленькая тележка, от автоматизации и автотестов до десктопа и WEB, от микроконтроллеров до САПР. Разве что ОС на нём ещё не писали, кажется (хотя может я просто не в теме).

Missing
+1

А я вот не вижу проблем переучиться на что угодно после вводного семестра на паскале.

Missing-male
+5

Не совсем понял мысль про написать код и посмотреть результат.

Расскажите какая концепция информатики не ясна в джаве? ООП? if else while?

Вроде как везде одно и то же.

Missing

Концепция будет ясна, после того, как проберётесь сквозь чащу ключевых слов. А вообще, чего мы спорим. Посадите ребёнка учить джаву, и всё станет на свои места. Я не против джавы, имхо, идея учить её как первый язык - это извращение.

Missing-male
+9

>> Кумир, басик и пасцаль давно стоило закопать. С их задачами более чем хорошо справляется Python.

>> нормальный язык типо джавы, или остаться в ~~говне~~ javascript.

вот что происходит, когда технари начинают заниматься образованием - чисто гуманитарной вещью.

Для начала следует понять, что обучение ребенка, обучение студента в ВУЗе первой профессии и обучение взрослого для перепрофилирования с одной специальности на другую - совершенно разные задачи, требующие, соответственно, различных инструментов. Например, имхо, scratch студентам в ВУЗе на ИТ-специальностях нафиг не нужен. В тоже время обучать ребенка питону, как первому ЯП? Это надо тем ещё садистом быть...


Авторизуйтесь, чтобы оставлять комментарии

© 2008-2017 Частное предприятие "Дев Бай"
Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси