• Embox начинает восхождение на Эльбрус

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

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

      Приступим.
      Читать дальше →
    • Постепенное программирование

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

      Выбираем правильную задачу


      Какие серьёзные проблемы есть у языков программирования, которые мы используем в своей работе в 2018 году? Которые из них после решения смогут оказать наибольший эффект на следующее поколение программистов?
      Если вас заинтересовал данный вопрос, рекомендуем к прочтению пост Грейдона Хоара (создателя Rust) «Что дальше?», а также пост Стивена Диля «Ближайшее будущее языков программирования».
      Для меня в этом вопросе спрятана самая привлекательная черта исследований языков программирования — дело в том, что инструменты и теории, которые мы разрабатываем, влияют не только на одну конкретную область, но и потенциально на всех, кто занимается программированием. Отсюда же проистекает и следующий вопрос: откуда, скажите на милость, нам знать о нуждах каждого программиста, живущего на Земле? Легко работать над языком X, основанном на новой теории типов, или над языком Y, в котором есть новая «фича», интересная лично мне — но как насчёт всех остальных программистов?
      Читать дальше →
    • EWD: Процессы Подстановки

      Эдсгер Дейкстра
      Привет, Хабр! Представляю вашему вниманию перевод статьи Substitution Processes (1962 год) авторства Эдсгера Дейкстры. Разделение на параграфы не оригинальное.


      Введение


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

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