В чём уникальность языка программирования LISP
В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?
Статья
В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?
Статья
Релиз Go 1.18
Одним из основных новшеств является добавление поддержки дженериков. Кроме того, релиз включает в себя полную интеграцию стандартного набора инструментов фаззинга. Команда опубликовала официальное руководство.
Также в новой версии появилась поддержка рабочих пространств, которая поможет упростить работу с несколькими подключаемыми модулями. Теперь в файле go.work можно указывать саму рабочую область и отдельные модули, синтаксис схож с файлами go.mod.
Стоит отметить и увеличение производительности на архитектурах Apple M1, ARM64 и PowerPC64. Теперь Go работает на 20% быстрее.
Одним из основных новшеств является добавление поддержки дженериков. Кроме того, релиз включает в себя полную интеграцию стандартного набора инструментов фаззинга. Команда опубликовала официальное руководство.
Также в новой версии появилась поддержка рабочих пространств, которая поможет упростить работу с несколькими подключаемыми модулями. Теперь в файле go.work можно указывать саму рабочую область и отдельные модули, синтаксис схож с файлами go.mod.
Стоит отметить и увеличение производительности на архитектурах Apple M1, ARM64 и PowerPC64. Теперь Go работает на 20% быстрее.
Delinking и Lisp
Экономический термин delinking впервые (насколько я смог отследить) использовал Самир Амин в работе 1984-го года Delinking: Towards a Polycentric World для обозначения процесса выхода из системы глобального разделения труда. По многочисленными (для нашего немногочисленного Lisp сообщества) просьбам сообщников делюсь своим частным рассуждением о потенциале Lisp-систем в условиях delinking-а с более широкой аудиторией. Это мнение из категории «просто подумалось на досуге», оно не является абсолютно объективной истиной, но, вероятно, может представлять некоторый интерес.
Статья
Экономический термин delinking впервые (насколько я смог отследить) использовал Самир Амин в работе 1984-го года Delinking: Towards a Polycentric World для обозначения процесса выхода из системы глобального разделения труда. По многочисленными (для нашего немногочисленного Lisp сообщества) просьбам сообщников делюсь своим частным рассуждением о потенциале Lisp-систем в условиях delinking-а с более широкой аудиторией. Это мнение из категории «просто подумалось на досуге», оно не является абсолютно объективной истиной, но, вероятно, может представлять некоторый интерес.
Статья
Обобщенное программирование – обзор реализаций
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
Статья
В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмотрим историю реализаций обобщенного программирования, чтобы вы могли распробовать его как инженер. Наилучшего подхода не существует, любой подход – это всегда компромисс, при котором одними преимуществами жертвуют ради других. Мы рассмотрим три популярных языка, обогативших нашу индустрию новыми подходами: C++, Java, C#(.Net).
Статья
Как применять Branch by Abstraction в проекте на примере Android-разработки
Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request и ... 12 конфликтов.
Статья
Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request и ... 12 конфликтов.
Статья
Математические аспекты хорошего кода
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
Статья
Программисты постоянно стараются сделать код лучше, используя для этого различные практики. Однако само понятие хорошего кода крайне расплывчато, о чём свидетельствует одно только количество книг, посвящённых этой теме, а также их объём. Например, книга "Чистый код'' Р. Мартина содержит почти 500 страниц. Неужели нет возможности выразить хотя бы основные критерии хорошего кода короче?
Статья
Игры для MS-DOS с открытым исходным кодом
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
Статья
Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в этом челлендж? В статье будем компилировать двоичные файлы для DOS!
Статья
Sliver во Flutter, или как работает скролл
Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.
Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся.
Статья
Если вы уже встречались со сливерами, то наверняка оценили всю «прелесть» работы с ними. На самом деле они совсем не так трудны и ужасны.
Чтобы просто начать их использовать, как чаще всего бывает во Flutter, разбираться особо не нужно. А вот чтобы полноценно использовать их и при этом не страдать, придётся понять, как они работают. Именно этим мы и займемся.
Статья
Почему некоторые принципы программирования важны для понимания, но бесполезны на практике
Многие разработчики считают принципы программирования обязательными и используют их по дефолту во всех проектах. На самом деле большинство из них нереализуемы на практике — докажем это на нескольких примерах.
Статья
Многие разработчики считают принципы программирования обязательными и используют их по дефолту во всех проектах. На самом деле большинство из них нереализуемы на практике — докажем это на нескольких примерах.
Статья