Социальные сети Рунета
Суббота, 23 октября 2021

[Перевод] Объектно-ориентированный JavaScript простыми словами Доброго времени суток, друзья! В JavaScript существует 4 способа создать объект: Функция-контруктор (constructor function) Класс (class) Связывание объектов (object linking to other object, OLOO) Фабричная функция (factory function) Какой метод следует использовать? Ка...

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

Конструктор Lego и объектно-ориентированное программирование в Tcl. Разбор сертификата x509.v3 Часто приходится слышать, что скриптовому языку Tcl не хватает поддержки объектно-ориентированного стиля программирования. Сам я до последнего времени мало прибегал к объектно-ориентированному программированию, тем более в среде Tcl. Но за Tcl стало обидно. Я решил разобрать...

[Перевод] Вы уверены, что пишете объектно-ориентированный код? Мы, PHP-разработчики, горды тем, что пишем на ООП-языке (можно легко здесь заменить PHP на C#, Java или другой ООП-язык). Каждая вакансия содержит требования про знание ООП. В каждом собеседовании спрашивают что-нибудь про SOLID или трех "китов" ООП. Но когда дело ...

[Перевод] Когда объектов не достаточно Я искал материалы об истоках объектно-ориентированного программирования. Причина была в том, что в сообществе Laravel возникла тенденция использовать паттерн Action и говорить вот что такое «настоящее ООП». У меня возникли некоторые сомнения, и вместо того, чтобы задавать в...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

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

Снова про шаблоны C++ в микроконтроллерах Идея использования шаблонов языка C++ для программирования контроллеров не является чем-то новым, в сети доступно большое количество материалов. Кратко напомню основные преимущества: перенос значительной части ошибок из runtime в compile-time за счет строгого контроля ти...

[Перевод] Иммутабельная архитектура Эта статья является переводом материала «Immutable architecture».В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.Прежде всего, термин «Иммутабельность», применяемый к структуре данных, такой как к...

[Из песочницы] Функциональный Powershell с классами — не оксюморон, я гарантирую это Привет, Хабр! Представляю вашему вниманию перевод статьи "Functional PowerShell with Classes. I promise it’s not an oxymoron" автора Christopher Kuech. Объектно-ориентированная и функциональная парадигмы программирования могут казаться не в ладах друг с другом, но ...

[Перевод] Почему разработчики влюбляются в функциональное программирование? Функциональное программирование (ФП) существует уже лет 60, но до сих пор оно всегда имело достаточно узкую сферу использования. Хотя компании, меняющие мир, вроде Google, полагаются на его ключевые концепции, средний современный программист знает об этом феномене очень мало...

Язык сетевого программирования P4. Часть 1: обзор возможностей и настройка SONiC-P4 Эта первая часть обзорной статьи, в которой мы разбираемся с молодым языком программирования P4: что это такое, для чего он нужен и чем лучше прочих систем обработки пакетов. Конечно, будет и практика: примеры программирования и обзор железа с поддержкой P4. А на десерт — по...

Вышел релиз языка программирования Ruby 3.0.0, который готовили с 2015 года Источник изображения Хорошие новости для разработчиков — вышел Ruby 3.0.0, новый релиз динамического объектно-ориентированного языка программирования. По словам его поклонников, в новую версию вошло лучшее от Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Новая версия...

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

[Перевод] Протокольно-ориентированное программирование в Swift 5.1 Протоколы — фундаментальное свойство Swift. Они играют важную роль в стандартных библиотеках Swift и являются обычным способом абстракции кода. Во многом они похожи на интерфейсы в других языках программирования. В этом руководстве мы представим вам подход к разработке прил...

Объектно-ориентированный дизайн и как его использовать для проектирования систем В последние годы области проектирования и дизайна начали сближаться с разработкой. Проектирование соприкасается с дизайном, а дизайн — с версткой. В этом помогают, к примеру, дизайн-системы, storybook’и, созданные по правилам разработк...

[Перевод] Java 15 глазами программиста Scala Время летит. Не успеваешь моргнуть глазом, а уже вышел очередной релиз Java. В соответствии с графиком (по релизу каждые полгода) комьюнити получило в свое распоряжение Java 15, судьба которой — стать фундаментом для Java 17 LTS (выйдет через год).В Java постоянно ...

Наследование в Nuget-пакетах Nuget-пакет — это не только архив с переиспользуемыми сборками, но и контент и target-скрипты, задающие поведение MsBuild при сборке приложения. Это дает нам возможность рассматривать nuget-пакет в качестве самостоятельного объекта, у которого есть состояние и поведение. ...

[Перевод] Повышение читаемости кода с помощью расширений Kotlin Когда вы использовали какой-либо API-интерфейс, хотелось ли вам добавить в него новые функции или свойства?Для решения этой задачи вы можете использовать наследование (создать новый класс на базе существующего) или функцию, которая получает в качестве входного параметра экзе...

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

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

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

Метафизика Dependency Injection Dependency Injection — это часто используемая техника в объектно-ориентированном программировании, предназначенная для уменьшения связанности компонентов. При правильном применении, помимо достижения этой цели, она может привнести поистине магические качества вашим приложе...

[Перевод] Deep Q Trading: объектно-ориентированный код на R Привет! Это перевод еще одной моей статьи, посвященной обучению с подкреплением (reinforcement learning). Эту итерацию даже предложили запостить в блоге Веды аналитики. :) В двух прошлых статьях на эту тему: 1 и 2 я пробовал создать и запустить обучение с подкреплением д...

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

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

[Перевод] Инстанцирование в Python Допустим, у вас есть класс Foo : class Foo(object): def __init__(self, x, y=0): self.x = x self.y = y Что происходит, когда вы создаёте его объект? f = Foo(1, y=2) Какой метод вызывается первым при этом вызове Foo? Большинство новичков, да и, возможно, не...

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

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

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

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

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

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

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

To spawn, or not to spawn? Вот в чём вопрос! Что лучше - держать всё в одном процессе, или создавать отдельный процесс на каждый кусок состояния, которым нам нужно управлять? В этой статье я немного расскажу об использовании или неиспользовании процессов. Я также расскажу, как отделить сложную логику ...

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

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

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

Три предметно-ориентированных языка программирования для цифровой обработки сигналов В прошлый раз мы рассказывали о книгах, которые пригодятся специалистам по цифровой обработке сигналов, и обсуждали библиотеки на C++ для синтеза звука. Продолжим тему, но поговорим о ЯП под эти задачи — Faust, SOUL и Feldspar. Читать далее

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

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

Old Skull — фронтенд-фреймворк из альтернативной вселенной Около десяти лет назад сообщество веб-разработчиков впервые начало обсуждать концепцию "Single-Page Application" и искать способы ее реализации. К тому моменту разработка графических интерфейсов уже не являлась чем-то новым и поэтому многие вещи заимствовались у с...

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

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

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

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

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

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

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

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

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

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

[Перевод] В каких случаях не нужно использовать списки в Python Перевод статьи подготовлен в преддверии старта базового курса «Разработчик Python». В Python, наверное, самым популярным контейнером данных будет список (list). Он настолько гибкий, что его можно использовать в проектах почти повсеместно и хранить в нем данные различного т...

Как мы добавили поддержку языка Frege в IDEA. Часть 2 Привет! Это вторая часть рассказа о том, как мы поддерживали язык Frege в IntelliJ IDEA. Первую часть читайте здесь. Сейчас мы поделимся, как сделали автодополнение, систему сборки, интерпретатор и систему типов. И как все это тестировали. Читать далее

Запуск сложных C++ приложений на микроконтроллерах Сегодня никого не удивить возможностью разрабатывать на C++ под микроконтроллеры. Проект mbed полностью ориентирован на этот язык. Ряд других RTOS предоставляют возможности разработки на С++. Это удобно, ведь программисту доступны средства объектно-ориентированного програм...

Leica представила «камеру Бонда» к выходу 25-го фильма об агенте 007 Leica представила новую версию камеры-бестселлера — Leica Q2 “007 Edition”. Камера посвящена выходу 25-го фильма о Джеймсе Бонде «Не время умирать». Премьера фильма в России — 30 сентября 2021. Камера выпущена ограниченным тиражом ...

[Перевод] Программирование только классами В моем посте Implementing numbers in "pure" Ruby ("Разрабатываем числа на "чистом" Ruby") я обозначил рамки, которые разрешали использовал базовые вещи из Ruby вроде оператора равенства, true/false, nil, блоки и т.п. Но что, если бы у нас вообщ...

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

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

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

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

[Перевод] Rust — теперь и на платформе Android Корректность кода на платформе Android является наиважнейшим аспектом в контексте безопасности, стабильности и качества каждого релиза Android. По-прежнему сложнее всего вытравливаются ошибки, связанные с безопасностью памяти и попадающиеся в коде на С и C++. Google вкладыва...

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

О полезности contextvars В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскаж...

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

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

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

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

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

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

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

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

Проектируем мультипарадигменный язык программирования. Часть 6 — Заимствования из SQL Продолжаем рассказ о создании мультипарадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источник...

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

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

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

«UML. Взгляд со стороны» или «Как UML удерживает аналитиков в прошлом» Изображение с www.uml.org Статья посвящена UML и особенностям его применения в настоящее время. Немного исторических сведений, совсем немного, только основные моменты: UML зародился в 90-х годах как результат работы по создания языка объектно-ориентированного моделировани...

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

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

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

[Перевод] Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Распределенными системами бывает трудно управлять по причине того, что в них имеется множество подвижных изменяемых элементов, и все они долж...

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

Liko School открыла учебный центр по языку программирования Swift при поддержке партнеров АСБИС-Украина и iOn Частная школа полного цикла Liko School при поддержке своих партнеров, компаний АСБИС-Украина и iOn открыла первый в Украине сертифицированный учебный центр для программистов на языке Swift.

Вся правда о Soft skills Хорошим программистом быть нетрудно — надо всего лишь постоянно учиться. Фреймворки обновляются ежегодно, а популярные языки программирования рождаются каждые пять лет. Вместе с ними нужно изучать инструментарий, лучшие практики, паттерны проектирования и бог знает, что...

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

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

Clarion — Язык программирования, про который все забыли. А мне пришлось вспомнить В своем первом посте я хочу рассказать об одном из самых редких и старых языков программирования - Clarion. Я знаком со всей линейкой этих замечательных языков начиная с 2.1 далее 5.0, 6.0, 6.3, 8 и до 9.1 по текущий момент. Буду постепенно рассказывать общие детали данной т...

Фото и первые тесты розничного экземпляра AMD Ryzen 7 5700G Релиз гибридных процессоров AMD Ryzen 5000G для настольных ПК уже не за горами. На китайском форуме Chiphell был продемонстрирован экземпляр Ryzen 7 5700G с OPN-кодом 100-000000263, относящийся к финальной версии продукта, а не...

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

[Перевод] Vue.js для начинающих, урок 7: вычисляемые свойства Сегодня, в седьмом уроке курса по Vue, мы поговорим о вычисляемых свойствах. Эти свойства экземпляра Vue не хранят значения, а вычисляют их. → Vue.js для начинающих, урок 1: экземпляр Vue → Vue.js для начинающих, урок 2: привязка атрибутов → Vue.js для начинающих, урок 3:...

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

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

[Перевод] C++ — это замечательно, и вот почему C++ — один из самых непонятных языков в современной поп-культуре разработчиков программного обеспечения. Люди часто сравнивают его с C, потому что это "низкоуровневый" язык. Следовательно, он получил репутацию эзотерического языка, который интересует только параноиков произв...

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

Разработка стековой виртуальной машины и компилятора под неё (часть I) Так сложилось, что за последние 18 лет, не приходилось писать на C/C++. На работе использовалась Java, да и ввиду должностей деятельность больше была связана с предпринимательством - переговоры, корпоративные продажи, выстраивание производственных операций и структурирование...

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

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

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

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

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

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

[Перевод] Triton: Open Source язык для ядер Deep Learning Подобный Python Triton уже работает в ядрах, которые в 2 раза эффективнее эквивалентных реализаций Torch. А ядра матричного умножения FP16, сравнимые производительностью с cuBLAS, на Triton займут менее 25 строк. Как утверждает автор, многие программисты не могут написать та...

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Функциональное программирование, знакомься — ООП Мне нравится экспериментировать с разными парадигмами и играться с разными интересными (для меня) идеями (некоторые из них превращаются в посты: раз, два). Недавно я решил проверить, смогу ли я писать объектно-ориентированный код на функциональном языке. Читать дальше →

[Из песочницы] Null safety в Dart Привет, Хабр! Представляю вашему вниманию перевод статьи «Announcing sound null safety» автора Filip Hracek с моими комментариями: Null safety — безопасная работа с пустыми ссылками. Далее по тексту для краткости и по причине устойчивости термина будет использоваться англий...

[Перевод] Новая система автоматически очищает массивы ненадёжных данных Специально к старту курса о Data Science мы перевели статью о созданной исследователями из Массачусетского технологического института программе, занимающей около 50 строк кода (ссылку на который мы разместили в конце) и автоматически очищающей "грязные данные" — описки, дубл...

Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C# Будучи разработчиками программного обеспечения, мы всегда хотим, чтобы написанное нами ПО работало быстро. Использование оптимального алгоритма, распараллеливание, применение различных техник оптимизации – мы будем прибегать ко всем известным нам средствам, дабы улучшить про...

Диаграммы Фейнмана в первом классе Старшая дочь, 7 лет отроду, учится во втором классе бразильской школы (здесь дети идут в первый класс в 6 лет). Времена нынче трудные, школы уже 3 полугодия закрыты. Поэтому по сути в школу она так и не ходила. Справедливости ради надо сказать, что в 3 года в садике она выуч...

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

[Перевод] OCP против YAGNI Эта статья является переводом материала OCP vs YAGNI. В этом посте хочется осветить тему OCP и YAGNI – противоречия между принципом открытости/закрытости и принципом «вам это не понадобится».Давайте начнем с того, что вспомним, что такое OCP. Принцип открытости/закрытости гл...

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

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

Объектно ориентированное программирование на Си без плюсов. Часть 1. Введение Приветствую! Каждый раз, когда начинаешь решать какую-либо большую задачу, то на пути появляется множество маленьких. И найденные или не найденные решения маленьких подзадач превращаются в то, что мы в дальнейшем называем опытом. Но к сожалению, если не пользуешься чем-...

Innodisk представляет модули памяти DDR5 DRAM промышленного класса ТАЙБЭЙ, 1 июля 2021 г. /PRNewswire/ — Компания Innodisk официально объявила о выпуске модулей памяти DDR5 DRAM промышленного класса. Производительность и энергоэффективность нового стандарта значительно выросли по сравнению с его предшественником. Новинку ждали с нетер...

За неполный 2020 год украинцы купили всего 559 новых электромобилей (Топ-10 моделей) Количество годовых продаж электромобилей в Украине давно исчисляется тысячами (к примеру, за 11 месяцев текущего года украинцы приобрели почти семь тысяч электромобилей), однако на новые экземпляры приходится минимальная доля. Ассоциация Укравтопром рассказала, какие именно ...

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

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

[Перевод] Обнаружение лиц в Node.js с использованием Rust и WebAssembly В последней статье мы рассказывали, как вызывать функции Rust из Node.js. Сегодня мы расскажем, как написать приложение AIaaS (англ. Artificial Intelligence as a Service — «искусственный интеллект как услуга») на базе Node.js.Большинство приложений с искусственным интел...

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

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

Работа с асинхронностью в Dart Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу...

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

Какие языки программирования стали самыми используемыми в 2020 году: описание и перспективы развития Специалисты, работающие удаленно, в последнее время стали очень востребованными. По количеству удаленных работников IT-индустрия одна из лидеров. А освоение этой сферы начинается с обучения программированию. В этой статье мы рассмотрим языки, которые стоит учить в 2021 году....

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

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

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

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

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

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

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

[Перевод] Горячая перезагрузка .NET: новая возможность для редактирования кода во время выполнения приложений Сегодня мы с радостью представляем возможность «горячей перезагрузки» для .NET, которая уже доступна в Visual Studio 2019 16.11 (предварительная версия 1), а также в .NET 6 (предварительная версия 4) через инструмент командной строки dotnet watc...

Nissan поставил на рынок 500 тыс. электромобилей Nissan Leaf, юбилейный экземпляр продали в Норвегии Японский автопроизводитель Nissan достиг очередной круглой отметки в объеме продаж электромобилей Nissan Leaf — за неполные 10 лет компания поставила на рынок полмиллиона экземпляров в рамках двух поколений. Показательно, что юбилейная продажа пришлась на Норвегию, кот...

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

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

BDD-тестирование чат-бота Многие знакомы с методологией Test-Driven Development и, в частности, Behavior-Driven Development. Этот подход к разработке и обеспечению качества ПО набрал большую популярность, поскольку позволяет выстроить четко установленное соответствие между бизнес-требованиями и техни...

Как мы добавили поддержку языка Frege в IDEA. Часть 1 Привет! В этом посте мы расскажем, как реализовывали плагин для поддержки функционального языка Frege в IntelliJ IDEA. Если вам интересно, как IDE от JetBrains работают внутри, или вы хотите поконтрибьютить в языковые плагины (а может даже написать свой!), эта статья для вас...

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

Достучаться до небес, или FSM на шаблонах Здравствуйте! Меня зовут Александр, я работаю инженером-программистом микроконтроллеров.Пишу на С/С++, причем предпочитаю плюсы, ибо верую в их эволюционную неизбежность в embedded. Мир встроенного ПО, язык С++ динамично развиваются, поэтому разработчикам важно не отставать ...

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

Apple Human Interface Guidelines for iOS на русском языке Изучая тему мобильной разработки обнаружил, что руководство компании Apple по дизайну и разработке приложений Human Interface Guidelines не переведено на русский язык.Потратив некоторое количество времени, совладал с переводом этого материала.Надеюсь, этот перевод поможет лу...

[Перевод] С лёгким налётом ржавчины или куда делся NULL Давно начал следить за языком Rust, кажется, ещё до выхода версии 1.0. За это время язык сильно изменился, оформился и стал совсем взрослым, можно в производство. При этом из коробки программисту предлагается довольно много интересных концепций для разработки надёжного ПО с ...

Массивы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это четвертая статья из серии, первые три, посвященные перегрузке в C++, находятся здесь, здесь и здесь. Эта статья посвящена...

Закрывается магазин Silicon Lottery, предлагавший отборные процессоры Intel и AMD Интернет-магазин Silicon Lottery, известный благодаря продаже отборных экземпляров CPU, объявил о своем закрытии. Скрупулезный биннинг Silicon Lottery всегда был интересен для энтузиастов, а цены на такие экземпляры порой превышали двукратную рекомендованную стоимость. Напри...

[Перевод] Java и базы данных: обзор библиотек и API Каждый раз при необходимости взаимодействия с базами данных появляются три вопроса: - Какой подход использовать при разработке: java-first или database-first? Писать сначала Java-классы или SQL-запросы? Будет ли использоваться уже существующая база данных? - Каким способом в...

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

SMARTlife: Чем аудиофил отличается от меломана? Где им скачать музыку бесплатно на мобильный?! Вместе с современной, высококачественной техникой класса Hi-End в наш язык вошло и странноватое заграничное словечко «аудиофил». Что это за человек, вроде бы тот, кто до преданности любит музыку? Но ведь существуют уже «меломаны», так в чем разница?

Структурированное сопоставление с шаблонами в Python 3.10 Версия Python 3.10, работа над которой началась 25 мая 2020 года, запланирована к выпуску  4 октября 2021 года и будет содержать ряд интересных нововведений. Одним из многообещающих нововведений будет структурированное сопоставление с шаблонами (structured pattern match...

Попытка определить язык манускрипта Войнича, Random Forest Classifier Пытаемся определить язык таинственной рукописи — манускрипта Войнича — простыми методами обработки естественных языков на Python. Читать дальше →

Внедрение зависимостей (Dependency Injection) с GetIt во Flutter Внедрение зависимостей - DI - Dependency injection - термин часто встречающийся на собеседованиях. Сам по себе концепт опирается на более объемный принцип инверсии зависимостей (буква D в SOLID), но намного проще и ближе к практике. Кратко можно сказать, что при внедрении за...

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

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

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

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

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

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

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

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

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

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

Итальянская IBM-PC Olivetti Prodest PC1 HD Сегодня пойдет рассказ о другом интересном экземпляре из моей коллекции - итальянском компьютере, который во много похож на его отечественного собрата, но также и во многом от него отличается. Читать далее

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

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

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

Почему программисты 1С не любят 1С? Парадоксально, но факт. 1С, которая создает работу, нам, программистам 1С, нами же не любима. Почему мы кусаем кормящую нас руку? Я программист 1С и постараюсь разъяснить. Читать далее

Новая модель TANK класса SUV оснащается сверхмощным силовым агрегатом 3.0T+9AT БАОДИН (Китай), 19 августа 2021 г. /PRNewswire/ — Недавно с конвейера Цзинмэньской автопроизводственной базы компании GWM сошел первый экземпляр модели TANK «X» (пока не имеющей официального названия и именуемой далее «TANK «X»») с момента...

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

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

Как выучить иностранный язык: алгоритм Если вы хоть немного пересекались с Machine Learning, то понимаете, что человеческий мозг — это, по сути, большая нейросеть. А раз так, то и работу с ним можно строить по известным в ML алгоритмам. Так я нашел универсальный способ выучить любой иностранный язык до нормальног...

Nokia анонсировала обновление для сетей SON Оно ликвидирует традиционную операторскую консоль и заменяет ее на объектно-ориентированную информационную панель (dashboard), позволяющую решать проблемы в режиме реального времени и повышать производительность труда.

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

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

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

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

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

[Из песочницы] Doctrine ResultSetMapping на примерах Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость исп...

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

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

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

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

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

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

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

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

Как кыргызский язык стал «русским» и почему это закономерно «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н...

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

UWP больше не в моде, так как Microsoft выпускает руководство по переносу приложений на Windows App SDK Windows App SDK предоставляет широкий набор API-интерфейсов Windows с реализациями, которые отделены от ОС и выпущены для разработчиков через пакеты NuGet. Если вы являетесь разработчиком приложения Universal Windows Platform (UWP), вы можете использовать существующий набор ...

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

Какой тип числа у Number в JS? Если вы изучали языки со строгой типизацией, то должны понимать, что определённое значение должно храниться в памяти с заранее выделенным для неё количеством байт. Например, для числа int выделяется 4 байта, что равняется 32 битам и может содержать в себе 2³² значе...

[Перевод] Графический интерфейс на Python за 5 минут Python легко использовать. В нем вы можете найти огромное количество библиотек для чего угодно. И это его основное преимущество. Из нескольких строк кода вы ничего не сделаете. Если вам нужны скрипты для личного пользования или для технически подкованной аудитории, то вам ...

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

TypeScript Native (AOT) Compiler TypeScript Native (AOT) CompilerИмплементация нативного Ahead-of-Time компилятора для языка TypeScript Читать далее

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

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

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

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

Дефицит программистов на языке COBOL угрожает государственной системе США Ряд штатов США начал спешный поиск всех, кто имеет навыки работы с языком программирования COBOL. Причина – балансирование на грани паралича государственных сервисов, работа которых базируется на древних мейнфреймах, некоторым из которых уже по 40 лет. До наступления пандеми...

NER для русского языка в Spacy 3: удобно и легко Славянские языки, в том числе и русский, считаются довольно сложными для обработки. В основном, из-за богатой системы окончаний, свободного порядка слов и других морфологических и синтаксических явлений. Распознавание именованных сущностей (далее, NER) представляется трудной...

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

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

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

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

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

Не прошло и года. Apple официально признала наличие проблемы с треском AirPods Pro, и согласилась бесплатно заменить такие экземпляры Apple на днях запустила программу бесплатного обмена проблемных экземпляров наушников AirPods Pro с активным шумоподавлением. На проблемы со звуком пользователи AirPods Pro начали сообщать сразу после выхода наушников в ноябре 2019 года и вскоре стало понятно, что они носят ...

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

Rivian наконец выпустил первый серийный электромобиль — это пикап R1T в фирменном цвете Rivian blue Спустя почти три года с момента анонса электромобилей R1T и R1S американская компания Rivian наконец выпустила первый серийный экземпляр транспортного средства. Первенцем, сошедшим с конвейера в Нормале (Иллинойс), стал электропикап Rivian R1T в фирменном цвете Rivian blue. ...

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

Долой циклы, или Неленивая композиция алгоритмов в C++ "Кто ни разу не ошибался в индексировании цикла, пусть первый бросит в деструкторе исключение." — Древняя мудростьЦиклы ужасны. Циклы сложно читать — вместо того, чтобы сразу понять намерение автора, приходится сначала вникать в код, чтобы понять, что именно он де...

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

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

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

[Перевод] Ускоряем код на Питоне с помощью расширений на Cи Питон — простой, но мощный язык, который заслуженно стал одним из самых популярных. Тем не менее, иногда ему не хватает скорости статически типизированных языков с предварительной компиляцией, таких как Cи и Джава. Если у вас есть задача выполнить трудоемкие вычисления,...

[Перевод] Основы дискретной математики Эта статья содержит лишь малую часть информации по заявленной теме. Рассматривайте ее как вводный курс перед началом всестороннего изучения предмета. Надеюсь, вы найдете в ней полезную информацию. Знание дискретной математики помогает описывать объекты и задачи в информатике...

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

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

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

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

[Перевод] Ускоренная сборка Kotlin с помощью Kotlin Symbol Processing 1.0 Kotlin Symbol Processing (KSP), наш новый инструмент для создания легких плагинов компилятора на языке Kotlin, теперь стабилен! KSP обладает функциональностью, схожей с Kotlin Annotation Processing Tool (KAPT), однако работает в 2 раза быстрее, предоставляет прямой доступ к ...

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

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

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

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

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

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

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

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

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

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

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

Решил 50 задач и ответил на вопрос — Python или JavaScript? Привет, друзья! Я — JavaScript-разработчик. Код пишу в основном на React (иногда на Vue), немного на TypeScript, немного на Node, немного знаю SQL, но... со мной работает много людей, которые пишут код на Python вокруг много разговоров про Python повсюду преподают Python ...

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

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

Свистящие языки могут помочь создать модели дешифровки языка дельфинов Наука Гуманитарные науки 24.09.2021, 12:07 Свистящие языки могут помочь создать модели дешифровки языка дельфинов Более 80 культур используют свистящие звуки в своем родном языке. Ученые считают, что изучение особенностей этих систем м...

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

7 французских слов, которые бесят тех, кто изучает английский Французский язык крайне сильно повлиял на английский в ходе исторического развития. Даже сейчас в языке Шекспира есть примерно 10 000 лексем, которые прямо заимствованы с французского, без изменений в орфографии. А в целом примерно 40% корней английских слов восходят к ...

Международный финансовый форум публикует доклад IFF China Report 2021 ПЕКИН, 31 мая 2021 г. /PRNewswire/ — Международный финансовый форум (IFF) объявил о выпуске доклада IFF China Report 2021 (далее «Доклад»), в котором изложены важные политические инициативы Китая и возможности глобального сотрудничества в связи с пандемией COVID-1...

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

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

PHP – компилируемый язык?! PVS-Studio ищет ошибки в PeachPie PHP широко известен как интерпретируемый язык программирования, использующийся в основном для разработки сайтов. Однако немногие знают, что для PHP есть ещё и компилятор под .NET — PeachPie. Но вот насколько он качественно сделан? Сможет ли статический анализатор найти в эт...

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

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

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

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

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

Partial Update library. Частичное обновление сущности в Java Web Services В структуре веб-сервисов типичным базовым набором операций над экземплярами сущностей(объектами) является CRUD (Create, Read, Update и Delete). Этим операциям в REST соответствуют HTTP методы POST, GET, PUT и DELETE. Но зачастую у разработчика возникает необходимость частичн...

Новая модель TANK класса SUV оснащается сверхмощным силовым агрегатом 3.0T+9AT БАОДИН (Китай), 19 августа 2021 г. /PRNewswire/ — Недавно с конвейера Цзинмэньской автопроизводственной базы компании GWM сошел первый экземпляр модели TANK «X» (пока не имеющей официального названия и именуемой далее «TANK «X»») с момента...

Новая модель TANK класса SUV оснащается сверхмощным силовым агрегатом 3.0T+9AT БАОДИН (Китай), 19 августа 2021 г. /PRNewswire/ — Недавно с конвейера Цзинмэньской автопроизводственной базы компании GWM сошел первый экземпляр модели TANK “X” (пока не имеющей официального названия и именуемой далее «TANK “X”») с мом...

Стоимость базовых версий Tesla Model S и Model X поднялась сразу на 5000 долларов При этом вновь заказанные экземпляры придётся ждать до января-февраля 2022 года.

Какие языки программирования учить? Чем больше освоишь, тем круче будешь Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в...

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

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

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

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

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

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

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

Языки программирования на эмодзи, и как можно использовать смайлики в коде Поговорим о том, как можно использовать эмодзи при написании кода и какие для этого есть специальные языки программирования. А ещё дадим советы программисту, как использовать эмодзи в кодинге (спойлер: добавлять их в комментарии, описания коммитов и даже строки — для оживлен...

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

Первый взгляд на Nissan Juke 2020: взлетит или забуксует? Новый Nissan Juke 2020. Все, здесь можно ставить точку? Ведь, кажется, в своем классе модель является синонимом успеха: продано около 1,5 млн экземпляров первого поколения: более 100 тыс. автомобилей ежегодно! Сможет ли новинка Nissan Juke второго поколения поддержать столь ...

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

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

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

[Перевод] Пишем простую библиотеку JSON с нуля: экскурс в современный C++ Глазами начинающего С++ программиста оцениваем удобство современных возможностей языка на примере реализации программы для лексического разбора и парсинга данных JSON. Читать дальше →

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

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

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

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

Ценности DDD Основоположником DDD (Domain Driven Design, предметно-ориентированное проектирование) является Эрик Эванс, который в довольно далеком 2003 году подарил миру свою знаменитую книгу о предметно-ориентированном проектировании. Безусловно, не все, что описано в книге придумал авт...

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

Как я начал писать макросы для Rust на Gluon Во многих языках есть специальный механихм для кодогенерации - макросы. Иногда из реализуют на отдельном достаточно примитивном языке, основанном на простой подстановке текста (препроцессоры PL/I и C, m4), но даже в таком варианте удается делать интересные и полезные вещи. Д...

TiMax2 SoundHub - Иммерсивные аудиосистемы для саунд-дизайнеров и системных интеграторов Системы TiMax предлагают практичные и понятные объектно-ориентированные инструменты для создания иммерсивных аудио сред и панорам. Динамическое воспроизведение многоканального контента и эффектов в 3D-пространстве и полное погружение зрителя в ...

TiMax2 SoundHub - Иммерсивные аудиосистемы для саунд-дизайнеров и системных интеграторов Системы TiMax предлагают практичные и понятные объектно-ориентированные инструменты для создания иммерсивных аудио сред и панорам. Динамическое воспроизведение многоканального контента и эффектов в 3D-пространстве и полное погружение зрителя в ...

TiMax2 SoundHub - Иммерсивные аудиосистемы для саунд-дизайнеров и системных интеграторов Системы TiMax предлагают практичные и понятные объектно-ориентированные инструменты для создания иммерсивных аудио сред и панорам. Динамическое воспроизведение многоканального контента и эффектов в 3D-пространстве и полное погружение зрителя в ...

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

5 способов перевода английских идиом на русский, чтобы не было мучительно больно С идиомами в английском языке огромное количество конфузов. Их тысячи — и далеко не все из них можно хотя бы нормально объяснить на русском. Сегодня мы поговорим именно о переводе идиом. Расскажем о пяти тактиках, как их можно переводить, чтобы они нормально звучали. Чи...

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

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

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

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

Star Wars Mobile: Electronic Arts ищет разработчиков для неанонсированной игры по Звёздным войнам Пять дней назад Electronic Arts начала искать разработчиков на различные позиции. Они будут работать над неанонсированной мобильной игрой по вселенной Звёздных войн. Стоит ожидать, что это будет условно-бесплатный проект, так как одна из вакансий называется «Разработчик live...

Mouse — mice, или Что вообще там творится в английском множественном числе В английском языке полно исключений. И вот сегодня мы поговорим об исключениях во множественном числе. Потому что они создаются вообще как попало. Man-men, mouse-mice, goose-geese — они слишком сильно выбиваются из стандартного правила, где в конце нужно добавить -s или...

Инструкция: Как добавить новый язык в Mac OS? Операционная система macOS от Apple, конечно же, поддерживает множество языков мира. Причем в настройках можно «держать» несколько разных языков и быстро переключаться между ними при необходимости. В этой статье выясним, как добавить новый язык на вашем компьютере Mac. Как з...

ТЕСТ: Какой язык любви ваш? Люди по-разному воспринимают любовь и заботу. То, что для кого-то будет высшим проявлением чувств, другой даже не заметит. Поэтому для гармонии в отношениях важно, чтобы оба партнёра «разговаривали» на одном и том же языке. Писатель Гэри Чепмен выделил пять способов показать...

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

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

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

[Из песочницы] Оптимальный путь новичка в мире C++/Qt Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, кот...

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

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

ZOTAC получила заказ на 20 тысяч экземпляров GeForce RTX 3080 Trinity После размещения своей модели GeForce RTX 3080 Trinity на Amazon UK, компания ZOTAC получила заказ на 20 тысяч экземпляров на данную карту. На данный момент видеокарты нет в наличии. У компании просто нет такого количества, заказы либо отменены, либо пользователи которые ...

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

Разделение кода и текста: прототип Этот пост является продолжением предыдущей публикации Разделение кода и текста: мысли вслух. На этот раз мы пойдем чуть-чуть дальше и представим возможный API, а также сравним рабочий процесс до и после. В качестве примера использованы язык PHP и фреймворк Laravel, но это по...

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

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

Еще раз про try и Try По вопросу обработки ошибок уже множество статей написано и все равно возникают вопросы и споры. Я не стану рассматривать все способы и языки, но хотел бы остановится на исключениях в JVM и сравнить их с функциональным подходом (`Try`/`Either`) на примере Scala.Эта статья та...

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

Металингвистический совратитель Си. Опус I: Предварительные ласки >> Осторожно, модерн! 2 — 0.1. Спор на баксы и девчонок Предисловие Система макросов добавлена в язык программирования Си с целью абстрагирования часто повторяющихся синтаксических конструкций, и как следствие — снижения ментальной нагрузки при чтении и написании исхо...

[Перевод] Ускоряем код на Python с помощью Nim Python — один из самых популярных и доступных языков программирования, но далеко не самый быстрый. Многие создатели библиотек и фреймворков прибегали к использованию расширения на С, чтобы их код работал быстрее, чем код на нативном Python. Этот способ вполне рабочий, н...

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

Зачем программистам психотерапия и как устроен алгоритм подбора идеального терапевта Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке — создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом. Делимся с вами расшифровкой и записью интервью Читать дальше →

Переводчик Google стал одним из самых популярных приложений Google Play. Его скачали более миллиарда раз Очередное приложение из каталога Google Play достигло отметки в миллиард скачиваний. Это Переводчик Google – небольшая программа, поддерживающая 108 языков. При загруженных в память смартфона языковых пакетах она позволяет переводить с 59 языков и обратно без подк...

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

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

Линтер на все случаи жизни — GitHub Super Linter Команда DevOps инженеров из GitHub поделились своим универсальным решением для проверки качества кода. С ним можно настроить линтер для 17 языков всего в 11 строк: name: Lint Code Base on: push: branches-ignore: - 'master' jobs: linter: runs-on: ubuntu-lat...

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

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

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

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

Настоящая история (старо)славянского РА Автор: Виолетта ХайдароваВсе мы привыкли, что есть пары типа голос – глас, город – град, золото – злато, сторож – страж в которых слова обозначают одно и то же, отличаясь только стилем. Одно слово в таких парах всегда стилистически нейтраль...

[Перевод] Многоразовый шаблон логирования на Python для всех ваших приложений в Data Science Идеальный способ отлаживать и отслеживать приложения — хорошо определённые, информативные и удобно структурированные логи. Они являются необходимым компонентом любого — малого, среднего или крупного — проекта на любом языке программирования, не только на Python. Не используй...

Цена дня: Xiaomi Mi Band 5 за 1 937 рублей на AliExpress Русский язык уже поддерживается даже в версии браслета для китайской рынка.

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

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

Дефицит в IT: платите больше Недавно мы опросили рекрутеров агентства GetIT о том, какие зарплаты хотят разработчики. Они выкатили нам большой список ожиданий, в зависимости от языков и направлений. Например, верхняя цифра в вилке ожидаемых зарплат для C#-разработчиков — 280 000. И она не самая большая:...

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

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

[Перевод] Тридцать лет С++. Интервью с Бьерном Страуструпом Ранее мы делали материал про использование C и C++ в Data Science. А сегодня мы хотим поделиться с вами интервью с автором C++ Бьерном Страуструпом. Далее в посте вас ждет рассказ о профессиональном пути Бьерна, деталях создания собственного языка программирования и извлече...

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

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

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

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

На Ebay продают первый компьютер Apple за $1,5 млн На данный момент этот ПК является одним из нескольких рабочих экземпляров в мире.

[Перевод] Единый математический язык для физики и инженерного искусства в 21 веке Конец 18-го и 19-й век были временем колоссального прогресса в математике. Величайшие умы тысячелетия вводили все новые математические системы и языки, такие как алгебры Клиффорда и Грассмана. Хотя эти алгебры вызвали значительный интерес, в то время они воспринимались как п...

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

Языковой сервер Pylance вышел в релиз Мы рады объявить, что Pylance, наша быстрая и многофункциональная языковая поддержка Python в Visual Studio Code, официально вышла из предварительной версии и достигла своего первого стабильного выпуска.Ранее на этой неделе мы объявили, что, начиная с майского выпуска расшир...

NEST.JS. Работа с ошибками. Мысли и рецепты Одни умные люди говорят: "эксепшены - это зло, используйте монады!", другие кричат: "коды ошибок ещё никто не отменял!", а третьи включают механизм исключений в языки программирования.. Однако, у большинства статей, который попадались мне на глаза есть две относительные проб...

Добавляем GUI в EFI В стандартном EDK нет поддержки графического интерфейса. Есть только из коробки пиксельный/текстовый вывод и TUI для HII интерфейса. А хочется капельку красоты и человеческий GUI. Дак добавим же! Даже не ради чего-то конкретного, а просто JUST FOR FUN!Все элементарно: берем ...

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

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

«За что вы так меня не любите?» (с) Python Python уже на протяжении нескольких лет держится в топе языков программирования. А любая популярная вещь так или иначе обречена на шквал критики разной степени конструктивности. Читать далее

Генерация документации с использованием JSDoc JSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format. Читать далее

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

Айс, цвай, трю: история 3 дифтонгов Начало счёта по-немецки — eins, zwei, drei — знают даже те, кто никогда немецкий не учил. Запоминанию этих числительных способствует и то, что все три рифмуются. Тем больший сюрприз ждёт приехавших в Швейцарию, потому что в швейцарском немецком рифмы нет. Представление о про...

Делать или делать — как работают слова do и make в английском В английском языке много мелких нюансов, которые нужно знать. Есть слова, которые вроде как синонимы и означают одно и то же, но при этом их нужно использовать в строго определенных случаях. Сегодня расскажем о паре do-make. Эти слова изучают уже на первых занятиях по а...

Oracle представила Java 17 Корпорация Oracle представила Java 17, новейшую версию языка программирования и платформа для разработки в мире № 1. Java 17 отличается новым уровнем производительности, стабильности и сопровождается множеством обновлений ...

Появились сведения о производительности Steam Deck Многие с нетерпением ждут появления портативного компьютера Steam Deck от Valve на базе заказного процессора AMD. И некто из Китая, вероятно, близкий к производству, заполучил экземпляр этой машины, чтобы провести на ней различные игровые тесты.

[Перевод] Планирование редакции Rust 2021 Мы рады объявить третью редакцию языка Rust — Rust 2021, которая выйдет в октябре. Rust 2021 содержит несколько небольших изменений, которые, тем не менее, значительно улучшат удобство использования Rust. Что такое Редакция? Релиз Rust 1.0 установил "стабильность без за...

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

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

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

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

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

Шихе: диалог с миром на «языке чая» СИНЬЯН (Китай), 13 июня 2021 г. /PRNewswire/ — 9 июня дипломаты и репортеры из множества стран посетили церемонию открытия «самой красивой чайной деревни на Шелковом пути». Они прибыли в район Шихе (Синьян, провинция Хэнань), чтобы изучить секреты китайского ...

Илья Новокрещенов выступил в поддержку решения не делать иностранный язык обязательным предметом ЕГЭ Отказ от обязательного ЕГЭ по иностранному языку прокомментировал начуправления развития кадрового потенциала системы образования столичного Департамента образования и науки Илья Новокрещенов. Отмечается, что это решение Министерства просвещения нашло поддержку и в Государс...

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

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

Анбоксинг в современной Java Сейчас новые версии Java выходят раз в полгода. В них время от времени появляются новые возможности: var в Java 10, switch-выражения в Java 14, рекорды и паттерны в Java 16. Про это всё, конечно, написано множество статей, блог-постов, сделано множество докладов на конференц...

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

Атрибут cleanup Цитата из документации GCC [1]: Атрибут cleanup предназначен для запуска функции, когда переменная выходит из области видимости. Этот атрибут может быть применён только к auto-переменным, и не может быть использован с параметрами или с static-переменными. Функция должна прин...

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

Сверточная нейронная сеть и ее интеграция в iOS (часть 1) Средства реализации. Различные алгоритмы машинного обучения интегрированы в множество высокоуровневых языков программирования. Наиболее популярным и быстро развивающимся из них является Python. TensorFlow — открытая программная библиотека для машинного обучения, разработа...

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

Pure DI для .NET Пока языки программирования не поддерживает DI из коробки и заняты копированием синтаксического сахара друг у друга, предлагается следующее не идеальное решение: библиотека Pure.DI для .NET Читать далее

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

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

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

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

Apple ищет учителя русского языка для Siri Сотрудник будет работать в Барселоне.

Безопасная многопоточность в Rust Представьте ситуацию: вы решили добавить функционал в некоторую сущность (класс, структуру, ...). Для этого вам понадобилось хранить внутри сущности дополнительные данные. Вы добавляете приватные поля, меняете и читаете их внутри методов, интерфейс методов не изменяется, и в...

Учёные нашли путь к пониманию языка дельфинов Учёные из Франции и США поняли, что человеческие языки, использующие свист для общения, имеют нечто общее с языком дельфинов. Исследователи надеются, что это открытие в будущем позволит понять коммуникацию между животными.

10 из 100 самых красивых слов английского языка Профессор Толкин считал, что самым красивым словосочетанием английского языка является «Cellar door» — «Дверь в подвал». Когда мы готовили текст о «Властелине колец», то нашли следующую его цитату:Most English-speaking people … will admit that cellar door is "beautiful", esp...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

Очки Apple AR Glasses появятся в 2021 году Слухи об очках Apple AR Glasses начинают набирать обороты. Ранее сообщалось, что устройство будет выпущено в 2022 году. Затем появилась информация о том, что очки будут представлены в 2021 году и компания Apple выпустит около 10 миллионов экземпляров в первый год продаж. В...

«Двойной плюс»: биография создателя С++ Бьярне Страуструпа Можно не любить язык C++, можно даже не знать о его существовании, но вот не пользоваться софтом на нём — это, наверное, получится только в пещере. C++ есть в операционных системах и браузерах, автомобилях и банкоматах, сервисах вроде YouTube и программах вроде Photoshop. По...

Расширение языка программирования (C++/Planning C). Волшебные сканеры и компилирующие макросы Здравствуйте, уважаемые читатели.Обычно, когда речь заходит о создании какого-либо расширения для существующего языка программирования, в воображении неминуемо начинают рождаться разнообразные сложные решения, включающие поиск описания формальной грамматики исходного языка, ...

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

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

Мобильный 14-ядерный процессор Alder Lake появился в тесте Ashes Протестированный экземпляр является одним из ранних прототипов 12-поколения

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

Такой Huawei Mate 40 Pro существует в единственном экземпляре Huawei Mate 40 Pro итак не просто купить, а такой, как показано на картинках, и вовсе раритет. По данным китайского источника, это – невыпущенный инженерный образец. По характеристикам он, наверняка, отличается от серийных Mate 40 Pro, но есть и одно визуальное от...

[Перевод] Букварь по F# для любопытствующих C#-разработчиков Предисловие Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор вид...

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

Kotlin Native. Работаем с потоками с корутинами и без. Ч2 Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Продолжаем рассматривать способы многопоточный работы в Kotlin Native.В предыдущей части мы посмотрели некоторые нюансы работы с корутинами, как работать с Worker и AtomicReference. Еще од...

[Перевод] Используйте парсинг вместо контроля типов В 2019 году была написана потрясающая статья Parse, don’t validate. Я крайне рекомендую изучить её всем программистам (а также недавнее дополнение к ней Names are not type safety). Её основная идея заключается в том, что существует два способа проверки валидности входящих ...

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

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

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

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

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

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

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

Скоро все желающие смогут легко собрать свой собственный Apple I На данный момент Apple I является одним из самых редких и дорогих компьютеров Apple. Отдельные экземпляры первого яблочного компьютера продаются за 500 – 600 тысяч долларов. Однако компания SmartyKit предлагает всем желающим бюджетный способ завладеть собственной копией Appl...

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

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

Digital Material Passport. Ч.1 — Скрытые грани «цифровых двойников» Рано или поздно, непременно возникнет вопрос – а насколько можно доверять цифровым «двойникам» и насколько они на самом деле являются двойниками физическим образцам?  На 60%? на 80%? Вчера было на 80%, а сегодня другой поставщик и возможно уже только 60%?Достаточно ли В...

[Перевод] Жизнь до Unicode Unicode определенно усложнил обработку строк, а люди, которые используют языки исключительно с алфавитами ASCII, могут подумать, что это неоправданно. Однако я не говорю на языке ASCII и достаточно взрослый, чтобы помнить альтернативы, и альтернативы были намного хуже, чем с...

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

Пересаживаем NXP-шный пример для Teensy 4.1 на язык C++ В предыдущих статьях мы освоили внедрение примеров из NXP-шной среды разработки MCUXpresso в плату Teensy 4.1. Однако у тех примеров, с которыми мне довелось повозиться (а я работал с USB-примерами), есть один существенный (с моей точки зрения, разумеется) недостаток. Все он...

Превращаем EditText в SearchEditText Пробовали ли Вы когда-нибудь настроить внешний вид или поведение стандартного компонента SearchView? Полагаю, да. В этом случае, я думаю что вы согласитесь, что далеко не все его настройки являются достаточно гибкими, для того, чтобы удовлетворить всем бизнес-требованиям о...

Huawei разрабатывает собственный язык программирования — его представят в 2022 году Компания Huawei поделилась подробностями о собственном языке программирования, разработкой которого занимается в рамках проекта Harmony OS Cangjie.

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

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

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

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

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

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

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

Apache Kafka: основы технологии У Kafka есть множество способов применения, и у каждого способа есть свои особенности. В этой статье разберём, чем Kafka отличается от популярных систем обмена сообщениями; рассмотрим, как Kafka хранит данные и обеспечивает гарантию сохранности; поймём, как записываются и ч...

[Перевод] Как Rust-разработчики делают Веб безопаснее Язык программирования Rust упрощает разработку более безопасного программного обеспечения. Что ещё предстоит делать? Читать далее

[Перевод] Пол Грэм: «Краткость = сила» На 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...

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

40-летний Aston Martin Bulldog попробуют разогнать до 322 км/ч Classic Motor Cars Aston Martin Bulldog был построен в 1979 году. Он представлял собой концепт, который, согласно задумке компании, должен был в итоге стать самой быстрой серийной машиной своего времени: указывалось, что автомобиль смог бы разогнаться до 322 километров ...

Netflix на русском: как настроить язык и искать сериалы с озвучкой Советы для новых и старых пользователей сервиса.

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

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

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

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

Язык програмирования Ü — нелёгкий путь написания самодостаточного компилятора Уже несколько лет я веду разработку собственного языка программирования — Ü. Около двух лет назад я публиковал вводную статью о нём на Хабре. Компилятор этого языка написан на C++ и долгое время он таковым и оставался. Но после той публикации я пришёл к выводу, что язык Ü уж...

Stack Overflow составил рейтинг любимых языков программирования у разработчиков Названы самые любимые языки программирования у разработчиков

Ленивая реализация обхода дерева дочерних элементов класса QObject Введение В статье описана ленивая реализация обхода дерева на языке C++ с использованием сопрограмм и диапазонов на примере улучшения интерфейса работы с дочерними элементами класса QObject из фреймворка Qt. Подробно рассмотрено создание пользовательского представления для р...

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

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

Ролевая игра Solasta: Crown of the Magister, восторженно принятая публикой, обзавелась поддержкой русского языка …а также новым классом персонажа.

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

CRTP: Пример на паттерне «Мост» CRTP - сложный снаружи, простой внутри паттерн, позволяющий заменить механику абстрактных классов и переопределения поведения функций на другой способ предоставления интерфейса. Читать далее

[Перевод] Разбираем WTF задачки в JavaScript JavaScript язык особенный. Сколько его не изучай, всегда найдутся моменты, которые заставят даже матёрого профессионала начать чесать репу. В этой статье приводятся несколько задачек на JavaScript, связанных с необычным поведением языка. Кому-то они помогут узнать что-нибуд...

Null safety of Kotlin. Мысль про киллер фичу Познакомившись впервые с языком Котлин после продолжительной работы с Java меня воротило от одной мысли, что null-safety может быть полезен и вообще переменная без null - примитив, но я сам этого не осознавал. Читать далее

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

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

Буддизм с точки зрения программиста Здравствуйте, меня зовут Сергей, я работаю JavaScript-программистом, и я - буддист. Но совсем не такой, каким вы меня только что представили. Наверняка, при прочтении слова "буддист", в вашей голове всплывает либо образ улыбчивого азиата в оранжевом одеянии, либо образ безр...

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

Как читать мысли и зачем это программистам Приехали артисты в Японию, все написали в райдере, а про розетки забыли. А розетки там другие. Спрашивают «а есть переходники?» Японцы занервничали, забегали, начали боссам звонить. Прошло двадцать минут, возвращаются, говорят: «$2000 и мы снабдим все переходниками». Админис...

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

Большой разговор с новым Kotlin Project Lead Романом Елизаровым В ноябре стало известно, что работу над Kotlin возглавит Роман Елизаров (elizarov). Поскольку теперь за дизайн языка отвечает он, интересно лучше понять его видение. Поэтому на онлайн-конференции Joker мы задали Роману много вопросов. А теперь для Хабра сделали текстовую вер...

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

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

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

СМИ: объем стартовой партии Radeon RX 6700 XT для всего ЕС составляет несколько тысяч видеокарт Данными об объеме поставок новейшей среднеуровневой видеокарты Radeon RX 6700 XT поделился главный редактор веб-издания Igor’s Lab Игор Валлосек. По его словам, на весь Евросоюз на старте продаж выделено всего несколько тысяч экземпляров видеокарт. Анонсируя Radeon RX 6700 X...

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

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

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

Камера Pentax K-1 Mark II Silver Edition оценена в $2100 Компания Ricoh Imaging представила флагманскую зеркальную камеру Pentax K-1 Mark II Silver Edition, которая отличается серебристой расцветкой. Также производитель выпускает объективов серии D FA* в соответствующем цвете. Сама камера выйдет в количестве одной тысячи экземпляр...

Американский хип-хоп vs. Уильям Шекспир: у кого словарный запас больше? Еще 30 лет назад хип-хоп считался музыкой улиц, в которой не стоит искать какой-либо литературной или культурной ценности. В нем рассказывали о жизни неблагополучных слоев населения, поднимали социальные проблемы, выражали свое недовольство и злость на власти и мир в целом.Л...

Что было раньше: код или документация? OpenApi (OAS 3.0) и проблемы кодогенерации на Java Задача интеграции сервисов и различных систем является чуть ли не одной из основных проблем современного IT. На сегодняшний день самым популярным архитектурным стилем для проектирования распределенных систем является REST. Но, как известно, единого стандарта для RESTful ...

О конкурентном корутинизме (на примере реактивного программирования) 1. Введение Конкурентная борьба за умы, настроения и чаяния программистов является, как мне представляется, современным трендом развития программирования. Когда почти не предлагается ничего нового, хотя и под лозунгом борьбы за него. Распознать в толчее программных парадигм ...

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

[Перевод] Фантомные типы в Swift Не каждый язык со статической системой типов обладает такой строгой типобезопасностью, как Swift. Это стало возможным благодаря таким особенностям Swift, как фантомные типы (phantom types), расширения универсальных типов и перечисления со связанными типами. На этой неде...

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

Введение в архитектурный фреймворк для анализа данных Lena Привет, Хабр! Я расскажу об архитектурном фреймворке, который я разрабатываю. Архитектура определяет наиболее общее устройство программы и взаимодействие её компонентов. Lena как фреймворк реализует конкретную архитектуру для анализа данных (подробнее о ней ниже) и предостав...

[Перевод] Vulkan. Руководство разработчика. Проходы рендера (Render passes) Меня зовут Александра, я работаю в IT-компании CG Tribe в Ижевске и занимаюсь переводом Vulkan Tutorial на русский язык (ссылка на источник — vulkan-tutorial.com). Сегодня хочу поделиться переводом заключительных глав раздела, посвященного графическому конвейеру (Graphics p...

[Перевод] Vulkan. Руководство разработчика. Рендеринг и отображение на экране Добрый день. Я занимаюсь переводом уроков к Vulkan API с английского языка на русский (ссылка на оригинальный тьюториал — vulkan-tutorial.com). Сегодня я бы хотела поделиться с вами переводом заключительной главы в разделе Drawing — «Rendering and presentation». ...

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

Что если изменить систему единиц времени? Это жестко? Официальный сайт движения за изменение системы единиц времени.Здесь я подробно напишу на русском языке объяснение. Читать далее

Основы функционального программирования на Python Этот пост служит для того, чтобы освежить в памяти, а некоторых познакомить с базовыми возможностями функционального программирования на языке Python. Материал поста разбит на четыре части: Читать далее

[Перевод] Double or Nothing Фотография Esteban Lopez с Unsplash.comЕсли вы выбрали C++ в качестве языка программирования, то учить его придётся всю жизнь. Смиритесь. Или выбирайте другой язык.Чего только стоят новые стандарты, появляющиеся каждые 3 года. И каждый раз с какими-то полезными нововведениям...

[Перевод] Часто задаваемые вопросы о ClickHouse Kafka Engine Kafka — это популярный способ потоковой загрузки данных в ClickHouse. ClickHouse имеет встроенный коннектор для этой цели — движок Kafka. Наши друзья из Cloudfare первоначально создали этот движок для ClickHouse. С тех пор движок Kafka был значительно переработан и теперь по...

[Из песочницы] Языки, которые почти стали CSS Привет, Хабр! Предлагаю вашему вниманию перевод статьи The Languages Which Almost Became CSS автора Zack Bloom про языки, которые могли бы стать CSS, сложись история немного иначе. На протяжении всего прошлого года неисчерпаемым источником удовольствия для меня было то, чт...

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

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

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

Похоже, Windows 11 сможет запускать Android-приложения в нескольких экземплярах Поддержка Android-приложений не вошла в состав финальной версии Windows 11, но Microsoft пообещала, что тестирование этой функции начнётся в ближайшие месяцы. При этом сотрудники Microsoft, конечно же, уже давно тестируют подсистему Windows Subsystem for Android, так что не...

Опыт хранения IP-адресов в PostgreSQL Не раз наша команда сталкивались с задачей, связанной с хранением и использованием IP-адресов в базе данных. Предположим, что есть типичная задача: необходимо парсить огромное количество диапазонов адресов (~300k) с известного ресурса, а далее определять страну по IP-ад...

Опубликованы "живые" фотографии прозрачного компьютера Apple Macintosh Classic В сети появились фотографии прозрачного компьютера Apple Macintosh Classic. Данный экземпляр является крайне редким, так как итоговый вариант устройства получил уже привычный непрозрачный корпус.

Об украинских и русских гласных Одно из самых заметных отличий украинского языка от русского — гласный [і] на месте дореволюционного ятя и в тех словах, где в русском [о]: двір, дім, сіль, радість и т. п. Это отличие настолько характерно, что стереотипным «плохим украинским» в юморесках стал...

Перенос всех баз данных MS SQL Server на другую машину Недавно возникла необходимость переноса всех БД (>50 на одном экземпляре SQL Server) из dev-окружения на другой экземпляр SQL Server, который располагался на другом железе. Хотелось минимизировать ручной труд и сделать всё как можно быстрее. Disclaimer Скрипты написаны д...

Обзор нововведений в C# 10 В данной статье мы рассмотрим новую версию языка C# 10, которая включает в себя небольшой список изменений относительно C# 9. Ниже приведены их описания вместе с поясняющими фрагментами кода. Давайте их рассмотрим. Читать далее

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

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

Google профинансирует добавление поддержки языка Rust в ядро Linux На этой неделе компания Google объявила о намерении профинансировать проект по повышению безопасности Linux путём написания отдельных частей ядра операционной системы на языке программирования Rust. Такое изменение означало бы серьёзный технологический и культурный сдвиг для...

Aston Martin посвятил новый суперкар истребителю F-18 Эксклюзивная модель получила кузов «баркетта», который подразумевает полное отсутствие крыши и лобового стекла. В основу Aston Martin V12 Speedster легли элементы серийных спорткаров Aston Martin DBS Superleggera, Aston Martin DB11 и Aston Martin Vantage. Aston Martin У...

[Перевод] Перевод OWASP API Security Top 10 Эта статья - перевод OWASP API Security Top 10, опубликованного в 2019 году. Проект состоит из десяти наиболее актуальных рисков безопасности API. Полная версия документа на русском языке опубликована здесь. Читать далее

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

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

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

30 лет ИТ: глазами «олдскулов» и «джунов» Представьте себе ситуацию: в одной проектной команде работают программисты, одному из которых – за 50, а другому – едва за 20. Вопрос не в том, смогут ли они разговаривать на одном языке и создавать работающий продукт (если оба шарят в профессии – смогут), а в том, чем разли...

7 фразовых глаголов с take и 30 их значений. На первый взгляд все просто, но на второй — нет В одном из прошлых материалов мы рассказали вам о фразовых глаголах, в которых есть слово get. Статья была принята очень хорошо, поэтому мы решили сделать еще одну. На этот раз с глаголом take.Мы насчитали минимум 65 фразовых глаголов и их значений с take — и не исключено, ч...

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

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

На страницах игр в магазине Xbox теперь отображается список поддерживаемых языков В блоге Xbox Wire Microsoft объявила, что отныне в цифровом магазине Xbox будет отображаться информация о том, на какие языки переведён интерфейс, озвучка и субтитры в той или иной игре. Причём язык, используемый на вашей игровой консоли, будет отображаться первым в списке....

Дженерики в языке 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) и будет имплементирован ...

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

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

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

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

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

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

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

К вам ползет Snake: разбираем новый кейлоггер В конце прошлого года в руки аналитикам CERT-GIB попал любопытный образец ВПО — Snake Keylogger. Хотя справедливости ради заметим, что изучаемый объект являлся скорее стилером, так как KeyLogger — лишь часть его функционала, отвечающего за логгирование нажатий клавиш на кла...

Новая утечка истории браузера через favicon Недавно наткнулся на это исследование pdf (по его мотивам уже была статья на хабре), после прочтения, решил поискать более интересные способы использования F-Cache. Объективно, схему с редиректами никто в здравом уме не будет ставить на свой сайт. Это утечка, но утечка предс...

[Перевод] Marshmallow vs. Pydantic: две лучшие библиотеки для сериализации и валидации данных на Python Сериализация и десериализация данных — это преобразование между необработанной структурой данных и экземплярами классов для их хранения и передачи. Например, преобразование объектов Python в JSON-представление. Мы рассмотрим две популярные Python-библиотеки Marshmallow и Pyd...

Алгоритм поиска товаров для продажи на маркетплейсах Одним из способов поиска подходящего товара для продажи является сравнение маркетплейсов. Какой товар, к примеру, хорошо продаётся на Ozon, но отсутствует на WildBerries или наоборот, тот и нужно брать в продажу.Мы же (в качестве примера) хотим выйти с товаром на оба этих ма...

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

Innodisk представляет модули памяти DDR5 DRAM промышленного класса ТАЙБЭЙ, 1 июля 2021 г. /PRNewswire/ — Компания Innodisk официально объявила о выпуске модулей памяти DDR5 DRAM промышленного класса. Производительность и энергоэффективность нового стандарта значительно выросли по сравнению с его предшественником. Новинку ждали с нетер...

Innodisk представляет модули памяти DDR5 DRAM промышленного класса ТАЙБЭЙ, 1 июля 2021 г. /PRNewswire/ — Компания Innodisk официально объявила о выпуске модулей памяти DDR5 DRAM промышленного класса. Производительность и энергоэффективность нового стандарта значительно выросли по сравнению с его предшественником. Новинку ждали с нетер...

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

Борьба с холодным стартом serverless-функций: «подогрев» среды и оптимизация запуска контейнеров Основная претензия при работе с serverless — время холодного старта, которым нельзя управлять «из коробки». Если функция стартует впервые за последние 5–25 минут, скорее всего запуск будет долгим — сотни миллисекунд. Причём статически типизированные языки имеют в разы больше...

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