Какой язык программирования выбрать специалисту по машинному обучению?

Производительность

  • Производительность дистрибутивов Linux
  • Производительность Ext4 vs F2FS vs Btrfs
  • Производительность Btrfs vs. EXT4 vs. F2FS vs. XFS vs. NTFS в ядре Linux 4.7
  • Производительность Ubuntu 16.04 vs Ubuntu 16.10
  • Производительность Ubuntu 16.10 в играх
  • Производительность Nouveau vs Nvidia
  • Производительность AMDGPU-PRO vs NVIDIA в Vulkan
  • Производительность MacOS vs Ubuntu 16.04
  • Производительность нескольких SSD и HDD в Ubuntu 16.04
  • Производительность ядра Linux 4.8 vs 4.4
  • Производительность TrueOS vs DragonFlyBSD vs GhostBSD vs FreeBSD
  • Как ускорить Linux
  • Как ускорить KDE 5
  • Ускорение загрузки Linux

Французский GOTO++: же не манж па сис жур

У этого языка программирования франко-английский синтаксис. И да, это эзотерический язык — на нём программируют забавы ради. Однако GOTO++ — не классический esolang, а weirdlang, то есть язык, в котором странным является только синтаксис.

GOTO++ поддерживает процедурную и объектно-ориентированную парадигмы. Авторы описывают его как «язык, с которым вам будет нелегко» (в оригинале это звучит как «le langage qui se laisse pas faire»). Например, комментарии пишутся после ключевого слова GOTO, а чтобы сгруппировать математические операции, используют расположенные в обратном порядке фигурные скобки (}{). Символ языка — зелёный бородавочник с гневными красными глазами. Они намекают на его «дикий нрав».

Документация написана исключительно на языке Гюго и Бодлера, который авторы считают самым красивым в мире. Неудивительно, что на официальном сайте англоязычных программистов встречает дисклеймер: «Жаль, но вам придётся выучить французский».

Вот как выглядит «Hello, World!» на GOTO++ (сказать по правде, мы тоже мало что поняли):

Популярные языки для бэкенда

Языки для бэкенда выбирают в зависимости от масштаба проекта и его задач. Например, банк, скорее всего, выберет Java, а стартап из сферы машинного обучения — Python. Дальше вы узнаете почему.

Мы расскажем про шесть популярных серверных языков из списка TIOBE.

PHP — ветеран веб-программирования

PHP создали в 1995 году как язык для веб-разработки. На нём написано почти 79% сайтов. PHP поддерживает MySQL, MS SQL, Oracle Database, PostgreSQL, MongoDB и другие базы данных. IDE для PHP можно установить на Windows, macOS и Linux.

На PHP написан движок Wikipedia и значительная часть Facebook, на фреймворке Symfony создан бэкенд BlaBlaCar.

Для начала работы с PHP создаётся страница с расширением .php или .html (в зависимости от конфигурации сервера). Исходный код этой страницы содержит теги разметки HTML и непосредственно PHP-команды. Они заключаются между операторами <?PHP и ?>. Вот как выглядит подобный код:

Открыв эту страницу, пользователь увидит надпись «Здравствуйте, Петя!». Если вы уже знакомы с программированием, то могли заметить, что $username — это переменная, а команда echo используется для вывода данных на экран.

У языка много бесплатных библиотек и фреймворков (Laravel, Yii, CodeIgniter), есть большое сообщество — например, PHP Community и LaraChat. По PHP много обучающих материалов для новичков, поэтому освоить язык и начать кодить несложно.

Есть русскоязычные сообщества: phpGeeksJunior, PHP-чат для опытных, phpGeeks и чат phpclub.ru.

Русские идут: 1С, Робик, Рапира

Большую часть кириллических языков придумали ещё во времена СССР — и они канули в Лету вместе с пятилетками и перестройкой.

Сто китов мне в глотку: ненавистный 1С

1С в представлении не нуждается, да что там — именно он вдохновил нас написать статью. Правда, в языке 1С можно использовать и английские ключевые слова. По синтаксису он напоминает «русский Pascal», только менее строгий и без некоторых конструкций. При этом синтаксис языка довольно простой: например, вот так выглядит классика — «Hello, World!»:

Собственно, готово. Только зачем это бухгалтерам — непонятно :)

В профессиональном сообществе 1С-программистов и сам язык не очень-то и жалуют. Даже JavaScript на фоне нашенского Enfant Terrible выглядит благородным доном. Ругают 1С за слабую производительность и отсутствие классов — кстати, никакого наследования, инкапсуляции и полиморфизма вы там тоже не найдёте. Зато в экосистеме 1С есть своя объектная модель базы данных, хранилище значений и язык запросов.


Изображение: кадр из фильма «Бойцовский клуб»

Несмотря на хейт и насмешки, 1С популярен — российский бизнес плотно подсел на продукты компании, а значит, 1С-программисты без работы не останутся.

Русская «черепашка»: Робик

Язык Робик разработал Геннадий Звенигородский в 1975 году. Писали его под родные винтажные «агаты» — в помощь школьникам. Фишка Робика — концепция исполнителей. Это как «черепашка» в Лого, только у Робика таких «черепашек» было несколько, причём каждая со своим «характером» — набором команд.

Мало того, исполнителей можно было создавать самостоятельно под свои задачи. Самыми популярными из виртуальных работяг стали «Муравей» и «Маляр» — они умели перемещаться по клеткам и закрашивать их. Негусто для избалованных Тони Старками и прочими докторами Стрэнджами современных тинейджеров, но вполне себе волшебно для школьников и «агатов» в семидесятые годы.

Изучить язык по архивной документации можно тут.

Защищайтесь, сэр: Рапира

Рапира — ещё один учебный язык программирования made in USSR начала восьмидесятых годов. Рапира помогала старшеклассникам и студентам-первокурсникам пересесть с Робика на нормальные языки. Они писали на ней калькуляторы, алгоритмы поиска, сортировки файлов, простые игры и алгоритмы решения математических задач.

«Hello, World!» на Рапире выглядит вот так:

Интересно, что у Рапиры были версии не только на русском, но и на английском, эстонском, грузинском. «Пролетарии всех стран, соединяйтесь!» — да и только. Это был настоящий призрак цифрового коммунизма — правда, побродить по Европе ему так и не удалось.

Red (2011)

Red задумывался как универсальный язык для full-stack разработки, который не будет зависеть от других инструментов и тулчейнов. Ближайший собрат Red — это REBOL, запущенный в 1997 году. В отличие от многих аналогов, Red позволяет писать и высоко-, и низкоуровневый код быстро и эффективно. При этом он обладает довольно простым, «человечным» синтаксисом. «Красный» язык пока не получил широкую популярность — многим кажется, что он «подозрительно хорош», а его сторонников называют «маленькой программистской сектой». С Red стоит поэкспериментировать, чтобы лучше проследить преемственность языков программирования и проверить, может ли разработка быть настолько универсальной, как говорят создатели. Будущее языка на рынке пока под вопросом — например, блог не обновлялся почти год, а новые фичи не появлялись уже несколько месяцев.

Самые популярные языки программирования

Выбор языка зависит от направления разработки. После того как разобрались, какое программирование востребовано и подходит лично вам, нужно искать и изучать инструменты для работы.

Топ TIOBE основывается на количестве поисковых запросов, обучающих курсов и специалистов. Здесь лидеры выглядят так:

Рейтинг IEEE Spectrum анализирует частоту поисковых запросов, число проектов на GitHub, а также упоминания в Twitter и главных IT-порталах сети. Здесь в пятёрке лидеров — Python, C++, Java, C, C#.

Если ориентироваться на данные российского сайта HeadHunter, картина меняется. Наглядно она представлена таблицей из статьи в корпоративном блоге HeadHunter на «Хабре»:

Учтены упоминания языков в любом пункте вакансии.

Найдите программы на pkgs.org

Сайт Linux Packages Search (Pkgs.org) индексирует официальные и некоторые неофициальные репозитории deb и rpm пакетов для нескольких дистрибутивов Linux. Вы можете искать программы по общим ключевым словам, например, Music:

Но лучше всего будет эффект, когда вы знаете точное название программы. Здесь удобно проверять есть ли версия нужной программы для вашего дистрибутива. У каждого пакета есть своя страница, где вы можете его скачать или посмотреть более подробную информацию о нем и его зависимостях:

Если вам не нужны пакеты для всех дистрибутивов, а только для Ubuntu, вы можете воспользоваться официальной базой пакетов — http://packages.ubuntu.com/.

Rust (2010)

Язык Rust соединяет в себе сразу несколько преимуществ — по мощи и производительности он не уступает C++, но при этом считается таким же безопасным, как Java. Еще один плюс — большое коммьюнити разработчиков, которые постоянно выпускают новые инструменты и дополнения. Поддержку Rust выражают и технологические гиганты — к сообществу Rust Foundation уже присоединились Facebook, Amazon Web Services, Google, Huawei, Microsoft и Mozilla.

Курсы по теме:

  • Язык программирования Rust (Udemy)
  • Ультимативный экспресс-курс по Rust (Udemy)
  • Создание многоразового кода с Rust с нуля (Udemy)
  • Выучи Rust бесплатно (Rust)
  • Программирование на Rust для начинающих (Udemy)

10 актуальных и интересных курсов по Rust + бонус от GitHub
По теме
10 актуальных и интересных курсов по Rust + бонус от GitHub

JavaScript

Логотип JavaScript

JavaScript — настоящий язык программирования. Как я уже подмечал ранее, обычно JavaScript учат вместе с HTML / CSS. С помощью HTML — мы задаем структуру сайта, с помощью CSS — стилизуем его, а JavaScript добавляет живность странице. Все наши нажатия на различные кнопки, слайды, формы комментариев — это всё работа JavaScript. Практически всё, что имеет отклик на веб-страничке — это работа JavaScript.

Платформа Веб-разработка (Front-end). Иногда используется для разработки программного обеспечения и мобильных приложений.
Обучение Если смотреть относительно других языков — значительно лёгок в освоении, чем остальные языки. Если же мы берем новичка, который пришел с HTML и CSS — достаточно трудно.
Популярность Очень популярен. №3 в списке PYPL.
Средняя зарплата (мес) 1500$
Преимущества Очень популярный язык программирования. Поддерживается всеми современными веб-сайтами и браузерами.
Недостатки Новичку может быть тяжело в первое время

2. С++

Это усовершенствованная версия Cи, появился он ненамного позже си. В 1980 году Бьёрн Страуструп работал над своим исследованием и ему не хватало стандартных возможностей Си, поэтому он придумал к нему пару улучшений. Неожиданно этот язык стал популярен среди его коллег и он уже не мог сам следить за его развитием.

Теперь это один из самых популярных языков программирования. Здесь доступно как объективно ориентированное, так и процедурные стили программирования. Правда, он все же очень сложен для новичков, как и Си. Здесь нужна очень высокая точность при управлении памятью.

На C++ написано много программного обеспечения в Linux, это те же самые утилиты GNU, много пользовательских программ, графические окружения, браузеры. На C++ написан графический фреймворк Qt, который сейчас используется для окружения рабочего стола KDE и большого количества кроссплатформенных программ. Qt — одновременно коммерческий и некоммерческий проект. Если вы разрабатываете свободное ПО, то можете использовать Qt бесплатно, нет — нужно платить за лицензию. Qt намного проще для начинающих чем чистый Си или С++.

Си и С++ наиболее популярные языки программирования для Linux.

Java

Сложность: Сложнее, чем Python, но проще, чем C++. Довольно сильно похож на C# как по синтаксису, так и по сложности освоения. А большое количество обучающих материалов разного уровня доступно бесплатно.

Профессии: Тестировщик ПО / Android-разработчик/ Java-разработчик.

Продукты: архитектура Netflix, Spotify, Uber, веб-приложение Twitter

Java стал вездесущим из-за своей универсальности и надежности. Про него слышали даже те, кто далек от программирования, потому что на языке написаны продукты, которыми мы пользуемся каждый день (Android-приложения, игрушки, десктопные ПО, банковские системы). Он кроссплатформенный, благодаря JVM (Java Virtual Machine) его можно запускать везде. Его чаще используют в компаниях, а не в инди-проектах.

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

Ку

Java-разработчик

Ваш прямой путь в программирование на самом востребованном языке backend-разработки+ навыки DevOps. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Лучшие инструменты разработки

1. GitHub

Фактически сейчас GitHub стал инструментом по умолчанию для управления версиями проектов. Git набирает все большую и большую популярность и добавляет новую функциональность, это проекты, более удобный просмотр кода, обновление страницы профиля, новый GraphQL API.

2. Docker

В 2016 году контейнеризация вышла на новый уровень, и Docker стал еще популярнее. Микросервисы становятся популярными в архитектуре приложений, а контейнеры предоставляют изолирование среды для разработки программного обеспечения и работы его на производстве. У Docker появилось множество новых инструментов и сервисов в 2016 году.

3. Atom

Atom становиться все более и более сильным конкурентом для Sublime Text. Это больше не простой красивый редактор, а мощный инструмент со множеством возможностей от создателей GitHub.

4. Sublime Text 3

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

5. BitBucket

Это веб-сервис для размещения проектов, контроля версий и совместной разработки, основанный на принципах Git. В отличие от GitHub здесь есть возможность создавать бесплатные закрытые репозитории. Кроме протоколов Git, поддерживается Subversion.

6. Jenkins

Этот инструмент используется для интеграции разработки с открытым исходным кодом и автоматизации выполнения некоторых действий, для которых не нужен контроль человека. Поддерживается множество проколов, в том числе и Git, а также есть огромное количество плагинов.

7. NPM

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

8. Gulp

Glup — это очень быстрый сборщик проектов для jаvascript. Например, проект с более чем тысячей файлов, будет обработан за несколько секунд. Он использует потоки и работает быстрее, чем Grunt.

9. GitLab

GitLab — это новый инструмент, который появился только в 2014 году, уже после GitHub и BitBucket. Интерфейс и основные возможности очень похожи на GitHub, основная ценность GitLab в неограниченном количестве частных и публичных бесплатных репозиториев. Предприятия могут использовать LDAP или Active Directory.

10. Vim

Текстовый редактор Vim очень сложный в освоении, но когда вы к нему привыкните, поймете насколько быстро все можно делать. Он очень эффективен благодаря возможности не отрывать руки от клавиатуры.

Code::Blocks

Начнем с моего любимого программного продукта, а именно, — простой и быстрой интегрированной среды разработки с поддержкой языков программирования C/C++. Как и в любой достойной интегрированной среде разработки, в ней реализованы подсветка синтаксиса, вкладки, механизмы автодополнения кода и управления проектами, а также интегрирован отладчик. Ее главным преимуществом является простая система плагинов, которая позволяет добавить поддержку таких незаменимых инструментов, как Valgrind и CppCheck, а также реализовать такие менее нужные функции, как мини-игра Тетрис. Мне же она нравится из-за главным образом из-за своего набора очевидных и удобных горячих клавиш, а также большого количества параметров конфигурации, которые могут пригодиться в тех или иных ситуациях.

Рейтинг 5 самых востребованных языков программирования

Переходим непосредственно к рейтингу и расскажем, какие языки программирования сейчас востребованы. Для создания списка были использованы данные профессиональных форумов. 

Место в рейтинге Язык программирования
1 JavaScript
2 Python
3 Java
4 C#
5 PHP

Первое место закрепилось за JavaScript, однако наравне с ним уверенно держится Python. Эти два языка программирования идут буквально нога в ногу.

37 % профессиональных форумов оставили за JavaScript первое место, предоставив Python почетное второе место. Однако Python ушел не так далеко и в сторону его лидерства склонилось 26 % форумов.

На третьем месте – язык Java. Он достойно соревнуется за звание второго места с Python. За популярность этого языка выступило около 26 % форумов. На четвёртое место претендовали сразу несколько языков, однако с количеством набранных голосов 16% место ушло C#. Пятое место досталось языку PHP.

Рейтинг самых востребованных языков программирования

Данные обновляются каждый год. С учетом скорости развития IT-технологий с легкостью могут возникнуть новые языки, а старые либо уйдут на задний план, либо подстроятся под современные требования. Однако наблюдая за тем, какие языки программирования востребованы сейчас и какие были востребованы несколько лет назад, можно с уверенностью сказать, что 5 языков все же не теряют своей актуальности.

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

Популярность COBOL растет

Оценку языкам программирования в своем основном рейтинге сотрудники IEEE Spectrum выставляли, основываясь на частоте упоминаний и запросов о тех или иных языках на различных крупных ресурсах. В данном случае их восемь, и это: CareerBuilder, GitHub, Google, Hacker News, Reddit, Stack Overflow, Twitter, а также сайт института IEEE.

«ВТБ Лизинг» внедряет управление данными как ценным бизнес-активом
ИТ в банках

Если сравнивать, к примеру, результаты по популярности в Twitter, то в нем COBOL, считающийся мертвым языком, занял седьмое место. Эксперты портала ZDnet связывают это с недавним всплеском интереса к данному языку.

Язык программирования COBOL восстал из мертвых

Как сообщал CNews, в первых числах апреля 2020 г. в ряде штатов США начались активные поиски программистов, знающих COBOL. Они потребовались с целью обновления программного обеспечения, используемого в американской системе занятости, работающей на устаревшем оборудовании. На фоне роста числа безработных в США из-за пандемии коронавируса COVID-19 это «железо» перестало справляться с нагрузкой.

Напомним, что COBOL входит в число старейших языков программирования в мире, первая его версия увидела свет в 1959 г. Один и его соавторов, Джин Саммет (Jean Sammet), как сообщал CNews, умерла в 2017 г. в возрасте 89 лет.

В середине апреля 2020 г. свою лепту в популяризацию COBOL внесла компания IBM – она объявила о подготовке к проведению обучающих курсов по этому языку для увеличения числа специалистов, разбирающихся в нем.

Инициативу IBM поддержал проект Open Mainframe Project, предназначенный для создания ПО с открытым исходным кодом для запуска на мейнфреймах и курируемый организацией Linux Foundation. Сами IBM хотела сделать полностью бесплатными, а по их завершению она собиралась выложить все материалы на GitHub в профиле Open Mainframe Project.

IBM также заявила о своем стремлении возродить сообщество специалистов по COBOL, используя для этого современные методы коммуникации Для этого она уже предприняла ряд действий, в том числе и создала несколько узкоспециальных веб-форумов, связанных конкретно с этим языком программирования.

Все форумы запущены на сайте Open Mainframe Project. На одном из них специалисты по COBOL могут совместно обсудить решение того или иного вопроса, связанного с программным кодом, а другой предназначен для поиска специалистов в этом языке. Это своего рода база данных программистов, знающих COBOL и способных прийти на помощь организациям, использующим ПО, написанное на этом языке и по тем или иным причинам не готовым отказаться от него.

Проект Verona

Корпорация Microsoft разрабатывает новый язык программирования, который ориентирован на создание приложений, не подверженных наиболее распространенным проблемам безопасности, пишет Zdnet.

Новый язык базируется на набирающем популярность Rust, развитием которого занимается компания Mozilla, разработчик известного браузера Firefox. Проект получил название Verona и, по данным издания, ключевое его отличие от Rust заключается в применении модели владения на основе групп объектов, а не единичных объектов. Ожидается, что исходные тексты текущих наработок в его рамках будут открыты под свободной лицензией Apache 2.0. Репозиторий проекта уже появился на принадлежащей Microsoft c 2018 г. платформе Github, но пока пуст.

Как отмечает Zdnet, Microsoft также может переписать некоторые низкоуровневые компоненты Windows 10 с использованием модифицированного Rust, чтобы исключить потенциальные проблемы, возникающие при применении языков C и C++.

Python

Сложность: подходит для неподготовленного новичка. Обилие готовых библиотек (многие из которых предназначены для работы с big data) и фреймворков, а также простой синтаксис позволяют практически сразу начать программировать.

Профессии: Fullstack-разработчик / Data scientist / Data engineer / Data analyst.

Продукты: Sims 4, YouTube, Instagram, Dropbox, Bittorrent.

Преимущество Python — в его многогранности и широком применении. Его можно использовать как в веб-разработке (фреймворк Django, например, достаточно прост для того, чтобы новичок быстро разобрался в основах его использования) и работе с данными, так и в написании скриптов. Вы можете заниматься анализом данных для банковских систем, автоматизацией простых задач, разрабатывать приложения, совершенствовать голосовые помощники или обучать нейросеть (для этого, кстати, есть веб-сервисы типа Google Colaboratory, где можно бесплатно пользоваться мощным процессором TPU).

Python сейчас все активнее набирает популярность среди программистов. Из-за простоты кода его часто используют в командных проектах, что облегчает разработчикам жизнь: можно не тратить время на разбор чужого материала.

Курс

Fullstack-разработчик

Освойте программирование на Python и Django и станьте универсальным солдатом. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

Komodo Edit

Я не очень хорошо знаком с интегрированной средой разработки , но после работы с ней в течение нескольких дней, у меня остались лишь положительные впечатления. Во-первых, ее интерфейс навигации на основе вкладок является достаточно практичным в любых ситуациях. Удобная область визуализации структуры кода очень напоминает аналогичную область интегрированной среды разработки Sublime Text. Более того, система макросов и инструмент сравнения файлов делают интегрированную среду разработки Komodo Edit очень практичной. А библиотека плагинов делает ее практически идеальной. Я использовал слово «практически», так как используемые в ней горячие клавиши показались мне не такими удобными, как в других интегрированных средах разработки. Кроме того, я хотел бы увидеть более специализированные инструменты для работы с кодом C/C++, но этот недостаток свойственен практически всем популярным интегрированным средам разработки. В любом случае, это очень удобный программный продукт.

Си

Я не преувеличу, если скажу, что этот язык был создан для этой операционной системы. Это уже старый язык. Он создавался в семидесятых годах инженером из Bell Labs Денисом Ритчи специально для написания ядра Unix. Дело в том, что в те времена программы и операционные системы писались на ассемблере и нужно было для каждой архитектуры писать программу отдельно, потому что наборы инструкций отличались. Разработчикам Unix нужен был высокоуровневый язык программирования, на котором они смогли бы написать Unix один раз и собирать его для всех платформ. Таким языком стал Си.

Ядро Linux, основано на Unix, а поэтому тоже написано на Си, также на Си реализованы все модули ядра, драйверы, а также огромное количество системного программного обеспечения. Если вы задавались вопросом, на чем написан Linux то теперь знаете ответ. На Си разработаны множество утилит из набора GNU, X сервер, набор библиотек для работы с графикой GTK и многое другое, некоторые оконные менеджеры. Но для написания новых программ Си используется все реже, ему на замену пришла его объективно ориентированная модификация С++.

Используйте центр приложений

Центр приложений — это графическая программа, очень похожая на Windows Store, GooglePlay и т д. Здесь вы можете не только устанавливать программы, но и искать новые просматривая категории или используя поле поиска

Неважно какой центр приложений вы будете использовать Ubuntu Software, Gnome Software все они имеют одинаковую функциональность

Например, на главной странице Ubuntu Software вы можете видеть самые популярные среди других пользователей приложения, а также персональные рекомендации для вашего аккаунта Ubuntu One:

Также можете искать программы по категориям:

Или с помощью формы поиска, если знаете что нужно найти.

У каждой программы есть подробное описание, рейтинг и пару снимков экрана. Но у такого способа искать новые программы Linux есть серьезный недостаток — вам доступны только старые и проверенные программы из официальных репозиториев, новинок вы здесь не увидите. Тем не менее это оптимальный вариант для новичков. Во всяком случае по простоте установки.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: