Елена Булыгина предлагает Вам запомнить сайт «Ленусик»
Вы хотите запомнить сайт «Ленусик»?
Да Нет
×
Прогноз погоды

Основная статья: Go

Тренды среди языков программирования в 2019 году

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

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

Начнём с традиционно популярных языков, Как известно, любой распространенный язык имеет в запасе минимум 10 лет, чтобы специалисты в нём оставались востребованными на рынке.
Согласно рейтингам авторитетного портала PYPL, основывающихся на популярности поисковых запросах Google в разных странах, самым востребованным языком сегодня является Python. Он обошёл Java ещё летом прошлого года, и количество запросов с тех пор увеличилось на 4,5%.

По версии портала TIOBE, учитывающего не только Google, а все поисковые системы, первое место давно и уверенно удерживает как раз Java. При этом статистика этого портала подтверждает, что языки живут в противофазе: Java за год потерял 0,9%, в то время как Python набрал 1,93 пункта.

Известная софтверная компания JetBrains на своём официальном сайте опросила 7 тысяч разработчиков. Результаты следующие: JavaScript первый, на втором месте Java (оставим HTML/CSS и SQL за скобками), на третьем Python. При этом у Python вновь лучший прирост аудитории за год — 9 %.

Вот что о феномене Python говорит преподаватель факультета искусственного интеллекта GeekUniversity Сергей Ширкин:

«Python очень прост в освоении – можно быть новичком в программировании и уже писать на нём рабочие программы. В своё время это подошло Data Science, потому что большую часть контингента в этой сфере составляли математики и физики, но не профессиональные программисты. В итоге самые популярные библиотеки для работы с большими данными – на Python.

Единственное, что ограничивает язык – низкая скорость работы программ, особенно если мы сравниваем с C/C++. При этом в Python есть такие библиотеки, как numpy, которая, благодаря тому, что часть кода написана на C и Fortran, почти не уступают в производительности.

Сейчас Python проникает в область квантовых вычислений и квантового машинного обучения. Сейчас уже для этого есть библиотеки Qiskit, Cirq, PennyLane, дальше – больше. Здесь уже скорость исполнения программ на Python не важна, ведь все операции проходят на квантовом компьютере, быстродействие которого на порядки выше».

Языки программирования «второго эшелона»

При взгляде на рейтинг PYPL также бросается в глаза взлёт Kotlin: четыре позиции за год и итоговое 12 место.  Пользователи на сайте JetBrains отдали языку 9 место. Причин взлёта две.

Первая — это обновление языка в конце лета. Тогда были устранены многие проблемы и расширена функциональность, с сопутствующим введением всех новых фичей в IntelliJ IDEA – популярнейшую среду программирования. Вторая причина — в прошлом году язык Kotlin получил статус предпочтительного для разработки Android-приложений.

Вот что думает об этом декан факультета Android-разработки GeekUniversity Александр Аникин:

«Если в прошлом году Kotlin стал предпочтительным для Android, то в этом, по сути, главным. Теперь весь новый код, библиотеки, обновления и примеры будут писаться разработчиками платформы на Kotlin. Для этого есть 3 основные причины:

  • Юридический уход от Java. Не секрет, что Oracle в последние годы всё больше ограничивает бесплатное использование Java, что больше всего, пожалуй, затрагивает Android.
  • Полная взаимозаменяемость языков. Можно легко перейти с одного языка на другой не изменив ни строчки кода.
  • Kotlin = Java 2.0. Это современный язык, имеющий те же возможности, что и родитель, но улучшенный с учётом текущих тенденций.

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

Другой заметный язык – Rust, который также выделяется в рейтинге PYPL. Год назад мы узнали о том, что это один из самых любимых языков у посетителей портала Stack Overflow. Rust очень медленными шагами идёт к замещению C/C++ в клиентских и серверных веб-приложениях. Этим он обязан популярному формату инструкций для виртуальной машины WebAssembly, поддерживающему все три вышеназванных языка.

Кроме того, он поддерживает и Go — язык к которому также стоит присмотреться. Согласно JetBrains, у Go ожидается самый большой прирост популярности в ближайшие 12 месяцев.

Менее распространенные языки программирования

У языков программирования, не входящих в топы рейтингов, очень сложно оценить потенциал. Количество поисковых запросов, как правило, плохо отражает реальность – из-за низких цифр в статистику вмешивается специфика региона и местных компаний. Из тех, на которые стоит обратить внимание гикам (а больше это, пожалуй, никому и не надо): Elixir, Dart и Ballerina.

Если о первых двух вы наверняка что-то слышали и читали, — а Dart даже многие успели похоронить — то о последнем стоит сказать чуть подробнее. Ballerina – это молодой и крайне интересный язык. Его синтаксис — комбинация из Java, Python, JavaScript и Go, со статической типизацией. Основные операции имеют привычный вид, поэтому на обучение не уйдёт много времени. Но куда интересней в Ballerina другое — направленность на интеграцию. В современном вебе, где постоянно взаимодействуют сотни серверов и сервисов, ценность языков с модулями, легко обеспечивающими это, крайне высока. Как альтернативу Ballerina можно взять на заметку Pulumi и Dark – будущее веба без языков инфраструктуры невозможно.

Однако, несмотря на все прелести и перспективы этих языков, браться за их изучение новичкам не следует – лишь представителей первого и отчасти второго разделов стоит рассматривать как фундамент современного программиста. Знание Elixir, Dart, Ballerina или Pulumi поможет понять, что у любой задачи есть множество решений.

Подробней об изучении разных языков программирования можно почитать на страницах факультетов Geekbrains — Python, Go, Java, а также веб-, iOS-, Android-разработки. Удачного выбора!

Пройти обучение

13 ноя 19, 12:36
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Почему Go? Важные преимущества, о которых мало кто знает

Стефан Нильссон преподает информатику в Королевском технологическом институте Стокгольма и очень много пишет о языке Go. Предлагаем вам перевод его статьи Why Go? — Key advantages you may have overlooked, где он рассказывает о главных плюсах языка. Статья ориентирована на читателей, уже знакомых с основами программирования, в том числе на Java и/или Python.

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

Как профессор информатики и разработчик, много лет использующий Go и Java, я хочу поделиться мыслями и объяснить, почему я ставлю Go выше, чем Java или Python. И почему с ним мне гораздо проще писать хороший код.

Go — мой основной язык с 2012 года. До этого, с 1998 года, я использовал Джаву, а еще раньше — Си. Python нужен мне главным образом в преподавательской работе.

Заниматься программированием я начал в далеком 1978 году. Тогда я писал для калькулятора TI-57, с его программной памятью на 50 шагов и 8 регистрами.

Минимализм

Unicorn racing towards the Rainbow

Go — минималистичный язык, и это (по большей части) очень хорошо.

Официальная спецификация Go умещается всего на 50 страницах, легко читается и содержит много примеров. Думаю, опытный программист может освоить язык по одной этой спецификации.

«Ядро» Go составляют простые ортогональные конструкции, которые можно сочетать сравнительно малым числом способов. Это упрощает изучение языка, чтение и написание кода.

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

Некоторые из ключевых особенностей Go:

  • Полноценные встроенные фреймворки для тестирования и профилирования программ компактны и просты в изучении. Скорее всего, вам не понадобится ни один из многочисленных аддонов от сторонних разработчиков.
  • Можно отлаживать и профилировать оптимизированный бинарник, который уже запущен в production на HTTP-сервере.
  • Документация к языку Go генерируется автоматически и содержит примеры, которые можно запускать прямо на странице справки [для этого под каждым листингом есть кнопка Run — прим. пер.]. Опять же, интерфейсы минималистичны и не требуют долгого изучения.
  • Go — язык с сильной статической типизацией и явным приведением типов, но его синтаксис на удивление необременителен. Все благодаря нетипизированным числовым константам и определению типа по присвоенному значению. Как результат, в работе с типами Go безопаснее, чем Java (где есть неявное приведение). При этом его код по легкости чтения ближе к Питону, где есть нетипизированные переменные.
  • Программы на языке Go состоят из пакетов, что позволяет понятно делить код и легко управлять зависимостями. Механизм пакетов — пожалуй, в числе наиболее удачно реализованных в языке. И самых недооцененных.
  • Структурно типизированные интерфейсы обеспечивают динамический полиморфизм за счет динамической диспетчеризации.
  • Конкурентность — неотъемлемая часть Go, для нужд которой в языке есть горутины, каналы и оператор select. Чем конкурентность отличается от параллелизма, можно посмотреть здесь.

Небольшие примеры кода, описание базовых типов данных, методов и управляющих структур вы также найдете в статье «Go vs. Java: 15 главных отличий».

Задел на будущее

Futurist mouse trap

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

Вот универсальный ответ проектировщиков языка на вопрос «Почему в Go нет такой-то функции?».

Каждый язык предлагает новые возможности и не содержит чьих-то любимых. Go был создан с прицелом на удобство программирования, быструю компиляцию, возможность влиять на одну концепцию, не затрагивая другой, и необходимость поддерживать такие вещи, как параллелизм и сбор мусора. Ваша любимая «фишечка» могла сюда не вписаться, потому что увеличивает время компиляции или снижает ясность синтаксиса. Или потому, что она усложнила бы всю модель языка [принципы построения программ — прим. пер.].

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

Вот наиболее вероятные кандидаты на добавление в Go 2:

  • Управление пакетами с помощью модулей, поддержка которых уже была частично реализована в Go 1.11.
  • Обобщенное программирование — концептуальная схема, реализация которой в Go уже запланирована во второй версии языка. Пока вместо обобщенного кода (дженериков) можно использовать альтернативы и обходные пути, расписанные вот здесь.
  • Новая система обработки ошибок — пока тоже на стадии проекта — может заменить нынешние упрощенные механизмы.

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

Тем не менее вряд ли стоит ждать от Go 2 таких нововведений, как опциональные параметры, значения параметров по умолчанию и перегрузка методов.

Сравнение с Java

Спецификация языка Java® сейчас насчитывает 750 страниц. Сложность изучения связана в первую очередь с перегруженностью «фишками» [явление известно как feature creep — прим.пер.].

Вот вам несколько примеров. Внутренние классы внезапно появились в Java в 1997 году. На обновление спецификации ушло больше года, и она увеличилась в объеме почти вдвое. Это высокая цена для функции, появление которой было не критично.

Дженерики в Java, использующие стирание типов (type erasure), делают код яснее и позволяют выполнять дополнительные тесты во время исполнения программы. Но когда нужно выйти за рамки простейших примеров, работа с дженериками усложняется. Вы не можете создавать массивы дженериков, а шаблоны параметров (type wildcards) с нижней и верхней границей довольно сложны. Слово «дженерик» фигурирует в спецификации 280 раз. Лично я не уверен, стоила ли эта штука усилий, затраченных на ее реализацию.

Перечисления (enum) появились в Java в 2004 году как специальный класс, который работает с группой констант. Это, конечно, неплохо, но практически все возможности перечислений можно реализовать с помощью обычных классов. Термин enum упомянут в спецификации 241 раз.

Прозрачность кода

Tangled cables

Блок обработки данных суперкомпьютера ILLIAC IV

Если вы не можете читать и понимать свой код, ваш проект обречен.

  • Вы должны всегда четко знать, что именно делает ваш код.
  • Иногда нужно оценить количество ресурсов (времени и памяти), необходимых для выполнения вашего кода.

Создатели Go постарались сделать так, чтобы обе эти потребности было легко удовлетворить.

Синтаксис языка создан с расчетом на прозрачность и поддерживает только один стандарт оформления кода, который можно автоматически применить утилитой fmt.

Другой пример: Go не скомпилирует программу, если она требует каких-то пакетов (через import), но в реальности не использует их в коде. Такой подход повышает ясность кода, а в долгосрочной перспективе — его производительность.

Подозреваю, что создатели Go нарочно усложнили некоторые вещи. Например, надо очень постараться, чтобы поймать исключение (панику). Причем, чтобы переступить через типобезопасность, вам придется пометить свой код ключевым словом unsafe.

Сравнение с Python

В Python фрагмент кода del a[i] удаляет элементы с индексом i из списка a. Этот код, конечно, вполне читаем, но не прозрачен: легко упустить из вида, что временная сложность алгоритма представлена как O(n), где n — число элементов списка.

У Go нет такой полезной функции. Это не так удобно, зато более прозрачно. Если вы копируете элемент списка, вам нужно явно указать это в коде. Смотрите пример кода: 2 способа удалить элемент из среза в Go. Но можно и проще — с помощью аppend.

Сравнение с Java

Прозрачность кода — проблема не надуманная. Вот пара примеров того, как правила инициализации пакетов и порядка выполнения кода в Go упрощают поддержку и доработку проекта:

  • Циклические зависимости могут вести к нежелательным последствиям. В отличие от кода на Java, Go-программа с зацикленной инициализацией не скомпилируется.
  • Программа на Go завершает работу только из функции main. Java-приложение закрывается после завершения всех пользовательских потоков, не являющихся демонами.

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

Совместимость

Wrench with perfect fit

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

Для первой версии Go были кратко и сжато сформулированы гарантии совместимости для языкового «ядра» и стандартных библиотек: программы на Go, которые работают сегодня, должны работать и с будущими версиями Go 1. До сих пор обратная совместимость соблюдается безукоризненно.

Go — это проект с открытым кодом и BSD-подобной лицензией, которая разрешает коммерческое использование, внесение изменений, распространение и личное пользование.

Права интеллектуальной собственности принадлежат авторам Go и тем из нас, кто внес вклад в развитие проекта. Кроме того, Google предоставляет пользователям патент на интеллектуальную собственность, распространяемую корпорацией в рамках проекта Go.

Сравнение с Python

Если вы Python-разработчик, вам приходилось мучаться с различиями между Python 2.7.x and Python 3.x. И хотя есть веские основания выбирать Python 3, если вы используете библиотеки, доступные только для 2.7, у вас может не быть выбора.

Сравнение с Java

Lightning And Dark Clouds

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

К сожалению, на горизонте сгущаются тучи. Причиной тому — судебное разбирательство между Oracle America и Google о сущности компьютерного кода, авторском праве и новой модели лицензирования Java от Oracle.

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

Lightning And Dark Clouds

Снаружи Go неброский, но под капотом у него — прекрасно отлаженный движок.

Бессмысленно обсуждать производительность вне контекста. Такие параметры программы, как время исполнения и потребление памяти, сильно зависят от алгоритмов, структур данных, входных данных, мастерства программиста, операционной системы и «железа».

Тем не менее заметно влиять на производительность могут язык, среда исполнения и стандартные библиотеки. Все это касается высокоуровневых задач и архитектурных решений. Чтобы глубже вникнуть в реализацию компилятора и его производительность, читайте FAQ по Go.

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

Объем и скорость генерации машинного кода зависят от целевой архитектуры. Генерация кода Go довольно хорошо проработана и поддерживает все основные ОС (Linux, macOS, Windows) и архитектуры (Intel x86/x86-64, ARM64, WebAssembly, ARM и др.). Поэтому от go-приложений можно ждать производительности на уровне C++ или Java. Выигрыш относительно интерпретируемого кода на Python может быть огромным.

В Go есть сборщик мусора, что предотвращает утечки памяти. Причем задержка в работе сборщика минимальна. На деле вы можете даже не замечать, что «поток-мусорщик» запущен.

Практически все стандартные библиотеки исполнены очень качественно: их код оптимизирован по эффективным алгоритмам. К примеру, регулярные выражения в Go работают настолько хорошо, что время исполнения напрямую зависит от объема ввода. К сожалению, с Java и Python все иначе.

Скорость сборки в абсолютных величинах сейчас достаточно хороша. Что еще важнее, Go спроектирован так, чтобы упрощать компиляцию и анализ зависимостей. Это позволяет создавать легко масштабируемые решения для растущих проектов.

Пройти обучение

28 май 19, 14:54
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0

Курс Go-разработки в GeekUniversity: как это будет

GeekUniversity запускает факультет Go, где один из курсов будет вести Сергей Шипков — руководитель разработки юнита Communication в Avito. Занятия помогут студентам вникнуть в реалии коммерческой разработки и сделать первые интересные проекты для портфолио.

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

Привет! Расскажите о себе, пожалуйста: где работаете, какой стек технологий используете, как давно в IT.

— Привет. Работаю в IT уже десять лет, шесть из них — пишу backend-системы. Разрабатывал микросервисы, мобильные приложения, игры, сайты.

C 15 декабря 2016 года работаю в Avito. Начинал backend-инженером, через год стал руководить разработкой юнита Communication. Наша команда занимается развитием единой платформы уведомлений и защищает телефоны пользователей от SMS-спама и звонков.

Через нашу платформу рассылаются миллиарды уведомлений — мы собираем и храним аналитику по каждому из них. Еще мы предоставляем внутренним командам инструменты для рассылки, управления, тестирования уведомлений. Обрабатываем больше 15 000 запросов в секунду.

Для защиты телефонных номеров пользователей интегрируемся с телеком-провайдерами.

На Go мы пишем сервисы, которые легко запускать в Kubernetes-кластере с помощью инструментов CI/CD.

Данные храним в MongoDB, Tarantool, аналитику и логи — в ClickHouse.

В качестве брокера сообщений используем RabbitMQ, для ошибок — Sentry, для мониторинга — Grafana, для алертинга — Moira.

Пишем юнит-тесты и тестируем производительность сервисов.

Какие именно сервисы вы пишете на Go и почему выбрали этот язык?

— Мы используем Go в основном для написания микросервисов и платформенных компонентов. Это самодостаточный язык с богатой стандартной библиотекой и арсеналом пакетов на любые случаи жизни. Он сочетает быстродействие компилируемых языков и преимущества интерпретируемых — простоту и скорость разработки.

А еще в Go есть готовая среда, горутины и каналы. Это позволяет строить высоконагруженные системы, которые эффективно используют ресурсы машины.

Кстати, почему у других потоки, а у Go — горутины? Чем они отличаются?

Если коротко:

  • потоков могут быть тысячи, горутин — сотни тысяч;
  • потоки дорогие, горутины — дешевые;
  • потоками управляет операционная система, горутинами — среда выполнения Go;
  • потоки — вытесняющая многозадачность, горутины — кооперативная многозадачность.

Когда в 2007 году Google начала разрабатывать Go, одним из основных требований к языку было создание встроенных средств распараллеливания вычислений, которые были бы простыми и эффективными.

Насколько разработчики Go сейчас востребованы на рынке? Есть ли дефицит таких специалистов? Кому вы советуете учить Go в первую очередь?

— Востребованность Go-разработчиков растет — бизнес модернизирует производственные процессы, чтобы:

  • соответствовать трендам — мало кто хочет оказаться в ситуации, когда через несколько лет не сможет найти разработчиков на непопулярном языке;
  • оптимизировать затраты на оборудование — Go эффективно экономит ресурсы, если сравнивать с интерпретируемыми языками;
  • быстрее доставлять продуктовые изменения — за счет преимуществ микросервисной архитектуры, на которую Go отлично ложится.

Дефицит специалистов есть и остро ощущается. Например, за последние три дня на hh.ru появилось/обновилось больше 200 вакансий «Go-разработчик». Есть и смежные вакансии, где Go требуется как один из языков.

Как бы странно это ни звучало, я советую учить Go всем, кто связан с backend-разработкой. Также он хорош в качестве первого языка программирования.

— Если говорить о первом языке, чем Go дружелюбен к новичку?

В языке Go всего 25 ключевых слов, в отличие от С# (102), С++ (82), Java (50), PHP (49), Ruby (42), JavaScript (41), Python 3.x (33), C (32), Python 2.7 (31).

В Go не слишком велик свод правил и исключений — авторы сознательно делали язык простым в изучении и легко читаемым. Постоянно растущее сообщество и число репозиториев на GitHub показывают, что задуманное удалось.

Статическая типизация в Go исключает множество ошибок на этапе компиляции. В системе типов легко разобраться и практически невозможно запутаться. А еще в Go, как и в Python, ясные и четкие конструкции: нельзя написать всю программу в одну строку.

— В Go нет классов, наследования, исключений. Это ломает шаблон людям, привыкшим к объектно-ориентированному программированию. Насколько сложен переход к Go после Python или Java?

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

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

Чему вы будете учить на курсе? Какие проекты студенты выполнят под вашим руководством?

— На основе личного опыта я расскажу, как строится работа в крупных компаниях. Чтобы создать целостную картину, мы рассмотрим все нюансы разработки программного обеспечения.

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

Чтобы применить все изученное на практике и добавить первый Go-проект в портфолио, студенты напишут простой микросервис объявлений.

Будут примеры из личного опыта?

— Да. Расскажу о разработке от идеи до реализации: какой жизненный путь проходят задачи, про работу в команде, а также про тестирование, мониторинг, аналитику, поиск ошибок, CI/CD, облака и многое другое.

Практическую часть будете писать на чистом Go или с использованием фреймворков?

— Сервис сделаем без фреймворка. По функциям это будет API для манипуляции объектами, плюс реализуем поиск.

Язык полностью зависим от благополучия Google или живет своей жизнью в сообществе Open Source?

— Инженеры Google и участники сообщества Open Source развивают Go вместе. Всего в работе над языком уже приняли участие более 1800 человек. В середине 2018 года вклад сообщества превысил объем доработок, внесенных основной командой Go.

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

Как вы оцениваете перспективы языка: не сместят ли его со сцены в обозримом будущем?

— В своем сегменте Go прочно закрепился и на сегодняшний день конкурентов у него нет. Поэтому он быстро набирает популярность.

По результатам опроса Stack Overflow’s 2018 Developer Survey, Go сохранил заветное место в топ-5 самых любимых и пятерке наиболее популярных языков. Люди, которые используют Go, любят его. А те, кто еще не пробовал его на практике — хотят изучить.

Участники опроса ActiveState’s 2018 Developer Survey вывели Go на первое место в рейтинге: 61 % пользователей указали, что они «очень довольны» Go, из них 36 % — «чрезвычайно довольны».

Go стал «Самым многообещающим языком» по итогам опроса JetBrains’s 2018 Developer Survey. При этом 12 % респондентов работают с Go сегодня и 16 % намерены использовать его в будущем.

По результатам опроса HackerRank’s 2018 Developer Survey, 38 % разработчиков ответили, что намерены изучить Go.

Прежде чем записываться к вам на занятия, нужно что-то почитать, посмотреть?

— Для погружения в Go-разработку достаточно будет самого курса и любознательности.

Пройти обучение

27 фев 19, 15:05
0 0
Статистика 1
Показы: 1 Охват: 0 Прочтений: 0
Показаны все темы: 3

Последние комментарии

нет комментариев
Читать

Поиск по блогу

Люди

7 пользователям нравится сайт lena2018.mirtesen.ru