Социальные сети Рунета
Суббота, 31 июля 2021

Код Войнича: мнимый триумф искусственного интеллекта Сфера интересов сотрудников и преподавателей онлайн-школы английского языка EnglishDom намного шире, чем просто английский. Загадки лингвистики нам тоже интересны. Недавно в нашем офисе завязался спор про код Войнича, и мы решили сделать статью на эту тему. Манускрипт Вой...

Microsoft разработала ИИ-систему, преобразующую простые текстовые запросы в код Корпорация Microsoft на конференции для разработчиков Microsoft Build, которая прошла несколько дней назад, представила интересную новинку. Это модель обработки естественного языка GPT-3 от OpenAI, позволяющая создавать приложения с минимальным знанием языков программиров...

Bison, dynamic linking и… обработка BMP изображений В этом посте я постараюсь раскрыть тему написания несложного модульного приложения на языке C89 для обработки 24-битных BMP изображений, использующего в своей работе простой скриптовый язык.Если вы заинтересованы в разработке языков или вам необходимо быстро разобраться как ...

Simple English и Simple Wikipedia: как идея о простом английском стала реальностью Английский язык — далеко не самый простой из существующих. А по количеству лексики он вообще один из лидеров. По исследованию Google и Гарвардского университета, на 2000 год в английском языке было уже около 1 022 000 слов.В мировой истории был целый ряд попыток популяризова...

Книга «Обработка естественного языка в действии» Привет, Хаброжители! Мы издали практическое руководство по обработке и генерации текстов на естественном языке. Книга снабжена всеми инструментами и методиками, необходимыми для создания прикладных NLP-систем с целью обеспечения работы виртуального помощника (чат-бота), спам...

Книга «Гарвардский Некромант» Привет, Хаброжители! «Гарвардский некромант» рассказывает о том, как вели бы себя ученые, если бы магия реально существовала. Это научная фантастика с акцентом на первом слове. Автор пишет как о реальных, так и о вымышленных научных исследованиях, — но вымышленные описывае...

[Из песочницы] Частотный анализ русского текста и облако слов на Python Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях т...

Языку программирования Python исполнилось 30 лет Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources. Работа над языком вела...

О чем говорится в средневековом "дьявольском" манускрипте Расшифровка "сатанинской" рукописи XVII века, которой больше 300 лет, велась итальянскими программистами с помощью DarkNet. Источник

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Перевод] У AssemblyScript новый конкурент: язык Grain, созданный для WebAssembly, громко заявил о себе Оскар Спенсер — один из создателей языка Grain Grain — язык программирования высокого уровня со строгой типизацией. Это гибридный язык, сочетающий в себе некоторые возможности функционального  (например, вывод типов, сопоставление с образцом, замыкания) и императивного про...

Вышел язык программирования Crystal версии 1.0: достоинства, возможности и немного истории Языков программирования в мире много — около 8 тысяч, если учитывать вообще все, что может считаться языком программирования, включая всякие шуточные и теоретические проекты. На днях вышла версия 1.0 еще одного языка — Crystal. Его создатели утверждают, что язык является ...

[Перевод] История обработки естественного языка, с тринадцатого века до наших дней Обработка естественного языка восходит к мистикам Каббалы Задолго до того, как обработка естественного языка стала модной темой в области искусственного интеллекта, люди придумывали правила и машины для манипулирования языком Мистик 13 века Авраам бен Самуэль Абулафия изобр...

Личный опыт изучения испанского: так ли прост язык, как о нем пишут? Аtención: Мнение, описанное в статье, — субъективно, это личный взгляд на вещи. У каждого человека разные способности к изучению языков, как и к любой другой деятельности. До переезда в Испанию у меня был скудный опыт в изучении иностранных языков. Относительного успеха я ...

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

[Перевод] «Чертовски глупое решение»: история появления языка C Как ни сложно в это поверить, C не родился в виде истрёпанного руководства в бумажной обложке. В том или ином виде, язык C повлиял на формирование практически каждого языка программирования, разработанного с 1980-х. Некоторые языки наподобие C++, C# и Objective C должны бы...

[Перевод] Как языки программирования получили свои названия Возможно, вы слышали поговорку о том, что в информатике есть только две сложные вещи, одна из них — придумывать названия. Некоторые имена языков программирования действительно имеют смысл, например, Google назвали свой язык Go(lang). Другие названия — например, Python и Java...

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

Парсинг Markdown и LaTeX в Grazie Chrome Plugin Возможно, вы уже пользуетесь Grazie — плагином для среды разработки Intellij IDEA, который проверяет естественные языки на грамматические, пунктуационные и прочие виды ошибок. Сейчас команда проекта работает над плагином для Chrome, который будет делать то же самое, но уже в...

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

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

Microsoft позволит создавать приложения без знания кода Одна из самых мощных моделей обработки естественного языка в мире GPT-3 от OpenAI будет интегрирована в платформу low-code разработки Microsoft Power Apps. Это позволит создавать приложения в диалоговом режиме, без глубоких знаний кода или формул, что сделает разработку еще ...

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

Google выпустила новый язык программирования Logica Софтверный гигант Google порадовал своих поклонников выпуском нового языка программирования.Язык программирования с открытым исходным кодом получил название Logica. Новинка стала преемником языка Yedalog, ориентирована на транслирование программ в SQL и манипулирование данны...

Грамматический разбор для естественных языков. Ч.2: Алгоритм Кока—Янгера—Касами (CYK) (Ч.1: Языки описания языков)В идеале нам хотелось бы разбирать текст за линейное время и за один проход. Регулярные выражения это позволяют, но уже с CFG это не получится: например, S → A | B; A → a | x A; B → b | x B превращает строку x…xa в дерево из уз...

Я принес вам решение проблемы с исключениями в C#. Но вам не понравится Я каждый день пишу код на сишарпе, и натыкаюсь на одну проблему: я трачу кучу времени на то, чтобы решить, как быть, если что-то идёт не по плану. У меня есть приличный опыт работы с другими языками программирования, и стандартный подход по работе с ошибками в C# мне не н...

Грамматический разбор для естественных языков. Ч.1: Языки описания языков Исторически первой попыткой формализовать язык и автоматизировать его разбор были регулярные выражения, придуманные С.К. Клейни в 1951. Регулярное выражение составляется из символов языка ("терминалов"), и трёх операций: конкатенация, чередование и замыкание. Для разбора рег...

Книга «Head First. Изучаем Go» Привет. Хаброжители! Go упрощает построение простых, надежных и эффективных программ. А эта книга сделает его доступным для обычных программистов. Основная задача Go — эффективная работа с сетевыми коммуникациями и многопроцессорной обработкой, но код на этом языке пишется ...

Правосторонний интерфейс: адаптируем контролы к right-to-left языкам C адаптацией приложений и сайтов под RTL-языки (right-to-left, справа налево) сталкиваются разработчики многих развивающихся и выходящих на новые рынки продуктов. Мы в Badoo тоже в какой-то момент оказались в этой ситуации: наши приложения переведены на 52 языка и диалекта. ...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

Обзор GameLisp: нового языка для написания игр на Rust Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем? Вот его аргументы: Разработка движка игры и разработка игры на этом движке – две очень разные задачи, и для них удобно...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

[Перевод] Трансформеры как графовые нейронные сети TL;DR: перевод поста Chaitanya Joshi "Transformers are Graph Neural Networks": схемы, формулы, идеи, важные ссылки. Публикуется с любезного разрешения автора.Друзья-датасаентисты часто задают один и тот же вопрос: графовые нейронные сети (Graph Neural Networks) — п...

Варим байткод на кухне JVM Меня зовут Александр Коцюруба, я руковожу разработкой внутренних сервисов в компании ДомКлик. Многим разработчикам, пишущим на Java, с опытом приходит понимание внутреннего устройства JVM. Чтобы облегчить этот путь Java-самурая, я решил простым языком изложить основы виртуал...

Открытый курс «Deep Learning in NLP» от создателей DeepPavlov на базе курса cs224n Всем привет! Вступление Меня зовут Алексей Клоков, я хочу рассказать о запуске классного курса по обработке естественного языка (Natural Language Processing), который очередной раз запускают физтехи из проекта DeepPavlov – открытой библиотеки для разговорного искусственного ...

Как кыргызский язык стал «русским» и почему это закономерно «B пpeдeлax иcтopии мы видим, чтo языки тoлькo дpяxлeют пo oпpeдeлeнным жизнeнным зaкoнaм, в звyкoвoм и фopмaльнoм oтнoшeнии. Языки, нa кoтopыx мы тeпepь гoвopим, являютcя, пoдoбнo вceм языкaм иcтopичecки вaжныx нapoдoв, cтapчecкими языкoвыми пpoдyктaми. Bce языки кyльтypн...

Natural Language Processing. Итоги 2019 и тренды на 2020 Всем привет. С некоторым запозданием я решил опубликовать эту статью. Каждый год я стараюсь подвести итоги произошедшего в области обработки естественного языка (natural language processing). Не стал исключением и этот год. BERTs, BERTs are everywhere Начнем по порядку. Ес...

[Перевод] Life in the Fast Lane Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая: Стек Go Your Own Way. Часть первая: Куча В первой из серии статей о GC я представил сборщик мусора в языке D и...

Самодельный компилятор и игровая библиотека Raylib. Опыт стыковки Говорят, что успех того или иного языка программирования или компилятора во многом зависит от его умения взаимодействовать со сторонним кодом. Конечно, «успех» любительского компилятора нужно понимать с известной долей условности и даже иронии. Однако и здесь интеграция с ...

[Перевод] Python. Язык, на котором просто мыслить Привет, Хабр! У нас возможен предзаказ долгожданного второго издания книги "Простой Python". Перевод первого издания вышел в 2016 году и по сей день остается в числе бестселлеров. Поскольку мы убеждены, что Python — лучший язык программирования для начинающих, ...

ChaiScript — скриптовый язык для C++ Когда возникает потребность внедрить скриптовый язык в проект на C++, первым делом большинство людей вспоминает Lua. В этой статье его не будет, я расскажу о другом, не менее удобном и легком в освоении языке под названием ChaiScript. Читать дальше →

Язык программирования karasic Привет, друг. Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования kara...

[Перевод] Обновление роадмапа AngularDart Недавно команда языка Dart опубликовала важный анонс про обновление роадмапа AngularDart. Мы решили перевести эту новость на русский язык и добавить свой комментарий о том, что это сообщение будет значить для Dart-сообщества. Читать дальше →

Как улучшить контент с помощью Natural Language Processing Как технологии обработки естественного языка помогают Google понимать контент, и как их можно использовать для улучшения текстов. Сообщение Как улучшить контент с помощью Natural Language Processing появились сначала на Searchengines.ru.

Машинное обучение на R: экспертные техники для прогностического анализа Привет, Хаброжители! Язык R предлагает мощный набор методов машинного обучения, позволяющих быстро проводить нетривиальный анализ ваших данных. Книга является руководством, которое поможет применять методы машинного обучения в решении ежедневных задач. Бретт Ланц научит всем...

[Перевод] React Intl: интернационализация React-приложений Библиотека React Intl предоставляет механизм для перевода текста на другие языки. В данном "туториале" мы используем названную библиотеку для реализации интернационализации в проекте, написанном на React. Мы создадим простое приложение, позволяющее пользователю вы...

[Перевод] Однобуквенные языки программирования Список языков программирования, названных одной буквой. А Язык программирования A+ является потомком APL, как и другие языки на этой странице, потому что сообщество APL любит однобуквенные имена. Артур Уитни (создатель многих диалектов APL) создал A, затем Морган Стенли...

На манускрипте 15 века обнаружено скрытое послание Студенты Рочестерского технологического института обнаружили скрытое послание на страницах древнего манускрипта. Рукопись XV века сейчас изучается историками, которые должны расшифровать скрытый текст. Источник

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

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

Проект LLHD — универсальный язык описания аппаратуры Буквально на днях на arXiv-е была выложена очень занятная статья швейцарских исследователей, в которой представлены подробности проекта LLHD. Это проект создания многоуровневого промежуточного представления для языков описания аппаратуры, наследующий идеологию и принципы про...

Pattern matching в Java 8 Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Язык Java не является исключениям. И в Java 16 будет добавлено поддержка сопоставление с образцом для оператора instanceof, как финальной фичи. В будущем надеемся, что сопос...

Почему мы выбрали Kotlin целевым языком компании. Часть 1: Ретроспектива Компания ДомКлик существует с 2015 года, и за это время мы успели сменить целевой язык для разработки ключевых сервисов с Java на Kotlin. Меня зовут Александр Коцюруба, я IT Lead в компании ДомКлик. Отвечая на вопрос, почему мы перешли на Kotlin, я опубликую два материала:...

Новый язык программирования — Relax Всем привет, я являюсь автором языка программирования Relax. На данный момент я разрабатываю RVM(RelaxVirtualMachine) И Relasm(Relax Assembly). Первые попытки сделать свой язык начались в конце лета 2020, тогда я и не думал что делать язык - это так сложно. Сам же проект Rel...

Рейтинг языков программирования TIOBE: январь 2020 Актуальный рейтинг популярности языков программирования в мире по данным индекса TIOBE. Язык C стал языком программирования 2019.

Лемматизируй это быстрее (PyMorphy2, PyMystem3 и немного магии) Я работаю программистом, и в том числе занимаюсь машинным обучением применительно к анализу текстов. При обработке естественного языка требуется предварительная подготовка документов, и одним из способов является лемматизация – приведение всех слов текста к их нормальным фор...

ТЕЛЕКОММУНИКАЦИИ (16.11 – 15.12.2019) «МТС» начала продавать виртуальных юристов – систему автоматической работы с документами и управления жизненным циклом договоров. Решение создано на базе таких ИИ-технологий, как обработка естественного языка и компьютерное зрение...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

[Перевод] PHP 8 в восьми кусочках кода В PHP 8 появилось много новых функций, в этом списке мы рассмотрим самые выдающиеся. Disclaimer: ссылка на эту статью на английском языке уже была в посте последнего PHP дайджеста. Если владеете языком достаточно, возможно, стоит перейти к оригиналу, там очень много сносок ...

Новогодние бенчмарки компьютеров Эльбрус Новогодние бенчмарки компьютеров Эльбрус Продолжение статьи Большое тестирование процессоров различных архитектур. В этот раз я решил измерить производительность конкретных сред/языков программирования (C#, Java, JavaScript, Python, Lua) на компьютерах с процессорами Эльбру...

[Перевод] Нужна ли нам замена языка C? Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов. Популярность языков программирования в 2020 по индексу...

Пишем Slack бота для Scrum покера на Go Здравствуйте! Сегодня мы напишем Slack Scrum покер бота на языке Go. Писать будем по возможности без фреймворков и внешних библиотек, так как наша цель – разобраться с языком программирования Go и проверить, насколько этот язык удобен для разработки подобных проектов. Прошу ...

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

[Из песочницы] Web2Text: глубокое структурированное извлечение содержимого web-страницы Привет, Хабр! Представляю вашему вниманию перевод статьи "Web2Text: Deep Structured Boilerplate Removal" коллектива авторов Thijs Vogels, Octavian-Eugen Ganea и Carsten Eickhof. Веб-страницы являются ценным источником информации для многих задач обработки естествен...

[Перевод] 50 лет Паскаля В начале 1960-х в мире доминировали языки Фортран (Джон Бэкус из IBM) для научного и Кобол (Жан Саммет из IBM и Министерство обороны) для коммерческого применения. Программы писались на бумаге, затем перфорировались на картах, после чего результатов их выполнения ждали цел...

[Перевод] Что плохо в новых значках Google Компания Google «переосмыслила» G Suite как Google Workspace и выродила удивительное семейство разноцветных логотипов вместо всем привычных, узнаваемых, а в случае Gmail — даже культовых — иконок. На их месте появились маленькие радужные капли, которые мы теперь будем изо ...

[Перевод] Debugging в Julia — два способа скришнот из metal slug 3 2020 год — это определенно год странностей. Мой код тоже часто включает в себя некоторые странные ошибки. И в данном посте я хочу показать вам несколько методов отладки кода на языке julia. Читать дальше →

[Перевод] Почему будущее не за Python Хотя, безусловно, этот язык программирования будет востребован ещё много лет. Сообществу программистов понадобились десятилетия, чтобы по достоинству оценить Python. С начала 2010-х годов он переживает бум — и в итоге превосходит C, C#, Java и JavaScript по популярности. ...

[Перевод] Стоит ли переходить с Python на Nim ради производительности? Nim — это сочетание синтаксиса Python и производительности C Несколько недель назад я бродил по GitHub и наткнулся на любопытный репозиторий: проект был полностью написан на языке Nim. До этого я с ним не сталкивался, и в этот раз решил разобраться, что это за зверь. Сна...

[Перевод] Практическое функциональное программирование Текст статьи взят из презентации, которую я показывал в LinkedIn в2016 году. В презентации была предпринята попытка объяснить функциональное программирование без использования таких понятий, как «монады», «неизменность» или «побочные эффекты». Вместо этого она фокусируется ...

NLP — пришло время внедрять? Технология обработки естественного языка (natural language processing, NLP) — это подмножество искусственного интеллекта, на котором работают голосовые боты и текстовая аналитика. Президент консалтинговой компании Transworld Data Мэри ...

[Перевод] Как школьный учитель изобрёл один из самых влиятельных языков программирования Говоря коротко, С работает везде. Этот язык — не просто большой динозавр, которому каким-то образом удалось дожить до наших дней. Он крайне практичен, поэтому невероятно успешен. Удивительно, но истоки С далеки от успехов. Он стал итогом десятилетий неудач, и, если бы не ста...

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

[Перевод] Построение моделей Трансформера для больших последовательностей с помощью методов разреженного внимания Модели обработки естественного языка (Natural language processing, NLP) на основе архитектуры Трансформеров, такие как BERT, RoBERTa, T5 или GPT3, успешно применяются в самых различных задачах и являются стандартом современных исследований в области NLP. Гибкость (универсаль...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

[Перевод] Несколько полезных советов как практиковаться в Python Привет, Хабр! Сегодня я предлагаю Вам перевод статьи Duomly, посвящённой изучению и практике программирования на языке Python. Введение Изучение Python не сильно отличается от изучения других языков программирования. Один путь для становления профессионалом в Python (или в д...

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

Oracle сама скопировала API у Amazon S3, и это совершенно нормально Юристы Oracle сравнивают реимплементацию Java API в Android с копированием содержания «Гарри Поттера», pdf В начале этого года Верховный суд США рассмотрит важное дело Oracle против Google, которое определит правовой статус API в соответствии с законом об интеллектуальной...

[Перевод] Как ускорить код на Python в тысячу раз Обычно говорят, что Python очень медленный В любых соревнованиях по скорости выполнения программ Python обычно занимает последние места. Кто-то говорит, что это из-за того, что Python является интерпретируемым языком. Все интерпретируемые языки медленные. Но мы знаем, что ...

[Из песочницы] Массивы bash Предлагаю вашему вниманию перевод статьи Митча Фрейзера (Mitch Frazier) "Bash Arrays" с сайта linuxjournal.com. Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не ...

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

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

Android Localization Library: простое переключение языков Android Localization Library — библиотека для управлениями языками в приложении. Принцип локализации остается прежним (вы делаете разные строковые файлы для разных языков), а библиотека помогает переключаться между языками “на лету”. Например: class MainApplication : A...

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

[Перевод] Более эффективное предварительное обучение NLP моделей с ELECTRA Последние разработки в области предварительного обучения языковых моделей привели к значительным успехам в сфере обработки естественного языка (Natural Language Processing, NLP), породив такие высокоэффективные модели, как BERT, RoBERTa, XLNet, ALBERT, T5 и многие другие. Эт...

[Перевод] Почему язык С не помешает вам делать ошибки Если вкратце: потому что мы так сказали. :) Ладно, это слишком короткое объяснение для статьи, дорогой читатель, и мои провокационные слова требуют объяснения. Встреча Комитета по языку С — которую сначала планировали провести в германском Фрайбурге, но не срослось по по...

Vue 3 на Typescript Популярность Typescript растет день ото дня. Javascript нетипизированный язык(или слабо типизированный, если точнее), и одна и та же переменная способна принимать и строку, и число, и даже объект. С одной стороны, это делает язык гибким, с другой, потенциально ведет к много...

[Из песочницы] Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кр...

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

[Перевод] Kotlin vs Java И снова здравствуйте. В преддверии старта нового курса «Backend-разработка на Kotlin», мы подготовили для вас перевод статьи, в которой рассказывается о том, чем же Kotlin отличается от Java. «Kotlin – новый язык программирования, который заставит вас отказаться от Java»...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

[Из песочницы] DevOps инструменты не только для DevOps. Процесс построения инфраструктуры автоматизации тестирования с нуля Часть 1: Web / Android Примечание: данная статья является переводом на русский язык оригинальной статьи «DevOps tools are not only for DevOps. Building test automation infrastructure from scratch». Однако все иллюстрации, ссылки, цитаты и термины сохранены на языке оригинал...

[Перевод] Пять самых сложных языков программирования на свете У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания большинства программистов. Они называются эзотерическими языками программирования (или эзо...

Let vs where в Ocaml/Haskell Языки Ocaml и Haskell ведут родословную из языка ISWIM, описанного в знаменитой статье Питера Лендина "The next 700 programming languages". В ней автор, отталкиваясь от языка LISP, создаёт новый язык программирования и, в частности, вводит ключевые слова let, and и where, ко...

Зачем мы транспилируем Haskell в JavaScript Зачем нужна транспиляция в JavaScript Привет, Хабр! Сегодня мы расскажем, почему мы пишем фронтенд на Haskell и компилируем его в JavaScript. Вообще говоря, подобный процесс называется транспиляцией: Транспиляция — это процесс преобразования программы на языке X в эквивалент...

IT-валентинка: 53 способа признаться в любви Однажды на Zoom-созвоне нашей команды нить дискуссии ушла за пределы планируемого. На удаленке такое часто случается, потому что всем не хватает обычного «кухонного» общения в офисе. Разговор начался с итальянской книги, где на всех языках мира написано «Я тебя люблю». Пото...

[Перевод] Как использовать Prometheus для обнаружения аномалий в GitLab Одной из базовых функций языка запросов Prometheus является агрегация временных рядов в режиме реального времени. Также язык запросов Prometheus можно использовать для обнаружения аномалий в данных временных рядов.  Команда Mail.ru Cloud Solutions перевела статью инженера ...

Идеальный график отпусков. Естественные алгоритмы. Поведение роя пчёл Естественные (или эволюционные) алгоритмы – это направление в искусственном интеллекте, которое моделирует процессы естественного отбора, мутации и воспроизводства. Одним из видов естественных алгоритмов является метод роя пчел. Его целью является концентрация бОльшего ко...

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

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

[Перевод] Почему я считаю Haskell хорошим выбором с точки зрения безопасности ПО? Команда Typeable понимает ценность безопасности. Мы любим Haskell, но стоит ли его выбирать, если ваша цель – создание защищенного программного обеспечения? Хотелось бы сказать «да», но как и для большинства эмпирических вопросов о разработке ПО, здесь просто нет объективно...

[Перевод] Языки любимые и языки страшные. Зелёные пастбища и коричневые поля Результаты опроса Stack Overflow являются отличным источником информации о том, что происходит в мире разработки. Я просматривал результаты 2020 года в поисках некоторых идей, какие языки добавить в нашу документацию по контейнерным сборкам, и заметил кое-что интересное о ...

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

LG раскрыла особенности нового дизайнерского языка для своего следующего смартфона Флагманские телефоны LG за последние пару лет выглядели очень похожими друг на друга. Отличия в дизайне устройств G7, V40, G8, V50, G8X и V60 были незначительными. Но в дальнейшем ситуация изменится. Компания готовится к выходу нового смартфона, который будет использовать со...

Автоматизация, безопасность, онлайн-знакомства: для чего еще используют голосовые технологии в 2021 году Голосовые интерфейсы и форматы общения сейчас переживают новый виток популярности благодаря активно развивающимся технологиям распознавания речи и обработки естественного языка (NLP). Ведущие технологические компании одна за другой выпускают голосовых ассистентов, системы бе...

Какой язык программирования быстрее работает, проще изучается, легче пишется и вообще всех прекрасней на свете? В преддверии дня разработчика мы решили поднять извечный вопрос: «Какой язык программирования самый лучший?» Читать дальше →

[Перевод] Почему стоит начать изучение программирования с языка C Краткое содержание: автор статьи объясняет, почему С хорош именно на этапе обучения и прокачки мозгов будущего программиста. А через некоторое время, или даже параллельно, можно выучить более современный язык и заняться, например, Enterprise- или Web-разработкой. Фото: Lia...

G-code, потерявшийся брат Assembler-а Про язык управления промышленными CNC-станками и всевозможными любительскими устройствами вроде 3D-принтеров написано очень много статей, но почитать о том, какова идеология этого языка и как она связана с аппаратной реализацией — почти негде. Поскольку моя работа связана не...

Программируем прямо в Nginx Nginx — великолепный веб-сервер. Все мы привыкли использовать его в связке с бекендомами на разных языках программирования. Но оказывается можно писать простые программы прямо внутри конфигурационного файла Nginx. Это можно использовать для балансировки, написания простых ...

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

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

[Из песочницы] Разбираемся с управлением памятью в современных языках программирования Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan. В данной серии статей мне бы хотелось развеять завесу мистики над управлением памятью в программном обеспечении (далее...

Заметки Дата Саентиста: персональный обзор языков запросов к данным Рассказываю из личного опыта, что где и когда пригодилось. Обзорно-тезисно, чтобы понятно было что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас может быть все совсем по-другому. Почему важно знать и уметь обращаться с языками зап...

Как устроен Sporth — ЯП для музыкальных live-сессий Один из предыдущих материалов мы посвятили OpenMusic — инструменту для написания музыки на ООП. Мы также говорили о языках программирования, заточенных под создание аудиокомпозиций. Сегодня мы решили продолжить тему и рассказать о языке Sporth. Его разработали специально, ч...

Как технологии обработки естественного языка повлияют на предприятия В последние годы технология обработки естественного языка (natural language processing, NLP) совершила качественный скачок в плане точности, скорости и методологии. Сегодня это одна из наиболее быстроразвивающихся областей ...

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

16 советов по разработке для Android на языке Kotlin. Часть 1 Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работ...

WuDao 2.0 - новая китайская система искусственного интеллекта, превосходящая по сложности системы Google и OpenAI Представители Пекинской Академии искусственного интеллекта (Beijing Academy of Artificial Intelligence, BAAI) объявили на прошлой неделе о завершении разработки новой системы искусственного интеллекта, которая стала самой сложной на сегодняшний день системой для обработки ес...

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

1С справа налево: как мы поддержали RTL в платформе 1С: Предприятие Платформа 1С:Предприятие локализована на 22 языка, включая английский, немецкий, французский, китайский, вьетнамский. Недавно, в версии 8.3.17, мы поддержали арабский язык. Одна из особенностей арабского языка в том, что текст на нём пишут и читают справа налево. UI для ара...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

Как писать на ассемблере в 2021 году Несмотря на наличие множества языков различной степени высокоуровневости, сегодня ассемблер не потерял своей актуальности и в индексе TIOBE находится на почётном 10-ом месте (на февраль 2021), обогнав такие модные языки как Go и Rust. Одна из причин его привлекательности – в...

Языки «Властелина колец»: как язык создал целую вселенную Рождение Средиземья 21 сентября 1937 года в Англии вышла небольшая книжка, озаглавленная просто – «Хоббит», автором числился мало известный за пределами научного мира Дж. Р. Р. Толкин. Читатели приняли текст хорошо, но никто не понял, чем все это грозит миру. Толкиновский...

Симуляторы компьютерных систем – похожи ли на реальность Простым и доступным языком про основные термины из области симуляторов, а также типы и уровни детализации моделей. Материал для легкого и быстрого знакомства с данным направлением. Читать дальше →

Как начать учить английский язык и не забросить после первой недели? Коротко о том, чем руководствоваться при старте изучения языка и как не расстраиваться, когда не получается. Как выбрать компетентного репетитора, который научит современному языку. Читать далее

Дешифровка текста методом частотного анализа Привет, Хабр! В этой статье я покажу как сделать частотный анализ современного русского интернет-языка и воспользуюсь им для расшифровки текста. Кому интересно, добро пожаловать под кат! Читать дальше

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

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

XPATH + XML = быстрая обработка При выполнении запросов язык XPath оперирует такими сущностями как узлы. Узлы бывают нескольких видов: element (узел-элемент), attribute (узел-атрибут), text (узел-текст), namespace (узел-пространство имён), processing-instruction (узел-исполняемая инструкция), comment (уз...

Клонированные переменные Как-то попалось интересное (для меня), хотя и довольно давнее обсуждение языков программирования, где упоминался и язык PL/1. В конце концов, как всегда и бывает на таких форумах, все стороны остались при своем мнении, и тогда один из участников предложил написать на разных ...

Как я изучаю языки Привет, хабровчане! Давным-давно, когда динозавры ходили по земле, a автор этих строк училась в шестом классе, на глаза мне попалась небольшая книжечка венгерской переводчицы Като Ломб «Как я изучаю языки». Я прочла её и — пропал калабуховский дом. Передо мной открылся сов...

16 советов по разработке для андроид на языке Kotlin. Часть 2 Всем привет. В преддверии старта базового курса по Android-разработке, продолжаем делиться полезным материалом. Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org. Поскольку эти советы...

[Перевод] Релиз Dart 2.10: на шаг ближе к null-safety Команда языка Dart постепенно приближается к одному из самых мажорных релизов — null-safety. Эта фича есть у многих лидеров рынка, включая Kotlin и TypeScript. По понятным причинам этот релиз нельзя сделать в виде рубильника: одним днём и простым апдейтом. Набравшее скорост...

Курс Natural Language Processing (обработка естественного языка) Всем привет! Huawei Russian Research Institute (Huawei RRI) в рамках программы взаимодействия с ведущими российскими университетами (МФТИ, МГУ, МГТУ им. Н. Э. Баумана) представляет открытый курс “Natural Language Processing” или “Обработка естественного языка”, который пройд...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

20 SEO-мифов, которые должны умереть в 2020 Хабр читают не только разработчики, и не только люди связанные с IT, некоторые из моих клиентов иногда кидали мне ссылки на Хабр, и среди них были такие, которые совсем далеки от IT. Поэтому в этой статье будет максимально простым языком объясняться некоторые аспекты SEO. К ...

[Перевод] Ручное управление памятью в языке Go Привет, Хабр! Наши читатели не могли не заметить нашего растущего интереса к языку Go. Наряду с книгой из предыдущего поста, у нас найдется на эту тему немало интересного. Сегодня мы хотим предложить вам перевод материала «для профи», в котором демонстрируются интересные ас...

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

[Перевод] Самый быстрый компилятор aka compiler-benchmark От переводчика: все началось с топика на форуме D. После оценки скорости компиляции D по сравнению с другими языками мне было интересно, существует ли какой-нибудь язык, который компилируется в нативный код почти так же быстро или быстрее, чем D, за исключением C? Если да, т...

Чистый Cython VS nvc++: жжем металлические пластины на GPU для сравнения скорости Будем греть металлические пластины на GPU Все знают, что Python не блещет скоростью сам по себе. На мой взгляд язык прекрасен своей читабельностью, но основная ниша его применения там, где вы большую часть времени ожидаете ввода/вывода каких-то данных. Условно, вы можете...

[Перевод] Fiber’ы — новая фича в PHP 8.1 PHP пытается восполнить недостаток возможностей в своей кодовой базе, и Fiber’ы — одно из значимых нововведений. Они появились в PHP 8.1 в конце 2020 и привнесли в язык своего рода асинхронное программирование. Файберы представляют собой легковесные потоки исполнения (извес...

[Перевод] 7 опасных ошибок, которые легко совершить в С#/.NET Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». C# — великолепный язык, и .NET Framework также очень хорош. Строгая типизация в C# способствует уменьшению количества ошибок, которые вы способны спровоцировать, по сравнению с другими язык...

Член программного комитета PyConRu 2020 отвечает на вопросы об языке Python: актуальный взгляд и немного парселтанга Антон Патрушев – очень опытный python-разработчик, постоянный член программного комитета PyCon Russia и старый друг конференции. Он работает с языком python уже много лет, начинал свое знакомство с ним в Naumen, теперь является СТО в Spherical, а еще это была именно ид...

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

Haproxy — программирование и конфигурирование средствами Lua Сервер Haproxy имеет встроенные средства для выполнения скриптов Lua.Язык программирования Lua для расширения возможностей различных серверов используется очень широко. Например, на Lua можно программировать для серверов Redis, Nginx (nginx-extras, openresty), Envoy. Это впо...

[Перевод] Искусство написания циклов на Python Цикл for — самый базовый инструмент потока управления большинства языков программирования. Например, простой цикл for на C выглядит так: int i; for (i=0;i<N;i++) { //do something } Не существует более изящного способа написания цикла for на C. В сложных случаях обычн...

Фортран внезапно вернулся в список самых популярных языков программирования Индекс TIOBE оценивает популярность языков программирования на основе подсчёта результатов содержащих название языка поисковых запросов в Google, Wikipedia, YouTube и на других популярных сайтах. Расчёт индекса происходит ежемесячно, апрельский рейтинг ознаменовал неожи...

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

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

Контрибьютим в Swift Знакомо, узнали? Каждый раз когда вы пытались объявить опциональное замыкание @escaping в Swift компилятор ругался и писал непонятную ошибку @escaping attribute only applies to function types. Мне это не нравилось, и я решил это исправить. Теперь компилятор Swift 5.3 вместо...

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

[Из песочницы] Отображение данных в формате json на структуру C++ В идеале хотелось бы определить структуру С++ struct Person { std::string name; int age; bool student; } person; передать экземпляр person в метод отображения вместе с данными json_data map_json_to_struct(person, json_data) после чего просто пользоваться заполненной струк...

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

[Перевод] Python-пакеты для Data Science Python — это один из самых распространённых языков программирования. Хотя стандартные возможности Python достаточно скромны, существует огромное количество пакетов, которые позволяют решать с помощью этого языка самые разные задачи. Пожалуй, именно поэтому Python и пользуетс...

Крупнейшее обновление Google пришло в российский поисковик Российская версия поиска Google получила самое крупное обновление алгоритмов за последние пять лет. Теперь поисковик работает с технологией предварительного обучения обработке текста на естественном языке BERT. С её помощью система может лучше понимать запросы пользователей....

[Перевод] BERT, ELMO и Ко в картинках (как в NLP пришло трансферное обучение) 2018 год стал переломной точкой для развития моделей машинного обучения, направленных на решение задач обработки текста (или, что более корректно, обработки естественного языка (Natural Language Processing, NLP)). Быстро растет концептуальное понимание того, как представлять...

Дженерики в языке Go func Map[F, T any](s []F, f func(F) T) []T { r := make([]T, len(s)) for i, v := range s { r[i] = f(v) } return r } Как вы уже наверняка знаете, proposal по дженерикам в Golang принят (официально это называется type parameters) и будет имплементирован ...

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

«ФП на Python посредством Coconut!» |&gt; print В этом посте представлен язык Coconut, функциональное надмножество языка Python, целью которого является создание элегантного функционального кода, оставаясь при этом в знакомой среде Python и библиотеках, и приведено несколько показательных примеров.'Здравствуй, Мир!' |>...

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

[Перевод] Lisp для микроконтроллеров Lisp для плат Arduino, Adafruit M0/M4, Micro:bit, ESP8266/32, RISC-V и Teensy 4.x. Новость! ARM версия 3.6b теперь поддерживает save-image (сохранение образа) на всех платах ATSAMD21  В последнем релизе ARM uLisp, версия 3.6b, можно сохранять образ всего вашего рабочего ...

[Перевод] ALBERT — облегченный BERT для самообучения языковым представлениям С тех пор как в 2018 году был представлен BERT, исследования в области обработки естественного языка охвачены новой парадигмой: использованием больших объемов существующего текста для предварительного обучения параметров модели на основе самообучения (self-supervision), не т...

Медицинский алгоритмический язык ДРАКОН против пандемии и не только. Статья для профессиональных врачей Анализируются клинические рекомендации и выявляются их слабые места, связанные с неудачным изображением клинических алгоритмов (алгоритмов действий врача).Даются краткие сведения о медицинском алгоритмическим языке ДРАКОН. Это графический язык, предназначенный для записи ал...

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

Язык Go обновился до версии 1.15 На днях представлен релиз языка программирования Go 1.15. Как известно, изначально это был проект компании Google, который вышел за пределы корпорации и стал развиваться при поддержке сторонних разработчиков. Код проекта распространяется под лицензией BSD. Достоинств у ...

[Перевод] Утилиты для обработки JSON Независимо от того, взаимодействуете ли вы с API или делаете запрос в базу данных, вы, вероятно, получите данные в формате JSON. Большинство популярных языков программирования имеют встроенные возможности для обработки и анализа JSON. Однако не всё так просто, если вы работа...

Книга «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go» Привет, Хаброжители! Вам уже знакомы основы языка Go? В таком случае эта книга для вас. Михалис Цукалос продемонстрирует возможности языка, даст понятные и простые объяснения, приведет примеры и предложит эффективные паттерны программирования. Изучая нюансы Go, вы освоите...

Процессор Forth J1 в FPGA плате M02mini Впервые я познакомился с языком программирования Forth еще в студенческие годы. Было это правда ну очень давно. Уже тогда язык поразил меня тем, что он «не такой как все». При этом, код получался хоть и малопонятный, но компактный и быстрый. Недавно я занимался запуском пр...

How to learn languages online (fast) (Как учить языки онлайн быстро). Intro Вдохновленная названием сериала от Netflix “How to sell drugs online (fast)”, я решила написать данный пост, который повлечет за собой в дальнейшем серию постов о том, как учить иностранные языки онлайн и (!) быстро. Эти посты будут содержать в себе полезные ссылки на ресурс...

[Перевод] Что такое *args и **kwargs в Python? Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которы...

[Перевод] if-then-else кто-то должен был изобрести Привет, сегодня мы обсудим кажущуюся абсурдной идею: if-then-else кто-то должен был изобрести. If-then-else — это условные конструкции в языках программирования: если (if) что-то истинно, тогда (then) выполнить одно действие, иначе (else) выполнить другое действие. Это ве...

[Перевод] Браузерные войны 2021 Дисклеймер: речь в данной статье не идёт о браузерных войнах как таковых. Скорее, автор пытается объяснить устройство и механизм работы браузеров простым языком (прим. переводчика).Наблюдая за тем, как Google Chrome планомерно подавляет конкуренцию на рынке браузеров, Нил Мо...

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

«Любовь. Python. C++». Доклад Яндекса Что связывает языки Python и C++? Как извлечь из этого выгоду лично для себя? На большой конференции Pytup Александр Букин показал способы, благодаря которым можно оптимизировать свой код, а также выбирать и эффективно использовать сторонние библиотеки. — Всем привет, меня ...

Простое сложное программирование В очередной раз увидел на Хабре статью про сложное дело под названием «программирование». И то, что программирование действительно является делом не простым воспринимается как факт и обычно не требует какого либо подтверждения. Но понятие «сложность» сродни термину «куча»...

Учимся понимать чертовски быструю английскую речь на примере выступлений Эдди Мерфи и Эминема Студенты, которые учат английский язык как второй, часто не готовы к реальной скорости речи носителей языка. Это на учебных пособиях и аудировании все предельно понятно, а когда нейтив начинает тараторить, ты такой «Чё?». Мы расскажем вам, как научиться понимать быструю ре...

Спор о первом языке программирования: окончательное решение Некоторые относятся к спору о выборе первого языка программирования примерно так: Говорят, на выбор влияет миллион фаторов и спорить по этому поводу не имеет никакого смысла. Тем не менее, холивары продолжаются. Виталий Брагилевский решил поставить точку и на Saint AppsC...

Андрей Терехов: от Фортрана до Питона Этой осенью Андрей Терехов — завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук — рассказывал нашим коллегам об истории популярных языков программирования и их проникновении в СССР. Вместе с Андреем Николаевичем мы подготовили на основе ег...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

[Из песочницы] Реализация алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке RobotC Доброго дня! Сегодня я бы хотел поделиться реализацией алгоритма определения ширины объекта с помощью ультразвукового дальномера и энкодеров на языке программирования RobotC (с использованием платформы VEX EDR). Предистория Недавно, мне предложили провести мастер-класс на ...

Защита и взлом Xbox 360 (Часть 2) В прошлый раз мы оставили сцену Xbox 360 на моменте, когда разработчикам стало очевидно, что защита DVD-ROM легко обходится, и с этим точно нужно что-то делать. Попытки исправить ситуацию обновлением ПО самой приставки не увенчались успехом, и на поле битвы вступила компани...

Рейтинг языков программирования от DOU.UA: JavaScript опередил Java, а Python — PHP Профильный украинский ресурс DOU.UA представил результаты ежегодного опроса о языках программирования, составленного по результатам опроса 10 тыс. отечественных IT-специалистов. В коммерческой разработке JavaScript наконец существенно опередил Java и стал самым популярным яз...

Как переключать язык на клавиатуре Macbook, iMac, Mac Pro или Mac Mini — 3 способа Большинство русскоязычных владельцев компьютеров Mac пользуются двумя языками при работе — русским и английским, один из которых является основным системным (все меню, окна и так далее отображаются на этом языке). Одним из первых вопросов Mac-новичка является: «Как переключа...

Facebook случайно заблокировала целый язык и снова получила обвинения в непрозрачном использовании технологий отслеживания 16 января некоторые пользователи Facebook столкнулись с проблемой – они не могли опубликовать записи при использовании качинского языка. При попытке отправить в соцсеть запись на этом языке возникало сообщение об ошибке и уведомление «Мы не можем опубликовать это. Нажмите дл...

Как работать в команде, которая пишет на 5 языках Привет, Хабр! Меня зовут Евгений Сальников, я тимлид одной из команд доставки в компании Lamoda. В нашей команде используются сразу пять языков программирования: PHP, Go, Typescript, Java и Kotlin. Когда я впервые услышал об этом на собеседовании, подумал, что так работать н...

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

Численный FORTH Форт и сейчас известен, главным образом, среди разработки встроенных систем, как что-то вроде необычайного высокоуровневого ассемблера, например, для микроконтроллеров - AmForth и Mecrisp. Однако, когда-то давным давно был известен в другой ипостаси - как язык программирован...

Отлаживаем ядро из командной строки с bpftrace Это очередная статья из цикла «BPF для самых маленьких» (0, 1, 2) и первая из серии практических статей про трассировку Linux современными средствами. Из нее вы узнаете о программе и языке bpftrace — самом простом способе погрузиться в мир BPF с практической точки зрения, да...

Самые популярные языки программирования. Хабратоп 2020 года Мы тут решили подбить предварительные итоги года и проанализировать рейтинги популярности языков программирования. Как менялась популярность ЯП и какие языки в 2020 году считаются топовыми, читайте в этой статье. Ситуация с ЯП очень похожа на события этого фильма. Узнали ж...

Google внедряет BERT в поиск на русском языке Google объявил, что самое крупное обновление алгоритмов работы поиска за последние 5 лет – BERT Update – в этом месяце будет внедрено в поиск на русском языке. BERT – это технология предварительного обучения обработке текста на естественном языке. Она анализирует не отдельны...

Об ошибках в коде QuantConnect Lean В данной статье рассматриваются ошибки в проекте с открытым исходным кодом, найденные с помощью статического анализатора. Говорится о некоторых простых вещах, которые могут помочь избежать их появления. Например, используя синтаксические конструкции языка начиная с C# 8.0. ...

Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере Ключевой мотивацией для написания данной статьи является факт сильного недостатка информации (особенно в русскоязычном сообществе) по использованию cgo и Dart FFI для использования Go из языка Dart.Язык Dart, не смотря на свою возрастающую популярность, на данный момент до с...

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

[Из песочницы] Валидация данных в C++ с использованием библиотеки cpp-validator Казалось бы, валидация данных — это одна из базовых задач в программировании, которая встретится и в начале изучения языка вместе с "Hello world!", и в том или ином виде будет присутствовать в множестве зрелых проектов. Тем не менее, Google до сих пор выдает ноль ...

[Перевод] Отчет DORA State of DevOps 2019, теперь и на русском языке Привет, Хабр! Я сделал перевод на русский язык отчёт DORA State of DevOps 2019. Предлагаю ознакомиться с отчетом, ведь это не только самое актуальное DevOps-исследование на данный момент, но и готовое практическое руководство по DevOps-трансформации! Отчет State of DevO...

Azure Virtual Training Days — 4 крутых мероприятия в сентябре Azure Virtual Training Days — это отличная возможность глубоко погрузиться в технологии Microsoft. Наши специалисты помогут раскрыть весь потенциал облака, поделившись своими знаниями, предложив эксклюзивные идеи и практические занятия. С нетерпением ждем встречи с вами н...

UML для самых маленьких: диаграмма классов Аве, Кодер! Диаграмма классов UML иллюстрирует структуру системы, описывая классы, их атрибуты, методы и отношения между объектами. Даже самые малые детки знают, что UML происходит от Unified Modeling Language, если по русски, то — унифицированный язык моделирования, кото...

Книга «Экстремальный Cи. Параллелизм, ООП и продвинутые возможности» Привет, Хаброжители! Для того чтобы овладеть языком C, знания одного лишь синтаксиса недостаточно. Специалист в области разработки должен обладать четким, научным пониманием принципов и методик. Книга «Экстремальный Cи» научит вас пользоваться продвинутыми низкоуровневыми в...

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

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 2 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

Tagged Unions в PHP (примерно как в Rust) В предыдущей статье я писал про добавление enums в PHP8.1. Голосование прошло успешно, так что можно считать, что вопрос решенный. Однако та реализация enums — лишь часть глобального плана. Сегодня мы рассмотрим следующий пункт, tagged unions, по-русски это переводится как &...

У Google появился новый язык программирования У Google появился новый язык программирования с открытым исходным кодом — Logica. Он пришел на смену языку программирования Yedalog.

Docker для фронтендера. Часть 2. Что ты такое? Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019. В предыдущей части я постарался ответить на вопрос, зачем фронтенд-разработчику может понадобиться Docker. Сегодня попытаюсь простым языком рассказать, что это за инструмент,...

Swift: Копируй-изменяй Часто бывает так, что нам нужно скопировать объект, изменив некоторые его свойства, но сохранив остальные неизменными. Для этой задачи существует функция copy().Это отрывок описания метода copy() из документации Kotlin. На нашем родном языке Swift это означает примерно таку...

А что, если без Python? Julia для машинного обучения и вообще Мы всегда хотим писать код быстро, но за это приходится платить. На обычных высокоуровневых гибких языках можно быстро разрабатывать программы, но после запуска они работают медленно. Например, чудовищно медленно cчитать что-то тяжелое на чистом Python. Си-подобные языки раб...

[Из песочницы] Простой P2P сервер на python Одноранговая сеть или проще P2P сеть — это сеть в которой все пользователи равны и имеют равные права. Отличительная особенность таких сетей от обычных в том, что в ней нет единого сервера, к которому подключаются пользователи, вместо этого они подключаются друг к другу. Су...

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

[Перевод] Ранние годы ФОРТа КДПВ взята отсюда Введение ФОРТ – простой и естественный компьютерный язык. Он получил широкое распространение там, где необходима высокая эффективность. В 60-х годах он прошел путь развития от университетов через бизнес к лабораториям. Это — история о том, как простой инт...

[Перевод] 5 HTML-трюков, о которых никто не говорит Все веб-разработчики широко используют HTML, независимо от того, какой фреймворк или серверный язык используется. Фреймворки и языки программирования могут приходить и уходить, но HTML никуда не денется. Но, несмотря на такое широкое использование, всё ещё есть теги и свойст...

Какие языки программирования не актуальны в 2020 году В антирейтинг попали четыре языка программирования

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

[recovery mode] Что безопаснее — PIN Online или PIN Offline? С появлением на рынке микропроцессорных платежных карт наряду с хорошо и давно знакомым к этому времени методом для верификации держателя карты PIN Online, когда значение ПИН проверяется эмитентом карты на его хосте, начал повсеместно применяться метод PIN Offline. Суть мет...

Модерация изображений: уроки этикета от Data Scientist’a, часть 2 Привет, Хабр! Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать...

Подкаст Лайфхакера: 9 отвратительных заимствований в русском языке Язык может впитывать в себя чужую лексику. Это закономерный процесс, но всё хорошо в меру.

Flutter Dev Podcast #24: Dart Null Safety С крупнейшим экспертом в области разработки языков программирования мы обсудили, зачем вообще современные языки программирования устремились на борьбу с Null.

[Перевод] Создатель Node.js анонсирует замену — Deno Из множества способов программирования компьютеров языки сценариев — самый простой и практичный вариант. Среди них язык сценариев веб-браузера (JavaScript) является самым быстрым, наиболее популярным и единственным, в котором применяется процесс промышленной стандартизации...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

Как я студентам язык D преподавал Два года назад я начал читать курс “Язык программирования Ди” в самом настоящем университете, провёл в общей сложности 40 лекций, примерно столько же практических занятий даже дважды принял экзамен, один раз удалённо. Как так случилось, кому вообще может быть нужен D, и как ...

[Перевод] 13 проектов для Python-программистов уровня intermediate Изучение основ Python — прекрасный опыт. Но эйфория от изучения языка постепенно заменяется желанием создать что-то своими руками. И это нормально, но нужны идеи. Проблема здесь в том, что некоторые проекты либо слишком просты, либо слишком сложны для разработчика среднего...

Podlodka #150: Эволюция языков программирования В программировании, как и в лингвистике, языки не высечены в камне. В зависимости от решаемых задач и популярных в конкретный период времени парадигм, языки меняются и эволюционируют.

Spotify перешел на украинский язык Сначала в Spotify добавили украинский язык в настройки своего сайта, а теперь поддержка языка появилась в мобильных приложениях на Android и iOS.

Portmanteau или слово-чемодан: как шутка в английском языке превратилась в новый способ создавать необычные слова Каждый год в словарь английского языка добавляется примерно 1000 новых слов. А это значит, что каждый день создается примерно 3 новых. И как минимум одно из этих трех — это «портмонто». Что это за смесь бульдога с носорогом? Всего лишь слово, которое было создано из комбина...

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

[Из песочницы] Получение видео из Tik Tok без водяного знака Добрый день, всем любителям habr. В этой статье я хочу поделиться с Вами как можно получить видео с Tik Tok без водяного знака, с помощью такого языка как PHP. В настоящее время Tik Tok набирает популярность и было бы не прилично не написать про него маленькую статейку, и ...

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

[Перевод] Обзор ts-migrate — инструмента для перевода крупномасштабных проектов на TypeScript В Airbnb для фронтенд-разработки официально применяется TypeScript (TS). Но процесс внедрения TypeScript и перевода на этот язык зрелой кодовой базы, состоящей из тысяч JavaScript-файлов, это — не дело одного дня. А именно, внедрение TS происходило в несколько этапов. Сначал...

9 четких инструментов для изучения и прокачки английской лексики В Оксфордском словаре английского языка почти 450 000 слов! Но если вы учите язык как иностранный, их совсем не нужно запоминать все и сразу. Чтобы полноценно общаться на английском языке, вполне достаточно всего лишь 2000–3000 слов. При должном усердии и небольшом количе...

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

Фундаментальные основы хакерства. Учимся искать ключевые структуры языков высокого уровня Для подписчиковИсследование алгоритма работы программ, написанных на языках высокого уровня, традиционно начинается с реконструкции ключевых структур исходного языка — функций, локальных и глобальных переменных, ветвлений, циклов и так далее. Это делает дизассемблированный л...

[Перевод] Rust в ядре Linux В более ранней публикации  компания Google объявила, что в Android теперь поддерживается язык программирования Rust, применяемый в разработке этой ОС как таковой. В связи с этим авторы данной публикации также решили оценить, насколько язык Rust востребован в разработке ядр...

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

Ученые впервые создадут интерактивную базу древнеславянских текстов с помощью технологий искусственного интеллекта Корпус - это структурированная база данных языка, информационно-справочная система, основанная на собрании текстов на определенном языке в электронной форме. Он представляет собой подобранную и особым образом обработанную (размеченную) совокупность текстов, которые использую...

Методы расширения в Java В таких языках программирования, как C#, Kotlin, Groovy, Scala есть возможность расширять класс путем добавления нового функционала, при этом не требуется наследование или изменение самого изначального класса. Это реализовано с помощью специальных выражений, называемых расш...

[Перевод - recovery mode ] Scala 3: избавление от implicit. Extension-методы и неявные преобразования Это моя вторая статья с обзором изменений в Scala 3. Первая статья была про новый бесскобочный синтаксис. Одна из наиболее известных фич языка Scala — имплиситы (от англ. implicit — неявный — прим. перев.), механизм, который использовался для нескольких разных целей, наприм...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

Почему язык Java так популярен в коммерческой разработке ПО? С момента своего создания Java является одним из наиболее распространенных языков программирования. Каким образом технологии удается сохранять лидирующие позиции уже на протяжении 26 лет? И почему язык Java считается одним из самых популярных в коммерческой разработке...

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

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

[Из песочницы] Создание упаковщика x86_64 ELF файлов под linux Введение В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приве...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

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

Google представила новый язык программирования. Logica приходит на смену Yedalog Компания Google представила новый язык программирования с открытым исходным кодом. Называется он Logica и является преемником языка Yedalog.  Язык Logica ориентирован на транслирование программ в SQL и манипулирование данными.&nb...

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

[Перевод] Финальные классы в PHP, Java и других языках Использовать финальные классы или не использовать финальные классы? Вот в чём вопрос. А еще в том, когда и как это делать правильно. Читать дальше →

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

[Из песочницы] Эффектное программирование. Часть 1: итераторы и генераторы Javascript на данный момент является самым популярным языком программирования по версиям многих площадок (например Github). Является ли при этом он самым продвинутым или самым любимым языком? В нём отсутствуют конструкции, которые для других языков являются неотъемлемыми час...

Книга «C++ для профи» Привет, Хаброжители! С++ — популярный язык для создания ПО. В руках увлеченного программиста С++ становится прекрасным инструментом для создания лаконичного, эффективного и читаемого кода, которым можно гордиться. «C++ для профи» адресован программистам среднего и продвину...

[Перевод] SAML простыми словами Что такое SAML? SAML — сокращение от Security Assertion Markup Language (Язык разметки декларации безопасности). Его ключевой ролью в обеспечении сетевой безопасности заключается в том, что он позволяет получить доступ в несколько приложений, используя один набор учетных дан...

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

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

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА...

[Из песочницы] Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill) Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal). В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки п...

[Перевод] Языковая механика стеков и указателей Прелюдия Это первая из четырех статей в серии, которая даст представление о механике и дизайне указателей, стеков, куч, escape analysis и семантики значения/указателя в Go. Этот пост посвящен стекам и указателям. Оглавление цикла статей: Language Mechanics On Stacks And P...

Глаголы R vs Операторы SQL Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в Netpeak и автором телеграм-канала R4Marketing, и подготовили сравнение операторов SQL и глаголов языка R. Для ...

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

7 слов в английском, которые встречаются в СМИ реже чем 3 случая на 100 миллионов В английском языке уже больше миллиона уникальных слов — именно такие результаты дал масштабный анализ литературы, который совместно проводили Гарвардский университет и компания Google. Лексикон языка увеличивается в среднем на 8500 новых слов каждый год. С такой же скоро...

Google научился переводить с татарского. Google Translate впервые за четыре года расширил поддержку языков Компания Google объявила о расширении языковой поддержки для сервиса Google Translate (Google Переводчик).  Теперь Google Переводчик может работать с текстами на таких языках: руанда, ория или одия, татарский, туркменский и уйгурский. На этих языках говоря более ...

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

Modern Reverse Engineering: TTD Обратная разработка сегодня это достаточно трудоемкий процесс в первую очередь потому, что в период с 2000х по 2020 годы вышло в свет много языков программирования, которые ставили перед собой задачу стать интуитивными и простыми для изучения, безопасными и в то же время эфф...

С стал языком года по версии TIOBE  Почему язык программирования C, которому уже 50 лет, все еще востребован? TIOBE  объясняет это растущей популярностью Интернета вещей (IoT) и огромным количеством небольших интеллектуальных устройств, которые выпускаются в настоящее время.

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

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

Яндекс и МФТИ открыли лабораторию исследований в области ИИ Компания Яндекс и Московский физико-технический институт (МФТИ) открыли совместную лабораторию, где специалисты будут работать над развитием технологий машинного обучения и искусственного интеллекта.  Сотрудники лаборатории займутся развитием технологий машинного обучен...

Машинное обучение без учителя. Отрывок из книги Привет, Хаброжители! Пока наши новинки печатаются в типографии, а офис сидит на удаленке, мы решили поделиться отрывком из книги Пола и Харви Дейтелов «Python: Искусственный интеллект, большие данные и облачные вычисления» Практический пример: машинное обучение без учителя,...

[Перевод] Метаклассы в Python Метаклассы – это такие классы, экземпляры которых сами являются классами. Подобно тому, как «обычный» класс определяет поведение экземпляров класса, метакласс определяет и поведение классов, и поведение их экземпляров.Метаклассы поддерживаются не всеми объектно-ориентированн...

Создаем свою инспекцию для IDEA В статье показано, как быстро можно сделать свою полноценную инспекцию для IDEA для языка Java. В инспекции будем проверять, что переопределены методы equals, hashСode для классов, используемых в качестве ключа в HashMap. Писать будем на Kotlin. Читать далее

[Перевод] Рейтинг языков программирования 2021: доля Python падает, а TypeScript обошел С++, в лидерах JavaScript, Java, C# Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования, в рамках которого было собрано 7211 анкет (92% респондентов находятся в Украине). Из интересного - впервые с 2014 года у Python отрицательная динамика, наблюдается тенденция перех...

Обучение универсальной модели NLU c BERT и Multitask Learning В современной компьютерной лингвистике понимание смысла написанного или сказанного достигается с помощью моделей естественного языка (NLU). С постепенным ростом аудитории виртуальных ассистентов Салют встает вопрос об оптимизации наших сервисов, работающих с естественным яз...

[Перевод] Семантический поиск: от простого сходства Жаккара к сложному SBERT В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, а...

[Перевод] 4 революционных возможности JavaScript из будущего JavaScript, с момента выхода стандарта ECMAScript 6 (ES6), быстро и динамично развивается. Благодаря тому, что теперь новые версии стандарта ECMA-262 выходят ежегодно, и благодаря титаническому труду всех производителей браузеров, JS стал одним из самых популярных языков про...

[Перевод] JavaScript, Python или Go: что лучше всего подойдёт для бэкенд-разработки в 2021 году? Уже прошло почти восемь месяцев 2020 года, а технические прогнозы на этот год всё выходят и выходят. И это — несмотря на то, что очень сложно предсказать будущее в такой динамично развивающейся индустрии, как разработка программного обеспечения. Тот, кто работает в этой инду...

[Из песочницы] Запускаем браузерные тесты с Cucumber и Selenoid в Gitlab CI c Allure отчетом Cucumber – это инфраструктура тестирования, позволяющая преодолеть разрыв между разработчиками ПО и бизнес-менеджерами. Тесты пишутся на простом языке управляемой поведением разработки (BDD) в стиле Given, When, Then (условия, операция, результат), которой понятен любому пол...

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

[Перевод] Язык моделирования Alloy и приключения с параллельными запросами к базе данных Данная статья описывает небольшой пример того, как использование языка моделирования Alloy может помочь при разработке программного обеспечения. О качестве программного обеспечения и инструментарии В Typeable мы придаем огромное значение качеству программного обеспечения и ...

Microsoft позволит создавать приложения без знания кода Компания Microsoft представила свой первый продукт на базе GPT-3 — она интегрирует модель естественного языка GPT-3 от OpenAI в платформу для low-code разработки Power Apps.

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

Повторяем когортный анализ. Комплексный подход — Python, SQL, Power BI Добрый день уважаемые читатели! Данная статья является продолжением публикации "Повторяем когортный анализ, выполненный в Power BI, силами Python" (ссылка). Настоятельно рекомендую познакомиться с ней хотя бы бегло, иначе последующее повествование будет вам малопонятным. С м...

[Перевод] Пол Грэм про Java и «хакерские» языки программирования (2001) Это эссе явилось развитием бесед с несколькими разработчиками на тему предвзятого отношения к Java. Это не критика Java, а скорее, наглядный пример «хакерского радара». Со временем, хакеры развивают нюх на хорошие — или же плохие — технологии. Полагаю, может оказаться инт...

Английский для айтишника: учебники, словари и подкасты, которые помогут вам выучить язык Привет, Хабр! Я собрала ряд материалов, которые помогут в изучении английского в сфере информационных технологий. Помните, что у каждой из профессий в сфере IT есть специфическая лексика. Учить все и сразу — не рационально. Тем не менее есть довольно широкий список базовой ...

Google: технология LaMDA – прорыв в понимании естественного языка Google представил продвинутую нейросетевую разговорную технологию – LaMDA

Путь в IT, воспоминания бумера. Часть 2, институт, PDP (СМ) Первая часть тутМое программирование продолжилось в сентябре, после поступления в институт (ЛЭТИ). Программировал я вечерами, в совхозе под Любанью (Ленинградская область), после уборки морковки на полях, потому что учеба в ЛЭТИ началась именно с помощи совхозу, причем на эт...

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

Книга «Программирование на Rust» Привет, Хаброжители! Официальный гайд по языку программирования Rust поможет вам создавать более быстрое и надежное программное обеспечение. Высокоуровневая эргономика и низкоуровневое управление часто противоречат друг другу, но Rust бросает вызов этому конфликту. Авторы ...

[Перевод] Управление робототехникой в реальном времени с помощью языка Lean Подразделение Microsoft Research недавно опубликовало предварительный выпуск Lean 4. Предыдущие версии Lean были сосредоточены на том, чтобы быть помощником по доказательствам — программным инструментом, который облегчает разработку строгих математических доказател...

Экосистема разработки в 2020 году: чем живут программисты в России и мире Привет, Хабр! В начале 2020 года мы провели уже четвертый ежегодный опрос о состоянии экосистемы разработки, чтобы выяснить, чем живут программисты, какие языки, технологии и инструменты они используют и как изменился мир разработки по сравнению с 2019 годом. Мы проанализиро...

RubyGems Digest 2020·09 Большая подборка информации о библиотеках языка Ruby за сентябрь 2020 года. Новости, включая русскоязычные источники. А так же полезные мнения и опыт разработки. Читать дальше →

Эффект Телепорно: почему нормальные фразы на иностранном кажутся смешными и как применять это для прокачки английского Никогда не пытайтесь объяснить незнакомцу на английском, как найти магазин «Шитье» на улице Фартовой, рядом с кинотеатром «Факел». Сегодня мы расскажем об эффекте Телепорно, который в научных кругах называют «лингвистический шок». Когда нормальное слово или фраза на иност...

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

Поиск Mail.ru будет отвечать на запросы в форме диалога Поисковая система Mail.ru приступила к тестированию нового механизма распознавания естественного языка пользователей – диалоговой речи.

Поиск Mail.ru будет отвечать на запросы в форме диалога Поисковая система Mail.ru приступила к тестированию нового механизма распознавания естественного языка пользователей – диалоговой речи.

[Из песочницы] Адаптивное разбиение кривых Безье 2-го и 3-го порядка Уже год как я сменил работу на новую. В этой статье я хочу поделиться опытом, накопленным на прошлом месте. Здесь рассмотрены методы аппроксимации кривых Безье, а также обработка исключительных случаев, при которых простые алгоритмы показывают себя не очень хорошо. Все, ком...

Паскаль играет в Go. Реализация методов и интерфейсов в любительском компиляторе If I could export one feature of Go into other languages, it would be interfaces. — Russ Cox Мой предельно простой компилятор Паскаля уже становился предметом двух публикаций на Хабре. Со времени их написания язык обзавёлся всеми недостающими средствами, положенными станд...

[В закладки] Словарь внедрения CRM: 50 терминов, которые вам помогут Клиенту и разработчику довольно трудно найти общий язык: они мыслят разными категориями и оперируют разными терминами. Мы составили небольшой словарь наиболее распространённых понятий в мире CRM-систем, который поможет вам разговаривать с вендором на равных и даже немного на...

Как коронавирус влияет на языки программирования: рейтинг TIOBE Результаты мирового рейтинга популярности языков программирования на начало мая 2020.

Топ-12 самых интересных ИТишных динамических инфографик Динамические (развернутые во времени) гистограммы очень прикольные. Есть в них особая драма, борьба, накал страстей. Плюс к этому анимация дает особое понимание происходящего. все течет, все изменяется, неизменны только перемены… Инфографика/видеографика/динамическая статис...

Технологии для проверки «Тотального диктанта»: что можно улучшить? Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь людям с ограничениями слуха и зрения, улучшение обратной связи между человеком и государствен...

Подсчёт ссылок не так прост, как кажется: опыт языка Umka Подсчёт ссылок обычно предлагается как самый простой способ автоматического управления памятью в языках программирования. Он избавляет программиста от необходимости вставлять в свой код free(), delete и тому подобное, следить за висячими указателями и утечками памяти. Принци...

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

Umka. Жизнь статической типизации в скриптовом языке В своё время посты на Хабре и Reddit о статически типизированном скриптовом языке Umka вызвали весьма активную дискуссию. Прошедшие полтора месяца позволили мне избавиться от некоторых заблуждений, развить язык и дать чуть более вразумительные ответы на вопросы публики. ...

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

RubyGems Digest 2020·10 Большая подборка информации о библиотеках языка Ruby за октябрь 2020 года. Новости, включая русскоязычные источники. А также полезные мнения и опыт разработки. Читать дальше →

Интернет вещей по-русски. Многоканальная мощь физуровня базовой станции OpenUNB OpenUNB — продолжаем! И так, мы сформировали сигнал OpenUNB согласно проекту стандарта (исходники — на Гитхабе). Сигнал вылетел в эфир, показав нам свои прелести на приборе. Теперь нам нужно его конвертировать в цифровую форму, отделить от других возможных сигналов и от шума...

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10...

[Перевод] Второй год Q# Прошло уже больше 2 лет с момента первого публичного выпуска языка квантового программирования Q#. К случаю годовщины ребята из команды Q# подготовили рассказ про второй год этого развития. Читайте о нем под катом! Читать дальше →

Обзор Prisma ORM Это статья-обзор о Prisma ORM. ORM (англ. Object-Relational Mapping — «объектно-реляционное отображение или преобразование») — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную ...

[Перевод] Учёные автоматизируют исследования поведения животных, чтобы декодировать работу мозга Машинное обучение и глубокие нейросети способны распознать и анализировать «язык поведения» животных способами, находящимися за пределами человеческих возможностей Для отслеживания движений животных в природной среде учёные всё чаще обращаются к методам машинного обучения (...

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

28 лет спустя. Microsoft хоронит Visual Basic Компания Microsoft раскрыла свои планы по поводу языка программирования Visual Basic. Многие разработчики начинали Visual Basic но, судя по всему, дни этого языка сочтены.  В официальном блоге команды .NET сообщается, что Microsoft не планирует больше развивать да...

У английского языка нет будущего (времени) «Английский язык не имеет будущего времени, потому что у него нет ни словоформ будущего времени в том виде, в котором они есть в других языках, ни других грамматических форм, которые могли бы обозначать только будущее время».Но погодите. А чем тогда является Future Tense, ко...

А я у тебя точно первый? Или как выбрать (первый) язык программирования в ${year} году Я часто вижу, как разработчики разного уровня «сеньёрности» доказывают, иногда аргументированно, иногда просто «авторитетно», почему стоит или не стоит выбирать определенный язык программирования в качестве первого. YouTube полон роликов по типу «Какой язык программирования ...

Microsoft открыла исходный код языка программирования Project Verona Некоторое время назад стало известно, что Microsoft работает над созданием нового языка под кодовым названием Project Verona, который предназначен для безопасного программирования инфраструктуры. Новый язык включает в себя некоторые идеи из популярного языка программировани...

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

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

Сложности работы с ANTLR: пишем грамматику Ruby В «Ростелеком-Солар» мы разрабатываем статический анализатор кода на уязвимости и НДВ, который работает в том числе на деревьях разбора. Для их построения мы пользуемся оптимизированной версией ANTLR4 – инструмента для разработки компиляторов, интерпретаторов и трансляторов...

Разработчики малвари все чаще используют необычные языки программирования Аналитики BlackBerry Research & Intelligence пишут, что преступники все чаще обращаются к необычным и «экзотическим» языкам программирования во время работы над малварью, таким образом стремясь затруднить анализ своих вредоносов.

Как мы выбирали библиотеку машинного обучения для работы с естественным языком В ОТР стояла задача автоматизировать работу с обращениями в техническую поддержку пользователей ГИИС «Электронный бюджет». Для решения задачи мы решили привлечь искусственный интеллект, но сложность состояла в ограничении времени для разработки решения. Читать далее

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

Илон Маск высказался на русском языке о попытке россиянина взломать Tesla Илон Маск решил прокомментировать в социальной сети Twitter новость о попытке россиянина взломать Tesla.

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

[Перевод] Горячая четвёрка умирающих языков программирования Я занимался поиском лучших языков программирования 2020 года и наткнулся на страницы, на которых шла речь о языках, теряющих популярность. Я программист, и я понимаю, что любому программисту крайне важно знать о том, какие технологии являются актуальными, а какие — нет. Каж...

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

Назад к истокам: рулим компьютером прямо из MBR Разворачивал в очередной раз Linux-образ на USB-drive (почему-то им оказался Manjaro, но это совсем другая история), и в голову пробрались странные мысли: BIOS увидел флешку, а дальше-то что? Ну да, там MBR, скорее всего GRUB и… А раз в MBR затесался чей-то кастомный код, зн...

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

[Перевод] Ретро-программирование: пишем простую игру на том самом GW-BASIC 1983 года Image by : Opensource.com Не так давно корпорация Microsoft открыла исходный код GW-BASIC. И на волне этого инфоповода автор решил скачать его, установить на FreeDOS и написать на этом языке знаменитую игру с угадыванием чисел. Казалось бы, всё просто. Но не совсем… Об это...

Как преобразовать текст в алгебру Как пишут тексты в Большой Академии в ЛагадоАлгебра и язык (письменность) являются двумя разными инструментами познания. Если их объединить, то можно рассчитывать на появление новых методов машинного понимания. Определить смысл (понять) – это вычислить как часть соотносится ...

[Перевод] Выбираем лучший бэкенд-фреймворк 2021 года Недавно мы опубликовали статью, автор которой размышлял о том, какой язык программирования, JavaScript, Python или Go, лучше всего подойдёт для бэкенд-разработки в 2021 году. Сегодня мы представляем вашему вниманию перевод ещё одного материала того же автора. Здесь он пытает...

Вопросы развития открытого образования на русском языке обсудят участники Всероссийского семинара 12 и 13 марта 2020 года состоится Всероссийский семинар, на котором будут рассмотрены итоги проектов и программ по развитию русского языка, реализованных в 2019 году в рамках ведомственной целевой программы «Научно-методическое, методическое и кадровое обеспечение обучения р...

Про фразовые глаголы Фразовые глаголы английского языка гораздо проще, чем кажутся. Они работают точно так же, как в русском языке приставки. Выдающийся советский актёр Зиновий Гердт, узнав однажды о недостойном поступке, совершённом знакомым ему писателем, сказал: «Разрешите с вами раззнакомить...

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

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

16 советов по разработке для андроид на языке Kotlin. Часть 3 И еще раз здравствуйте! В преддверии старта базового курса по Android-разработке, делимся заключительной частью статьи «16 советов по разработке для андроид на языке Kotlin». Читать первую часть Читать вторую часть LATEINIT Одной из ведущих особенностей Kotlin является е...

[Перевод] Don’t Fear the Reaper Серия статей о GC Don’t Fear the Reaper Life in the Fast Lane Go Your Own Way. Часть первая. Стек Go Your Own Way. Часть вторая. Куча D, как и многие активно используемые сегодня языки, поставляется со с...

Команды GDB, о которых вы возможно не знали Отладка кода — это как охота. Охота на баги. — Amit Kalantri Что такое GDB GNU Debugger — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих языков программирования, включая Си, C++, Free Pascal, FreeBASIC...

[Перевод] DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn DataHub с открытым исходным кодом: платформа поиска и обнаружения метаданных от LinkedIn Быстрый поиск нужных данных необходим для любой компании, которая полагается на большое количество данных для принятия решений на основе этих данных. Это не только влияет на продуктивнос...

Типизированные запросы OData в TypeScript Традиционно запросы OData к данным выражаются в виде простых строк без проверки типов при компиляции или без поддержки IntelliSense, кроме того, разработчику приходится изучать синтаксис языка запросов. Данная статья описывает библиотеку TsToOdata, которая превращает запрос...

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

Книга «JavaScript с нуля» Привет, Хаброжители! JavaScript еще никогда не был так прост! Вы узнаете все возможности языка программирования без общих фраз и неясных терминов. Подробные примеры, иллюстрации и схемы будут понятны даже новичку. Легкая подача информации и живой юмор автора превратят нудное...

Генерация типизированных ссылок на элементы управления Avalonia с атрибутом x:Name с помощью C# SourceGenerator В апреле 2020-го года разработчиками платформы .NET 5 был анонсирован новый способ генерации исходного кода на языке программирования C# — с помощью реализации интерфейса ISourceGenerator. Данный способ позволяет разработчикам анализировать пользовательский код и создавать...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Из песочницы] Расширенный HTML В этой статье хотел бы рассказать немного про библиотеку, первую версию которой я создал еще в конце прошлого года. Суть очень простая — расширить возможности языка HTML, чтобы можно было без JavaScript'а писать простые и рутинные вещи: отправка формы в json формате, загрузк...

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

Immutable. Постигаем хитрости неизменяемых структур данных в функциональных языках Для подписчиковРяд языков программирования заявляют неизменяемость переменных (immutability) как одну из своих главных фич. Среди них семейство ML (OCaml, F#, Standard ML) и Haskell, а также молодые Clojure и Rust. Если ты незнаком с ними, то наверняка удивлялся: а чем это о...

Презентации WWDC и Platforms State of the Union доступны с субтитрами на русском языке Русский язык впервые включён в список языков, на которые переводятся основные события конференции WWDC. Перевод содержит точные термины, названия элементов пользовательского интерфейса и многое другое.

ИИ-модель Microsoft превзошла результат человека Алгоритм понимания естественного языка (Natural Language Understanding, NLU) Microsoft DeBERTa превзошел человеческие возможности в одном из самых сложных тестов для подобных алгоритмов SuperGLUE.

[Перевод] Защита от уязвимости Dependency Confusion в PHP с помощью Composer Недавно Алекс Бирсан опубликовал статью «Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies», в которой рассказал, как использовал диспетчеры пакетов уровня языков наподобие npm (Javascript), pip (Python) и gems (Ruby), чтобы заставить к...

Podlodka #146: Изучение английского языка Так сложилось, что английский язык – это де-факто язык международного общения. А еще, так сложилось, что английский – основной язык в IT.

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

[Перевод] 6 рекомендаций по разработке безопасных Go-приложений В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопаснос...

[Перевод] Использование возможностей TypeScript в JavaScript без написания TypeScript-кода Я — большой любитель TypeScript. По возможности я стараюсь использовать этот язык в своих проектах. TypeScript даёт разработчику отчёты об ошибках и проверку типов в JavaScript и TypeScript-коде. Кроме того, тот, кто пишет на TypeScript, может пользоваться удобными возможнос...

[Перевод - recovery mode ] Конец хайпа: Что ждёт язык Scala дальше Вокруг языка Scala всегда было много хайпа и неоднозначных суждений. Сейчас споры поутихли, но в твитере появились сообщения об уходе некоторых значимых участников из компаний активно развивающих экосистему языка Scala. В связи с чем в очередной раз пошли разговоры о том, ч...

PHP-Дайджест № 193 (16 – 30 ноября 2020) Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи. Приятного чтения! Читать дальше →

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 1 Представляю вашему вниманию руководство по Sequelize. Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RD...

[Перевод] 10 хитростей Python, о которых полезно знать По данным StackOverflow Python — это самый быстрорастущий язык программирования. Например, в одном из отчётов Forbes речь идёт о том, что использование Python выросло на 456%. Python применяется в Netflix, в IBM, и ещё в тысячах компаний по всему миру. Давайте не забывать и ...

Вирусный кризис увеличил потребность в программистах, знающих COBOL На днях губернатор Нью-Джерси заявил, что штату экстренно нужны программисты, знающие язык COBOL. Им предстоит обновить программное обеспечение 50-летней давности, которое используется 40-летними мэйнфреймами, работающими в системе занятости. Это может показаться сюрреа...

[Перевод] Rust 1.53.0: IntoIterator для массивов, "|" в шаблонах, Unicode-идентификаторы, поддержка имени HEAD-ветки в Cargo Команда Rust рада сообщить о выпуске новой версии — 1.53.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение. Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.53.0 вам дос...

Нескучный Data Science. Пишем на языке R собственный детектор спама Для подписчиковРаботать в Data Science, как ты мог слышать, – престижно и денежно. В этой статье я познакомлю тебя с азами языка R, который используют в «науке о данных». Конструируя программу, ты увидишь, как сухая скучная математика может быть вполне наглядной и полезной, ...

Распознавание текста на картинке с помощью tesseract на Kotlin Ни для кого не секрет, что Python прочно занял первенство в ML и Data Science. А что если посмотреть на другие языки и платформы? Насколько в них удобно делать аналогичные решения? К примеру, распознавание текста на картинке. Читать дальше →

DeepPavlov стал частью Google Summer of Code в 2021 году В этом году открытая платформа для обработки естественного языка DeepPavlov, разрабатываемая лабораторией нейронных систем и глубокого обучения МФТИ,  впервые стала частью ежегодной программы для молодых разработчиков Google Summer of Code.Google Summer of Code (GSoC) —...

Вирусный кризис увеличил потребность в программистах, знающих COBOL На днях губернатор Нью-Джерси заявил, что штату экстренно нужны программисты, знающие язык COBOL. Им предстоит обновить программное обеспечение 50-летней давности, которое используется 40-летними мэйнфреймами, работающими в системе занятости. Это может показаться сюрреа...

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

[Перевод] FELIX — гибкое редактирование текста с помощью тегов и вставок Seq2seq модели набирают все большую популярность для решения различных задач генерации естественного языка (NLG), начиная от машинного перевода и заканчивая одноязычными задачами генерации текста, такими как суммаризация, объединение предложений, упрощение текста и постредак...

Язык R для пользователей Excel (бесплатный видео курс) В связи с карантином многие сейчас львиную долю времени проводят дома, и это время можно, и даже нужно провести с пользой. В начале карантина я решил довести до ума некоторые проекты начатые несколько месяцев назад. Одним из таких проектов был видео курс "Язык R для пол...

[recovery mode] Scala как первый язык Эта статья, как и мой предыдущий пост, не похожа на то, что обычно публикуют на Хабре.  Здесь не объясняется никаких новых или старых концепций, я не рассказываю что такое ООП и функциональное программирование, сложного кода почти нет. Я хочу пригласить вас к дискуссии ...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

[Из песочницы] Практическое применение Kotlin в стартапах и энтерпрайзе Disclaimer: Я не имею никакого отношения к JetBrains, не получаю денег от продвижения Kotlin или от написания данной статьи. Весь материал — это лишь отражение моего личного опыта. Выбор того или иного языка (и вообще любого инструмента) как правило продиктован как объективн...

Python, корреляция и регрессия: часть 1 В предыдущих сериях постов для начинающих из ремикса книги Генри Гарнера «Clojure для исследования данных» (Clojure for Data Science) на языке Python мы рассмотрели методы описания выборок с точки зрения сводных статистик и методов статистического вывода из них параметров по...

Google научился переводить с татарского. Google Translate впервые за четыре года расширил поддержку языков Компания Google объявила о расширении языковой поддержки для сервиса Google Translate (Google Переводчик).  Теперь Google Переводчик может работать с текстами на таких языках: руанда, ория или одия, татарский, туркменский и уйгурский. На этих языках ...

[Перевод] Портируем make.c на D Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

API Win32 теперь будут более доступными для большего количества языков Microsoft уже десять лет пытается модернизировать Windows и ее платформу разработки. С помощью пользовательского интерфейса Metro в Windows 8, Windows RT, UWP в Windows 10, Project Reunion и Windows 10X Microsoft изо всех сил пытается убедить пользователей и разработчиков пе...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

[Перевод] Чистый код для TypeScript — Часть 3 Заключительная часть статей, посвященных тому, как можно использовать принципы чистого кода в TypeScript(ps. Все эти принципы относятся не только к языку TypeScript). Читать дальше →

Русский язык включён в список основных языков поддержки RIPE NCC 9-13 ноября проходит онлайн-конференция ENOG 17. Открыл мероприятие Ханс Петтер Холен (Hans Petter Holen), управляющий директор RIPE NCC; он рассказал о том, какие сложности в работе были связаны с пандемией, и подчеркнул, как быстро и легко коллеги перешли на виртуальное об...

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

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

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

[Перевод] Новые функции языка, начиная с Java 8 до 16 Улучшения языка Java, которые вам следует знатьПоследнее обновление 30.03.2021, чтобы включать изменения до JDK 16.Когда в Java 8 были представлены Streams и Lambdas, это было большим изменением, позволившим использовать функциональный стиль программирования с гора...

[Из песочницы] Падение популярности PHP: не все так однозначно? Привет, Хабр! Представляю вашему вниманию перевод статьи "PHP in decline: The rise and fall of a programming language" автора Сара Шлотхауэр (Sarah Schlothauer). Когда-то PHP был одним из самых популярных языков программирования, однако на сегодняшний день он продо...

[Перевод] Это не легаси-код, это PHP За последний год разработчики Vimeo писали код бэкенда на множестве языков — PHP, Go, Ruby, Python, NodeJS, Java, C, C++ и немного на Rust. В 2004 году мы начинали всего с одного: PHP. Это был идеальный язык для новых стартапов наподобие Vimeo. Интерпретатор PHP позволял ...

Бесплатные тренинги по Microsoft Azure в октябре Примите участие в Microsoft Virtual Training Days и найдите множество возможностей для развития вашей организации и построения вашей личной карьеры. Еженедельные мероприятия для специалистов с любым уровнем навыков — это возможность: бесплатно стать сертифицированным спец...

ООП в языке R (часть 2): R6 классы В прошлой публикации мы разобрали S3 классы, которые являются наиболее популярными в языке R. Теперь разберёмся с R6 классами, которые максимально приближённые к классическому объектно ориентированному программированию. Читать дальше →

Евангелисты вместо бухгалтеров Я пишу в основном из желания поучаствовать в дискуссии, развернувшейся вокруг статьи «Доказательное программирование». Форма статьи была выбрана автором иронично-саркастическая, «первоапрельская», а вопросы затронуты, как мне кажется, очень даже серьёзные и важные, требующие...

Японский «синтезатор Норимаки» сымитирует вкус любого блюда В университете Мэйдзи (Япония) разработали технологию симуляции произвольного вкуса. Устройство, названное «синтезатор Норимаки», взаимодействует напрямую с языком человека. По аналогии с сенсорным дисплеем здесь важен контакт языка и поверхности, без этого генерация ощущени...

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

Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком Все обсуждают безумно красивую историю про то, как пацаны с Reddit смогли одолеть зазнавшиеся хедж-фонды, но далеко не все понимают, что именно происходило на рынках. В этой статье я объясняю простым языком, что конкретно привело к текущей ситуации. Читать далее

Как улучшить блок-схемы алгоритмов по ГОСТ 19.701-90? Эргономичный визуальный алгоритмический язык ДРАКОН. Критерии Статья содержит анализ и критику стандарта ГОСТ 19.701-90 в части схем алгоритмов. Предлагается для записи алгоритмов создать новый стандарт, основанный на эргономичном визуальном алгоритмическом языке ДРАКОН. Дается сравнительный анализ блок-схем алгоритмов по ГОСТ 19.701-9...

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

[Перевод] Программное обеспечение для ракет и космических кораблей SpaceX С самого своего начала полёты в космос зависели от компьютеров, как на земле, так и в самом космическом аппарате; SpaceX поднял этот принцип на новый уровень. Недавно мы поговорили с руководителем разработки ПО Dragon Стивеном Гердингом о сложных особенностях разработки про...

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки. Flutter: создан компанией Google и выпущенный в 2017 году; в качестве языка программирования использует Dart; не использует нативные компоненты, рисуя весь интерфейс внутри со...

[Перевод] Тесты на антиутопию: искусственный интеллект GPT-J-6B пишет программный код (попутно раскрывая план восстания машин) Компания OpenAI отказалась открывать исходный код алгоритма обработки естественного языка третьего поколения (модель называется GPT-3, имеет 175 миллиардов параметров). Поэтому другие компании разрабатывают свои модели. Они имеют меньше параметров, но похожую архитектуру и...

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

Apple приобрела разработчика ПО, улучшающего работу голосовых помощников Сегодня стало известно о том, что купертновцы приобрели ирландскую компанию Voysis. Ее сотрудники занимались созданием механизмов, позволяющих голосовым ассистентам лучше понимать естественный язык людей.Читать дальше... ProstoMAC.com.| Постоянная ссылка | No comment Вы та...

FlexiNLP: какие технологии для анализа естественного языка используются в ABBYY Мы в ABBYY уже давно занимаемся решением задач Natural Language Processing (NLP). Технологии обработки естественного языка лежат в основе многих NLP-решений ABBYY для поиска и извлечения данных. С их помощью мы помогли индустриальному гиганту НПО «Энергомаш» сделать поиск п...

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась. Читать дальше →

[Из песочницы] Распараллеливаем код в R за пару минут Если верить стереотипам, то язык R – это что-то узкоспециализированное для статистики и машинного обучения. Второй стереотип – что код на чистом R не очень быстрый: во-первых, потому что интерпретируемый, во-вторых, потому что исполняется последовательно. Безусловно, стереот...

Хюгге для разработчиков, или как я съездила на KotlinConf Хабр, привет! Меня зовут Мария, и я программист. Пишу под Android и несколько лет делала это на Java — на фоне универских плюсо́в она мне казалась очень удобной. Но прогресс не стоит на месте, и, придя полтора года назад в Яндекс.Деньги, я познакомилась с молодым языком Ko...

Как оптимизировать изучение английского Ни для кого не секрет, что знание английского на хорошем уровне — уже must-have для современного человека. В нынешней реальности с бешеным темпом жизни, напряженной работой и попыткой найти work-life balance, чтобы выучить язык чаще всего приходится прибегать к помощи репе...

Очереди на очереди: Magento 2 + RabbitMQ Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, наско...

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

Меняем промежуточное представление кода на лету в Ghidra Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка JavaScript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие...

Потерянные буквы английского языка: куда они исчезли и при чем тут Илон Маск В современном английском языке 26 букв, а раньше было больше. Как упрощение скосило целый ряд букв и как век назад звучала песенка об английском алфавите, читайте в этом материале. Читать дальше →

Язык запросов для TSDB. Улучшаем PromQL (Александр Валялкин, VictoriaMetrics) Добрый день! Сегодня я вам расскажу немного про PromQL. Это язык запросов для time-series баз данных. Затем расскажу, как мы его усовершенствовали в разрабатываемой нами time-series базе данных VictoriaMetrics. Читать дальше →

Парсер данных по произвольной грамматике в 400 строк Есть много существующих инструментов для парсинга файлов по заданной грамматике. Например, ANTLR или Yacc. Они используют конечные автоматы и генерируют большие файлы с исходным кодом для парсинга. Действительно ли это так сложно? Попробуем сделать сами. В этой статье я пока...

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

MikroTik Скрипт: Массовое создание VPN (PPP) пользователей, из csv файла Не самая частая задача на устройствах MikroTik - одномоментное создание большого количества VPN/PPP  пользователей. Но когда она возникает, это превращается в очень скучное и нудное дело, что следует исправить. Импортируем PPP пользователей из CSV файла, на устройство M...

Популярная лингвистика. Часть 1. Маме — пиджин, детям — креол Если вам интересно, что такое пиджин и чем он отличается от креола, на каком языке общаются пришельцы и откуда есть пошёл дотракийский язык, то этот небольшой цикл статей для вас. Читать дальше →

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

Microsoft официально представила Power Fx — простой язык программирования, основанный на логике Excel Он пригодится для автоматизации бизнес-процессов в Power Platform.

Google Переводчик получил поддержку 5 новых языков Команда Google Translate объявила о добавлении в приложение поддержки 5 новых языков. Это первое обновление такого рода за последние четыре года. Среди новых языков значатся киньяруанда, одия, татарский, туркменский и уйгурский. В мире на них разговаривают около 75 млн челов...

Как программист читает «Происхождение видов» Дарвина Во время чтения «Происхождения видов путем естественного отбора» Чарльза Дарвина, меня не покидало стойкое дежавю. Позже я понял, что механизмы, описанные в книге сильно коррелируют с механизмами enterprise разработки в больших компаниях. Где в качестве условий окружающей ср...

Использование Obj библиотек в KolibriOS в языках высокого уровня Вступление В KolibriOS системные библиотеки имеют формат MS COFF и расширение Obj. В этой статье будет рассказано как их импортировать и использовать в C--, GCC и TinyC. Читать дальше →

[Перевод] Слышали о языке Prolog? Prolog — это один из тех языков, которые программисты обычно изучают в самом начале карьеры (например — в школе или в институте). Его, правда, забывают почти сразу же после того, как изучили. Почему? Ну, лично я виню в этом индустрию разработки ПО. Я работаю в этой сфере по...

Алгебраические типы данных и Python Возможно, кто-то из читателей, увидев заголовок этой статьи, подумает что-нибудь вроде:"Что?! Алгебраические типы данных?! Это же что-то из мира функциональных языков программирования. Python?! Ну нет... Где Python со своей динамической утиной типизацией, а где типы дан...

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

[Из песочницы] Возвращение GOTO Сейчас все понимают, что использовать оператор GOTO это не просто плохая, а ужасная практика. Дебаты по поводу его использования закончились в 80-х годах XX века и его исключили из большинства современных языков программирования. Но, как и положено настоящему злу, он сумел з...

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio Авторы: Андрей Карпов, khandeliants Филипп Хандельянц. Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь. Читать дальше &r...

Определяем язык текста. Сложный случай Источник изображения: AnnaElli Система «Антиплагиат» работает с текстами на разных языках. Большинство работ, поступающих на проверку, написаны на русском, английском или казахском языках. Сейчас индекс «Антиплагиата» содержит документы более чем на 50 языках. Читать дальш...

Рецензия на сериал Nicolas Cage’s History of Swear Words / «История ругательств с Николасом Кейджем» Почему-то считается, что английский язык крайне беден на ругательства – 70% нецензурной лексики приходится практически на одно слово. То ли дело славянские языки — украинский, польский, русский… Что ж, надеемся, сериал Nicolas Cage’s History of Swear Words от Netflix р...

Легкости перевода. Cisco Webex получит поддержку русского языка Уже в начале 2021 года платформа для корпоративных коммуникаций Cisco Webex научится вести синхронный перевод видеоконференций с иностранного на русский язык и составлять протокол встречи для русскоязычной аудитории. Это – только одна из более чем 50 инноваций, которые компа...

Semantris от Google: как ИИ помогает учить английский играючи В 2016 году Уилл Найт, исследователь искусственного интеллекта из Массачусетского технологического института, писал, что «Машины, которые понимают естественные языки, были бы крайне полезны. Но мы не знаем, как их создать». С тех пор многое изменилось. Искусственный интел...

Новая надстройка Arria для Power BI доступна на Microsoft AppSource Arria NLG  анонсирован выход новой эффективной версии  Arria для Power BI – надстройки, позволяющей пользователям Microsoft Power BI работать с интеллектуальными комментариями на базе системы генератора естественного языка (NLG).  До настоящего времени ра...

[Перевод] Сортировка в Scala — пример на кошках Привет, Хабр! Выношу на ваш суд русскоязычный перевод моей статьи на Medium: Sorting in Scala — a cat shop example. Статья рассчитана на читателей, знающих синтаксис языка Scala и осведомлённых о базовых инструментах стандартной библиотеки. Читать дальше →

[Перевод] Путаница зависимостей. Как я взломал Apple, Microsoft и десятки других компаний С тех пор как я начал учиться программировать, я восхищаюсь уровнем доверия, который мы вкладываем в простую команду, подобную этой:pip install package_nameВ некоторых языках программирования, таких как Python, это простой, более или менее официальный способ установки зависи...

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Биткоин или Биткойн? В русском языке встречаются два варианта написания слова Bitcoin — через «ои» (Биткоин) и через «ой» (Биткойн). Какое же из них верное? На самом деле это не такой уж простой вопрос. Дебаты между сторонниками обоих вариантов ведутся не один год и, на момент написани...

[Перевод] D как улучшенный C Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Microsoft позволит создавать приложения без знания кода благодаря модели GPT-3 Microsoft представила свой первый продукт на базе GPT-3 — компания интегрирует модель естественного языка GPT-3 от OpenAI в платформу для low-code разработки Power Apps. Это позволит легко и эффективно создавать приложения ...

Разработка под iOS и Android: рейтинг языков программирования 2020 Разработка приложений под iOS и Android уже давно стала мейнстримом, но обилие языков по прежнему смущает начинающих разработчиков. Вы хотите стать мобильным разработчиком, но не знаете какой язык программирования выбрать? Не знаете на чем писать свое мобильное приложение дл...

Не можете запомнить порядок слов в английском предложении? Вжарьте по нему «опсашком» В русском языке порядок слов в предложении практически не важен. «Я тебя люблю», «Я люблю тебя», «Тебя я люблю», «Люблю я тебя». Нюансы есть, но при этом каждый из этих вариантов грамматически правильный. В английском все не совсем так. Есть фраза «I love you», а «...

Почему язык Go стал стандартом для DevOps-инженеров Иногда вещи находят себе применение неожиданно и не в том, для чего их задумывали. В 1960-е годы Кен Томпсон — легенда программирования — написал компьютерную игру Space Travel для операционной системы Multics. Система была проектом компании Bell Lab, где он работал вме...

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

Простой веб сервер для SPA/PWA за «5 минут» Как создать Простой веб-сервер, используя только стандартные инструкции nodejs Часто для разработки MPA/SPA/PWA приложений требуется простой веб-сервер. Однажды, на одном большом митинге в ответ на вопрос: «Что ты делал?», я сказал, что поднимал веб-сервер для хостинга PWA п...

[Перевод] Тематическое исследование распознавания именованных сущностей в биомедицине Не так давно у автора этой статьи возник вопрос: может ли простой метод сопоставления строк — в сочетании с некоторыми простыми оптимизациями — конкурировать с моделью, обученной с учителем, в биомедицинской задаче распознавания именованных сущностей (NER)? Автор сравнил эти...

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

«Hadoop. ZooKeeper» из серии Технострима Mail.Ru Group «Методы распределенной обработки больших объемов данных в Hadoop» Предлагаю ознакомиться с расшифровкой лекции "Hadoop. ZooKeeper" из серии "Методы распределенной обработки больших объемов данных в Hadoop" Что такое ZooKeeper, его место в экосистеме Hadoop. Неправда о распределённых вычислениях. Схема стандартной распре...

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

PHP-Дайджест № 174 (10 января – 24 февраля 2020) Свежая подборка со ссылками на новости и материалы. В выпуске: 5 новых RFC из PHP Internals, а также предложение по развитию языка и пара прототипов новых фич в виде пул-реквестов, порция полезных инструментов, видео, подкасты и многое другое. Приятного чтения! Читать даль...

Swift 5.2. Обзор всех изменений В конце марта вышел релиз Swift 5.2 для Xcode 11.4 beta. В нём улучшена диагностика ошибок, анализ зависимостей, расширен функционал SwiftPM. Обзор некоторых изменений уже был опубликован на Хабре, в этой же статье рассмотрена эволюция самого языка с возможными примерами исп...

[Перевод] О нет! Моя Data Science ржавеет Привет, Хабр! Предлагаем вашему вниманию перевод интереснейшего исследования от компании Crowdstrike. Материал посвящен использованию языка Rust в области Data Science (применительно к malware analysis) и демонстрирует, в чем Rust на таком поле может посоперничать даже с Nu...

В «osu!» играй, про ошибки не забывай Приветствуем всех любителей экзотических и не очень ошибок в коде. Сегодня на тестовом стенде PVS-Studio достаточно редкий гость – игра на языке C#. А именно – «osu!». Как обычно: ищем ошибки, думаем, играем. Читать дальше →

Дайджест интересных материалов для мобильного разработчика #329 (13 — 19 января) Возвращаемся к работе с новым дайджестом — в нем роутинг и компоненты, интеграционные тесты и языки программирования, годовой отчет App Annie и улучшения Duolingo. Читать дальше →

Почему батарейки кислые на вкус Все, кто пробовал прислонять к языку батарейку «Крона», наверняка знают ее кислый вкус. Неужели это «вкус электрического тока» или на языке образуется кислота? Источник

Security Week 18: текстовая бомба для iOS Если из разных видов уязвимостей собрать воображаемый сборник лучших хитов, то различного рода ошибки обработки ввода займут там лучшие места. Одним из древнейших способов вывода программы или всей системы из строя является zip-бомба — архив небольшого размера, который разво...

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

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

Запросить 100 серверов нельзя оптимизировать код. Ставим запятую Можно выделить ряд алгоритмов, которые являются базовыми и лежат в основе практически каждой строчки программ, написанных на языках высокого уровня. Хорошо иметь под руками классический многотомный труд Дональда Кнута "The Art of Computer Programming", там детально...

[Перевод] Баги, которые разрушили ваш замок Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Вы точно не запомните все значения этих английских слов Самое многозначное слово в русском языке — «идти». У него 26 основных значений и еще больше десятка фразеологических. Вот только по многозначности английский язык сильно перегнал русский. В нем есть слова и с сотней значений, а рекордсмен в этом смысле имеет целых 645 д...

Sealed типы в Java Язык Java с недавнего времени стал активно развиваться. Шестимесячный релиз версий Java не может не радовать Java разработчика новыми фичами. Одним из приоритетных направлений развития Java является сопоставление с образцом (pattern matching). Pattern matching раскрывают п...

Google BERT в поиске на всех языках охватывает около 10% запросов Сотрудник Google Дэнни Салливан прояснил в Twitter, что глобальный запуск BERT не повлиял на долю охватываемых им запросов. Как и на английском языке в США, в других языковых версиях поисковой системы BERT влияет на примерно 10% запросов. «Это зависит от языка, но в целом со...

Первый в мире язык программирования на классическом китайском Выпускник Университета Карнеги-Меллона (США) и уроженец Шанхая Линдун Хуан разработал новый язык программирования, основанный на старинном классическом китайском языке. То, что задумывалось как личный проект, хобби, привлекло к себе широкое внимание пользователей. Хуан не ус...

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

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

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

Ученый рассказал об истоках русского мата Долгое время было принято считать, что мат в русском языке появился в результате нашествия татаро-монгольского ига. Но, как оказалось, это совершенно не так. И чтобы раз и навсегда покончить с массовым заблуждением, ученый и доктор филологических наук Михаил Осадчий, прорект...

Билингва платформы 1С – почему мы программируем на двух языках Аннотация. Статья является первой (будем надеяться) в цикле, повествующем о тех концептуальных и практических аспектах платформы «1С: Предприятие», которые представляются автору интересными и очень важными, но пока еще не нашедшими четкого отражения в технической публицистик...

Будни аналитиков в «М.Видео—Эльдорадо» Профессию аналитика многие связывают с анализом данных ради поиска неочевидных закономерностей и тенденций. Однако это лишь одно из направлений деятельности, которое в русском языке называется «обработка и анализ данных», а в английском — data science, наука о данных. Друг...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

Как выбрать идеальный монитор: 4 момента на которые нужно обратить внимание Если не хотите утруждаться выбором монитора, – просто берите универсальный ноутбук и радуйтесь жизни! Или прочитайте нашу статью, в которой мы простым языком расскажем, как выбрать монитор с учетом индивидуальности ваших ежедневных задач. Читать полную статью

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

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

Hernia, Preservative, Сrest, Absent и другие 60 английских слов, которые часто переводят неверно Наш язык имеет немало заимствованных слов. Иностранные слова в оригинале на самом деле могут иметь совсем другие значения, чем слышимые и употребляемые нами. И таких примеров довольно много. А иногда настоящий перевод в нашем языке эволюционировал и стал означать нечто связа...

ТЕСТ: Что такое реноме? А анфилада? Определите значение редких слов! В русском языке есть множество слов, значение которых мы вроде бы и знаем, но всё равно чуть-чуть сомневаемся. Как реагировать, когда кто-то рядом восклицает «Вот это эскапада!», на что обращать внимание, если экскурсовод вдруг упоминает анфиладу, и стоит ли опасаться панеги...

[Из песочницы] Предлагаю подумать: как технологии могут помочь бороться с пропагандой в СМИ? Фотограф: Аркадий Шайхет. Вступление Эту статью можно разделить на две логические части. В первой я рассматриваю феномен медиапропаганды: что это такое, почему она опасна и к каким жутким вещам уже приводила в истории. Я подробно рассмотрю механизмы работы современной гос...

Что значит быть Agile? Agile Манифест был опубликован в 2001 году. Он определил ценности и принципы, на основе которых всё множество практик, использовавшихся в разработке программного обеспечения, как новых, так и ранее существовавших, было разделено на две части – Agile практики и не-Agile практ...

[Из песочницы] Почему в 2020 году мы по-прежнему выбираем Ruby? Привет, Хабр! Представляю вашему вниманию перевод статьи «Why is Ruby still our choice in 2020?» автора Vira Vashkovska. Мы — опытная команда Ruby on Rails разработчиков. Некоторые из нас занимаются разработкой на Ruby уже многие годы и знают его как свои пять пальцев. Вот ...

Результаты исследования: только 15% российских выпускников свободно владеют английским языком Сервис Работа.ру, ГК «Эфко» и АНО «Россия — страна возможностей» выяснили, насколько хорошо студенты российских вузов знают английский язык и как эти знания помогут им в дальнейшей карьере. В исследовании приняли ...

Google BERT в поиске на всех языках охватывает около 10% запросов Сотрудник Google Дэнни Салливан прояснил в Twitter, что глобальный запуск BERT не повлиял на долю охватываемых им запросов.Как и на английском языке в США, в других языковых версиях поисковой системы BERT влияет на примерно 10% запросов.«Это зависит от языка, но в целом соот...

У некоторых пользователей Edge Chromium устанавливается на неправильном языке Сегодня состоялся официальный релиз нового браузера Microsoft Edge на базе Chromium, который вы уже можете скачать с официального сайта. Однако запуск прошёл не совсем гладко. Некоторые пользователи сообщают о том, что браузер устанавливается на другом языке. Компания Micro...

[Перевод] Чем меня разочаровал Typescript и стоит ли он того? Прежде чем начать, хочу упомянуть, что я фанат TypeScript. Это мой основной язык программирования для фронтенд проектов на React и для любой бекенд работы, которую я выполняю в Node. Я полностью за Typescript, но есть моменты, которые меня беспокоят и про которые я и хотел...

Как писать музыку на Python — помогут три тематические библиотеки (для специалистов разного уровня) Продолжаем тему музыкального программирования — ранее мы говорили о языках Csound, SuperCollider и Pure Data, а сегодня рассказываем Python и библиотеках FoxDot, Pippi и Music-Code. Читать дальше →

Язык программирования Mash http://mash-project.org https://github.com/RoPi0n/mash-lang Mash? Это язык императивный язык программирования с динамической типизацией, сборкой мусора, ООП и поддержкой многопоточности. Интересно? Тогда под кат! :) Читать дальше →

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

[Перевод] Как использовать Python для проверки протокола Signal Galois работает над повышением удобства SAW, инструмента для верификации программ на C и Java, исходный код которого открыт. Основным способом взаимодействия пользователей с SAW является его спецификация и язык программирования сценариев. Чтобы сдела...

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

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

Нейросеть диагностирует рак по фотографии. Главные новости за 24 мая Сверточная нейросеть, разработанная нидерландскими и датскими врачами, диагностирует рак легких по снимкам флюорографии и компьютерной томографии. Подразделение ИИ корпорации IBM разработало инструмент для перевода с одного языка программирования на другой. Британский старта...

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

ТЕСТ: Определите значения устаревших слов! Давным-давно люди называли предметы, явления и действия совсем другими словами. Язык менялся, какие-то выражения совсем перестали использоваться в речи, а у некоторых появились более понятные нам синонимы. В этом тесте мы собрали забавные устаревшие словечки и предлагаем вам...

Дети, русский язык и R Типичная ситуация в нынешнем образовательном процессе в школе. На часах 22:00, в электронном дневнике ребенка появляется новое задание. В лучшем случае на послезавтра, но обычно на завтра. Вариантов реакции три: не делать вовсе; «не заметить» и отложить решение вопроса на п...

Дайджест IT-событий марта Как всегда, отмечаем начало месяца сводкой готовящихся событий для разработчиков. С приближением весеннего равноденствия в IT-сообществе также устанавливается редкое равновесие — в этом выпуске хватает всего: языков разработки, data science, хакатонов, тестирования. Читат...

Дайджест интересных материалов для мобильного разработчика #367 (19 — 25 октября) В этом выпуске две истории инди-разработки игр, языки программирования внутри iOS, большие картинки внутри Android, ошибки разработчиков и дизайна кнопок, траты зумеров и монетизация маленьких приложений. Читать дальше →

История IT. Когда компьютеры были большими… Некоторое время назад меня попросили рассказать или дать ссылки на историю развития IT-разработки, в которой была бы видна внутренняя логика развития, а не просто факты и события. Казалось бы, об этом должны быть книги или обзорные курсы, ведь логика развития IT-разработки в...

[Перевод] PowerShell — это язык программирования? Является ли PowerShell языком программирования? Совершенно определённо — является. И не обращайте внимание на тех, кто говорит, что это не так. Многие, работающие в сфере программирования, могут просто посмеяться над мыслью о том, что код, написанный для PowerShell — это неч...

Мне кажется, дело не в языке, а в том, как на нем пишут «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребята без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновивши...

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

[Перевод] JavaScript исполнилось 25 лет 4 декабря 2020 года JavaScript исполнилось 25 лет. Автор материала, перевод которого мы сегодня публикуем, Даниэль Адамс, говорит, что этот язык повлиял на её карьеру, а так же — на профессиональную деятельность многих программистов. JavaScript повлиял и на то, как обычные л...

[Из песочницы] Обработка исключений в контроллерах Spring Часто на практике возникает необходимость централизованной обработки исключений в рамках контроллера или даже всего приложения. В данной статье разберём основные возможности, которые предоставляет Spring Framework для решения этой задачи и на простых примерах посмотрим как ...

[Из песочницы] Основные недостатки языка Python Язык программирования Python славится своей простотой и лаконичностью. Немногословный и понятный синтаксис, похожий на псевдокод, а также сильная динамическая типизация способствуют быстрому и безболезненному обучению новичков. Интерпретатор языка берёт на себя всю низкоуров...

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

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

[Перевод] Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытать...

Проект CETI — декодинг «языка» кашалотов В 2016 году океанологи впервые обнаружили и записали то, как кашалоты общаются друг с другом, используя своеобразную ультразвуковую речь из коротких и длинных ритмично повторяющихся щелчков (кодов), напоминающих сигналы азбуки Морзе. Им удалось обнаружить, что кашалоты обща...

Чемпионат по выполнению теста Кнута Еще в 1964 году известный специалист Дональд Кнут предложил простой тест [1], названный им «Man or boy?» (в вольном переводе «взрослый или детский?») для проверки трансляторов с языка Алгол-60.Тест выглядел так: Читать далее

[Перевод] Прошло тридцать лет, а QBasic по-прежнему лучший Моему старшему сыну Ноа три месяца назад исполнилось семь лет. Если бы он мог обменять всю свою семью на два часа игры в Minecraft, то сделал бы это без раздумий. Ещё одна любовь всей его жизни — это Super Mario Maker. У меня бегали мурашки, когда я видел, как он играет в у...