Социальные сети Рунета
Четверг, 28 марта 2024

Работа с датами на языке R (базовые возможности, а также пакеты lubridate и timeperiodsR) Получить текущую дату в любом языке программирования, операция эквивалентная "Hello world!". Язык R не является исключением. В этой статье мы разберёмся с тем, как устроена работа с датами в базовом синтаксисе языка R, а также рассмотрим несколько полезных пакетов, расширяющ...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

[Из песочницы] Имплементация кэша на Verilog В данной статье разбор простейшей реализации RAM на языке Verilog. Перед тем, как перейти к разбору кода, рекомендуется изучить базовый синтаксис языка Verilog. Здесь вы можете найти обучающие материалы. Читать дальше →

[Перевод] Пять вопросов о проектировании языков программирования Руководящая философия 1. Языки программирования для людей Языки программирования это то, как люди говорят с компьютерами. Компьютер будет рад поговорить на любом языке, который не будет двусмысленным. Причина почему у нас есть высокоуровневые языки — потому что люди не мо...

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

Julia: функции и структуры-как-функции Несмотря на то, что в языке Julia по замыслу отсутствует «классическое» объектно-ориентированное программирование с классами и методами, язык предоставляет средства абстрагирования, ключевую роль в которых играет система типов и элементы функционального программирования. Рас...

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

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

Зачем вам учить Go Источник картинки Go — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причина...

[Перевод] Современные возможности C++, о которых надо знать всем программистам Автор материала, перевод которого мы сегодня публикуем, говорит, что C++, в его современном виде, если сравнивать его с тем, чем был этот язык несколько лет назад, значительно изменился в лучшую сторону. Конечно, эти изменения произошли далеко не сразу. Например, в былые вре...

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

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

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

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

[Из песочницы] Новый язык программирования Mash На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, функциональный и удобный язык. В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный конц...

Язык программирования Zig Первым комментарием к замечательной статье Субъективное видение идеального языка программирования оказалась ссылка на язык программирования Zig. Естественно, стало интересно, что же это такое за язык, который претендует на шину C++, D и Rust. Посмотрел — язык показался симп...

Bixby «заговорит» на новых европейских языках Компания Samsung Electronics объявляет о запуске поддержки новых языков в интеллектуальной платформе Bixby. В дополнение к уже существующим американскому английскому, корейскому и китайскому языкам – виртуальный помощник теперь сможет понимать британский английский, немецкий...

Обектно ориентированное програмирование в графических языках Объектно-ориентированное программирование (ООП) – концепция, которая призвана облегчить разработку сложных систем, за счет введения новых понятий, более приближенных к реальному миру, чем функциональные и процедурные языки программирования. Как пишет википедия, «Обычный чело...

[Перевод] На какие языки переводить свою игру в 2019 «Игра хорошая, но без русского языка ставлю единицу» – частый отзывов в любом сторе. Учить английский, конечно, хорошо, но может помочь и локализация. Перевел статью, на какие языки ориентироваться, что переводить и стоимости локализации. Сразу ключевые тезисы: План-мин...

Google запустил инструмент для создания запросов к Google Ads API Google представил новый инструмент, предназначенный для построения запросов к Google Ads API. Новый API использует язык запросов Google Ads, который позволяет возвращать результаты по ресурсам аккаунта и метрикам. Как объяснили в компании, синтаксис этого языка даёт возможно...

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

Как установить русский язык на iPhone или iPad (iOS) Достаточно часто к нам обращаются новоиспеченные iOS-пользователи, которые по разным причинам стали владельцами iPhone или iPad с языком системы отличным от русского. Надо сказать, что iOS поддерживает огромное количество языков и иногда изменить язык системы не так просто, ...

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

[Перевод] Дженерики в TypeScript: разбираемся вместе Всем привет! Команда TestMace публикует очередной перевод статьи из мира web-разработки. На этот раз для новичков! Приятного чтения. Развеем пелену таинственности и недопонимания над синтаксисом <T> и наконец подружимся с ним Наверное, только матёрые разработчики Java...

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

[Перевод] Cython: более чем 30-кратное ускорение Python-кода Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу н...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

Что важнее: знать язык программирования или уметь решать бизнес-задачу? Много ходит споров о том, какой стоит изучить язык программирования, чтобы сделать карьеру в сфере разработки. Но я глубоко убежден, что языком обязательный набор знаний не ограничивается. К сожалению, не все это понимают. Читать дальше →

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

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

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

[Из песочницы] Архитектура компьютерных систем 1 часть. Логические вентили Логические элементы Доброго времени суток, я начинаю серию статей по написанию виртуальной машины на языке Golang. Я выбрал этот язык так как он прост для чтения и имеет в стандартной библиотеке уже необходимые функции, которые пригодятся в дальнейшем. Эта статья не несёт в...

5 способов сделать Python-сервер на Raspberry Pi. Часть 2 Привет Хабр. Сегодня мы продолжим изучать сетевые возможности Raspberry Pi, а точнее их реализацию на языке Python. В первой части мы рассмотрели базовые функции простейшего веб-сервера, работающего на Raspberry Pi. Сейчас мы пойдем дальше, и рассмотрим несколько способов, ...

[Перевод] Питон, пожирающий мир: как побочный проект одного разработчика стал популярнейшим языком программирования Разочаровавшись в недостатках существовавших языков программирования, Гвидо Ван Россум создал язык Python. Сейчас этот язык используют миллионы людей, и Ник Хит беседует с ван Россумом о прошлом и будущем языка. Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году В конце ...

[Из песочницы] SpaceVIL — кроссплатфоремнный GUI фреймворк для разработки на .Net Core, .Net Standard и JVM В данной статье я постараюсь рассказать о фреймворке SpaceVIL (Space of Visual Items Layout), который служит для построения пользовательских графических интерфейсов на платформах .Net / .Net Core и JVM. SpaceVIL является кроссплатформенным и мультиязычным фреймворком, в его ...

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

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

MPS 2018.3: планы генерации, улучшения в языке сборки и упаковки и в языке редактора, обновленный интерфейс Привет, Хабр! Недавно мы выпустили [MPS 2018.3](https://www.jetbrains.com/mps/download/). В этой версии много новых функций, с которыми работа над проектами станет еще эффективнее. Мы улучшили планы генерации и язык описания редактора, добавили новые конструкции в язык сборк...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

[Перевод] Зачем нужны дженерики? Эта статья о том, что будет означать добавление дженериков в Go, и почему я считаю, что нам это следует сделать. Также я коснусь возможного изменения архитектуры языка ради добавления дженериков. Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментари...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

Не очередной язык программирования. Часть 2: Логика представлений Вторая часть трилогии о языке и платформе lsFusion. Первую часть можно найти тут. В ней речь пойдет о логике представлений, а именно обо всем том, что связано с объединением данных и отображением их пользователю или другим информационным системам. Читать дальше →

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

[Перевод] Собеседование: Swift. Вопросы и ответы Языку программирования Swift всего четыре года, но он уже становится основным языком разработки для iOS. Развиваясь до версии 5.0, Swift превратился в сложный и мощный язык, отвечающий как объектно-ориентированной, так и функциональной парадигме. И с каждым новым релизом в н...

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

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

Kotlin как будущее разработки приложений на Android С момента появления версии 1.0 прошло всего несколько лет, а язык приняли на вооружение многие крупные компании и разработчики. Всё благодаря тому, что создателям языка удалось добиться целей, поставленных в начале пути — разработать инструмент, который был бы удобнее и б...

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

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

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

Разработчики назвали самые востребованные языки программирования Самыми популярными языками программирования для освоения в этом году у разработчиков будут Open Source-язык …

Английский vs. Эсперанто: за кем будущее? За последние 50 лет позиции английского языка на международной арене усилились до невиданного ранее уровня. На сегодня в мире примерно 378 миллионов людей говорят на английском в качестве родного и еще от 470 миллионов до 1 миллиарда указывают его как второй язык. Что приме...

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

[Из песочницы] Объектно-ориентированное программирование в Java и Python: сходства и отличия Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера. Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочи...

Язык программирования P4 P4 — это язык программирования, предназначенный для программирования правил маршрутизации пакетов. В отличие от языка общего назначения, такого как C или Python, P4 — это предметно-ориентированный язык с рядом конструкций, оптимизированных для сетевой маршрутизации. P4 — эт...

Книга «Head First. Kotlin» Привет, Хаброжители! У нас вышла книга для изучения Kotlin по методике Head First, выходящей за рамки синтаксиса и инструкций по решению конкретных задач. Эта книга даст вам все необходимое — от азов языка до продвинутых методов. А еще вы сможете попрактиковаться в объектно-...

Игрушка ГАЗ-66 на пульте управления. Часть 2 В этой части поговорим о программной составляющей, как оживлялась машинка. Какая ОС использовались, какой язык был выбран, с какими проблемами сталкивался. Читать дальше →

[Из песочницы] Рендеринг 3D графики с помощью OpenGL Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают графические конвейеры, и что они из себя представляют. В этой статье не будет точных ...

Python и FPGA. Тестирование В продолжение к первой статье, хочу на примере показать вариант работы с FPGA (ПЛИС) на python. В данной статье затрону подробнее аспект тестирования. Если фреймворк MyHDL позволяет людям, работающим на python, используя знакомый синтаксис и экосистему, заглянуть в мир FPGA,...

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

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

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

[Из песочницы] Английский и айтишник: английскую сову на русский глобус? Люди с техническим складом ума во всем стремятся найти систему. При изучении английского, столь востребованного в IT, многие программисты сталкиваются с тем, что не могут понять, как устроен этот язык, его систему. “Кто виноват?” В чем же проблема? Казалось бы, программист...

[Из песочницы] Синтаксический разбор предложения на русском языке В данной статье описывается процесс синтаксического анализа предложения русского языка с использованием контекстно-свободной грамматики и алгоритма LR-анализа. Обработка естественного языка — общее направление искусственного интеллекта и математической лингвистики. Оно изуч...

Class Template Argument Deduction Стандарт C++17 добавил в язык новую фичу: Class Template Argument Deduction (CTAD). Вместе с новыми возможностями в C++ традиционно добавились и новые способы отстрела собственных конечностей. В этой статье мы будем разбираться, что из себя представляет CTAD, для чего испол...

[Перевод] Что нового в Zabbix 4.4 Команда Zabbix с радостью сообщает о выходе Zabbix 4.4. Последняя версия поставляется с новым Zabbix агентом, написанным на языке Go, устанавливает стандарты для шаблонов Zabbix и предоставляет расширенные возможности визуализации. Давайте рассмотрим наиболее важные функц...

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

[Перевод] JavaScript — лучший язык программирования для начинающих. Так это или нет? JavaScript, несмотря на его многочисленные недостатки, возможно, является самым лучшим языком программирования для начинающих разработчиков, и лучшим языком, с которым могут повозиться дети. Шёл 2007 год. Отличное издательство технических книг O’Reilly Media обратилось ко ...

Python стал «языком 2018 года» по версии экспертов TIOBE Эксперты TIOBE назвали Python языком программирования 2018 года. По словам специалистов, Python сегодня является неотъемлемой частью многих IT-сфер. Он лидирует по использованию в статистике и при создании систем искусственного интеллекта, скриптов и системных тестов, а такж...

Python обогнал Java и стал вторым по популярности языком на GitHub В новом исследовании State of the Octoverse, которое ежегодно публикует GitHub, Python обогнал Java и вышел на второе место по популярности среди всех языков программирования.

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

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

Языки функционального программирования: прошлое, настоящее и будущее Языки функционального программирования — это особый класс языков программирования. Портал Techopedia рассказывает об их истории, предназначении и характеристиках. Clojure, Elixir, Elm, F#, Haskell, Idris и Scala — это ...

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

Джулия и параллельные вычисления С момента выхода в августе 2018, язык Julia активно набирает популярность, войдя в топ 10 языков на Github и топ 20 самых популярных профессиональных навыков по версии Upwork. Для начинающих стартуют курсы и выпускаются книги. Julia используется для планирования космических...

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

Тесты или типы? — Rust version Пару дней назад 0xd34df00d опубликовал здесь перевод статьи, описывающей, что можно узнать о функции в разных языках, если рассматривать её как "чёрный ящик", не используя информацию о её реализации (но, разумеется, не мешая ей пользоваться компилятору). Разумеется, получаем...

[Перевод] Courier: мигрирование Dropbox на gRPC Примечание переводчика Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке...

Выпуск Rust 1.36.0: Трейт Future, стабилизация alloc и MaybeUninit<T> Представляю вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда по разработке языка программирования Rust рада анонсировать новую версию, 1.36.0. Rust — это язык программирования, позволяющий каждому разрабатывать на...

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

Заблуждения начинающих C# разработчиков. Пытаемся ответить на стандартные вопросы Недавно мне выпала возможность пообщаться с довольно большим количеством начинающих специалистов по разработке на языке C#. Многие из них интересуются языком и платформой, и это очень круто. Среди зеленых юниоров распространено мракобесие по поводу очевидных (только что проч...

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

Программирование в России введут с начальной школы Одно из заданий детского курса программирования на Code.org. Справа — программа на языке Blockly Согласно предложению Министерством просвещения РФ, в курс математики для младших школьников включат основы создания кодов и языков программирования, пишут «Известия». Это преду...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

Знакомство со статическим анализатором PVS-Studio для Java На протяжении многих лет команда PVS-Studio развивает одноименный статический анализатор. На данный момент анализатор представляет собой сложное программное решение и предоставляет возможность анализа таких языков программирования, как C, C++, C# и Java на платформах Windows...

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

Что необходимо знать о GDPR в 2019 Сегодня поговорим о “великом и ужасном” GDPR (General Data Protection Regulation) или Общем регламенте по защите персональных данных. Не смотря на то, что закон был принят еще в мае 2018 года, многие компании до сих пор не выполняют всех его требований. Мы встретились с н...

[Перевод] Пишем HTTP/1.1 & HTTP/2 клиент и сервер на Golang Golang — отличный язык программирования с широким спектром возможностей. В этой статье показано, как на Go можно написать клиент и сервер для протоколов HTTP/1.1 и HTTP/2. Читать дальше →

Конференция Lua in Moscow 2019 В первое воскресенье марта в офисе Mail.ru Group пройдёт третья международная конференция Lua in Moscow 2019. Вас ждут выступления автора языка Роберто Иерусалимского и лучших зарубежных и отечественных экспертов по Lua и LuaJIT. Lua — уникальный язык программирования, ко...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

[Из песочницы] Матрёшка Си. Слойная система языка программы Попробуем представить химию без Периодической системы Менделеева (1869). Сколько же элементов надо было держать в голове, причём в произвольном порядке… (Тогда — 60.) Для этого достаточно подумать об одном или нескольких сразу языках программирования. Те же чувства, тот же...

Построение поведенческих воронок на языке R, на основе данных полученных из Logs API Яндекс.Метрики Анализ воронки продаж — типичная задача для интернет маркетинга, и в частности электронной коммерции. С её помощью вы можете: Выяснить на каком из шагов к покупке вы теряете потенциальных клиентов. Моделировать объём дополнительного притока выручки, в случае расширения каж...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

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

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

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

Golang: специфические вопросы производительности Язык Go набирает популярность. Настолько уверенно, что появляется все больше конференций, например, GolangConf, а язык входит в десятку самых высокооплачиваемых технологий. Поэтому уже имеет смысл разговаривать о его специфических проблемах, например, производительности. Кро...

[Из песочницы] Как с нуля написать приложение? С чего начать новичку? Flutter / Программирование Пол года назад я сама искала такую статью и теперь я очень хочу посоветовать себе в прошлом с чего можно начать. 1. Выбрать тему приложения Не нужно долгих мук выбора, просто начните делать то, что вам пригодилось бы. Лучше что-то простое. Нужно понимать, что мы пока не стр...

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

Приглашаем на неделю NLP в Яндекс С 26 по 29 марта в Яндексе пройдёт неделя NLP, организованная совместно Школой анализа данных и Yandex.Research. Это четырёхдневный интенсив, рассчитанный на разработчиков и исследователей, хорошо знакомых с Natural Language Processing и глубинным обучением. Лекторы курса: ...

[Из песочницы] Подводные камни Java Здравствуйте. Хочу представить вашему вниманию небольшую статью. Цель данной публикации: Показать наиболее часто встречающиеся ошибки начинающих и некоторые приемы их исправления. Понятно, что некоторые ошибки могут быть сложными и происходить по тем или иным причинам. Цель...

[Перевод] Грокаем DLR Предисловие переводчика Это скорее вольный пересказ, а не перевод. Я включил в эту статью только те части оригинала, которые имеют непосредственное отношение к внутренним механизмам работы DLR или объясняют важные идеи. Примечания будут заключены в квадратные скобки Многие...

Язык и органы чувств Привет, Хабр! Представляю вашему вниманию перевод статьи "How your language reflects the senses you use" автора Sophie Hardach. Что вам проще описать: цвет травы или ее запах? Ответ может зависеть от того, откуда вы родом, и, в частности, от того, на каком языке вы с детств...

Пишем свой язык программирования, часть 2: промежуточное представление программ Введение Приветствую всех, кто заглянул почитать мою очередную статью. Повторюсь, я описываю создание языка языка программирования, на основе проведенной ранее работы, результаты которой описал в этом посте. В первой части (линк: habr.com/post/435202) я описал этапы прое...

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

Как ускорить работу с API на языке R с помощью параллельных вычислений, на примере API Яндекс.Директ (Часть 2) В прошлой статье я рассказал о том, что такое многопоточность, и привёл примеры её реализации на языке R при работе с API Яндекс.Директ с помощью пакетов doSNOW, doParallel и конструкции foreach. Данная статья является продолжением, но может быть рассмотрена как автономное р...

Гомер или первый в истории Opensource. ч.1 Кажется, что Гомер с его поэмами — это что-то далекое, архаичное, трудночитаемое и наивное. Но это не так. Мы все пронизаны Гомером, древнегреческой культурой из которой вышла вся Европа: наш язык пестрит словами и цитатами из древнегреческой литературы: взять хотя бы такие ...

Как в языке сформировать существительное? Сигнал(«Видел мамонта») Попробуем сформировать описание процесса появления новой звуковой единицы в естественном языке. Для этого рассмотрим отдельно живущее племя. И построим цепочку ситуаций, которую необходимо совместно пережить нескольким особям этого племени, приводящую к формированию в языке ...

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

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

[Перевод] Элегантная обработка ошибок в JavaScript с помощью монады Either Давайте немного поговорим о том, как мы обрабатываем ошибки. В JavaScript у нас есть встроенная функция языка для работы с исключениями. Проблемный код мы заключаем в конструкцию try...catch. Это позволяет прописать нормальный путь выполнения в разделе try, а затем разобрать...

[Перевод] JavaScript не нужно ничем заменять — другие языки тоже столкнутся с теми же проблемами «Существует только два вида языков: те, на которые жалуются и те, которыми никто не пользуется», — Бьёрн Страуструп, создатель C++ Очень часто слышатся заявления о том, что JavaScript нужно заменить каким-то другим языком. Причиной всегда становится то, что у JavaScript нак...

Небольшой обзор SIMD в .NET/C# Вашему вниманию предлагается небольшой обзор возможностей векторизации алгоритмов в .NET Framework и .NETCORE. Цель статьи познакомить с этими приёмами тех, кто их вообще не знал и показать, что .NET не сильно отстаёт от "настоящих, компилируемых" языков для нативной разрабо...

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

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

[Из песочницы] Инициализация и работа интерпретатора байткода в JVM HotSpot под x86 Почти каждый Java разработчик знает, что программы, написанные на языке Java изначально компилируются в JVM-байткод и хранятся в виде class-файлов стандартизованного формата. После попадания таких class-файлов внутрь виртуальной машины и пока до них еще не успел добраться ко...

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

Новый формат Gallery Ads в Google Рекламе стал доступен на русском языке Google Ads сообщил о запуске нового формата Gallery Ads, презентованного на Marketing Live в мае, на 11 языках по всему миру. Теперь этот формат доступен на английском, русском, немецком, японском, французском, испанском, голландском, португальском, итальянском, шведском и п...

[Перевод] Как встроить С-библиотеку в Swift-фреймворк В 2014 году был представлен Swift, новый язык для разработки приложений экосистемы Apple. Новинка принесла не только новые возможности и функции, но и проблемы — тем, кто хотел пользоваться старыми добрыми C-библиотеками. В этой статье я рассмотрю одну из них — бандлинг C-...

Пример Model-View-Update архитектуры на F# Кому-то не нравился Redux в React из-за его имплементации на JS? Мне он не нравился корявыми switch-case в reducer'ах, есть языки с более удобным pattern matching, и типы лучше моделирующие события и модель. Например, F#. Эта статья — разъяснение устройства обмена сообщения...

[Перевод] LLVM IR и Go В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR. TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см...

[Из песочницы] Хэш таблицы в Go. Детали реализации Порассуждаем об имплементации map в языке без дженериков, рассмотрим что такое хэш таблица, как она устроена в Go, какие есть плюсы и минусы данной реализации и на что стоит обратить внимание при использовании данной структуры. Детали под катом. Читать дальше →

Julia и нейронные сети: Flux Прошло чуть больше года, с тех пор как MIT объявил о релизе высокопроизводительного языка общего назначения Julia. С тех пор язык набирает популярность: он используется в более чем 1500 университетах (в некоторых преподается в качестве первого ЯП), а области применения охва...

Блеск и нищета переводной литературы — Лучше вообще не читать, чем такое. Часто ли вы читаете техническую литературу? Именно литературу, а не мануалы на хабре или багрепорты на гитхабе? А когда читаете, на каком языке предпочитаете это делать (если есть возможность выбирать, конечно)? Какую версию предпочтёт...

[Из песочницы] Эффективные и не эффективные методы кодинга на Python Привет, Хабр! Предлагаю Вашему вниманию перевод статьи Good and Bad Practices of Coding in Python автора Duomly. Python – высокоуровневый язык программирования, акцентирующий внимание на удобочитаемости. Он разрабатывается, поддерживается и часто используется в соответствии...

C++ против C# Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это. Но что получится, если обратиться к опытным специалистам, которые сами всё это поним...

Разговорный BERT — учим нейросеть языку соцсетей Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об э...

F#3: Форматирование текста При работе с любым языком вам, скорее всего, нужно будет отформатировать текст, и F# ничем не отличается. Поскольку F# является языком .NET, мы всегда можем использовать Console.WriteLine (..) и String.Format (..), где мы можем использовать любой из обычных форматеров, кото...

Один день из поддержки пользователей PVS-Studio Мы рады любым тематическим общениям на тему качества кода. Нам пишут клиенты, студенты и любые другие пользователи со всех уголков интернета. Независимо от страны, часового пояса или языка. Языка разговорного, конечно. Среди языков программирования нам всё же интересен огра...

Написание UDR на языке Pascal В Firebird уже достаточно давно существует возможность расширения возможностей языка PSQL с помощью написания внешних функций — UDF (User Defined Functions). UDF можно писать практически на любом компилируемом языке программирования. В Firebird 3.0 была введена плагинная арх...

Выпуск Rust 1.37.0: Profile-Guided Optimization, неименованные константы и cargo vendor Представляем вашему вниманию перевод публикации о новой версии всеми любимого языка программирования Rust. Введение Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.37.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное...

Изучение английского — непопулярное мнение Всем привет. Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие ...

Книга «Как устроен JavaScript» Большинство языков программирования выросли из древней парадигмы, порожденной еще во времена Фортрана. Гуру JavaScript Дуглас Крокфорд выкорчевывает эти засохшие корни, позволяя нам задуматься над будущим программирования, перейдя на новый уровень понимания требований к Сле...

[Перевод] (Справа налево (Зазеркалье Кажется, с заголовком что-то не так? Это одна из проблем, с которыми сталкиваются веб-разработчики при добавлении поддержки таких языков, как арабский. В этой статье расскажем о проблемах, с которыми мы столкнулись, и решениях, которые придумали для поддержки арабского язык...

[Из песочницы] Краткое пособие для изучающих иностранный язык Доброго дня, уважаемое сообщество! К написанию этой статьи меня подтолкнула публикация уважаемого Mumlum Как выучить иностранный язык. Подумалось о том, что мой опыт может кому-то пригодиться. Для начала очень коротко о себе: мне 39 лет, 14 из которых я живу заграницей. В...

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

Google Tag Manager: неочевидные и полезные настройки триггеров Маркетолог в Otzyvmarketing Станислав Романов рассказал, как с помощью диспетчера тегов Google Tag Manager (GTM) настроить аналитику и отслеживать скачивание файлов с сайта. Статья для тех, кто знает основы языка JavaScript и уже работал с GTM.  Читать дальше →

Software Defined Radio — как это работает? Часть 2 Привет, Хабр. В первой части были описаны основные виды SDR-устройств и кратко были приведены их характеристики. Во второй части я расскажу подробнее о плюсах и минусах SDR, также будет рассмотрен пример доступа к приемнику из языка Python. Продолжение под катом (осторож...

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

[Из песочницы] Процесс компиляции программ на C++ Цель данной статьи: В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необ...

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

Книга «Выразительный JavaScript. Современное веб-программирование. 3-е издание» Привет, Хаброжители! Эта книга позволит глубоко погрузиться в тему, научиться писать красивый и эффективный код. Вы познакомитесь с синтаксисом, стрелочными и асинхронными функциями, итератором, шаблонными строками и блочной областью видимости. Марейн Хавербеке — практик. ...

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

6 нежданчиков от Джулии Наконец-таки появилось русскоязычное руководство по языку Julia. Там реализовано полноценное введение в язык для тех, у кого мало опыта в программировании (остальным будет полезно для общего развития), так же имеется введение в машинное обучение и куча заданий для закреплен...

Книга «Kotlin. Программирование для профессионалов» Привет, Хаброжители! Книга Джоша Скина и Дэвида Гринхола основана на популярном курсе Kotlin Essentials от Big Nerd Ranch. Яркие и полезные примеры, четкие объяснения ключевых концепций и основополагающих API не только знакомят с языком Kotlin, но и учат эффективно использо...

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

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

Анализируем тональность текстов с помощью Fast.ai В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использование...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах Итак, представим. В комнате заперты 5 котов, и чтобы пойти разбудить хозяина им необходимо всем вместе договориться между собой об этом, ведь дверь они могут открыть только впятером навалившись на неё. Если один из котов – кот Шрёдингера, а остальные коты не знают о его реше...

Два новых приложения для пользователей с нарушениями слуха Google работает над улучшением повседневной жизни пользователей Android с нарушениями слуха с помощью двух новых приложений - Live Transcription и Sound Amplifier. Live Transcribe может помочь людям с тяжелой или полной потерей слуха общаться с теми, кто не говорит на...

Надежное программирование в разрезе языков — нубообзор. Часть 1 В очередной раз провозившись два дня на написание и отладку всего четырехсот строк кода системной библиотеки, возникла мысль — “как бы хорошо, если бы программы писались менее болезненным способом”. И в первую очередь, поскольку отладка занимает гораздо больше времени, чем ...

Screen Translator 1.19.00 С помощью приложения «Экран Переводчик» вы сможете мгновенно распознать напечатанный текст для перевода, его язык и быстро получить точный перевод. Теперь не нужно для этого открывать веб-страницы с переводчиком и вводить туда предложения и фразы. Особенности: — Возмо...

Введение в контекстно-ориентированное программирование на Kotlin Это перевод статьи An introduction to context-oriented programming in Kotlin В этой статье я постараюсь описать новое явление, которое возникло как побочный результат стремительного развития языка Kotlin. Речь идет о новом подходе к проектированию архитектуры приложений и б...

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

[Перевод] Обучение с подкреплением на языке Python Привет, коллеги! В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим. Посудите сами: нашлась элементарная статья с Medium, в которой изложен контекст проблемы, описан простейший алгоритм с реализаци...

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

[Из песочницы] Три Больших Лжи о JavaScript Привет, Хабр! Представляю вашему вниманию мой перевод статьи "The Three Big Lies About JavaScript" автора Richard Kenneth. Данная статья была написана в мае 2016 года, однако ее актуальность, на мой взгляд, не исчезла. Я начинающий программист, поэтому возможны оши...

[Перевод] JavaScript: 7 полезных мелочей Автор заметки, перевод которой мы сегодня публикуем, говорит, что в JavaScript, как и в любом другом языке программирования, можно обнаружить множество маленьких хитростей, предназначенных для решения самых разных задач, как простых, так и довольно сложных. Некоторые из подо...

Множественные эксперименты: теория и практика В современном мире сложно представить развитие продукта без A/B-тестирования. Чтобы успешно запустить продукт или новую функциональность — надо грамотно спроектировать A/B, рассчитать и интерпретировать его результаты. Иногда нам требуется тестирование более чем для двух гру...

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

Введение в Си. Послание из прошлого столетия ПРЕДИСЛОВИЕ Я несколько раз в своих комментариях ссылался ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубли...

Пишем Android приложение для киноманов — Часть 1 (Прототипирование) Доброго времени суток, Хабр! Не секрет, что недавно компания Google утвердила в качестве приоритетного языка программирования ОС Android — Kotlin. В этой и последующих статьях будет рассказываться о создании приложения на этом языке. Читать дальше →

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

Формализация речи. Некоторые соображения В чем основная сложность формализации естественного языка? В том, что нам привычней формализовывать его с помощью языка же, что приводит к дурной бесконечности. Язык – сам по себе средство формализации, которым человечество давно и небезуспешно пользуется. Берем первое по...

Книга «GraphQL: язык запросов для современных веб-приложений» Привет, Хаброжители! У нас вышла книга по языку запросов GraphQL. Мы решили поделиться переводом главы «Анатомия запросов GraphQL» «Снежный клык» (Snowtooth) — выдуманный горнолыжный курорт. Ради примеров в данной главе мы сделаем вид, что это настоящая гора и мы там работ...

[Из песочницы] Замена Punto Switcher, раскладки Бирмана с помощью скрипта на autohotkey В данной статье я не предлагаю полностью заменить Punto Switcher (Спасибо Сергею Москалёву за данную программу), а только в очень ограниченном функционале. Довольно давно пользуюсь программой Punto Switcher, но не в целях автопереключения, а как переключатель по левому и пра...

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

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

[Перевод] Изучаем английский: 9 идиом в американском стиле Для того, чтобы освоить иностранный язык на уровне, близком к носителю языка, да и хотя бы просто лучше прочувствовать его, не обойтись без идиом. Английский здесь не исключение – умение к месту использовать идиомы, устойчивые выражения или фразовые глаголы сделает вашу ре...

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

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

Пентест приложений с GraphQL В последнее время GraphQL набирает всё большую популярность, а вместе с ней растёт и интерес со стороны специалистов информационной безопасности. Технологию используют такие компании, как: Facebook, Twitter, PayPal, Github и другие, а это значит, что пора разобраться, как т...

«Теория Большого взрыва» и практика применения Python Вступление В последнее время активно изучаю язык программирования Python. Особенно меня заинтересовало использование Python в распознавании и классификации лиц. В статье я попробую применить распознавание лиц для сериала «Теория Большого взрыва». Читать дальше →

Пиксельные отступы в текстурной развертке Представляем четвертую статью нашего цикла о работе с 3D-моделями в Unity. Предшествующие статьи: «Особенности работы с Mesh в Unity», «Unity: процедурное редактирование Mesh», «Импорт 3D-моделей в Unity и подводные камни». В предыдущей статье мы упомянули о проверке тексту...

[Перевод] Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик» Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопрос...

Waves выпустила обновление ноды с поддержкой языка RIDE Блокчейн-экосистема Waves Platform выпустила обновление ноды версии 0.17, благодаря которому в тестовой сети стал доступен язык программирования RIDE для dApps. Об этом журналу ForkLog сообщили представители компании. Одной из характеристик языка является защита разработчико...

Безопасный доступ к полям регистров на С++ без ущерба эффективности(на примере CortexM) Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg Всем доброго здравия! В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части про...

Сообщество программистов Kottans впервые запускает бесплатный курс по Back-end и сразу на нескольких языках Украинское сообщество программистов Kottans, известное своими бесплатными Front-End курсами, впервые запускает курс по Back-end, сообщает AIN.UA со ссылкой на представителей команды. Курс, охватывающий сразу несколько популярных языков (JavaScript, Python и Golang), стартует...

[recovery mode] Google BERT — новый поисковый алгоритм. Как изменится ранжирование и что делать сейчас? Google не устает радовать своих пользователей и официально представил новый поисковый алгоритм – Google BERT. Что известно об этом и в чем суть? Давайте разбираться. Google BERT-это алгоритм поисковой системы, призванный улучшить релевантность результатов поисковой выдач...

Luxor Сегодня мы рассмотрим графический пакет для языка Julia, который называется Luxor. Это один из тех инструментов, которые превращают процесс создания векторных изображений в решение логических задачек с сопутствующей бурей эмоций. Осторожно! Под катом 8.5 Мб легковесных карт...

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование Скачать файл с кодом и данные можно в оригинале поста в моем блоге В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ...

Математические неопределенности на примере Python Всем привет! Мы очень часто пользуемся привычными числами в наших любимых языках программирования. Привычные это 1, -1.5, pi или даже комплексные. А вот NaN, +Inf, -Inf используется нами гораздо реже. Примечание: В статье я использую элементарные функции Python версии 3.6....

[Из песочницы] Attention для чайников и реализация в Keras О статьях по искусственному интеллекту на русском языке Не смотря на то что механизм Attention описан в англоязычной литературе, в русскоязычном секторе достойного описание данной технологии я до сих пор не встречал. На нашем языке есть много статей по Искусственному Интелл...

[Перевод] XML практически всегда применяется не по назначению Язык XML был изобретен в 1996 году. Едва он успел появиться, как возможности его применения уже начали понимать неправильно, и для тех целей, к которым его пытались адаптировать, он был не лучшим выбором. Не будет преувеличением сказать, что подавляющее большинство схем XM...

[Перевод] Выпуск Rust 1.39.0: async/await, аттрибуты для параметров функций, новые константные функции Команда Rust рада сообщить о выпуске новой версии, 1.39.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.39.0 вам дост...

Управление семисегментным дисплеем с помощью ПЛИС Привет, Хабр! Хочу внести свою посильную лепту в продвижение ПЛИС. В этой статье я постараюсь объяснить, как на языке VHDL описать устройство, управляющее семисегментным дисплеем. Но перед тем как начать, хочу кратко рассказать о том как я пришел к ПЛИС и почему я выбрал язы...

Исключения в Kotlin и их особенности Наша компания уже более двух лет использует Kotlin в продакшене. Лично я с этим языком столкнулся около года назад. Тут есть много тем для разговора, но сегодня поговорим об обработке ошибок, в том числе в функциональном стиле. Расскажу, как это можно делать в Kotlin. (Фо...

Анализ коммитов и pull request'ов в Travis CI, Buddy и AppVeyor с помощью PVS-Studio В анализаторе PVS-Studio для языков С и C++ на Linux и macOS, начиная с версии 7.04, появилась тестовая возможность проверить список указанных файлов. С помощью нового режима можно настроить анализатор для проверки коммитов и pull request'ов. В этой статье будет рассказано,...

[Из песочницы] Изучение комбинаторных парсеров с Rust Привет, Хабр! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust". Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого о...

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

Книга «Классические задачи Computer Science на языке Python» Многие задачи в области Computer Science, которые на первый взгляд кажутся новыми или уникальными, на самом деле уходят корнями в классические алгоритмы, методы кодирования и принципы разработки. И устоявшиеся техники по-прежнему остаются лучшим способом решения таких задач...

[Перевод] 9 советов по использованию библиотеки Cats в Scala Функциональное программирование в Scala может быть нелегко освоить из-за некоторых синтаксических и семантических особенностей языка. В частности, некоторые средства языка и способы реализации задуманного с помощью основных библиотек кажутся очевидными, когда ты с ними знако...

HackerRank: JavaScript обошёл Java в качестве самого популярного языка программирования Платформа HackerRank, объединяющая более 5 млн программистов со всего мира, опубликовала результаты своего ежегодного исследования, посвящённого навыкам разработчиков – Developer Skills Report 2019. В опросе приняли участие более 71 тыс. инженеров по программному обеспечению...

DOU.UA опубликовал рейтинг языков программирования среди украинских IT-специалистов. В лидерах Java, JavaScript, C#, PHP и Python Украинское издание DOU.UA провело опрос среди украинских специалистов, в котором приняло участие более 900 респондентов, 90% из которых проживают в Украине. Полученные данные позволили определить наиболее популярные среди украинских специалистов языки программирования. В это...

Устройства ввода-вывода ADAM-6200 Модули удаленного ввода-вывода предназначены для связи с периферийными устройствами различных типов. Это важнейший элемент построения промышленных систем. Они могут как принимать сигналы от других устройств, так и посылать управляющие сигналы на устройства, интегрируясь с ц...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Английский язык в Индии: исторический экскурс Языковая политика в Индии на протяжении всей истории государства отличалась лояльностью ко всем языковым группам. В Конституции Индии указан 21 язык, которые имеют статус государственных. А в целом в Индии насчитывается более 1600 отдельных языков и диалектов. Хинди — это о...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

[Перевод] Основы Natural Language Processing для текста Обработка естественного языка сейчас не используются разве что в совсем консервативных отраслях. В большинстве технологических решений распознавание и обработка «человеческих» языков давно внедрена: именно поэтому обычный IVR с жестко заданными опциями ответов постепенно ухо...

[Перевод] 10 самых распространенных ошибок при работе с платформой Spring. Часть 1 Всем привет. Сегодня делимся первой частью статьи, перевод которой подготовлен специально для студентов курса «Разработчик на Spring Framework». Начнём! Spring — пожалуй, одна из самых популярных платформ разработки на языке Java. Это мощный, но довольно сложный в освоении...

WexLang — как я создал проект мечты для изучения английского языка Здравствуйте! В этой статье я бы хотел рассказать о проекте, над которым я работаю. Это сервис для эффективного чтения текстов на иностранных языках, а также для совместного чтения, обмена опытом и помощи друг другу в изучении языков. Читать дальше →

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

[Из песочницы] Новые рубежи в Физике Здравствуй, уважаемый читатель! Представляю вашему вниманию перевод с английского языка статьи «Physics, The Next Frontier» авторства Chris Hecker. Я, начинающий Java-разработчик, столкнулся с тем, что материалы по созданию физического внутриигрового движка представлены ли...

[Из песочницы] Только не говорите, что вы таким не были или мой взгляд на обучение Всем привет. Я хотел бы рассказать свое мнение по поводу современного обучения программированию. В статье речь пойдет про PHP, немного про фреймворки и немного про велосипеды. Но я думаю, что к любому языку программирования это применимо. Начнем. Помните свой первый код на P...

«Анализ данных на Python» в двух частях Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо. Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, кот...

Загадочный Forth. Знакомимся с одним из важнейших языков программирования, о котором мало кто знает Для подписчиковForth применяют в самых разных областях, включая чипсеты PCI и космические аппараты, а Павел Дуров будет использовать схожий язык в смарт-контрактах криптовалюты TON. Не претерпев больших изменений, один из старейших языков программирования позволяет воплотить...

Категории выражений в C++ Категории выражений, такие как lvalue и rvalue, относятся, скорее, к фундаментальным теоретическим понятиям языка C++, чем к практическим аспектам его использования. По этой причине многие даже опытные программисты достаточно смутно представляют себе, что они означают. В это...

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

[Из песочницы] Почему Swift может стать большим событием в глубинном обучении Здравствуй, Хабр! Представляю вашему вниманию перевод заинтересовавшей меня статьи «Why Swift May Be the Next Big Thing in Deep Learning» автора Max Pechyonkin, в которой автор рассуждает о языке на котором будет осуществляться глубокое обучение в ближайшие годы. Читать дал...

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

[Из песочницы] Создание минимального Docker-контейнера для Go-приложений Привет, Хабр! Предлагаю вашему вниманию перевод статьи основателя сервиса Meetspaceapp Nick Gauthier «Building Minimal Docker Containers for Go Applications». Время чтения: 6 минут Существует множество, как официальных, так и поддерживаемых сообществом контейнеров для разл...

EFORTH для МК-161: Структуры данных Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь: habr.com/ru/post/452398 Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший...

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

[Перевод] Хитрый Perl-квайн Прим. пер.: Встретил сегодня в твиттере очень забавный, на первый взгляд, тред. А потом пригляделся и понял, что он не только забавный, но и занятный. А раз уж так сложилось, что сегодня пятница, то решил, что стоит поделиться обнаруженным и с товарищами:) Сохраните следу...

[Перевод] Лямбды: от C++11 до C++20. Часть 2 Привет, хабровчане. В связи со стартом набора в новую группу по курсу «Разработчик C++», делимся с вами переводом второй части статьи «Лямбды: от C++11 до C++20». Первую часть можно прочитать тут. В первой части серии мы рассмотрели лямбды с точки зрения C++03, C++11 и C+...

[Из песочницы] Как работают денежные переводы с карты на карту Несмотря на то, что популярность данного вида переводов с каждым годом растёт все больше, в интернете очень мало информации о том как они работаю «изнутри», и в этой статье я простым языком расскажу что такое p2p-переводы, какие они бывают и как они устроены. Читать дальше...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

Первая модель: набор данных Fashion MNIST Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Выход новых лекций запланирован каждые 2-3 дня. Читать дальше →

[Перевод] Разбираемся с интерфейсами в Go В последние несколько месяцев я проводил исследование, в котором спрашивал людей, что им трудно понять в Go. И заметил, что в ответах регулярно упоминалась концепция интерфейсов. Go был первым языком с интерфейсами, который я использовал, и я помню, что в то время эта конце...

[Перевод] Почему вам следует использовать pathlib От переводчика: Привет, хабр! Представляю вашему вниманию перевод статьи Why you should be using pathlib и её продолжения, No really, pathlib is great. Много внимания нынче уделяется таким новым возможностям Python, как asyncio, оператору :=, и опциональной типизации. При э...

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

Книга «Swift. Основы разработки приложений под iOS, iPadOS и macOS. 5-е изд. дополненное и переработанное» Привет, Хаброжители! Язык Swift молод, он растет, развивается и изменяется, хотя основные подходы к программированию и разработке уже сформировались. В новом, пятом издании книги была полностью переработана первая часть книги, что делает знакомство с языком Swift более комф...

Завершающий курс специализации по Python от Mail.ru Group Python — простой и гибкий язык, применяемый во многих областях современной разработки. На нём создают веб-приложения, пишут игры, анализируют данные и выполняют многие другие задачи. Mail.ru Group запустила на платформе Coursera специализацию «Программирование на Python», ...

[Из песочницы] Руководство Google по стилю в C++ Часть 1. Именование Часть 2. Комментарии … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятнее иметь...

WebFPGA — разработка на Verilog в браузере Думаю, многие программисты, начиная от питонистов-датасайентистов и заканчивая суровыми разработчиками драйверов, временами возводят очи горе и мечтательно вздыхают: «Эх, пoжёcтчe бы чего, похардкорнее...». Мы, конечно, говорим про Verilog, язык описания и моделирования элек...

Евгений Кот (Wrike): Flutter уже набрал скорость и локомотивом несётся вперёд! Остался месяц до крупномасштабной ежегодной конференции DartUP, целиком посвященной языку Dart и всему, что с ним связано. Конечно же, вниманием не будет обделен "флагман" языка — фреймворк для кроссплатформенной разработки Flutter. Чтобы понять, чего стоит ожидать от конфер...

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

Введение в свёрточные нейронные сети (Convolutional Neural Networks) Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Выход новых лекций запланирован каждые 2-3 дня. Читать дальше →

Релиз InterSystems IRIS 2019.1 В середине марта вышла новая версия платформы данных InterSystems IRIS 2019.1 Представляем вашему вниманию список изменений на русском языке. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке. Читать дальше →

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

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

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

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

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 2: С++ В этой статье мы разберем на двух примерах, как написать смарт контракт на языке C++, используя WASM на основе блокчейн сети Ontology. Сегодня, после нескольких месяцев стабильной работы в тестовом режиме, Ontology запустила WASM в основной сети, что позволяет безболезненн...

[Перевод] Заложники COBOL и математика. Часть 2 Сегодня публикуем вторую часть перевода материала о математике, о COBOL, и о том, почему этот язык всё ещё жив. → Первая часть Читать дальше →

Grasshopper 2.6.2 Grasshopper — приложение, позволяющее выучить основы программирования на языке JavaScript с помощью бесплатных коротких уроков. Обучение в новом сервисе представлено в игровой форме, из-за чего программа напоминает самый популярный сервис для изучения иностранных языков Duol...

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

Прямой эфир: как обуздать iOS-разработку в больших командах Всем привет! Меня зовут Женя Суворов, я руководитель команды мобильной архитектуры в Авито. 4 апреля на нашем ютуб-канале и в социальных сетях мы проведем прямой эфир и обсудим, как в iOS-разработке удержать качество продукта на высоком уровне даже при сильном масштабировани...

[Перевод] Краткий и бодрый обзор архитектуры компиляторов Большинство компиляторов имеют следующую архитектуру: В данной статье я собираюсь детально препарировать эту архитектуру, элемент за элементом. Можно сказать, что эта статья — дополнение к огромному количеству существующих ресурсов на тему компиляторов. Она является а...

Создатель C++ «похоронил» биткоин Масштабное энергопотребление и использование в незаконных целях является доказательством нежизнеспособности биткоина. Об этом в интервью Youtube-каналу Лекса Фридмана, специалиста по искусственному интеллекту, заявил создатель языка программирования C++ Бьерн Страуструп. Дат...

Инструменты для запуска и разработки Java приложений, компиляция, выполнение на JVM Ни для кого не секрет, что на данный момент Java — один из самых популярных языков программирования в мире. Дата официального выпуска Java — 23 мая 1995 года. Эта статья посвящена основам основ: в ней изложены базовые особенности языка, которые придутся кстати начинающим “д...

AliExpress андроид 2019 Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция ...

Использование API HTMS для работы с реляционно-сетевой базой данных Введение В статье «Реляционно-сетевая модель данных» была предложена новая концепция моделирования данных HTMS, являющаяся развитием канонической реляционной модели. В настоящем материале будет показано на примерах, как ее можно практически использовать с применением API лог...

WWDC 2019: главное с презентации Keynote по версии роботов В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язы...

CLion 2019.1: ClangFormat, подсветка кода через Clangd, memory view, начальная поддержка микроконтроллеров Привет, Хабр! У команды CLion множество отличных новостей — питерская часть команды вместе с другими коллегами успешно перебралась в новый офис, к нам присоединились новые классные разработчики, а главное, мы буквально на днях выпустили первое большое обновление в этом году...

Парадокс Питона (The Python Paradox) В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox). Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная...

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

PVS-Studio for Java отправляется в путь. Следующая остановка — Elasticsearch Далеко не первый год команда PVS-Studio ведет блог о проверках open-source проектов одноименным статическим анализатором кода. На сегодняшний момент проверено более 300 проектов, а в базу найденных ошибок выписано более 12000 случаев. Изначально анализатор был реализован дл...

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

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

[Из песочницы] HTML, который мы потеряли Привет, Хабр! Представляю вашему вниманию перевод статьи "The HTML we never had" автора Сергея Кучерова. В этом году исполняется 30 лет с тех пор, как Бернерс-Ли начал разрабатывать язык HTML. С тех пор мы прошли долгий путь, начиная с восхищения новой технологией,...

Алиэкспресс андроид приложение для поиска скидок Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция полезна для тех...

Бьёрн Страуструп жалеет, что биткоин был написан на C++ – языке программирования, который он создал Создателю C++ Бьёрну Страуструпу (Bjarne Stroustrup) не нравится, что для написания исходного кода биткоина был использован именно его язык программирования. В своём недавнем интервью датский учёный-программист назвал C++ инструментом, использование которого невозможно контр...

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

Optlib. Реализация генетического алгоритма оптимизации на Rust В этой статье описывается библиотека optlib, предназначенная для решения задач глобальной оптимизации на языке Rust. На момент написания этой статьи в этой библиотеке реализован генетический алгоритм нахождения глобального минимума функции. Библиотека optlib не привязана к к...

Вычисляем символьные выражения с нечеткими треугольными числами в python Привет, Хабр! Сегодня миниатюрный туториал о том, как сделать разбор строки с математическим выражением и вычислить его используя нечеткие треугольные числа. При соответствующих изменениях кода туториал сгодится для работы и с другими «кастомными» переменными. Требования: ...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

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

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

Ускорение запуска Julia при помощи PackageCompiler.jl Зайдя на официальный сайт языка программирования Julia, можно увидеть утверждение: "Julia is fast!". Однако, новые пользователи на практике сталкиваются с проблемой медленной загрузки модулей, в особенности графических [1,2]. Диалектически, причиной медленного запуска являет...

[Из песочницы] Использование верилятора как средства быстрого моделирования RTL проектов. Введение в UVM В данной статье будут описаны установка и применение бесплатного ПО для моделирования схем цифровой логики на языке Verilog как альтернативы коммерческих продуктов Incisve от компании Cadense и ModelSim от компании MentorGraphics. Сравнение моделирования в ModelSim и Verilat...

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

Одноклассники запустили татарский язык интерфейса Социальная сеть Одноклассники запустила локализацию на 16-й язык: теперь десктопный интерфейс соцсети стал доступен на татарском. Мобильная версия соцсети, а также приложения Одноклассников на iOS и Android будут локализованы в ближайшее время. Для татарской версии Однокласс...

Шифрование трафика в Direct Connect, ч.2 – Ты кто??? – Я новый русский. – А я тогда кто?! Предисловие В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом. Сегодня нам предстоит научиться использовать такой хаб по прямому назначению. Для этого мы рассмотрим совместимые DC клиенты,...

[Перевод] Введение в глубокое обучение с использованием TensorFlow Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Читать дальше →

[Из песочницы] Почему при изучении одного языка не стоит оглядываться на другие Предположим, вас заинтересовало это странное слово. Куда вы обратитесь: в переводчик или в толковый словарь? Думаю, второй вариант предпочтительнее. Читать дальше →

YouTube ограничил возможность платного продвижения видеоконтента 44 языками Компания Google ограничила возможность платного продвижения контента на своем видеохостинге YouTube для некоторых языков.  С ограничениями столкнулся менеджер белорусского YouTube-канала «Радио Свобода» журналист Франтишек Вечерко, о чем и написал на своей странице в Fa...

Усложнение C++ неизбежно. И не только C++ Давно хотел написать подобный текст, но все никак не доходили руки. А вот после завершившегося летнего заседания комитета по стандартизации C++ и поднявшегося воя о том, что сложность языка еще больше увеличилась, пришлось таки изыскать время и зафиксировать собственные мысл...

Погружение в свёрточные нейронные сети. Часть 5 / 10 — 18 Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Выход новых лекций запланирован каждые 2-3 дня. Читать дальше →

«Алиса» выучила первый иностранный язык Голосовой помощник «Яндекса» теперь работает в «Яндекс.Навигаторе» в Турции. &laquo;Алиса&raquo;, голосовой помощник компании &laquo;Яндекс&raquo; выучила первый иностранный язык, сообщают &laquo;Ведомости&raquo;. Теперь она работает в &laquo;Я...

Merkle Tree: ржавое и быстрое Всем привет! Недавно открыл для себя язык Rust. О своих первых впечатлениях поделился в предыдущей статье. Теперь решил копнуть немного глубже, для этого необходимо что-то посерьёзнее списка. Выбор мой пал на дерево Меркла. В этой статье я хочу: рассказать про эту структур...

Ошибка с миграцией локали ru-RU в Google Chrome и как от нее избавиться Это статья о том, как я боролся с последствиями некорректной миграции «ru-RU» на «ru» в Google Chrome. Это статья для тех, у кого Chrome выглядит примерно так: или, говоря простым языком, упрямо продолжает отображать сайты на русском языке несмотря на то что везде в наст...

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

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

Интервью с Дмитрием Симоновым, создателем канала CTORECORDS: «Основное качество техдира — привычка побеждать» Поздним вечером генеральный названивает и требует, чтобы релиз выкатили через шесть часов — утром у него встреча с инвесторами в Китае. У разработчиков — в порядке важности для проекта — почесуха, отпуск, профессиональное выгорание, кружок макраме и пикет «зелёных» по защите...

На какой диапазон эта антенна? Измеряем характеристики антенн — На какой диапазон эта антенна? — Не знаю, проверь. — КАААК?!?! Как определить, что за антенна у вас в руках, если на ней нет маркировки? Как понять, какая антенна лучше или хуже? Эта проблема меня мучила давно. В статье простым языком описывается методика измерения харак...

[Из песочницы] Анализ языка VKScript: JavaScript, ты ли это? TL;DR VKScript — это не JavaScript. Семантика этого языка кардинально отличается от семантики JavaScript. См. заключение. Читать дальше →

Функциональные интерфейсы… в VBA "…те, кто не прочь поглазеть на любителя прилюдно свалять дурака, пусть понаблюдают, как я доказываю, что Java и Visual Basic – близнецы, разлученные при рождении, а С++ им даже не дальний родственник." Брюс Мак-Кинни “Крепкий орешек Visual Basic” Введение Постоянный инте...

OSDay 19 или почему еще жив язык Си Недавно (10-11 июня) в Москве прошла очередная научно-практическая конференция OSDay. На этот раз конференция проходила в математическом институте им. В.А. Стеклова РАН. Формально она была посвящена инструментам разработки операционных платформ и системного программного обе...

T+ Conf 2019 не за горами 17 июня (понедельник) в офисе Mail.ru Group пройдёт вторая ежегодная конференция Tarantool Conference, или коротко — T+ Conf. Она адресована как новичкам, так и опытным разработчикам и архитекторам в корпоративном секторе. Вас ждут новые доклады и воркшопы по использовани...

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

Книга «Kafka Streams в действии. Приложения и микросервисы для работы в реальном времени» Привет, Хаброжители! Эта книга подойдет для любого разработчика, который хочет разобраться в потоковой обработке. Понимание распределенного программирования поможет лучше изучить Kafka и Kafka Streams. Было бы неплохо знать и сам фреймворк Kafka, но это не обязательно: я ра...

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

О анонимности в интернете, жизни и её относительности Warning! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо...

[Перевод] PHP дженерики уже сегодня (ну, почти) Если спросить PHP-разработчиков, какую возможность они хотят увидеть в PHP, большинство назовет дженерики. Поддержка дженериков на уровне языка была бы наилучшим решением. Но, реализовать их сложно. Мы надеемся, что однажды нативная поддержка станет частью языка, но, вероятн...

[Перевод] JavaScript-движки: как они работают? От стека вызовов до промисов — (почти) всё, что вам нужно знать Вы когда-нибудь задумывались, как браузеры читают и исполняют JavaScript-код? Это выглядит таинственно, но в этом посте вы можете получить представление, что же происходит под капотом. Начнём наше путешествие в язык с экскурсии в удивительный мир JavaScript-движков. Читать...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

Погружение в свёрточные нейронные сети: передача обучения (transfer learning) Полный курс на русском языке можно найти по этой ссылке. Оригинальный курс на английском доступен по этой ссылке. Читать дальше →

[Перевод] Встраиваемые функции в Go Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut. Читать дальше →

[Перевод] Порождение событий, CQRS и Laravel Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel» ________________________ Введение Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с ...

Верховный суд США рассмотрит иск Oracle к Google Верховный суд США объявил о намерении рассмотреть спор между технологическими гигантами Oracle и Google по делу, способному вылиться в штрафы в миллиарды долларов. Речь идёт о старых разбирательствах, которые тянутся не один год. Ещё в 2010 году Oracle впервые обратилась в с...

Дайджест IT событий марта (часть первая) С весной приходит и новый пик активности программистов в нерабочее время — нам снова приходится разбить мартовский обзор на две части. Основу светской жизни в этом месяце составляют небольшие встречи по интересам — языки (Pythpn, Lua, Elixir), веб-рзработка, тестирование. ...

ld -z separate-code Речь в этой статье пойдёт о небольшой security-фиче, добавленной в GNU ld к релизу 2.30 в январе 2018 года. На русском языке это улучшение упоминалось на opennet с такой аннотацией: режим "-z separate-code", повышающий защищённость исполняемых файлов ценой небольшого увели...

Взаимодействие R с базами данных на примере Microsoft SQL Server и других СУБД Поскольку львиная доля бизнес информации храниться в базах данных. На каком бы языке программирования вы не писали, вам придётся производить различные действия с ними. В этой статье я расскажу о двух интерфейса для работы с базами данных в R. Большая часть примеров демонстри...

Sigma rules. Поделка или новый стандарт для SOC Я Сергей Рублев, руководитель SOC (Security Operations Center) в компании «Инфосекьюрити». В этой статье подробно рассмотрю амбициозный проект Sigma Rules, девиз которого: «Sigma для логов — это как Snort для трафика и Yara для файлов». Речь пойдет про три аспекта: Пр...

Julia. С чего начать проект?… Очень часто, при решении задач анализа и подготовки данных, пишут одноразовые скрипты, поддержка и развитие которых не предусматривается вообще. Такой подход имеет право на существование, особенно в студенческой среде. Однако, когда появляется более одного человека, работаю...

Эволюция создания веб-приложений на Java История развития построения веб-приложений на языке программирования Java с примерами их использования на временном промежутке от появления спецификации сервлетов до сегодняшнего дня. Читать дальше →

Жёлтое — Вакуум — Облако Последние несколько лет я, по непонятной причине, стараюсь подтолкнуть людей к расширению профессионального кругозора. Я убежден, что в современном мире невозможно занять достойное место, занимаясь узкоспециализированной деятельностью – только узкоспециализированной деятельн...

[Перевод] Работа с часовыми поясами в JavaScript Недавно я работал над задачей добавления часовых поясов в JS-библиотеку календаря, которую ведёт моя команда. Мне было хорошо известно о никудышной поддержке часовых поясов в JavaScript, но я надеялся, что абстрагирование имеющихся объектов данных позволит легко решить бол...

[Перевод] Язык программирования Swift на Raspberry Pi Raspberry PI 3 Model B+ В этом мануале мы разберем основы использования Swift на Raspberry Pi. Raspberry Pi — небольшой и недорогой одноплатный компьютер, потенциал которого ограничен лишь его вычислительными ресурсами. Он хорошо известен техногикам и любителям DIY. Это о...

Ещё один способ отстрелить себе ногу, используя std::thread Стандарт C++11 принёс в язык стандартный механизм поддержки тредов (их часто называют потоками, но это создаёт путаницу с термином streams, так что я буду использовать оригинальный англоязычный термин в русской транскрипции). Однако, как и любой механизм в C++, этот несёт в ...

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

[Перевод] Заложники COBOL и математика. Часть 1 Посмотрим правде в глаза: никто не любит дробные числа — даже компьютеры. Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важны...

Fluent Design System становится кроссплатформенным Microsoft обновила веб-сайт Fluent Design System, добавив информацию о расширении языка дизайна на другие платформы, такие как Android, iOS и Web. Таким образом, компания намерена использовать язык дизайна во всех своих продуктах и услугах, включая приложения для платформ, ...

Как могли бы выглядеть регистры в 1С при наличии ООП В 1С одним из ключевых элементов системы являются регистры. Этот термин имеет свой аналог в английском языке — ledger. Он первоначально появился в бухгалтерской практике, но со временем его логика начала использоваться и в других сферах. В отличие от 1С, где регистры явля...

[Перевод] Объясняем SQL и NoSQL для бабушки Одно из наиболее важных решений, которые принимает разработчик, заключается в том, какую базу данных использовать. В течение многих лет опции были ограничены различными вариантами реляционных баз данных, которые поддерживали язык структурированных запросов (SQL). К ним отно...

[Перевод] Что есть и чего нет в Go. Часть 1 Всем привет, в преддверии старта нового потока по курсу «Разработчик Golang» хотим поделиться с вами переводом интересной статьи, в первой части которой разбираются элементы, которые есть в Go. Поехали. Go создавался с оглядкой назад, и его базовая комплектация действител...

[Из песочницы] Nil не всегда nil Nil не всегда nil "Что? Что вообще здесь написано?" спросите вы. Сейчас все разложу. Когда начинал изучать язык — не думал что зайду в этот узкий случай. Это также не рационально как и изменять итерируемую коллекцию. Читать дальше →

Lua in Moscow 2019: интервью с Роберто Иерусалимским Некоторое время назад наш московский офис посетил Роберто Иерусалимский, автор языка Lua. Мы взяли у него интервью, в ходе которого задали и вопросы от читателей Хабра. Наконец-то мы можем поделиться с вами всей записью разговора. Читать дальше →

Еще один вариант среды для разработки WordPress (docker, wp-cli) Есть официальные образы для развертывания WordPress и использования wp-cli. Но при их совместном использовании мне приходилось расшаривать всю папку WordPress и хотелось, чтобы было больше возможностей для кастомизации установки. Очень хотелось после запуска контейнера видет...

Не морочьте мне голову со своим функциональным программированием Адепты функционального программирования любят завлекать новичков обещаниями идеальной выразительности кода, 100% корректностью, лёгкостью поддержки и простотой рефакторинга, а иногда даже пророчат высочайшую производительность. Однако, опытные разработчики знают, что такого ...

Как изменить язык в конкретном приложении на iOS, не меняя системного Переключение языков приложений в iOS Наверняка вы хоть раз, но сталкивались с необходимостью переключить конкретное приложение на своём iPhone с русского языка на какой-то другой, но не могли этого сделать, потому что iOS применяет системный язык ко всему ПО, не спрашивая ва...

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

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Пишем под FPGA без HDL. Сравнение высокоуровневых средств разработки В последнее время производители FPGA и сторонние компании активно развивают методы разработки для FPGA, отличающиеся от привычных подходов использованием высокоуровневых средств разработки. Являясь FPGA-разработчиком, в качестве основного инструмента я использую язык описа...

[Из песочницы] Стратегии локализации контента Настройка локализации контента и, следовательно, настройка языка интерфейса продукта таким образом, чтобы правильный язык отображался для правильного пользователя, чрезвычайно важен для каждой цифровой платформы. Предпосылки и предварительные соображения Цифровые проекты, ...

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

Как распознать картинки и тексты на телефоне с помощью ML Kit Два года назад Сундар Пичаи, глава Google, рассказал о том, что компания из mobile-first становится AI-first и фокусируется на машинном обучении. Год спустя вышел Machine Learning Kit — набор инструментов, с которым можно эффективно использовать ML на iOS и Android. Об ML ...

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

[Из песочницы] Диагностическая медицинская экспертная система на Prolog Вступление Как то мне посчастливилось выбирать тему дипломной работы по специальности программная инженерия, и я выбрал написание экспертной системы, причем именно на языке Пролог. Хоть в промышленном программировании он почти не используется, он интересен в теоретическом пл...

Надежное программирование в разрезе языков. Часть 2 — Претенденты Первая часть с функциональными требованиями тут Заявленные как языки программирования с прицелом на надежность. В алфавитном порядке — Active Oberon, Ada, BetterC, IEC 61131-3 ST, Safe-C. Читать дальше →

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодн...

[recovery mode] Что мне не нравится в Python Привет, Хабр! Я подумал о том чего мне не хватает в Python, и что мне не нравится. Дисклеймер: это мое субъективное мнение, оно может не совпадать с Вашим. Я с удовольствием программирую на Python, но у любой технологии (языка программирования в частности) есть свои недос...

Привет от программистов 80-х Современных программистов можно назвать баловнями. К их услугам — мощнейшие среды разработки, множество языков программирования. А всего 30 лет назад учёные и энтузиасты-одиночки писали программы даже на калькуляторах. Осторожно, под катом много фотографий! Читать дальше ...

Что почитать по PHP на русском? PHP — один из самых популярных языков программирования. А ещё это язык, для изучения которого не так просто найти качественную книгу. Что ж, мы вместе с командой GeekBrains заглянем в интернет-магазин и посмотрим, что стоящего можно найти сегодня по PHP на русском языке. Ч...

[Перевод] Анализ сишного Hello World Hello World — одна из первых программ, которые мы пишем на любом языке программирования. Для C hello world выглядит просто и коротко: #include <stdio.h> void main() { printf("Hello World!\n"); } Поскольку программа такая короткая, должно быть элементарно объяснить,...

Некоторые аспекты оптимизации LINQ-запросов в C#.NET для MS SQL Server LINQ вошел в .NET как новый мощный язык манипуляции с данными. LINQ to SQL как часть его позволяет достаточно удобно общаться с СУБД с помощью например Entity Framework. Однако, достаточно часто применяя его, разработчики забывают смотреть на то, какой именно SQL-запрос буде...

Топ 10 ошибок в C++ проектах за 2018 год Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых пр...

Ломаем игру на память: целый детектив Эта игра не давала нам покоя несколько месяцев. Правила очень простые: надо выкладывать карточки с картинками и придумывать сказку. Потом вспомнить её. Простая штука на запоминание, подумали мы. Сто раз в такое играли, и всё наше образование просто вопит, что сейчас буд...

[Из песочницы] Начинаем FPGA на Python Технология FPGA (ПЛИС) в настоящее время обретает большую популярность. Растёт количество сфер применения: помимо обработки цифровых сигналов, FPGA используются для ускорения машинного обучения, в blockchain технологиях, обработке видео и в IoT. Данная технология имеет од...

$ ls -l /home/avitotech/new_year Привет. Этот пост — поздравление с наступающим Новым годом. Тут не будет попыток пошутить, подвести итоги-2018 или пожелать всем сразу всего нужного, а будет открытка-загадка про технологии. Вот она. Мы спрятали здесь 48 самых разных технологий, языков программирования, ин...

Как выбрать СХД, не выстрелив себе в ногу Введение Пришла пора покупать СХД. Какую взять, кого слушать? Вендор А рассказывает про вендора B, а еще есть интегратор C, который рассказывает обратное и советует вендора D. В такой ситуации и у опытного архитектора по системам хранения голова пойдет кругом, особенно со в...

Plasma Cash Chain как решение трилеммы масштабируемости в блокчейн Добрый день, уважаемые читатели! Данная статья посвящена Plasma Cash Chain и проливает свет на следующие темы: трилемма масштабируемости и способы ее решения; структуры данных чайлд чейна и их отображение в рутчейне; реализация ввода в рутчейн; реализация вывода из рутче...

В Edge Canary тестируется встроенный переводчик сайтов на базе Microsoft Translator Многие пользователи социальной сети Reddit неожиданно обнаружили новую функцию в предварительной версии Edge на Chromium из ветки Canary, которая позволяет автоматически переводить сайты на другие языки при помощи сервиса Microsoft Translator. Соответствующая иконка появляе...

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

Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что ...

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

Как опубликовать перевод художественной книги в России В 2010 году алгоритмы Google определили, что всего в мире издано почти 130 миллионов уникальных изданий книг. На русский переведено лишь до безобразия малое количество из этих книг. Но нельзя просто так взять и перевести произведение, которое вам понравилось. Ведь это буде...

[Перевод] Как я создал более 100 приложений с открытым кодом, используя инструменты автоматизации Представляем вам перевод статьи Sm0ke, опубликованной на сайте dev.to. Автор рассказывает о своем опыте генерации веб-приложений и способе автоматизации процесса их создания. Привет, кодеры! Я — разработчик-фрилансер, и я сгенерировал более 100 приложений на различных язык...

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

[Из песочницы] Invidious — альтернативный YouTube-фронтенд «Invidious» — это веб-фронтенд (грубо говоря, веб-клиент) для сайта YouTube. Код проекта написан на языке программирования Crystal, использует СУБД PostgreSQL и распространяется под свободной лицензией AGPLv3+. Читать дальше →

[Перевод] Представляем .NET 5 6 мая было объявлено, что следующим после .NET Core 3.0 релизом будет .NET 5. Это будет следующий большой релиз в семействе .NET. В будущем останется только один .NET, и вы сможете использовать его для разработки под Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAs...

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

[Перевод] Аппликативные регулярные выражения, как свободный альтернативный функтор Предлагаю вашему вниманию перевод замечательной свежей статьи Джастина Ле. В своём блоге in Code этот автор достаточно легким языком рассказывает о математической сути красивых и изящных функциональных решений для практических задач. В этой статье подробно разбирается приме...

Новый спецпроект от ForkLog и æternity «Смена парадигмы: функциональное программирование в блокчейн-разработке» Криптоэнтузиасты, ходлеры, разработчики и даже некоторые экономисты считают, что за блокчейном будущее. Но за чем будущее блокчейна? ForkLog и æternity рассмотрели этот вопрос с точки зрения стилей и языков программирования в новом спецпроекте «Смена парадигмы: функционально...

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распрост...

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети Привет Хабр. Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использов...

[Перевод] Опасности конструкторов Привет, Хабр! Представляю вашему вниманию перевод статьи "Perils of Constructors" автора Aleksey Kladov. Один из моих любимых постов из блогов о Rust — Things Rust Shipped Without авторства Graydon Hoare. Для меня отсутствие в языке любой фичи, способной выстрелить в ногу, о...

Удалённое управление эмулятором Fceux с помощью Python В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него. Зачем это нужно? Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – пл...

[Перевод] Нейросети и философия языка Почему теории Витгенштейна остаются основой всего современного NLP Векторное представление слов — пожалуй, одна из самых красивых и романтичных идей в истории искусственного интеллекта. Философия языка — это раздел философии, исследующий связь между языком и реальностью и ...

ITIL 4 на русском языке (или нет) Тревога! Тревога! Тревога! Не так давно вышел в свет ITIL 4. Это важнейший источник знаний для специалистов в области ITSM. Как принято после выхода, компания-владелец, планирует сделать переводы на множество языков. Мы получили на днях печальную новость. По информации из п...

[Перевод] Следующие шаги на пути к Go 2 Состояние Мы вовсю работаем над Go 1.13, релиз которого, надеюсь, состоится в начале августа этого года. Это первый релиз, который будет включать в себя изменения конкретно в языке (а не просто незначительные правки спецификации) после длительного моратория на любые такие из...

Приглашаем 6 марта на ElixirLangMoscow Meetup #9 6 марта приглашаем вас на ElixirLangMoscow Meetup #9 в московский офис Mail.ru Group. Язык программирования Elixir продолжает развиваться, и мы вместе с сообществом проводим Elixir-митапы. Программа выступлений адаптирована как под активных разработчиков на Elixir, так и п...

Настройка LaTeX в Sublime Text Ниже представлено руководство по установке текстового редактора Sublime Text, с последующим добавлением в него возможности использования системы компьютерной вёрстки LaTeX. В качестве бонуса научим его понимать язык Julia. Читать дальше →

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

[Из песочницы] Пишем VLC плагин для изучения английского В данной статье я расскажу о том, как написать плагин на языке C для медиаплеера VLC. Я написал свой плагин для упрощения просмотра сериалов и фильмов на английском языке. Идея создания этого плагина описывается в разделах Идея и Поиск решения. Технические детали реализаци...

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

FFI: пишем на Rust в PHP-программе В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах. Давайте попробуем написать код на Rust, и используем его PHP-программе Читать дальше →

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

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

Flutter Dev Podcast #5: Dart VM В предыдущих выпусках мы достаточно поговорили про UI, язык разработки, архитектурные решения и прочие, берущие за душу любого Flutter-разработчика жизненные темы. Настало время окунуться в настоящий хардкор. Dart VM, Hot Reload, компиляция, оптимизации, платформенные особен...

Intel One API Project: архитектур много, API один На проходившем в июне Intel Software Technology Day ведущие инженеры компании рассказали о софтверном проекте под названием «Intel One API» — унифицированной модели программирования для облегчения разработки ПО под разнообразные вычислительные архитектуры, включающей в себ...

[Перевод] Deno — новый Node.js? В нашем проекте, IDE для работы с API TestMace, в качестве основного языка используется TypeScript, поэтому мы активно интересуемся проектами, связанными с данным языком. Сегодня вашему вниманию представляется перевод статьи об инструменте Deno — runtime для TypeScript (но э...

Павел Финкельштейн о Kotlin в production на jug.msk.ru 13 марта 2019 года в офисе компании КРОК прошла очередная встреча сообщества московских Java-разработчиков jug.msk.ru, на которой Паша Финкельштейн рассказал о своём опыте использования языка программирования Kotlin. Читать дальше →

Для тех, кто работает в Houdini. О курсах Nature of Vex и Bites of Python Под катом вы найдете отзыв специалистов из Houdini Team краснодарской студии Plarium о видеокурсах Nature of Vex и Bites of Python от Mix Training, посвященных работе с языками Python и Vex в графической программе Houdini. Также в этом посте ребята делятся подборкой матери...

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

[Из песочницы] ES6 Простым языком Шаблонные литералы Шаблонные литералы заключены в обратные кавычки (` `) вместо двойных или одинарных. Они могут содержать подстановки, обозначаемые знаком доллара и фигурными скобками (${выражение}). Пример: var name = "bill"; console.log(`Hello ${name}`); // He...

[Перевод] Знакомство с SwiftUI: Создание простого приложения с использованием TableView Во время проведения WWDC 2019, одним из самым больших и захватывающих моментом был анонс релиза SwiftUI. SwiftUI — это совершенно новый фреймворк, который позволяет проектировать и разрабатывать пользовательские интерфейсы с написанием меньшего количества кода, декларативным...

[Из песочницы] Довериться Кодду или своим объектам? Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python Замок Нойшванштайн В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая зн...

Обучающий курс по DataPower Материал подготовлен в соавторстве с пользователем wedmeed В 2017 году, когда начинался наш проект во Вьетнаме, мы столкнулись с новым для нас зверем IBM DataPower. IBM DataPower – продукт, представляющий собой gateway между клиентами и бэкендами, предназначенный для фильтр...

Укрощение Горыныча, или Декомпиляция eBPF в Ghidra Автор статьи Nalen98 Добрый день! Тема моего исследования в рамках летней стажировки «Summer of Hack 2019» в компании Digital Security была «Декомпиляция eBPF в Ghidra». Нужно было разработать на языке Sleigh систему трансляции байткода eBPF в PCode Ghidra для возможност...

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

[Из песочницы] Как научиться учиться Привет, Хабр! Представляю вашему вниманию перевод статьи «HOW TO LEARN HOW TO LEARN». Заметки и наблюдения о том, как лучше организовать свой учебный процесс. Мы, IT-шники, обречены на постоянное обучение до конца жизни. Еще 10-15 лет назад знания Java и JSP-серверлетов б...

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

[Из песочницы] OBD2 reader — диагностика автомобиля При создании приложения мы столкнулись с множеством выборов, проблем и так далее, с которыми попробуем ознакомить вас в этой статье. Как оказалось с автомобилем можно вести диалог, причем довольно таки продуктивный. Естественно для того чтобы организовать общение с автомобил...

[Перевод] Трагедия Common Lisp: почему популярные языки раздуваются в сложности Адаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров Будущее JavaScript? Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала не...

[Перевод] Lombok возвращает величие Java Мы в Grubhub почти во всём бэкенде используем Java. Это проверенный язык, который за последние 20 лет доказал свою скорость и надёжность. Но с годами возраст «старичка» всё-таки начал сказываться. Java — один из самых популярных языков JVM, но не единственный. В последние...

[Перевод] Что сделало Lisp особенным "Величайший из когда-либо созданных языков программирования" — Alan Kay, «on Lisp» Когда Маккарти разработал Lisp в конце 1950-х, он радикально отличался от существующих языков, самым главным из которых был Fortran. Читать дальше →

Xiaomi выпустила умную говорящую ручку, которая поможет выучить два языка и освоиться в жизни Компания Xiaomi представила новое устройство для детей — говорящую ручку Mi Bunny Reading Pen. Она поступит в продажу 27 мая ко Всемирному дню ребёнка.  Цена устройства невысока — 28 долларов. Гаджет получил встроенный динамик и плеер, запуск воспроизв...

Москва, 18 апреля — QIWI SERVER PARTY 4.0 18 апреля, в четверг, мы снова собираем митап QIWI SERVER PARTY. На митапе подробно обсудим не только технические вопросы, но и поговорим о том, нужны ли хорошим программистам soft skills, на каких ошибках мы научились, обучая стажеров, и нужен ли сотруднику ментор, или дос...

PHP Russia 2019: свой «стадион» для языка первой лиги На нашем рынке нет конференции, которая была бы посвящена PHP. А это все равно что футбольный клуб первой лиги без своего стадиона. Ведь в России PHP на втором месте по числу вакансий для программистов (позади 1C, но впереди Java). У него разветвленная экосистема и гигантска...

Английский язык в Wall Street English – общайся легко! Многие люди, знающие английский язык на «достаточном уровне», не решаются идти на курсы для его совершенствования. При этом они сталкиваются с тем, что навыки без развития ухудшаются, накапливаются и становятся «автоматическими» ошибки, которые никто не исправляет, стоит жёс...

[Из песочницы] Почему Вы должны попробовать FastAPI? Лого взято из Github репозитория FastAPI FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hi...

[Перевод] Rust в Microsoft (или cоздание Security Daemon Azure IoT Edge) Примечание от переводчика: Rust относительно молодой язык программирования, и на этом этапе развития всегда интересные опыты практического применения. Известно, что Intel, DropBox, Amazon, Facebook и другие используют Rust для своих проектах. Про применение Rust в проекте ...

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

Искусственный интеллект на примере простой игры. Часть 2 В этот раз выбрана игра «Змейка». Создана библиотека для нейросети на языке Go. Найден принцип обучения, зависимый от «глубины» памяти. Написан сервер для игры между разработчиками. Читать дальше →

Игра фреймворков: тренды JavaScript в 2019 TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убеди...

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

Microsoft представила новый язык программирования Он получил название Bosque.

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

[Перевод] Отладка игр для NES: как она происходит сегодня Если вы когда-нибудь занимались программированием, то знакомы с концепцией багов. Если бы они нам не досаждали, процесс разработки стал бы намного быстрее и приятней. Но эти баги просто ждут момента, чтобы испортить наш код, рабочий график и творческий поток. К счастью, сущ...

[Перевод] Механизмы расширяемых расширений в JavaScript Здравствуйте, коллеги! Напоминаем, что не так давно у нас вышло 3-е издание легендарной книги «Выразительный JavaScript» (Eloquent JavaScript) — на русском языке напечатано впервые, хотя качественные переводы предыдущих изданий встречались в Интернете. Тем не менее, ни J...

Пишем свой язык программирования, часть 3: Архитектура транслятора. Разбор языковых структур и математических выражений Введение Приветствую вас, заинтересованные читающие разработчики на не важно каких языках, на которых я ориентирую эти статьи и чьи поддержку и мнения я ценю. Для начала, по устоявшимся традициям, я приведу ссылки на предыдущие статьи: Часть 1: пишем языковую ВМ Часть 2:...

Курс «Основы эффективной работы с технологиями Wolfram»: более 13 часов видеолекций, теория и задачи Все документы курса можно скачать здесь. Этот курс я прочел пару лет назад для довольно обширной аудитории. Он содержит очень много информации о том, как устроена система Mathematica, Wolfram Cloud и язык Wolfram Language. Однако, конечно, время не стоит на месте и за по...

Библиотека генератора ассемблерного кода для микроконтроллеров AVR. Часть 2 Библиотека генератора ассемблерного кода для микроконтроллеров AVR Часть 2. Начало работы Как и планировалось, в этой части рассмотрим более подробно особенности программирования с использованием библиотеки NanoRTOS. Те, кто начал чтение с этого поста, могут ознакомиться с о...

[Из песочницы] Работа с JSON RPC в Symfony 4 Всем привет, сегодня поговорим о том, как подружить Symfony 4, JSON RPC и OpenAPI 3. Данная статья рассчитана не на новичков, вы уже должны понимать как работать с Symfony, Depedency Injection и другими «страшными» вещами. Сегодня рассмотрим одну конкретную реализацию JSON ...

Nullable Reference типы в C# 8.0 и статический анализ Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, р...

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

Анализ данных на Scala — суровая необходимость или приятная возможность? Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации...

Яндекс открыл набор на бесплатные курсы по iOS-разработке на Swift Яндекс набирает студентов на бесплатные онлайн-курсы по разработке приложений для iOS. Курсы подойдут начинающим и опытным разработчикам, которые еще не умеют делать iOS-приложения. Слушатели должны владеть хотя бы одним объектно-ориентированным языком програм...

[Перевод] Почему программисты продолжают использовать многословный Java, хотя есть лаконичный Python Java и Python — одинаково популярные языки программирования. Однако Python более продуктивен: в нем меньше объем кода, нужного для решения задачи. Почему же программисты до сих пор работают с Java там, где можно применить Python? Давайте разбираться. Читать дальше →

[Из песочницы] Недоработки в языковом образовании в СНГ: взгляд полиглота Привет! Меня зовут Егор Пак, я полиглот. Я 9 лет прожил за рубежом и недавно вернулся в Россию. Хочу поделиться своими наблюдениями об обучении иностранным языкам в СНГ и за его пределами. По каждому из пунктов я написал советы. Читать дальше →

Тренды 2019 от пользователей hh.ru Заголовок в стиле подкрадывающихся новогодних праздников, но речь пойдет только про сентябрь текущего года в сравнении с аналогичным периодом 2018. Под катом снова паблик репорт про количество поисковых сессий по языкам программирования, вакансий, резюме и немного про зарпла...

Три дзена reactive extensions "Reactive Extensions" — это больше, чем фреймворк. Хотя бы потому, что существует практически идентичная реализация (с поправкой на особенности конкретного языка и соответствующих практик оптимизации) под каждый популярный ЯП. Есенин утверждает, что «большое видится на расст...

Больше статистики сайта в своём маленьком хранилище Анализируя статистику сайта, мы получаем представление о том, что происходит с ним. Результаты мы сопоставляем с другими знаниями о продукте или сервисе и этим улучшаем наш опыт. Когда анализ первых результатов завершён, прошло осмысление иформации и сделаны выводы, начинае...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

Умные ответы и Определение языка в ML Kit В ML Kit появилось две новых функции – Определение языка и Умные ответы.

Виды контекста в JavaScript И снова здраствуйте! Мы уже писали о том, что в конце сентября в OTUS стартует новый поток курса «Fullstack разработчик JavaScript». В преддверии начала занятий продолжаем делиться с вами авторскими статьями, подготовленными специально для студентов курса. Сегодня разберем в...

Переводчик Google научился имитировать голос пользователя В 2018 появились первые демонстрации работы нового проекта Duplex. Это расширение ассистента Google могло совершать звонки самостоятельно и голосом бронировать столик в ресторане, номер в гостинице или заказывать билеты. Компания смогла добиться такого звучания компьютерного...

Неопределённое поведение в C++ Ситуация, когда код на языке C++ синтаксически валиден, однако его поведение не определено в Стандарте, в русскоязычной литературе часто называют просто неопределённым поведением. В самом же Стандарте для таких ситуаций существуют целых 3 термина: undefined behavior, unspec...

Nitter, альтернативный фронтенд для Twitter Nitter — это свободный фронтенд для Twitter, ориентированный на сохранение пользовательской конфиденциальности. Проект написан на языке Nim, и находится в стадии активной разработки, ни одного релиза пока не было. Аналогичным фронтендом для YouTube является Invidious, которы...

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

Уроки по SDL 2: Урок 5 — Текстуры Всем привет и добро пожаловать на пятый урок по SDL 2, в котором мы разберем текстуры, упростив работу компьютеру. Все уроки на английском языке вы можете найти здесь. Текстуры Читать дальше →

Что читать на каникулах: 25 знаковых художественных книг 2018 года Недавно переведённые на русский язык произведения, которые определённо заслуживают внимания.

Все, что вы хотели знать о SwiftUI, но боялись спросить Привет! Меня зовут Ренат, я разрабатываю сервис по аналитике подписок в iOS – Apphud. Как вы знаете, Apple на WWDC 2019 представила свой новый фреймворк SwiftUI, который призван в будущем заменить (или нет?) привычный нам UIKit. SwiftUI позволяет описывать интерфейс приложе...

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

Моменты жизни Стивена Вольфрама — создателя Mathematica, Wolfam|Alpha, A New Kind Of Science и много чего ещё Оригинал поста в моём личном блоге Мне посчастливилось лично познакомиться со Стивеном Вольфрамом на Первой Российской конференции «Wolfram технологии», которая проходила в 2013 г. в СПбГУ. После мы пересекались на телемосте Стивена в Digital October. Записи этих выступлен...

[Перевод] Объясняем код с помощью ASCII-арта Примечание от переводчика: типично пятничная статья во вторник утром… почему бы и нет? Большинство людей — визуалы. Они используют изображения, чтобы вникнуть в суть проблемы. А вот мэйнстримные языки программирования, напротив, основаны на текстовом представлении. Возник...

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

[Перевод] Jetpack Compose Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в ст...

Как победить дракона: переписываем вашу программу на Golang Так случилось, что ваша программа написана на скриптовом языке — например, на Ruby — и встала необходимость переписать ее на Golang. Резонный вопрос: зачем вообще может понадобится переписывать программу, которая уже написана и нормально работает? Читать дальше →

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Google создала переводчик, способный говорить голосом пользователя Компания Google представила новый инструмент перевода. По словам разработчиков, Translatotron представляет собой первую в своём роде модель перевода, которая способна напрямую переводить речь с одного языка на другой, сохраняя особенности голоса говорящего.  ...

[Из песочницы] Устранение рекурсии в Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Removing a recursion in Python, part 1" автора Эрика Липперта (Eric Lippert). На протяжении последних 20 лет я восхищался простоте и возможностям Python, хотя на самом деле никогда не работал с ним и не изуч...

Неопределённая параметризация как универсальный метод построения архитектуры приложения на C++ и Java за минимальн. цену C++ — язык запутанный, и существенным его недостатком является сложность создания изолированных блоков кода. В типовом проекте всё зависит от всего. Эта статья показывает, как писать высокоизолированный код, который минимально зависит от конкретных библиотек (включая стандар...

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

[Перевод] 12 английских слов, которые часто пишут и произносят неправильно В английском языке полно довольно непростых слов, которые не так-то легко правильно произнести и написать. Мне на глаза попался пост, в котором собраны 12 таких слов, в которых многие делают ошибки, и даны рекомендации о том, как их избежать. Я подготовила перевод этого ма...

Открытая лекция курса «JavaScript-разработчик» Стартовый курс по Javascript посвящен основам языка и решению типичных задач для верстальщика и начинающего фронтендера: галереи, слайдеры, таймеры, калькуляторы, проверка форм. Входные требования: базовое знакомство с HTML+CSS, наличие терминала, базовое...

[Перевод] О [[trivial_abi]] в Clang-е Наконец-то я написал пост про [[trivial_abi]]! Это новая фирменная фича в транке Clang-а, новая по состоянию на февраль 2018. Это вендорское расширение языка C++, это не стандартный C++, она не поддерживается транком GCC, и нет активных предложений WG21 включить её в станда...

Тестовый клиент TON (Telegram Open Network) и новый язык Fift для смарт-контрактов Больше года назад стало известно о планах мессенджера Telegram выпустить собственную децентрализованную сеть Telegram Open Network. Тогда стал доступен объемный технический документ, который, предположительно, был написан Николаем Дуровым и описывал структуру будущей сети. Д...

[Из песочницы] Инкапсуляция в Python 3 Определение Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «К...

[Из песочницы] Выпуск Rust 1.34 Привет, Хабр! Представляю вашему вниманию перевод статьи "The Rust Release Team "Announcing Rust 1.34.0". Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.34.0. Rust — это язык программирования, который даёт возможность каждому создавать...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Концепты: упрощаем реализацию классов STD Utility Появляющиеся в C++20 концепты — давно и широко обсуждаемая тема. Несмотря на избыток материала, накопившегося за годы (в т.ч. выступления экспертов мирового уровня), среди прикладных программистов (не засыпающих ежедневно в обнимку со стандартом) все еще остается неразберих...

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

English notes #1: Заканчивай с этим «very» Прим. ред.: Этой статьёй мы начинаем цикл публикаций, посвящённых английскому языку и подготовленных нашим штатным учителем для инженеров компании. С одной стороны — нам нужно его изучать, с другой — нравится это делать, а с третьей — почему бы не разбавить технические матер...

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

Используем статические ссылки на свойства объектов при помощи лямбд Так уж исторически сложилось, что в Java для свойств объектов (properties) не предусмотрено никакой физической сущности. Свойства в Java — это некоторые соглашения в именовании полей и методов доступа к ним (аксессоров). И, хотя наличие физических свойств в языке упростило б...

Полное интервью с деканом факультета Python в GeekBrains — как и для чего учить язык начинающим Вчера мы опубликовали первый выпуск в цикле «Кем работать в ИТ». Для него я поговорил с двумя бывшими студентами и деканом факультета Python в GeekBrains. Когда я «смонтировал» рассказы в одну историю, стало жалко, что многое осталось лежать в черновиках. Поэтому сегодня ...

Что такое музыкальное программирование — кто и почему им занимается, устраивая настоящие live-сессии Ранее мы говорили об инструменте OpenMusic. Он позволяет писать музыку, используя объектно-ориентированный подход. Сегодня речь пойдет о людях, которые создают композиции с помощью специализированных языков программирования. И зачастую делают это «в прямом эфире». Читать д...

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

Андрей Терехов: «Можно сколько угодно говорить, что американское лучше, но наша машина никогда не ломается» Завкафедрой системного программирования СПбГУ, профессор, доктор физмат наук, президент компании «Ланит-Терком» Андрей Николаевич Терехов — о том, как делал первый в СССР транслятор языков Алгол 68 и Ада, о силе обкома КПСС и рождении «Самсона», который никогда не ломался....

Краш-тесты СХД AERODISK ENGINE N2, проверка на прочность Всем привет! Этой статьей компания AERODISK открывает блог на Хабре. Ура, товарищи! В предыдущих статьях на Хабре были рассмотрены вопросы об архитектуре и базовой настройке СХД. В этой статье мы рассмотрим вопрос, который ранее не был освещен, но его часто задавали – об от...

Устройство компилятора Swift. Часть 1 Swift — это не только язык программирования. Это проект, в который помимо компилятора входит много других компонентов. Да и сам компилятор — это не большая и страшная коробка, которая с помощью магии превращает ваш код в набор понятных для машины инструкций. Его тоже можно ...

gui приложение для задачи о ходе коня Это туториал по созданию интерактивного приложения для решения задачи о ходе коня на языках processing и p5.js Посмотреть саму программу можно здесь. Для управления «конём» используется метод mouseDragged(); пример программы, использующей этот метод здесь. Отмена хода осуще...

[Перевод] Что я узнал про оптимизацию в Python Всем привет. Сегодня хотим поделиться еще одним переводом подготовленным в преддверии запуска курса «Разработчик Python». Поехали! Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, те...

Говорят, Haskell — язык для гениев и академиков. Правда? Однажды я разговаривал с основателем израильского стартапа, который разрабатывал скоростную базу данных на GPU. В их стеке были Haskell и C++, и основатель жаловался, как тяжело найти людей в команду. В Москву он прилетал в том числе искать хороших программистов. Я остор...

[Перевод] Как разрабатываются и производятся процессоры: будущее компьютерных архитектур Несмотря на постоянные усовершенствования и постепенный прогресс в каждом новом поколении, в индустрии процессоров уже долгое время не происходит фундаментальных изменений. Огромным шагом вперёд стал переход от вакуума к транзисторам, а также переход от отдельных компоненто...

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

[Из песочницы] Что значит unsafe в Rust? Привет, Хабр! Представляю вашему вниманию перевод статьи "What Is Rust's unsafe?" автора Nora Codes. Мне доводилось видеть много недопониманий относительно того, что значит ключевое слово unsafe для полезности и правильности языка Rust и его продвижения как "б...

Рейтинг языков программирования в мире на начало июля 2019 Новый выпуск индекса TIOBE на начало июля от голландских аналитиков.

Красивая пошаговая RPG Overhit выйдет на русском языке 30 мая 2 месяца назад издатель Nexon анонсировал старт предварительной регистрации на пошаговую RPG в аниме-стиле Overhit. Ее глобальный релиз состоится уже на этой неделе — 30 мая. Одна из отличительных черт этого проекта, позволяющая ему выделяться на фоне конкурентов в жанре — ...

[Из песочницы] React Native — применение и критика Чаще всего при выборе этого языка ожидается, что разработка одного приложения под две платформы займёт в два раза меньше времени, чем разработка двух приложений. Но по итогу оказывается, что разработка занимает столько же, если не больше, из-за сложностей, скрытых под внешни...

Клон Auto Chess, Arena of Evolution: Chess Heroes, теперь доступен в России на русском языке Auto Chess – набирающий популярность жанр мультиплеерных развлечений, который вырос из пользовательского мода для Dota 2, как когда-то сама Dota появилась из карты-модификации для Warcraft III. Пока что самым популярным представителем жанра является одноименная Dota Auto Ch...

[Перевод] Haxe: большой секрет кросс-платформенной разработки Современный язык программирования Haxe хорошо известен в определенных кругах, но многие из читающих данный материал возможно никогда о нем и не слышали. Но не позволяйте его нишевому статусу обмануть вас. С тех пор, как он впервые появился в 2005 году, его испытали в бою его...

[Перевод] Сравнение BDD фреймворков Python: плюсы и минусы Всем привет. Уже в этом месяце в ОТУС стартует курс "Python QA Engineer". В преддверии старта данного курса делимся с вами переводом интересного материала. Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у...

[Перевод] F#10: Списки Любое серьезное программирование на любом языке всегда будет включать списки. Таким образом, вам будет приятно узнать, что F# очень и очень хорошо поддерживает списки с помощью своего модуля List. Список в F# — это упорядоченная, неизменная серия элементов одного типа. Читат...

Соревнование по программированию Kotlin Heroes JetBrains начала сотрудничество с Codeforces в продвижении языка Kotlin среди любителей спортивного программирования. Codeforces предоставляет Kotlin-разработчикам платформу, на которой можно посостязаться в алгоритмическом программировании и отточить свое мастерство. Вместе...

WT2 Plus — гарнитура-переводчик для общения на разных языках в реальном времени Как было бы здорово, если бы при посещении других стран мы не испытывали проблему языкового барьера. Частично решить её попытались в компании TimeKettle Technologies, которая привезла на CES 2019 свою новую разработку — беспроводную гарнитуру-переводчик WT2 Plus. Внешне...

Google Assistant обзавелся новыми голосами еще для девяти языков Украинского и русского в этом списке, к сожалению, пока что нет. Google Assistant уже довольно […]

В Google Новостях теперь можно получать контент на двух языках Новая функция доступна в приложении для iOS и Android

Андрей Терехов (продолжение): «Когда говорят, что мы отстали от американцев навсегда, я отвечаю: „Не дождетесь!“» Вторая часть интервью с завкафедрой системного программирования Матмеха СПбГУ, доктором физмат наук, профессором, президентом компании «Ланит-Терком». Андрей Николаевич Терехов рассказал о создании кафедры матобеспечения ЭВМ и своих многочисленных учениках, языке PADLA, ра...

Отчет Kotlin / Everywhere — Showcase practice: 31 июля На прошлой неделе собирали в нашем офисе пользователей и активных разработчиков языка Kotlin. Митап посетило более 150 человек, говорили про тестирование java-приложений, команда Поиска Mail.ru подготовила доклад про свой опыт использования каналов в корутинах. Заключитель...

[Перевод] Заметка о void в JavaScript и TypeScript Если вы, до того, как заинтересовались JavaScript, писали на традиционных языках с сильной типизацией, то вы, возможно, знакомы с концепцией void. Это — тип, использование которого сообщает программисту о том, что соответствующие функции и методы при их вызове ничего не возв...

[Перевод] Семь лет работы разработчиком: какие уроки я извлёк Время летит, правда? Моя карьера началась в 2012 году, с первой стажировки по C++. Честно говоря, я понятия не имел, что делаю (на самом деле, ничего не изменилось). Однако я извлёк несколько уроков. Отказ от ответственности: в этом сообщении не будет никакого кода. Вопр...

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

Haxe 4: Что нового? Предлагаю вашему вниманию перевод доклада Александра Кузьменко (с апреля этого года он официально работает в качестве разработчика компилятора Haxe) об изменениях в языке Haxe, произошедших с релиза Haxe 3.4. С момента выпуска Haxe 3.4 прошло более чем два с половиной года....

Ruby Meetup meta/conf Команда Evrone.com совместно с DataArt запускает в Воронеже серию мероприятий, где вы узнаете все о современных технологиях разработки и дизайна. На MEETUP #1, посвященного Ruby, вы узнаете, что происходит в мире этого языка сейчас, ус...

«Эмпирические результаты лишь для публикации, реальные мотивы работ — эстетические». Большое интервью с Майклом Скоттом Майкл Скотт — уже 34 года как профессор Computer Science в Рочестерском университетe, а в родном универститете Wisconsin–Madison был деканом в течение пяти лет. Он занимается исследованиям в области параллельного и распределённого программирования и дизайна языков и обучает...

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

Архитектура компьютера. Цифровой логический уровень Компьютер — это машина, которая может выполнять вычисления через исполнение примитивных операций. Она может понимать только два сигнала, которые принимаются за 0 и 1. Организация архитектур машин представляется как ряд уровней, каждый из которых надстраивается над нижележа...

Википедия признала Крым частью России Онлайн-энциклопедия «Википедия» в статье о G20 на 72 языках мира указала Крым частью России на картах. Феномен заметили журналисты издания «Известия». Эту информацию подтвердили и представители самой интернет-энциклопедии на Украине и в России.

Архитектурный шаблон «Итератор» («Iterator») во вселенной «Swift» «Итератор» – один из шаблонов проектирования, которые программисты чаще всего не замечают, потому что его реализация, как правило, встроена непосредственно в стандартные средства языка программирования. Тем не менее, это тоже один из поведенческих шаблонов, описанных в книге...

Проверка обёртки OpenCvSharp над OpenCV с помощью PVS-Studio OpenCV — библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым кодом, знакомая многим разработчикам на C++. Помимо C++, OpenCV также разрабатывается для Python, Java, Ruby, Matlab, Lua и других языков. Так как ...

О том, что мы реализовали в EWM благодаря вашим советам Это пост о том, как мы доводим до ума English Word Mania — мобильное приложение, которое помогает обогащать лексический запас при изучении английского языка и превращает этот процесс в соревнование. После предыдущей публикации мы получили ценный фидбек от читателей, который ...

Поиски «идеального» GUI. Путь новичка Изучая первый язык я хотел видеть кнопочки, а не только текст в консоли. Я сделал на Python3+tkinter калькулятор. Это заняло 585 строк. Применив к коду магию py2app, я получил bundle размером 45MB. Мне не понравилась работать с py2app. Иногда все переставало работать, если и...

[Перевод] C# или Java? TypeScript или JavaScript? Классификация языков программирования на основе машинного обучения На GitHub представлено больше 300 языков программирования, начиная с общеизвестных языков, таких как Python, Java, и Javascript, и заканчивая эзотерическими языками, такими как Befunge, известными только малым группам людей. Топ-10 языков программирования, размещенных на Gi...

[Из песочницы] Какой уровень востребованности PHP разработчиков на 1 квартал 2019 года? На рынке труда программисты PHP являются одними из наиболее востребованных специалистов. За последние 3 года их популярность среди работодателей выросла на более чем на 12%. PHP — самый распространенный язык программирования общего назначения с открытым исходным кодом, многи...

Kotlin вошел в Топ-20 языков программирования RedMonk Вышел новый рейтинг языков программирования RedMonk и самый заметный рост в нем показал Kotlin.

4 совета от полиглотов помогут выучить новый язык Успех в этом деле зависит не от врождённых талантов, а от правильного подхода.

Julia, Градиентный спуск и симплекс метод Продолжаем знакомство с методами многомерной оптимизации. Далее предложена реализация метода наискорейшего спуска с анализом скорости выполнения, а также имплементация метода Нелдера-Мида средствами языка Julia и C++. Читать дальше →

Intel oneAPI — один за всех Итак, случилось то, о чем еще с июля месяца говорила компания Intel — вышла бета-версия Intel oneAPI Toolkits, набора инструментов для разработки, с которыми жизнь больше не будет прежней. В состав набора, как и обещалось, вошел компилятор нового языка Data Parallel C++, наб...

VMmanager 6: представляем коробку и сравниваем с предыдущим поколением 8 октября вышла коробочная версия VMmanager 6 — новой панели управления виртуализацией. Теперь её можно установить на сервер и использовать для продажи виртуальных машин или управления собственной инфраструктурой. В этой статье сравним новое поколение с предыдущим — VMmana...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)