Страницы

Oberon-строки с длиной без подсчёта

Как известно, в языке Oberon строку можно поместить в массив литер, добавив завершающий 0X. Это приводит к потребности подсчёта длины, когда она необходима, что может приводить к избыточным накладным расходам. Но в отличии от языка C в Oberon из-за требования безопасности памяти также всегда доступен размер массива. Это даёт возможность хранения сведений о конце строки так, чтобы её длину не приходилось подсчитывать.

Нужны не QR-коды

Техника давно способна распознавать человекочитаемый текст, поэтому массовое предоставление информации в виде QR-кодов, чтобы их была способна прочитать техника — это часто лишь традиция, которую давно пора отменить. Речь не об узкоспециальных применениях, а про массовое, в котором пользователи считывают код с помощью фотокамер своих навороченных смартфонов. Эта традиция должна быть заменена на «человек в первую очередь», раз уж технически этому ничто не мешает.

Нужно лишь

  1. Ограничить количество доступных литер и стандартизировать их начертание
  2. Cоздать простой графический якорь, чтобы для обнаружения необходимого к считыванию кода не приходилось задействовать сложных и ресурсоёмких алгоритмов
  3. Добавить код исправления ошибок, возможно, совместив его с якорем.

Миф о мифе о большом количестве скобочек в Lisp

Когда мне в очередной раз рассказывают про то, что в Lisp слишком много круглых скобочек — это миф, то я представляю себе приблизительно это:

В OS Android больше нет смысла

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

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

Детектор языков C и C++

C++, в целом, старается быть надмножеством языка C, но всё же им не является. Вот пример проявляемых различий:

Исполняемый Jar-файл с shebang

Это стандартная особенность zip формата, позволяющего произвольные данные перед началом архива.

{ printf '#!/bin/sh\nexec java -jar "$0" "$@"\n'; cat app.jar; } > app
chmod +x app

Разумеется, Jar должен содержать класс с public static void main(String[] args) и соответствующий manifest. Без manifest можно обойтись, если заменить команду java -jar "$0" "$@" на java -cp "$0" my.prog.Main "$@"

Проблема не в C, а в разработчиках?

Язык C имеет славу крайне небезопасного языка. Так ли это на самом деле?

«Солярис» Лема — это провал

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