Теги → язык программирования
Быстрый переход

Язык программирования C вновь стал самым популярным среди разработчиков

Компания TIOBE Software опубликовала обновлённый рейтинг популярности языков программирования, формируемый на основе анализа статистики поисковых запросов в Google, Google Blogs, Yahoo!, Wikipedia, MSN, YouTube, Bing, Amazon, Baidu и других интернет-сервисах.

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

Что касается остальных представленных в списке языков программирования, то неплохую динамику роста и всплеск интереса со стороны заинтересованной аудитории в течение года продемонстрировали языки R, Swift, Go, PL/SQL и Scratch. Реже в Интернете стали упоминаться ассемблер, Perl и Objective-C.

С полным отчётом TIOBE Software можно ознакомиться по ссылке tiobe.com/tiobe-index.

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

Slashdata: 60 % разработчиков ПО вносят свой вклад в проекты с открытым исходным кодом

Компания Slashdata провела исследование, в рамках которого были опрошены 17 000 разработчиков из разных стран мира, чтобы понять, что думают программисты об открытом исходном коде, будущем языка Kotlin и тенденциях развития новых технологий.

JavaScript продолжает оставаться наиболее популярным языком программирования среди разработчиков. Это неудивительно, поскольку экосистема JavaScript огромна. Кроме того, в тройку наиболее быстрорастущих языков программирования разработчики мобильных приложений включили Python и Kotlin. При этом Java продолжает лидировать в сфере разработки мобильных приложений.

Язык Kotlin доказывает свою состоятельность, когда речь заходит о разработке Android-приложений, а также всё чаще становится заменой Java. В отчёте отмечается, что за последние два года разработчики стали использовать Kotlin в два раза чаще. Согласно имеющимся данным, JavaScript лидирует среди веб-разработчиков, Python активно применяется в широком спектре направлений, в том числе в сфере машинного обучения, а языки Go и Ruby используются при разработке софтверных решений для облачных систем.

Отмечается первостепенная важность программного обеспечения с открытым исходным кодом. Проведённый Slashdata опрос показал, что разработчики положительно относятся к программному обеспечению с открытым исходным кодом и принимают участие в его развитии. В отчёте сказано, что 60 % участников опроса сообщили о том, что участвуют в разработке ПО с открытым исходным кодом. При этом 29 % разработчиков участвуют в таких проектах для улучшения собственных навыков кодирования, 22 % программистов вносят свой вклад, поскольку им просто нравится это, и только в 3 процентах случаев специалисты работают из-за денег.

«Rust — будущее системного программирования, С — новый Ассемблер» — выступление одного из ведущих инженеров Intel

На недавно прошедшем Саммите по технологиям с открытым исходным кодом (Open Source Technology Summi — OSTS) Джош Триплетт (Josh Triplett), ведущий инженер Intel, рассказал о том, что его компания заинтересована в том, чтобы в ближайшем будущем Rust достиг «паритета» со всё ещё доминирующим в области системной и низкоуровневой разработки языком C. В своём выступлении под заголовком «Intel и Rust: будущее системного программирования» он также рассказал об истории системного программирования, о том, как C стал языком системного программирования «по умолчанию», какие возможности Rust дают ему преимущество над C и как в ближайшем будущем он сможет полностью заменить C в данной области программирования.

Ведущий инженер Intel Джош Триплетт выступил на Открытом саммите по технологиям с открытым исходным кодом с потрясающим докладом о том, как, по его мнению, Rust в ближайшем будущем заменит C как язык для системного программирования, и Intel готова в этом поучаствовать

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

Сам Триплетт определяет системное программирование как «всё, что не является приложением». Оно включает в себя такие вещи, как BIOS, прошивки, загрузчики и ядра операционных систем, различные виды встроенного низкоуровневого кода, а также реализации виртуальных машин. Интересно, что Триплетт считает, что веб-браузер — это тоже системное программное обеспечение, поскольку браузер давно стал бóльшим, чем «просто программой», превратившись в самостоятельную «платформу для веб-сайтов и веб-приложений».

В прошлом большинство системных программ, в том числе BIOS, загрузчики и прошивки, писались на языке ассемблера. В 1960-х годах начались эксперименты по обеспечению аппаратной поддержки языков высокого уровня, что привело к созданию таких языков, как PL/S, BLISS, BCPL и ALGOL 68.

Затем, в 1970-х годах, Деннис Ритчи (Dennis Ritchie) создал язык программирования C (Си) для операционной системы Unix. Созданный на языке программирования B, не имевшим даже поддержки типизации, C был наполнен мощными высокоуровневыми функциями, которые лучше всего подходили для написания операционных систем и драйверов. Несколько компонентов UNIX, включая его ядро, были в конечном итоге переписаны на C. В дальнейшем многие другие системные программы, включая базу данных Oracle, большую часть исходного кода Windows и операционную систему Linux, были также написаны на C.

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

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

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

Триплетт на конференции Rustconf 2019, проходившей в Портленде, штат Орегон, США.

Триплетт на конференции Rustconf 2019, проходившей в Портленде

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

«Любой язык, который хочет быть лучше, чем C, должен предлагать гораздо больше, чем просто защиту от переполнения буфера, если он действительно хочет стать убедительной альтернативой. Разработчики заинтересованы в удобстве использования и производительности, в написании кода, который не требует пояснений и выполняет больше работы за меньшее количество строк. Также необходимо решить проблемы безопасности. Простота использования и производительность неразрывно с нею связаны. Чем меньше кода вам нужно написать для достижения чего-либо, тем меньше у вас возможностей, чтобы допустить какие-либо ошибки, связанные с безопасностью или нет», — объясняет Триплетт.

Сравнение Rust и C

Ещё в 2006 году Грейдон Хоар (Graydon Hoare), сотрудник Mozilla, начал писать Rust как личный проект. А в 2009 году Mozilla начала спонсировать разработку Rust для собственных нужд, а также расширила команду для дальнейшего развития языка.

Одна из причин, по которой Mozilla заинтересовалась в новом языке, заключается в том, что Firefox был написан на более чем 4 миллионах строк кода C++ и имел довольно много критических уязвимостей. Rust был создан с учетом требований безопасности и параллелизма, что делает его идеальным выбором для переписывания многих компонентов Firefox в рамках проекта Quantum по полной переработке архитектуры браузера. Также Mozilla использует Rust для разработки Servo, движка рендеринга HTML, который в будущем заменит текущий движок рендеринга Firefox. Многие другие компании начали использовать Rust для своих проектов, включая Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu и многие другие.

Rust решает одну из наиболее важных проблем языка C. Он предлагает автоматическое управление памятью, поэтому разработчикам не нужно вручную выделять, а затем освобождать её для каждого объекта в приложении. Что отличает Rust от других современных языков, так это то, что он не имеет сборщика мусора, который автоматически удаляет из памяти неиспользуемые объекты, а также среды выполнения, необходимой для его работы, как, например, Java Runtime Environment для Java. Вместо этого у Rust есть концепции владения, заимствования, ссылок и времени жизни. «В Rust есть система декларирования вызовов объекта, позволяющая указать, использует ли его владелец или это просто заимствование. Если вы просто заимствуете объект, компилятор будет следить за этим и гарантировать, что оригинал останется на месте, пока вы ссылаетесь на него. А также Rust проследит, что объект будет удалён из памяти сразу по завершении его использования, вставляя соответствующий вызов в код во время компиляции без дополнительных затрат времени», — рассказывает Триплетт.

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

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

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

Триплетт собирается создать специальную рабочую группу, которая займётся внедрением в Rust необходимых функцией, чтобы он смог полностью сравняться, превзойти и заменить C в области системного программирования. В теме на Reddit, посвящённой его выступлению, он сообщил, что «группа FFI/ C Parity находится в процессе создания и ещё не начала работу», пока что он готов ответить на любые вопросы, а в будущем обязательно опубликует ближайшие планы по развитию Rust в рамках его инициативы для всех заинтересованных лиц.

Можно предположить, что в первую очередь группа FFI/ C Parity займётся улучшением поддержки многопоточности в Rust, внедрением поддержки BFLOAT16, формата представления чисел с плавающей запятой, который появился в новых процессорах Intel Xeon Scalable, а также стабилизацией вставок кода на Ассемблере.

Python стал политкорректным и избавился от схемы Master-Slave

В последнее время политкорректность приобретает совсем уж удивительные очертания. Некоторое время назад Виктор Штиннер (Victor Stinner) из Red Hat предложил вычистить код Python от упоминания слов «master» (хозяин) и «slave» (раб). По его словам, эти термины неполиткорректны и ассоциируется с рабством и неравноправием. Это раскололо сообщество разработчиков.

Точку в споре поставил бывший великодушный пожизненный диктатор Гвидо ван Россум (Guido van Rossum). За время дискуссии было подано пять коммитов, из которых примут четыре. Обновления появятся в Python 3.8. Последнее изменение отклонили, поскольку оно затрагивало устоявшуюся терминологию UNIX ptys, а через неё и ряд других проектов.

Изменений предложено довольно много, однако суть их в следующем: в разных случаях слово «master» заменяется на «parent», «main», «server», а «slave» — на «child» или «worker» в зависимости от контекста. В ходе дискуссии сторонники переименования аргументировали свою позицию положениями политкорректности и негативных коннотаций в этих словах. А противники заявляли, что не следует смешивать политику и программирование, поскольку термины уже устоялись в среде разработчиков. При этом они никак не оскорбляют и не оправдывают рабство. А вот проблемы в виде путаницы и невозможности обратной совместимости вполне могут быть. Впрочем, учитывая, что вторая и третья ветви Python не полностью совместимы между собой, последний вопрос явно не считался приоритетным.

При этом отметим, что несколько лет назад в Drupal «master» и «slave» заменили на «primary» и «replica», а в Django и CouchDB — на «leader» и «follower» соответственно. Подобные изменения могут ждать и СУБД Redis.

Отметим также, что маркеры «master» и «slave» до определённого времени применялись и в «железной» среде, когда там использовались жёсткие диски стандарта IDE. Сейчас это уже не настолько актуально.

Java и C продолжают удерживать лидерство в рейтинге языков программирования

Компания TIOBE Software опубликовала очередной рейтинг популярности языков программирования, формируемый путём подсчёта количества их упоминаний при поиске в Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu и других интернет-сервисах.

По оценкам аналитиков TIOBE Software, самыми востребованными в профессиональной среде инструментами для создания приложений в настоящий момент являются Java и C, за которыми со значительным отрывом следует C++. Четвёртым по популярности среди разработчиков является язык Python, замыкает пятёрку лидеров C#.

Рейтинг популярности языков программирования (источник: TIOBE Software)

Рейтинг популярности языков программирования (источник: TIOBE Software)

Проведённые специалистами TIOBE Software исследования зафиксировали рост интереса со стороны разработчиков к языкам программирования MATLAB и R. Реже в Интернете стали упоминаться Perl, Visual Basic и язык ассемблера. Что касается почётного титула «язык года», то главными кандидатами на эту награду являются Kotlin и C. Победитель в этой номинации станет известен в январе. Для справки: в 2016 году столь высокого звания был удостоен разработанный компанией Google язык Go, а годом ранее — Java.

С полным отчётом TIOBE Software можно ознакомиться здесь.

3 модных игровых технологии, которые вы можете реализовать

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

Игровые тренды 2017 года

Голосовое управление. Этот тренд существует не первый год, но теперь игры от реагирования на отдельные команды переходят к полностью голосовому управлению. В японском платформере Yasuhati герой двигается, когда вы произносите что-то в микрофон. На каком языке — не важно: учитывается высота и громкость звука. В другом платформере — Resonance: The Lost Score — нужно силой голоса разбивать ледяные глыбы на своём пути.

Игры на запястье. Часы и очки «поумнели» в борьбе за внимание геймера. Разработчики игр для «яблочных» и Android-часов учитывают специфику платформы. В тренде: тамагочи, головоломки на 10 минут, игры на реакцию, квесты на push-уведомлениях (Lifeline, Spy_Watch) и даже адаптации карточных RPG (Rune Blade).

Виртуальная реальность. 2017 год принёс оживление в нишу VR-игр. В августе начали выпускать шлемы Oculus Rift с новыми контроллерами Oculus Touch вместо прежнего от Xbox. Обновлённый набор можно опробовать на вышедшем 1 марта шутере Robo Recall или в игре Arktika, которую 10 октября 2017 выпустили создатели Metro. Любители квестов и шлемов HTC Vive в этом году играют в Essence и VR-адаптированный Fallout 4.

Хотите использовать это в своей игре?

Создание VR-игры проще, чем кажется — необходимые инструменты есть в популярном движке Unity. В нём имеется и класс DictationRecognizer для распознавания речи. Конечно, для работы с Юнити потребуется изучить C#, но он лаконичнее и проще, чем C++. Язык «Си шарп» удобен в отладке, имеет множество встроенных библиотек и не путает вас множественным наследованием классов. А ещё c Юнити и С# можно создавать игры для Xbox и Apple Watch, не говоря уже о настольных платформах и Android.

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

Если вы ещё не программируете, а идея игры уже требует воплощения, вам необходимо ускоренное погружение в разработку. Онлайн-курсы игростроя на русском языке — хороший вариант. В этом году на IT-портале GeekBrains открылся факультет игростроя, где за год можно разработать несколько проектов под руководством наставника и начать карьеру в команде единомышленников.

Python-искуситель: выбираем первый ЯП для изучения

Массачусетский технологический институт и открытый при поддержке «Яндекса» факультет компьютерных наук ГУ ВШЭ знакомят студентов с программированием на примере Python.Почему Питон рекомендуют новичкам, как с ним поладить, а потом — найти работу?

На Питоне были написаны ранние версии поисковика Google, а сейчас его используют в составе сервисов YouTube, Instagram, DropBox и Pinterest. Язык применяют в приборостроении и космической отрасли. Он не игрушка, но так прост, что в некоторых российских школах его учат с 7 класса.

Сила минимализма

  • Короткий путь от идеи к результату — одна из главных черт Питона. Студенты и школьники пишут на нём приложения для любых платформ без глубокого знания «железных» нюансов. Профессионалы с его помощью быстро создают и тестируют прототипы программ.
  • Python учит ясно выражать сложное и умещать в одной строке то, что на других языках заняло бы четыре.
  • Python — это приглашение в мир, где код программ очень похож на разговорный английский. Создатель языка Lisp и директор по исследованиям в Google Питер Норвиг зовёт тексты на Питоне псевдокодом — настолько они близки к естественному языку.

«Батарейки прилагаются»

Питон по умолчанию установлен в MacOS и включен в большинство дистрибутивов Linux. Стандартная библиотека языка включает более 250 модулей. Самое необходимое под рукой — это часть философии языка. А ещё у Python большое сообщество, в том числе в России. Новичку легко найти помощь.

В чем подвох?

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

Кем быть, где работать?

Веб-разработчики используют Python в связке с фреймворками Django и Flask, чтобы создавать устойчивые к нагрузкам сайты и онлайн-приложения. Базовые функции, в том числе регистрация и авторизация пользователей, в Django доступны «из коробки». А ещё на Питоне есть готовые шаблоны для написания Telegram-ботов.

С Python вам открыта карьера аналитика Big Data — «больших данных», без которых не мыслят себя Apple, Сбербанк и крупные ретейлеры. Благодаря библиотекам pandas и scikit-learn, Питон оттесняет языки R и Ruby на поприще статистического анализа и машинного обучения.

На странице Google Jobs язык Python перечислен среди требований к программным инженерам. Эти специалисты совершенствуют создание и сопровождение ПО.

По востребованности у российских работодателей Java и C опережают Питон, особенно в регионах. Большая часть вакансий Junior-разработчика на Python сосредоточена в Москве и Санкт-Петербурге. В других городах чаще нужны кодеры с опытом. Поэтому новичку есть смысл выбрать курсы со стажировкой и трудоустройством. Mail.Ru Group и обучающий портал GeekBrains создали в России онлайн-университет для программистов Geek University. Оттуда выпускников берут на работу в Тинькофф, МТС, Avito или компании поменьше, но с возможностью сразу занять middle-позицию.

Если программирование — ваше хобби, а трудоустройство пока не приоритет, можете выводить свои Python-игры в Steam через Greenlight или разрабатывать бесплатный софт за пожертвования. Собрав портфолио, вы сможете удалённо сотрудничать со столичными и зарубежными компаниями. В Москве Python-программисты получают в среднем 105 000 рублей в месяц. 

Google наняла известного инженера Apple для работы над ИИ

У весьма известного в узких кругах программиста Криса Латтнера (Chris Lattner) этот год оказался довольно необычным. Вначале он покинул Apple (где прежде разработал язык программирования Swift), чтобы помочь Tesla в создании автопилота — и всё для того, чтобы спустя несколько месяцев покинуть компанию Элона Маска (Elon Musk), осознав, что это не его стихия.

Тем не менее, господин Латтерн, возможно, нашёл своё пристанище на более длительный срок. Он сообщил, что присоединяется к компании Google (а если точнее, к её команде Brain), чтобы сделать искусственный интеллект общедоступной технологией. Хотя программист не сообщает, чем именно он будет заниматься внутри поискового гиганта, источники Bloomberg утверждают, что он будет трудиться над развитием открытой программной библиотеки TensorFlow, созданной для упрощения программирования ИИ.

Это назначение не меняет особенно положение дел для самой Apple, которая уже несколько месяцев обходится без Криса Латтнера, а вот для Google это определённо ценное приобретение. Господин Латнер сыскал известность благодаря созданию языка программирования Swift, который оказался не только быстрым и современным, но и (важнее всего) доступным и удобным инструментом для любых разработчиков, от начинающих до опытных профессионалов.

Google, вероятно, собирается использовать этот успешный опыт с целью превращения библиотеки TensorFlow в более простой и доступный инструмент, а также, возможно, желает снизить её системные требования, чтобы алгоритмы на базе искусственного интеллекта исполнялись лучше на относительно слабых смартфонах и компьютерах. Разумеется, нет никакой гарантии, что в Google Крис Латтнер добьётся тех же успехов, что и в Apple, но потенциал определённо есть.

Семь причин изучать Java

Мир стоит на пороге четвёртой промышленной революции. Индустрия 4.0. ознаменуется массовым внедрением искусственного интеллекта в нашу жизнь. Человеческий труд уступит место машинному: по прогнозам в ближайшие 20 лет более 40 % рабочих мест будет автоматизировано. Но появятся и новые специальности, связанные с обслуживанием работы машин. Наступает эра IT, где владение языками программирования — гарантия стабильности. Какой язык выбрать? Эксперты уверены: Java будет востребован ещё не одно десятилетие. 

Семь перспективных направлений, в которых без Java не обойтись:

1. Android-приложения

Хотите писать под Android? Учите Java.

2. Финансовые услуги

Мировые инвестиционные банки используют Java для обработки данных, написания серверных приложений, создания фронтэнда и бэкенда.

Так же поступают трейдеры. Например, на этом языке написано популярное приложение «Murex».

3. Веб-приложения

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

4. Программные средства

Такие приложения, как Eclipse, IntelliJ Idea, Netbeans IDE воплощены в жизнь благодаря Java.

5. Встраиваемые системы

Эта сфера — «родина» Java. Язык разрабатывался для встраиваемых систем под лозунгом: «пиши один раз, запускай где угодно». Люди стремятся упрощать жизнь, и Java делает это возможным. Сфера применения широка: от мобильных телефонов и бытовой техники до систем управления предприятиями. Директор по маркетингу компании Microtec уверен: Java только набирает обороты на рынке встраиваемых систем и вскоре получит широкое распространение.

6. Большие данные

Пока Java не доминирует в этой области, но у него есть все шансы вырваться вперёд. Это случится, если Hadoop или ElasticSearch расширятся.

7. Наука

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

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

Для достижения целей потребуются разные языки программирования: кроме Java, эксперты делают ставку на R, Erlang, Go и Swift. Вероятно, появятся и новые языки, но они ещё долго будут играть вспомогательную роль. История Java началась ещё в 1990 году и всё это время язык совершенствовался. Сегодня Java — самый востребованный язык программирования в мире.

Писать на Java не только интересно, но и выгодно: в 2017 г. зарплата такого специалиста в Москве колеблется от 25 000 до 175 000 р. Ценно, что программирование позволяет зарабатывать во время обучения, поэтому «отбить» вложенные средства реально уже в первые месяцы. Как быстро вам удастся это сделать, зависит от выбранного метода обучения: важно не зацикливаться на теории, а сразу переходить к практике. Профессиональные курсы позволяют это сделать. Преподаватели уровня «senior» доступно объяснят материал и помогут влиться в новую среду. Кроме того, здесь вы найдете единомышленников и полезные контакты, что неоценимо в начале карьеры.

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

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

«Яндекс» и МФТИ помогут получить навыки программирования на C++

«Яндекс» и Московский физико-технический институт (МФТИ) объявили о запуске онлайнового курса «Основы разработки на C++: белый пояс», который поможет получить навыки программирования на популярном языке.

Курс посвящён знакомству с языком программирования С++. Занятия ориентированы на тех пользователей, которые обладают базовыми понятиями программирования — знают, что такое переменные, циклы, условные операторы, — но не имеют опыта написания программ на C++.

Курс разработан ведущими специалистами «Яндекса» и преподавателями Школы анализа данных. Слушатели познакомятся с основами C++ и научатся базовым приёмам, с помощью которых можно решать практические задачи.

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

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

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

Google добавила Kotlin в качестве официального языка программирования для Android

Google сообщила, что отныне официально поддерживает Kotlin на Android в качестве «первоклассного» языка. Kotlin — новый язык программирования от компании JetBrains, созданной Сергеем Дмитриевым, Евгением Беляевым и Валентином Кипятковым. Котлин — это остров в Финском заливе, на котором расположен Кронштадт. Такое название намекает на некоторое родство нового языка с Java, как острова Котлин с островом Ява. Официальный инструмент разработки Android Studio от Google, к слову, основан на JetBrains IDE.

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

Android не использует JVM в чистом виде, но корни Java в современной виртуальной машине этой ОС весьма сильны, а удобство и совместимость Kotlin с Java сделали его популярным среди разработчиков. Официальная поддержка со стороны Google должна дать большой толчок и сделать более естественной работу с по сути зарождающимся языком: хотя публично он был представлен в июле 2011 года, лишь 15 февраля 2016 года состоялся выход финальной версии 1.0.

Структурно Kotlin имеет много общего с Java — он тоже объектно-ориентированный со статической типизацией и решает схожие проблемы. Но благодаря тому, что во многом его разработка была начата с чистого листа, Kotlin приносит ряд удобств и улучшений: он более лаконичен и типобезопасен, отличается более опрятным, близким к функциональному программированию синтаксисом и другими особенностями.

Инструменты Kotlin будут включены в Android Studio 3.0 по стандарту, а Google и JetBrains обещают поддерживать его и далее. В отличие от языка программирования Swift, который был внутренним проектом Apple, а затем стал открытым, Google не владеет Kotlin. Он будет продолжать развиваться компанией JetBrains и распространяться на другие платформы: язык создавался с тем, чтобы на нём, среди прочего, можно было разрабатывать ПО для iOS и Mac, а также компилировать код JavaScript для веб-приложений.

Разработчики на iOS отдают предпочтение языку программирования Swift

Язык программирования Swift от компании Apple существует уже не первый год, однако разработчики на iOS и macOS по-прежнему могут создавать приложения с помощью Objective-C, автором которого также является купертинский гигант. Тем не менее, если верить новому исследованию площадки для фрилансеров Upwork, технологические компании испытывают всё большую нужду в разработчиках, не понаслышке знакомых со Swift.

Upwork является крупнейшим рынком фрилансеров в США, поэтому компания вполне способна определять тренды на этом рынке. В её исследовании сравниваются самые быстрорастущие в плане востребованности навыки в четвёртом квартале 2016 и 2015 годов.

Примечательно, что пять самых востребованных навыков являются технологическими. Это обработка естественного языка, разработка на Swift, работа с аналитическим программным обеспечением Tableau, использование Amazon Marketplace Web Services для автоматического размещения продуктов на Amazon и интеграция Stripe.

Apple представила Swift в июне 2014 года на мероприятии WWDC. Он позиционировался как современный язык программирования, который должен заменить Objective-C. Однако такой переход не мог быть мгновенным, поэтому Apple постаралась сделать его как можно более плавным. В приложениях для iOS, macOS, tvOS и watchOS вполне могут присутствовать элементы обоих языков программирования. Тем не менее, Swift набрал огромную популярность, исходный код его был опубликован компанией в декабре 2015 года.

С тех пор Swift стал более зрелым и разносторонним. И исследование Upwork ещё раз доказывает, что многие компании теперь отдают предпочтение именно этому языку программирования, а не Objective-C, который появился ещё в 80-е годы прошлого века.

В России сформирована рабочая группа по стандартизации языка C++

Компания «Яндекс» объявила о создании в России рабочей группы по стандартизации широко распространённого языка программирования C++.

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

Сформированная группа будет собирать предложения к стандарту C++ от российских специалистов, организовывать их обсуждение внутри страны, а затем представлять и защищать на общих собраниях в Международной организации по стандартизации (ISO). Рабочая группа уже зарегистрирована Росстандартом — федеральным агентством, представляющим нашу страну в ISO.

«В России много высококлассных специалистов по C++. Их участие в обсуждении стандарта было бы полезно. Однако представить предложение в ISO непросто. Его нужно оформить определённым образом, а потом защитить на заседании. Рабочая группа станет связующим звеном между российскими экспертами и международным комитетом», — отметил технический директор «Яндекса» Михаил Парахин. 

Java лидирует в рейтинге языков программирования

Компания TIOBE Software опубликовала очередной рейтинг популярности языков программирования, формируемый путём подсчёта количества их упоминаний при поиске в Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu и других интернет-сервисах.

По оценкам аналитиков TIOBE Software, самым востребованным в профессиональной среде инструментом для создания приложений в настоящий момент является Java — язык программирования, за прошедшие 12 месяцев прибавивший почти 6 % в общем рейтинге, занявший 21,5 % рынка и получивший почётный титул «язык 2015 года». Вторым по популярности среди разработчиков является язык С (16 %), замыкает тройку лидеров C++, чья доля на рынке составляет примерно 7 процентов. На четвертой позиции фигурирует C# (4,7 %).

Что касается остальных представленных в списке языков программирования, то неплохую динамику роста и всплеск интереса со стороны заинтересованной аудитории в 2015 году продемонстрировали Python, Visual Basic .NET и Delphi. Реже в Интернете стали упоминаться объектно-ориентированный язык Objective-C, PL/SQL и PHP. С полной версией отчёта TIOBE Software можно ознакомиться здесь.

Отметим, что 2015-й стал не только годом роста популярности Java, но и годом двадцатилетнего юбилея этого известного во всём мире языка программирования. В честь годовщины компания Oracle опубликовала интерактивную хронологию событий в 20-летней истории Java. Ознакомиться с документом можно по ссылке oracle.com.edgesuite.net/timeline/java.

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

Компания Apple официально превратила свой язык программирования Swift, впервые анонсированный на WWDC 2014, в проект с открытым исходным кодом. Apple сообщила об этом намерении ранее в этом году, а теперь опубликовала исходный код языка и все сопутствующие ему функции и объекты на сайте Swift.org. Теперь разработчики могут пользоваться этим языком программирования так, как им вздумается — то есть выйти за рамки создания приложений для iOS и OS X.

Ещё один плюс перехода Swift на «открытую» основу — тот факт, что язык программирования больше не является собственностью Apple. Поэтому даже если компания решит прекратить поддержку своего детища, его могут продолжить улучшать другие разработчики.

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

Сейчас на сайте Swift можно найти порт языка для Linux. Также Apple начала делиться с общественностью некоторыми директивами грядущей третьей версии Swift, чтобы собрать отзывы о новой версии языка, пока он находится на ранней стадии разработки.

window-new
Soft
Hard
Тренды 🔥