?

Log in

No account? Create an account

Предыдущий пост поделиться Следующий пост
Реализация (NM – 1)-нашек
lex_kravetski
Для интересующихся выкладываю реализацию (NM – 1)-нашек на языке Wolfram. Сама постановка задачи описана вот тут.

До строки, начинающейся с «pos» — инициализация. Со строки «click» — интерфейс. Между ними «движок». Проверка выигрыша вписана в «интерфейсную часть» — в конец длинного «win».

Да, вся логика возможных перемещений и их реализация содержится в шести выражениях.

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



(NM-1)-нашки.png


  • 1
> Это никак не относится к самому языку.
Так можно было бы говорить при наличии сторонних реализаций.

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

> Написали ли их к данному моменту? Нет, не написали.

И это большая проблема.

> С ними должно работать всё, что работает с текстовыми файлами.
К сожалению, при сохрании блокнота в файл Вольфрам генерирует и записывает массу лишней мета-информации вроде дерева ячеек (внутри дркумента на самом деле что-то типа DOM), кэшированных картинок и прочих сложно структурированных данных, из-за чего даже одна добавленная в исходный может сгенерировать пару килобайт добавочного мусора.

> Обратное обычно ещё хуже: совместимость с версией 1933-го года уверенно превращает язык в ходячего мертвеца.

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

> В таких условиях даже Бейсик бы у Скалы выиграл.

Разумеется. Поэтому я выберу бейсик для работы с excel документами, а не скалу.


Потому что язык - это прежде всего инструмент.

  • 1