Рубрика «tcl» - 3

Наш проект мы пишем с индусами.

Общую архитектуру я задал как архитектор проекта — Java, Spring и т.д.
Но в тех областях, в которых им надо было писать они сами решали что и как будет.
А привыкли они всё делать на C/C++.

В итоге родился такой монстр:

У нашей программы есть command line клиент.
Он работает с командами и скриптами на Tcl (потому что так привыкли клиенты).
Используется native Tcl Interpreter (а не JTcl) (потому что так решили наши индусы).
Команды реализованы на Java, но часть команд обращается к коду на C++ (legacy code)
Однако же система сообщений об ошибках и предупреждениях реализована на Java.
Индусы писали используя JNI, а я связь Java с С делал на JNA

Как выглядит работа команды набранной в коммандной строке?

Читать полностью »

Есть такой редкий малоизвестный язык программирования tcl. В википедии он расписан хорошо, но при написании программы возникнут вопросы.
Цзяньшицзы — это такая китайская(судя по названию) игра, переводится как «выбирание камней», интересна сама по себе: есть две кучки камней с любым количеством камней, играют двое. Каждый игрок может взять любое число камней из любой кучи, а также равное количество сразу из обоих. Побеждает тот, кто возьмет последний камень. Более подробное описание тут. Игра на сохранение баланса: с одной стороны, нужно чтобы числа в кучах различались, с другой, чтобы различие было не слишком большим. Начнем с того, что игра имеет выигрышную стратегию, происхождение которой мы рассматривать не будем. Возьмем лишь краткое описание. Существуют сочетания размеров куч, при которых игрок, который будет делать следующий ход, проигрывает.
Цзяньшицзы и tcl

Цзяньшицзы и tcl

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

Ранее на хабре были Реверси на TCL в 64 строки и Пятнашки на TCL в 10 строк, в которых был компактный и красивый код, здесь вы такого не увидите. Также он, возможно, далек от правил хорошего тона. Вобщем, если вам что-то покажется говнокодом, скорее всего так оно и есть. С другой стороны, это даже хорошо, потому что будет что улучшать в дальнейшем. Отчасти из-за того, что язык для меня новый, отчасти чтобы было удобнее делать пояснения. Также отсутствуют необязательные проверки.
Далее будут идти куски программы. Она далеко не оптимальна, но показывает особенности языка и работает.
Читать полностью »

Добрый день уважаемому хабрасообществу! Немного здесь информации об очень приятном и лёгком в использовании языке программирования TCL, а особенно, полезной для тех, кто только начинает с ним знакомство. Попробую внести посильный вклад в исправление столь досадного недоразумения.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js