Пять лучших блогов по программированию 2020 года


Оглавление (нажмите, чтобы открыть):

Москва станет столицей Чемпионата мира по программированию 2020

Возможность принять финал International Collegiate Programming Contest (ICPC) была также у Шанхая, Сиднея и Орландо.

Столица впервые примет финал чемпионата мира ICPC. При этом сам чемпионат проходил дважды: в 2013 году — в Санкт-Петербурге, а в 2014 году — в Екатеринбурге.

В июне 2020 года в Москве состоится финал крупнейшего студенческого чемпионата по спортивному программированию — International Collegiate Programming Contest (ICPC). Организатором мероприятия станет Московский физико-технический институт (МФТИ).

Сергей Шумский, директор Научно-координационного совета Центра науки и технологий искусственного интеллекта на базе МФТИ, комментирует: Принимать у себя финал престижного чемпионата мира по программированию – большая честь. Но и большая ответственность, в плане — удержать у себя элитные кадры, перед которыми сегодня открыты двери крупнейших компаний мира. Для этого в России должны быть свои версии DeepMind и OpenAI, где решаются фундаментальные проблемы понимания природы разума и создания сильного искусственного интеллекта. Центр науки и технологий искусственного интеллекта собирается предоставить им такую возможность поучаствовать в научных прорывах — в рамках вновь созданной лаборатории когнитивных архитектур, нацеленной именно на такие амбициозные задачи.

Сергей Шумский также руководитель сегмента «Нейроассистенты» дорожной карты «Нейронет» Национальной технологической инициативы, вице-президент Российской ассоциации нейроинформатики

По традиции финал проходит пять дней. На финал соберётся до 500 студентов, а так же тренеров, руководителей региональных этапов чемпионата, представителей ВУЗов и отрасли, государственных чиновников — всего около 1,5 тыс. участников.

Многие университеты для определения своих представителей на региональном уровне проводят внутренние соревнования, потом региональные олимпиады, победители которых отправляются на финальный этап мирового первенства.
В региональных соревнованиях один университет может быть представлен несколькими командами, но на финал может отправиться только одна команда от университета. По правилам ICPC, участвуют студенты и аспирнатны не старше 24 лет, по три человека в команде. Их задача – за пять часов решить алгоритмические задачи, которых в одном состязании может быть от восьми до 13. Языки программирования — С++, Java, Python и Kotlin.

Чемпионат ICPC проходит ежегодно с 1977 году в США. Сейчас в нем ежегодно участвуют представители более 3 тыс. ведущих вузов из 110 стран мира. Соревнования проходят на 530 площадках, на которых соревнуются ежегодно более 320 тыс. человек. Помогают им около 5,5 тыс. тренеров.

Самые актуальные новости

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

Новости высокотехнологичного бизнеса

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

По его словам, грамотное использование чат-ботов помогает снизить затраты фонда оплаты труда на 20%.

Лучшие программисты мира определятся в России

Автор: Ярослава Грин,

Студенческий чемпионат мира по программированию ICPC (International Collegiate Programming Contest) в 2020 году впервые пройдет в Москве. Оргкомитет по подготовке к проведению ICPC возглавит премьер-министр РФ Дмитрий Медведев. Цифровым партнером международного чемпионата стал МегаФон, который создаст инфраструктуру, необходимую для проведения финала мероприятия, и обеспечит его участников бесшовным Wi-Fi.

Чемпионат ICPC существует с 1977 г., ежегодно в региональных отборочных этапах по всему миру принимают участие 50 тысяч студентов из более чем трех тысяч университетов. В России финал ICPC проходил дважды: в 2013 г. в Санкт-Петербурге и в 2014 г. в Екатеринбурге. Организатором финала в Москве в 2020 г. выступит МФТИ.

Российские команды уже восемь лет подряд побеждают в соревнованиях ICPC. За последнее десятилетие участники чемпионата из России завоевали 33 золотые медали. На финале 2020 года в Порту 11 из 12 команд-победителей проходили обучение на сборах международного проекта Moscow Workshops ICPC, который зародился на кампусе МФТИ.

«В финале прошлого года в Порту медали получили сразу три команды из Москвы — МГУ им. М.В. Ломоносова заняли первое место, МФТИ и НИУ ВШЭ приехали с бронзовыми медалями. Достижения столицы России были отмечены международным комитетом ICPC, и как следствие — финал чемпионата в 2020 году примет Москва. Событие состоится при поддержке Председателя Правительства России Д. А. Медведева, который возглавил организационный комитет финала», — прокомментировал «Известиям» директор финала ICPC 2020, основатель Moscow Workshops ICPC, проректор МФТИ Алексей Малеев.

Для проведения международного чемпионата по программированию очень важно обеспечить качественную и надежную телеком-инфраструктуру. МегаФон создаст в Манеже защищенную локальную сеть для участников соревнования, сеть для организаторов, через которую будет осуществляться управление мероприятием, а также Wi-Fi для гостей ICPC.

В ходе соревнования счет идет на секунды. Любое подвисание интернета может обернуться для соревнующихся катастрофой. Поэтому, помимо подачи канала связи в Манеж, МегаФон построит резервный канал на случай, если возникнут проблемы. Проектирование строительства резервного канала осуществляется по другой географической трассе, чтобы обеспечить максимальную отказоустойчивость.

Оператор также обеспечит прямую трансляцию события в Зарядье. На площадке в Манеже, а также в трех гостиницах, где будут жить команды, будет работать бесшовный Wi-Fi: зарегистрировавшись на одной из площадок, участники получат доступ в интернет на все время проведения чемпионата с 21 по 26 июня 2020 г.

«Чемпионат ICPC объединяет сообщества молодых программистов и создает продуктивную среду для обмена опытом и высококлассного командного взаимодействия. Для МегаФона большая честь поддержать финал международного чемпионата по программированию ICPC, участников которого можно безусловно назвать цифровыми гениями», – отмечает Валентина Ватрак, директор по корпоративному развитию и управлению персоналом МегаФона.

6 оптимальных языков для начала карьеры

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

Критерии

Нам потребуется два авторитетных рейтинга. Легкость изучения будет оценена условно — в баллах её выразить невозможно, но составить некоторый список «простых» можно, пользуясь коллективными мнениями (1, 2, 3).

Расставлять по местам мы будем исходя из рейтинга востребованности. За базу возьмем ряд зарубежных статей (1, 2, 3), реальность же российскую подтвердим при помощи агрегаторов hh.ru и trud.com. Статистика, разумеется, актуальна на день написания текста, а к публикации вряд ли сильно изменится.

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

Swift

Формально, Swift, конечно еще не так востребован среди работодателей как Objective-C, и попаданием в этот рейтинг он во многом обязан общей платформе. Но игнорировать перспективу в этом рейтинге категорически невозможно. Поэтому рекомендуем начинать изучение уже сейчас. Приглашаем вас на бесплатный двухчасовой интенсив по основам Swift.

Взглянем на цифры российских HR-агентств — 471 вакансия в России и ближнем зарубежье на hh.ru и 410 на trud.com. Очень неплохо для трехлетнего языка. Если добавите Objective-C, можете смело умножать цифры на 3.

Называть язык C или C++ лёгкими для изучения не совсем правильно, особенно если сравнивать их с Python или Ruby. Но в данному случае стоит говорить о том огромном количестве учебной качественной литературы, о фундаментальности и том полезном остатке, что останется в вашей голове, даже если свою дальнейшую жизнь с ними вы не свяжете.

Но если всё таки языки вам понравятся, то аж 2 325 вакансий только в России на hh.ru и 12 543 на trud.com. При этом вам важно понимать, что если, в случае с языком Swift, это были вакансии исключительно разработчиков, то с C++ вам язык может понадобится не только в привычной сфере IT, но и на должности оператора ЧПУ, и автоэлектрика.

JavaScript

Мало того, что JavaScript крайне востребован в современном мире благодаря сумасшедшему развитию интернет-технологий, так ещё благодаря модулям и библиотекам его зона влияния стала распространяться во все остальные IT-сферы.

Добавьте сюда тот факт, что JavaScript относительно лёгок для изучения. Заимствовав базовые вещи из Си и постепенно развиваясь от бонусного элемента для HTML и CSS до самостоятельной силы, он получил удобоваримый синтаксис и предельно понятную для новичка логику работы.

А теперь к востребованности: 6 365 вакансий только внутри России на hh.ru и 5 565 на trud.com. Это весьма неплохие цифры для тех, кто твёрдо намерился найти работу по окончанию обучения.

Python

Когда речь идёт о совокупности аргументов лёгкость и востребованность (именно в таком порядке), большинство разработчиков в первую очередь думает о Python. Это проверенный временем и миллионами учеников язык, экономит драгоценное время как на стадии обучения, так и применения. При этом количество областей IT, где бы вам мог потребоваться Python не ограничено вообще ничем. Большое спасибо поклонникам энтузиастам и Python Software Foundation.

Важно отметить, что востребованность в специалистах Python значительно выше за границей, нежели в России. Однако и у нас найти работу большого труда не составит: 2 325 вакансий в открытом доступе по версии hh.ru и 2 537 — trud.com.

Java — великолепный язык во всех отношениях. Это подтверждается и статистикой TIOBE, и самой популярной ОС в мире, и просто тем, что это достаточно простой язык с очень мощной экосистемой.

Если выразить в цифрах российской реальности, то актуальность Java составляет 4 628 пунктов по версии hh.ru и 4 490 — trud.com. Да, это не впечатляющие результаты на фоне некоторых предыдущих претендентов, но, во-первых, это обусловлено спецификой нашего IT-рынка, во-вторых тенденция к росту строго положительная, в-третьих Java всё же будет попроще C/C++.

Наверняка не такого лидера вы хотели увидеть, но формально придраться здесь не к чему. Вам очень трудно избегать использования БД в современных реалиях, а инструмента более универсального ,чем SQL пока никто не придумал. Именно этот факт и позволяет этому языку твёрдо восседать на первом месте практически во всех подобных рейтингах.

Язык отечественных цифр здесь не слишком ярко отражает реальный спрос, но в лидерстве SQL в данном рейтинге сомневаться не заставит. По факту, на hh.ru он набрал 8 303 внутренних вакансий, на trud.com 8 933.

Глядя на опубликованный в самом начале рейтнг, у вас наверняка возникает резонный вопрос: «А где же Perl и C#?». Всё дело в том самом проецировании на российскую действительность. Например, Perl имеет результаты 581 вакансий по версии hh.ru и 577 на trud.com. Это, конечно, лучше, чем Swift, но у яблочного языка есть очевидная перспектива, а спрос на Perl в России скорее всего будет только падать.

Касательно C# здесь ситуация лучше: 906 вакансий на hh.ru и свыше 16 тысяч на trud.com. Однако вторая цифра не должна вводить вас в заблуждение: среди вакансий почти половина C/C++ разработчики со знанием C#, поэтому по совокупности и фундаментальной значимости именно первая группа языков была вынесена в заголовок, а второй скромно упомянут в конце.

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

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

Критерии

Нам потребуется два авторитетных рейтинга. Легкость изучения будет оценена условно — в баллах её выразить невозможно, но составить некоторый список «простых» можно, пользуясь коллективными мнениями (1, 2, 3).

Расставлять по местам мы будем исходя из рейтинга востребованности. За базу возьмем ряд зарубежных статей (1, 2, 3), реальность же российскую подтвердим при помощи агрегаторов hh.ru и trud.com. Статистика, разумеется, актуальна на день написания текста, а к публикации вряд ли сильно изменится.

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

Swift

Формально, Swift, конечно еще не так востребован среди работодателей как Objective-C, и попаданием в этот рейтинг он во многом обязан общей платформе. Но игнорировать перспективу в этом рейтинге категорически невозможно. Поэтому рекомендуем начинать изучение уже сейчас. Приглашаем вас на бесплатный двухчасовой интенсив по основам Swift.

Взглянем на цифры российских HR-агентств — 471 вакансия в России и ближнем зарубежье на hh.ru и 410 на trud.com. Очень неплохо для трехлетнего языка. Если добавите Objective-C, можете смело умножать цифры на 3.

Мастер Йода рекомендует:  Простым языком о том, как работает сжатие файлов

Называть язык C или C++ лёгкими для изучения не совсем правильно, особенно если сравнивать их с Python или Ruby. Но в данному случае стоит говорить о том огромном количестве учебной качественной литературы, о фундаментальности и том полезном остатке, что останется в вашей голове, даже если свою дальнейшую жизнь с ними вы не свяжете.

Но если всё таки языки вам понравятся, то аж 2 325 вакансий только в России на hh.ru и 12 543 на trud.com. При этом вам важно понимать, что если, в случае с языком Swift, это были вакансии исключительно разработчиков, то с C++ вам язык может понадобится не только в привычной сфере IT, но и на должности оператора ЧПУ, и автоэлектрика.

JavaScript

Мало того, что JavaScript крайне востребован в современном мире благодаря сумасшедшему развитию интернет-технологий, так ещё благодаря модулям и библиотекам его зона влияния стала распространяться во все остальные IT-сферы.

Добавьте сюда тот факт, что JavaScript относительно лёгок для изучения. Заимствовав базовые вещи из Си и постепенно развиваясь от бонусного элемента для HTML и CSS до самостоятельной силы, он получил удобоваримый синтаксис и предельно понятную для новичка логику работы.

А теперь к востребованности: 6 365 вакансий только внутри России на hh.ru и 5 565 на trud.com. Это весьма неплохие цифры для тех, кто твёрдо намерился найти работу по окончанию обучения.

Python

Когда речь идёт о совокупности аргументов лёгкость и востребованность (именно в таком порядке), большинство разработчиков в первую очередь думает о Python. Это проверенный временем и миллионами учеников язык, экономит драгоценное время как на стадии обучения, так и применения. При этом количество областей IT, где бы вам мог потребоваться Python не ограничено вообще ничем. Большое спасибо поклонникам энтузиастам и Python Software Foundation.

Важно отметить, что востребованность в специалистах Python значительно выше за границей, нежели в России. Однако и у нас найти работу большого труда не составит: 2 325 вакансий в открытом доступе по версии hh.ru и 2 537 — trud.com.

Java — великолепный язык во всех отношениях. Это подтверждается и статистикой TIOBE, и самой популярной ОС в мире, и просто тем, что это достаточно простой язык с очень мощной экосистемой.

Если выразить в цифрах российской реальности, то актуальность Java составляет 4 628 пунктов по версии hh.ru и 4 490 — trud.com. Да, это не впечатляющие результаты на фоне некоторых предыдущих претендентов, но, во-первых, это обусловлено спецификой нашего IT-рынка, во-вторых тенденция к росту строго положительная, в-третьих Java всё же будет попроще C/C++.

Наверняка не такого лидера вы хотели увидеть, но формально придраться здесь не к чему. Вам очень трудно избегать использования БД в современных реалиях, а инструмента более универсального ,чем SQL пока никто не придумал. Именно этот факт и позволяет этому языку твёрдо восседать на первом месте практически во всех подобных рейтингах.

Пять лучших блогов по программированию 2020 года

Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces в пятый раз запускает олимпиаду по программированию для школьников — «Технокубок». В этом учебном году олимпиада вошла в перечень олимпиад школьников, повысив свой уровень до самого высокого — первого: теперь победители и призеры могут быть зачислены на профильные факультеты российских вузов без вступительных экзаменов. Кроме того лучшие участники получат ценные призы от компании Apple.

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

Победители и призеры олимпиады будут определены по результатам очного этапа, который пройдет 1 марта 2020 года на базе МФТИ, МГТУ им. Н.Э.Баумана, а также на других региональных площадках по всей России, о которых будет сообщено позднее.

Этапы соревнования

Ознакомительные раунды

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

  • 4 октября 17:05 — 6 октября 17:05
  • 24 октября с 13:05 — 26 октября 13:05
  • 22 ноября с 10:05 — 24 ноября 10:05

Время указано в формате МСК (GMT +3).

Отборочные (онлайн) этапы

  • Первый отборочный раунд: 6 октября с 18:05 до 20:05
  • Второй отборочный раунд: 26 октября с 14:05 до 16:05
  • Третий отборочный раунд: 24 ноября с 11:05 до 13:05

Время указано в формате МСК (GMT +3). На решение задач отборочного этапа дается два часа.

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

Количество отборочных раундов может быть увеличено.

Финальный (очный) этап на площадках вузов РФ

Финальный (заключительный) раунд пройдет в очной форме 1 марта 2020 г. в МГТУ им. Н.Э.Баумана, МФТИ, а также на других региональных площадках по всей России. Полный список площадок будет размещен позднее на портале чемпионата. Участники, прошедшие онлайн-этап, побывают в лучших технических вузах страны и смогут получить ответы на вопросы по поводу поступления.

Награждение пройдет в в офисе Mail.Ru Group. Победители и призеры олимпиады познакомятся со специалистами крупнейшей IT-компании в России, а также узнают про возможности карьерного роста в IT-сфере для абитуриентов МФТИ, МГТУ им. Н. Э. Баумана и других высших учебных заведений страны.


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

Призы

Льготы:
Олимпиада школьников «Технокубок» включена и имеет I уровень в Перечне олимпиад школьников РСОШ, дающих льготы при поступлении в высшие учебные заведения РФ.

Всего будут награждены не более трети участников заключительного этапа.

  • 1 место iPad Air 2
  • 2 место iPod nano
  • 3 место iPod shuffle

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

Регистрация уже началась и проходит на сайте https://technocup.mail.ru. Официальная группа Вконтакте: https://vk.com/techno_cup.

Сразитесь за звание самого талантливого молодого программиста и за право стать обладателем Технокубка!

Олимпиада проходит по правилам раундов Codeforces.

Олимпиада «Технокубок» входит в число инициатив Mail.Ru Group, направленных на развитие российской IT-отрасли и объединенных направлением IT чемпионатов компании. Направление IT чемпионатов создано для тех, кто увлекается IT и стремится профессионально развиваться в этой сфере. Проект объединяет такие чемпионаты как Russian AI Cup, ML Boot Camp, Russian Code Cup, Russian Design Cup, и другие, а также тесно сотрудничает с образовательными проектами компании Технопарк в МГТУ им. Баумана, Техносфера в МГУ им. М.В. Ломоносова и Технотрек в МФТИ.

Организаторы олимпиады

Московский физико-технический институт

Московский Государственный Технический Университет им. Н. Э. Баумана

IT Чемпионаты Mail.Ru Group

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

Студенты МГУ выиграли самый престижный в мире турнир по программированию

Команда из московского университета второй год подряд победила на международной олимпиаде по программированию ICPC. Студенты МГУ опередили конкурентов из MIT, Токийского и Варшавского университетов за несколько минут до конца соревнований

Команда Московского государственного университета им. Ломоносова второй год подряд победила на международной олимпиаде по программированию ICPC. В тройку призеров также вошли студенты Московского физико-технического института и Высшей школы экономики — у сборных обоих вузов «бронза». Всего в финальной стадии соревнований участвовали 10 команд из России.

«Золото» также получили Массачусетский институт технологий (MIT), Университет Токио и Университет Варшавы. Это традиция ICPC: медали каждого достоинства получают по четыре команды, но звание чемпиона мира — одна.

«Фаворитом в этом году многие считали команду MIT, у них был очень сильный состав», — рассказал Forbes координатор по взаимодействию с университетами компании JetBrains Филипп Торчинский. По его словам, до последнего момента за титул с МГУ отчаянно боролись не только MIT, но и университеты Варшавы и Токио: «Несколько команд решили восемь задач, MIT и японская команда — девять, но за две минуты до окончания времени команде МГУ удалось правильно решить десятую задачу — это сделало их лидерами». Победа за несколько минут до «падения флажка» — уже фирменный стиль МГУ: в 2020-м россияне одержали победу в таком же стиле.

За Россией остается мировой рекорд по количеству чемпионских титулов за всю историю соревнований, проводимых с 1977 года. Команда Университета ИТМО выигрывала их семь раз. Еще четыре раза побеждали студенты СПбГУ. Из зарубежных команд по три победы на счету Стэнфорда и Шанхайского транспортного университета.

В этом году ИТМО занял лишь 17-е место. Это можно объяснить сменой команды — состав был полностью обновлен. Китайские команды, в последние годы претендовавшие на золотые медали, не получили наград по той же причине. Процесс смены составов регулярен: правила запрещают участвовать в финальном этапе больше двух раз и студентам старше 25 лет.

«В целом, соревнование весьма консервативное, академическое и чтит традиции, но одновременно с этим поддерживает постоянную связь с индустрией», — описал Forbes прикладное значение олимпиады секретарь международного оргкомитета ICPC, председатель жюри финала ICPC в регионе Северная Евразия, тьютор факультета информационных технологий и программирования ИТМО Роман Елизаров. Из сменяющихся факторов он отметил обновление набора языков и инструментов разработки: «Например, в 2020 году в финале чемпионата мира участники впервые получили возможность использовать язык программирования Kotlin, созданный компанией JetBrains».

Победители олимпиады ICPC работают в Google, «ВКонтакте» (например, Николай Дуров), JetBrains и других международных компаниях. Подробнее об этом можно прочитать здесь. Язык Kotlin, разработанный в JetBrains выпускниками ИТМО, принят как один из языков программирования в Google.

История турнира

International Collegiate Programming Contest — старейший, крупнейший и самый престижный в мире чемпионат по спортивному программированию. Соревнование проводится ежегодно с 1977 года. Долгое время в чемпионате соревновались исключительно команды университетов из США и Канады, позднее стали приглашать студентов и из других стран. Российские студенты участвуют в чемпионате с 2000 года. За 19 лет они побеждали 13 раз. Финал турнира в 2020 году пройдет в России — в МФТИ.

Все призеры ICPC получают денежную премию: команда чемпионов — $15 000, золотые медалисты — по $7500, серебряные — по $6000, бронзовые — по $3000. Согласно правилам, в каждой команде может быть по три человека, в распоряжении которых один компьютер. Финальный поединок длится пять часов. Побеждает та команда, которая решит наибольшее число задач за минимальное время. Чемпионат ICPC проводился под эгидой компании IBM с 1977-го. С 2020 года в роли глобального спонсора выступает JetBrains. Также привлекаются другие спонсоры, обеспечивающие проведение региональных турниров и финала.

Какие есть живые блоги по программированию?

Здравствуйте.
В целях саморазвития, я решил начать читать авторские блоги по программированию (web). Отсюда возникло сразу несколько вопросов:

  • Актуальны ли сейчас блоги, не пал ли блоггинг смертью храбрых под натиском Хабра?
  • Как оценить популярность блога? Раньше кол-во подписчиков можно было понять по счетчику RSS, сейчас же, читательская аудитория размазана по куче соц.сетей.
  • Накидайте ссылок на полезные, и главное — живые блоги (на русском или английском). Я пока подписался на первые две странички выдачи гугла.
  • Не теряю ли я зря время? Возможно вполне достаточно Хабра и Hacker News?

Какие программисты будут востребованы через 10 лет

Среди программистов конкуренция будет только расти. Кажется, что современные дети рождаются с уже «прошитыми» знаниями! Поэтому расслабляться некогда. Чтобы понять, какие языки программирования будут в топе, нужно знать задачи, которые встанут перед программистами в обозримом будущем.

Самые жаркие направления, в которых ожидается прорыв в ближайшее десятилетие:

  1. Увеличение объема передаваемых данных и моделей для их обработки. Появление новых оптических и квантовых компьютеров с расширенными возможностями.
  2. Развитие человеко-машинных интерфейсов и технологии искусственного интеллекта. Всё более востребованы будут семантические системы, работающие с речью и языками (перевод, поиск в интернете, общение человек-компьютер и др.) А также распространение ПО, на которое может влиять обычный пользователь.
  3. Развитие нейроинтерфейсов, в т.ч. «управление мыслью», разными объектами, передача ощущений и переживаний на расстоянии.

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

Перспективные языки программирования с 2020 по 2025 год

Язык программирования ​​​​​​​Зачем он нужен?
R С его помощью можно обрабатывать большие объёмы данных, производить расчёты и создавать графические модели.
Erlang Основное преимущество — параллельность. Если вам необходимо обслуживать миллионы пользователей, Erlang незаменим.
Go Разработка Google, имеющая множество возможностей и преимуществ. Правда, сегодня не все программисты разделяют уверенность в его перспективности, но время покажет.
Swift Детище Apple. Как они сами говорят о нём: «это первый мощный язык программирования, такой же понятный и увлекательный, как скриптовый язык». В первую очередь предназначен для разработчиков iOS и OS X.

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

Язык программирования ​​​​​​​Какие задачи он помогает решать?
SQL По праву занимает первую строку хит-парада. Само название «SQL» расшифровывается, как «язык структурированных запросов». А запросы, как вы понимаете, есть везде.
Java За двадцать лет существования, Java «просочился повсюду». Удалите его со своего компьютера или мобильного устройства и вас ждёт коллапс.
JavaScript Как и Java используется повсеместно и встроен во все основные браузеры. JavaScript нужен для создания интерактива, поэтому спрос на JavaScript-разработчиков только растёт.
C# (C Sharp) Разработка компании Microsoft. Простой, безопасный и объектно-ориентированный. C# относится к семейству языков с C-подобным синтаксисом и близок к C++ и Java.
C++ Используется для разработки программного обеспечения и является одним из самых популярных языков программирования. Нужен для создания операционных систем, драйверов, прикладных программ, высокопроизводительных серверов, игр и многого другого.
Python На Python можно написать что угодно: приложения, игры, комплексные системы расчёта, скрипты по автоматизации и еще много всего! А простота кода облегчает дальнейшее сопровождение программ. Поэтому владение этим ЯП существенно облегчает жизнь программиста и делает его более конкурентоспособным.
PHP Обладает возможностями сложных скриптовых языков, но в то же время удивительно простой и легкий в изучении и применении. Хорош как для начинающих, так и для опытных программистов.
Ruby on Rails Ruby позаимствовал все лучшее из других языков программирования, а фреймворк Ruby on Rails сделал его ещё круче. Будьте осторожны: говорят, он вызывает привыкание!
iOS/Swift А вот и будущее аккуратно просачивается в список лидеров сегодняшнего дня. Помните, мы уже говорили про Swift, как про язык следующего десятилетия?
Мастер Йода рекомендует:  Пособие по HTML-формам Другие элементы ввода

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

Александр Пряхин (руководитель отдела веб-разработки) отметил, что рынок программирования в 2026 будет определен следующими факторами:

  • «Интернетом вещей». Кофемашиной с WiFi уже никого не удивишь. Т.е. будут развиваться микрокомпьютеры и языки программирования под них.
  • Уменьшение времени ожидания для пользователя. Скорости жизни растут. И пользователю нужно сделать заказ прямо сейчас, а перевод денег на карту должен быть простым и производиться в одно нажатие. Скорости работы определяются как «железом», так и программным обеспечением.
  • Сектор IT-услуг. SaaS, PaaS, IaaS и т.д. Многие осознают, что пользоваться сервисом вместо покупки продукта чаще гораздо выгоднее.
  • Информационные угрозы. С каждым годом вычислительные мощности растут и дешевеют. Алгоритмы шифрования устаревают, а взлом систем становится проще. И язык программирования должен уделять много внимания аспектам безопасности.

С чего начать, если вы пока не программист, но очень хотите им быть? Можно купить книгу и самому разобраться, а можно пойти на бесплатные курсы основы программирования от GeekBrains и получить не только информацию, но и ответы на все свои вопросы от опытного специалиста. Главное не стоять на месте, ожидая подходящего дня, потому что этот день может пройти, а вы и не заметите.

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

Пять лучших блогов по программированию 2014 года

Перевод статьи «Top Five Hottest Programming Blogs In 2014: Trusted And Respected Sources»

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

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

Dr. Dobb’s CodeTalk

Если вы интересуетесь блогами по программированию, то вы уже, вероятно, слышали о Dr.Dobb’s CodeTalk’е — системе гостевых блогов от известных в сфере обучения программированию людей: Скотта У. Амблера, Аллена Голуба, Брюса Эккеля, Ларри О’Брайна, Дэйва Томаса, Эндрю Кенига и др. CodeTalk позволит вам быть в курсе новостей в этой области знаний.

Эндрю Бинсток, который является главным редактором Dr. Dobb’s, разрабатывает программное обеспечение с 80-х. Он работал журналистом для SD Times, рецензентом InfoWorld и редактором UNIX Review.

Dr. Dobb’s покрывает все, от программных разработок в облаке, до веб-разработки, публикуя статьи, исходный код, блоги, форумы, видео-уроки, и даже аудио-подкасты, а также статьи из Dr. Dobb’s Journal (ежемесячный журнал о программировании, выпускаемый в США United Business Media). Вы также найдете в нем много интересных и полезных статей о популярных языках программирования: таких, как С ++ или Java.

Coding Horror

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

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

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

Этот сайт в шутливой форме рассказывает о том, как стать скромным профессиональным программистом. Темы блога, как правило, ориентированы на к широкую аудиторию программистов.

Joel on Software

Integral Web Solutions считает, что этот блог Джоэла Спольски может быть самым лучшим блогом по программированию.

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

Как генеральный директор собственной компании программного обеспечения и один из основателей Stack Overflow, Спольски вносит большой вклад в раскрытие всех нюансов этой проблемы, зная её вдоль и поперек. Дизайн блога довольно прост, но это доказывает, что содержание значит больше, чем различные украшения, ухищрения и примочки.

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

GirlDeveloper

Миру блогов о программировании нужно представить больше женщин, и этот блог является одним из лучших.

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

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

Scott Hanselman

Ещё один блог, названный по имени создателя (что иногда является хорошим ходом), возможно, является одним из самых популярных блогов о программировании.

С аудиторией в 20000 подписчиков Хэнселман работает из своего домашнего офиса в Портленде, штат Орегон, как представитель команды разработчиков веб-платформы Microsoft.

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

Полезные блоги для IT-специалистов

На окончательное осознание того, что содержимое хабра не отражает реального положения дел в IT-индустрии и всесторонне вредит профессиональному развитию, ушло около пяти лет.

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

Также укажу примеры постов, чтобы сразу можно было открыть и начать читать.

Если в будущем материал по приведенным ссылкам пропадет, ищите с помощью Wayback Machine — https://archive.org/web/

2) Блог Александра Алексеева — https://eax.me

— «Десять веских причин не тащить в продакшн новые игрушки» — https://eax.me/avoid-new-toys/

— «Почему эти ваши модные NoSQL решения не так уж хороши» — https://eax.me/avoid-nosql/

— «Советы и примеры задач, которые помогут вам в освоении нового языка программирования» — https://eax.me/programming-language-learning/

— «Должен ли ИТ менеджер программировать» (в трех частях) — https://vit-r.livejournal.com/30889.html

— «Про то, как победила дружба, а люди стали рабами машин» — https://vit-r.livejournal.com/621261.html


— «Что такое корпоративная культура и как она влияет на вас» — https://dou.ua/lenta/articles/company-culture

— «Enterprise разработка накануне провала традиционных методов» — https://dou.ua/lenta/articles/enterprise-dev

6) Статьи Игоря Ашманова

9) Блог Сергея Теплякова — sergeyteplyakov на блогспот.ком

— «Культ карго в программировании» — https://sergeyteplyakov. /2013/09/blog-post_24.html

— «Шпаргалка по SOLID принципам» — https://sergeyteplyakov. /2014/10/solid.html

— «Книги» — https://sergeyteplyakov. /2013/08/blog-post.html

10) Блог Максима Захарова — wolonter на блогспот.ком

— «О профессионалах» — https://wolonter. /2020/09/blog-post.html

— «О менеджерах, тестировщиках и их отношениях» — https://wolonter. /2020/06/blog-post_21.html

Дополняйте в комментариях, у кого тоже есть интересный материал

Дубликаты не найдены

Хабр вообще похож на мерилку ЧСВ. Полезного контента там процентов 10. Но это я так, мимокрокодил

Ога, искусственная Ылитарность, с Ынвайтами одна чего стоит.

Налет элитарности есть.. в принципе, статья на лурке о хабре раскрывает тему полностью) про инвайты хотел поправить, вроде комментарии любой делать может. Раньше строже было, с инвайтами

Хабр не тот, поэтому добро пожаловать на пикахабр.

Сейчас если и встречаешь какую-нибудь информацию для ИТ, то это 99% для программистов. Из них где-то на 80% инфа по веб технологиям или мобильным приложениям. Скукота.

Про администрирование встречал какие-то блоги, на английском.. Я не включил сюда, потому этой темой не владею, оценить материал не могу

Да есть блоги и по администрированию на русском.

https://t.me/bykvaadm не совсем блог, скорее просто набор практик, но инфа достойная.

на хабре одна реклама только блоги компаний остались, уже не торт.

Спасибо. Лично мне ашмановские наставления (например о том что у проекта должен быть ОДИН ответственный, а не целая куча) помогли больше, чем большинство статей хабра вместе взятые.

А если это проект на 20-30 человек, которые ещё подразделяются на несколько направлений дев/ку/svt и прочее? Это какие скилы должны быть у ответственного что бы в «соло» тащить все направления и не сойти с ума?

Никто ничего «соло» не тащит.

Тут скорее речь о условном архитекторе который отвечает за конечный результат.

Когда у него проблемы с девом он идёт решать их с главным по деву, и т.д.

Но менеджмент общается только с этим архитектором, а не бегает по всем отделам.

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

Один главный руководит старшими отделов и т.д. по нисходящей. Давно известно (в СССР с 50-х годов, в США с середины 70-х), что человек максимально эффективно может работать с не более 5-7 объектами. Т.е. если руководитель напрямую руководит 30 человеками, то там однозначно низкая эффективность. Но самое главное в том, что ответственность за ту или иную задачу должна лежать ТОЛЬКО на одном человеке.

20-30 человек?? Мало))

Ну я так.. Ну если проект «чисто» куашный или дев — тогда да, может и прокатит один ответственный. Но опять же, смотря какое QA (ручное, автоматизированное — вещи то ой какие разные)

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

Ну была такая мысль, но тут вопрос к человеку, что же именно он имел в виду

Жаль немного, что выпускаемые им в последнее время материалы для меня почти не интересны. О бизнесе, проектах, в общем, по управленческой части. Видео я хотел включить в список, но передумал.. вряд ли их будут смотреть, они по 1-1.5 часа. Если кому интересно:

— «Как перестать беспокоиться о фреймворках и начать писать работающие программы?» — https://www.youtube.com/watch?reload=9&v=kulhBDskaes

— «Как найти первую работу и как с нее не вылететь» — https://www.youtube.com/watch?v=NQxRPgkPn40

— «Как создаются и поддерживаются Enterprise системы» — https://www.youtube.com/watch?v=Kr—dGJAui4 (вторая и третья ссылки в пункте про Немчинского из моего поста — по сути расшифровки этого видео)

Еще момент: Сергей занимается политпросветом, напрягает, конечно, но стараюсь абстрагироваться..

а меня вот интересует, есть ли какие-нибудь исследования или отчеты о новых it вакансиях на рынке и о том каков рынок будет в ближайшие 5 лет?

Боюсь, надо в другом месте спрашивать вам) К самой идее отношусь скептически по причинам:

— вряд ли можно сделать такой отчет независимым (должен быть незаинтересованный спонсор и эксперты, должны быть данные для анализа, а они редко когда публикуются фирмами)

— если и найдете, то будет водичка про ai, big data, iot, web 4.0 и остальной винегрет модных слов, при том что в реальности рынок меняется не так быстро, т.к. старые технологии не спешат уходить и нужны люди для поддержки.

Пять прогрессивных языков программирования с большими перспективами

Журналисты TechBeacon подобрали пять молодых языков программирования, за которыми, по их мнению, большое будущее.

Все языки программирования можно распределить на три группы в зависимости от их популярности. В главную войдут наиболее распространённые языки: Java, JavaScript, Python, Ruby, PHP, C#, C++ и Objective-C. Зная один, а лучше — несколько из них, можно с относительной лёгкостью найти работу.

Языки из второй группы вот-вот смогут перейти в число популярных, но ещё не стали таковыми. Они доказали своё право на это звание, сформировав сильные сообщества, но пока что их использует относительно небольшое число компаний-разработчиков ПО. К этой группе пока относят Scala, Go, Swift, Clojure и Haskell. Некоторые компании применяют их в небольшом количестве своих продуктов, но в целом в ИТ-отрасли данные языки встречаются редко (разве что Swift уже опережает Objective-C в разработке под iOS). Go и Swift имеют все шансы перейти в высший разряд в течение ближайших лет. Но большинство топовых языков прочно закрепились в своей группе и не «вылетят» из неё так быстро и просто.

Мастер Йода рекомендует:  Почему Scrum не работает (и что с этим можно сделать)

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

Перспективные языки: почему именно они?

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

Elm набирает популярность в JavaScript-сообществе, преимущественно среди сторонников функционального программирования, которое также становится всё более распространённым. Как Babel, TypeScript или Dart, Elm компилируется в JavaScript.

Rust — это системный язык, который задумывался как замена C и С++. Поэтому немного необычно наблюдать, с какой скоростью его принимает всё больше веб-разработчиков. Rust создали в Mozilla, которая стремится дать веб-разработчикам, которым приходится писать низкоуровневый код, нечто лучшее и более эффективное, чем PHP, Ruby, Python или JavaScript. Согласно опросу Stack Overflow, Rust уже третий год подряд становится самым любимым языком среди разработчиков.

Kotlin разрабатывается с 2010 года, но только в 2020 году состоялся релиз версии 1.0. И хотя он еще не достиг популярности Scala, Groovy или Clojure — трёх наиболее распространённых и зрелых (помимо Java) языков JVM — Kotlin выделяется на фоне множества других исполняемых на JVM языков и вполне готов выйти в лидеры группы. Автор языка — компания JetBrains, которая также известна средой разработки IntelliJ IDEA, поэтому создавался Kotlin с заботой о разработчиках. Кроме этого, на нём легко создавать приложения под Android.

Crystal — ещё один язык, который стремится привнести производительность С в мир веб-разработки. Crystal ориентируется на Ruby-программистов, так как имеет схожий, а местами и идентичный синтаксис. И без того немалая численность стартапов, использующих Ruby, продолжает расти, а Crystal может помочь ощутимо повысить производительность их приложений.

Elixir также во многом вдохновлялся Ruby, но вместо того, чтобы пытаться воспроизвести преимущества С, его авторы решили заняться созданием высокодоступных и отзывчивых систем, что, по мнению критиков, является не самым сильным местом Rails. Elixir работает в Erlang VM, которая благодаря своей эффективности за 25 лет завоевала прочную репутацию в телекоммуникационной отрасли. Phoenix — фреймворк для создания приложений на Elixir — как никакая другая деталь процветающей экосистемы делает этот язык таким привлекательным.

Описанная ниже шкала популярности составлена на основе данных StackOverflow и GitHub. На ней можно найти четыре из пяти языков:

Функциональный язык программирования, удобный в использовании и компилируемый в высокоуровневый JavaScript. Строить пользовательские веб-интерфейсы можно как полностью на нём, так и совместно с JavaScript. Ключевые преимущества Elm перед JavaScript — надёжность, удобство в поддержке и «удовольствие от программирования». Если конкретнее:

  • Отсутствие исключений времени выполнения (runtime exceptions). И никаких «undefined is not a function».
  • Неоценимо полезный компилятор.
    Компилятор Elm славится самыми содержательными сообщениями об ошибках в отрасли. Именно поэтому объёмные кодовые базы на нём сопровождать в разы приятнее, чем на JavaScript.
  • Встроенное семантическое версионирование.
    elm-package обеспечивает семантическое версионирование автоматически. Если автор пакета попытается внести серьёзные изменения в API, не изменив номер версии, elm-package забьёт тревогу и не пропустит их. Ни один существующий менеджер пакетов не сравнится в надёжности с Elm.
  • Скорость и функциональность.
    Elm — чисто функциональный язык программирования без мутаций и побочных эффектов. Это не только гарантирует гладкое масштабирование кода на Elm, но и помогает ему рендерить интерфейсы приложений быстрее, чем React, Angular или Ember.
  • Мощный инструментарий.
    elm-format форматирует исходный код согласно стандарту сообщества. Больше никаких споров о конвенциях и стилях. Достаточно просто нажать Save в предпочитаемом редакторе, и код примет необходимый вид. elm-test поддерживает как юнит-тестирование, так и фаззинг. elm-css позволяет писать код, компилируемый в файл формата.css, и обеспечивает синхронизацию констант.

Код на Elm может функционировать совместно с JavaScript, а значит, его можно вводить небольшими дозами в JS-код и по-прежнему пользоваться огромной экосистемой языка, не изобретая велосипед.

Для начала можно посетить guide.elm-lang.org, затем Elm in Action и How to Use Elm at Work (о возможностях использования Elm на работе).

Эту часть написал Ричард Фельдман, автор Elm in Action и создатель elm-css, препроцессора CSS для Elm.

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

  • Безопасность
    Во многих С-подобных языках ручное управление памятью оставляет риск ошибок памяти (например, висящие указатели или двойное освобождение памяти). Rust вобрал лучшие практики современных версий С++, например идиома RAII или умные указатели, а их применение сделано обязательным. Это систематически обеспечивает безопасность доступа к памяти чистого Rust-кода.
  • Скорость
    Почти все языки работают медленнее С, потому что их абстракции упрощают процесс разработки ПО, но ценой значительного увеличения временных затрат (на сборку мусора и динамическую диспетчеризацию). Rust упрощает программирование без потерь в скорости за счёт «абстракций с нулевой стоимостью» (zero-cost abstractions). Например, Rust управляет памятью во время компиляции и применяет статическую диспетчеризацию для дженериков (как в шаблонах С++, но более типобезопасно).
  • Конкурентность
    Конкурентный код в системных языках часто весьма уязвим и подвержен ошибкам из-за сложностей потокового программирования. Rust решает эти проблемы, предоставляя гарантии (на уровне типов) того, какие значения могут передаваться между потоками и как именно.

У Rust есть и некоторые отличительные особенности:

  • Проверка заимствования
    Эта знаменитая функция Rust — статический инструмент, который считывает код и останавливает компиляцию, если он может вызвать ошибки памяти. Значения либо принадлежат одному месту, либо заимствуются несколькими, а далее выполняется анализ того, как изменяется владение значением на протяжении работы программы. Проверка заимствования также предотвращает «гонки данных» в параллельном коде.
  • Композиция вместо наследования
    Вместо основанной на наследовании системы классов, как в C++ или Java, Rust использует свойства, или компонуемые интерфейсы, для поддержки модульного программирования. Программист может не указывать, что определённый тип является частью классовой иерархии — он сможет описать возможности типа, то есть указать, что он должен быть Printable и Hashable, а не наследоваться из класса PrintableHashable.
  • Сильный инструментарий
    Любому знатоку С/С++ знакомо, какими болезненными могут быть установка зависимостей, компиляция кода на различных платформах или борьба со скрытыми конфигурациями CMake. Менеджер пакетов Rust и кроссплатформенные API экономят массу сил и нервов.

Больше информации можно найти на The Rust Book и Rust by Example.

Эту часть написал Уилл Крайтон, студент Стэнфордского университета, который специализируется на параллельных/конкурентных системах, визуальном программировании, а также проектировании языков программирования/компиляторов. Он часто пишет про Rust в своём блоге.

Kotlin

Kotlin — это статически типизированный язык, исполняемый на JVM и компилируемый в JavaScript. Разработан компанией JetBrains, когда у неё возникла потребность в новом языке для создания инструментов, которые писались преимущественно на Java. Нужно было что-то, что позволило бы использовать существующую кодовую базу, но вместе с тем решало некоторые проблемы, c которыми компания сталкивалась при использовании Java. Именно на «лечение» наиболее распространённых «болячек» при создании ПО и ориентировались авторы Kotlin, в результате чего язык и получил свои характеристики:

  • Лаконичность
    Сокращение количества шаблонного кода, необходимого для выражения определённых конструкций;
  • Универсальность
    Создание языка, подходящего для любого вида промышленной разработки приложений — мобильных, десктопных, веб-приложений или серверной части;
  • Безопасность
    Позволить языку самому обрабатывать частые проблемы, связанные, например, с ошибкой null reference exception;
  • Интероперабельность
    Сделать язык, совместимый с существующими кодом на Java, библиотеками и фреймворками, что обеспечило бы плавный переход на новое средство разработки;
  • Совместимость с различными инструментами
    JetBrains создаёт инструменты, и делает это исходя из того, что многие рутинные задачи можно автоматизировать, сделав разработку более эффективной и продуктивной. А значит, язык должен позволять запросто применять сторонние инструменты.

Главным качеством Kotlin всегда была и будет прагматичность: найти наиболее распространённые и частые проблемы при написании кода и попытаться устранить их. Это проявляется в различных особенностях языка, например:

  • null-безопасность по умолчанию: типы в Kotlin по умолчанию не допускают неопределённого значения, что позволяет избежать исключений пустых ссылок или указателей;
  • делегация первого класса: возможность делегировать функциональность члена класса внешней функции обеспечивает повторное использование и лучшую композицию;
  • конвенции: ряд конвенций позволяют писать выразительный код, благодаря чему можно создать сильно типизированный проблемно-ориентированный язык с лучшей читабельностью и упрощённым рефакторингом.

Версия Kotlin 1.0 вышла в феврале 2020 года спустя более пяти лет разработки и масштабных тестирований на реальных проектах. На сегодняшний день Kotlin используется более чем в десяти продуктах JetBrains, а также компаниями Amex, NBC Digital, Expedia и Gradle.

Больше информации можно найти на kotlinlang.org.

Эту часть написал Хади Харири — вице-президент по защите интересов разработчиков JetBrains, редактор блога Kotlin и главный пресс-секретарь Kotlin.

Crystal

Crystal — это язык программирования общего назначения с девизом «Скорость С, качество Ruby». Это высокоуровневый, статически типизированный, компилированный, полностью объектно-ориентированный язык с продвинутым выводом типов и сбором мусора.

Ключевые цели проектировщиков Crystal:

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

Некоторые уникальные особенности Crystal:

  • каналы: в Crystal есть каналы, вдохновлённые CSP (так же, как и в Go), что обеспечивает конкурентность. Для этого в нём есть согласованные легковесные потоки Fibers. Можно запросто создать такой поток, используя команду spawn и операцию asynchronous/nonblocking;
  • макросы: макросы в Crystal позволяют избежать шаблонного кода и получить возможности метапрограммирования. Они действительно мощны и вычисляются во время компиляции, а значит, не отражаются на производительности;
  • команда crystal: эта команда сама по себе многофункциональна и включает замечательные инструменты. Она используется для создания нового проекта, компиляции, запуска тестов и многого другого. В ней есть встроенное средство форматирования кода, а также интерактивная среда для быстрого прототипирования crystal play, подобная irb.

Бонус

выразительность: код гораздо больше читается, чем пишется. Благодаря Ruby, Crystal поистине выразителен и прост для понимания. Он будет легко даваться новичкам и в конечном итоге оправдает себя благодаря упрощённому сопровождению кода.

Больше информации можно найти в официальных руководствах Crystal Book и Crystal for Rubyists.

Эту часть написал Сердар Догруйол — автор Crystal for Rubyists, создатель Kemal, веб-фреймворка для Crystal, и куратор Crystal Weekly.

Elixir

Elixir появился в 2012 году. Это функциональный язык общего назначения, отличающийся продуктивностью, масштабируемостью и простотой в поддержке. Хотя этот язык относительно молод, он компилируется в байткод, исполнимый на виртуальной машине Erlang (BEAM). Erlang VM берёт начало в телекоммуникационной отрасли, развивается уже почти 25 лет и лежит в основе многих массивных, высокодоступных и отзывчивых систем.

На данный момент Elixir преимущественно используется для построения веб-приложений либо в Cowboy, который по сути представляет собой НТТР-сервер, либо в полноценном веб-фреймворке Phoenix. С помощью фреймворка Nerves он также начинает проникать в нишу вложенных систем.

Синтаксис и набор инструментов Elixir во многом позаимствованы у Ruby. И хотя схожесть синтаксиса чисто внешняя, инструментарий Elixir покажется знакомым всем, кто владеет Ruby. Команды хорошо продуманы, просты в применении и обеспечивают продуктивность разработчика.

Цели языка:

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

Пример контроллера Phoenix, написанного на Elixir. Источник: TechBeacon

Отличительные черты:

  • неизменяемые структуры данных и отсутствие побочных эффектов помогают упростить сопровождение и понимание крупных систем;
  • супервизоры позволяют определить внутреннее дерево процессов и установить правила автоматического выявления ошибок;
  • сопоставление с образцом предоставляет альтернативу условным и граничным операторам;
  • конкурентность, основанная на модели акторов без разделения ресурсов хорошо подходит для решения существующих проблем конкурентности на высоком уровне. См. The Road to 2 Million Connections;
  • очень эффективное управление ресурсами даёт возможность обслуживать множество пользователей с при ограниченном количестве аппаратных средств. См. Why WhatsApp Only Needs 50 Engineers for Its 900M Users;
  • замена кода в «горячем режиме» и деплой с нулевым временем простоя.

Популярность Elixir и Phoenix неуклонно растёт, потому что вместе они позволяют легко создавать сложные трудоёмкие веб-API и приложения, которые просты в сопровождении, отлично функционируют и масштабируются. Именно поэтому Pinterest, Bleacher Reports и многие другие компании предпочли Elixir для создания ключевых элементов инфраструктуры своих продуктов. Они гарантируют продуктивность без ущерба производительности (и наоборот), чем могут похвастаться немногие другие языки.

Эту часть написал Кристиан Нельсон, партнёр и директор разработки Carbon Five.

Добавить комментарий