IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> А есть ли такой язык...
FBX
сообщение 16 Dec 2012, 12:40
Сообщение #1

🐓🐓🐓🐓🐓🐓🐓
Сообщений: 1 845
Спасибо сказали: 1570 раз




1) Интерпретируемый язык. В компилируемом желаемое вряд ли реализовать.
2) Персистентность. Это значит, что закрытие программы лишь приостанавливают ее работу и она начинается с того же момента при повторном запуске.
3) Легкость отката, управления версиями. Как самой конфигурации программы, так и файлов-продуктов её работы. Под конфигурацией понимается максимальнейшим образом полное ее текущее состояние, о котором говорится в пункте 2.
4) Атомизация всех процессов (не уверен насчёт термина). Если какое-то действие возвращает ошибку, вся конфигурация автоматически откатывается до момента исполнения этого действия.
К примеру, есть кнопка "ABCDEF", она запускает 10 последовательных инструкций. 5 инструкций выполняется нормально, 6-я возвращает исключение. Состояние возвращено на момент окончания 5-й инструкции, независимо от того, насколько сложный и объемный код должна была выполнить или успела выполнить 6-я инструкция. Пользователю предлагаются варианты: на месте исправить код 6-й инструкции и немедленно возобновить работу (например, виной ошибки какая-нибудь мелкая опечатка), либо передать исключение на уровень выше. Если пользователь выбирает второе, конфигурация откатывается на момент ДО нажатия кнопки "запуск". Глубина погружения, разумеется, не должна быть ограничена двумя уровнями. Т.е. если 6-я инструкция запускает код из 100 инструкций, в котором 47-я инструкция ошибочна, можно будет либо исправить 47-ю, либо передать исключение на уровень выше и исправить вышеописанную 6-ю.
То бишь на самом поверхностном уровне, нажатие кнопки — всегда атомарное действие, которое либо выполнено полностью, либо не выполнено с ошибкой, и это никак не отразилось ни на чём.
5) Простота дробления конфигурации, копирования внутренних объектов, сохранение их прототипов.
6) Гибкость непосредственно языка.


--------------------
using namespace fbx;
Go to the top of the pageAdd Nick
 
+Quote Post
AVS
сообщение 16 Dec 2012, 15:09
Сообщение #2

VCMI developer
Сообщений: 97
Спасибо сказали: 78 раз




Нет.

2) и 3) реализуемо только на уровне ОС. Существуют проекты в этом направлении, но они еще далеки от завершения.
4) такого не встречал
5) не понятно что вы имели ввиду.





Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Леголегс
сообщение 16 Dec 2012, 15:37
Сообщение #3

Advanced Member
Сообщений: 142
Спасибо сказали: 71 раз




Лисп же. Правда, их много разных.
1) да
2) штатная фича. Можно образ работающей программы сохранить и развернуть потом.
3) это тебе придётся делать самому. Впрочем, программирование в функциональном стиле (когда функции имеют вход, выход и не имеют состояния и побочных эффектов) сделает это проще.
4) там есть всякие страшные слова типа REPL (некая смесь дебаггера и командной строки) и continuations (способ восстановления после ошибки).
5) в лиспе принято свободно оперировать как кодом, так и данными.
6) классный язык, с 70х годов активно используется.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
FBX
сообщение 16 Dec 2012, 16:12
Сообщение #4

🐓🐓🐓🐓🐓🐓🐓
Сообщений: 1 845
Спасибо сказали: 1570 раз




Вообще говоря, нужно сохранять состояние не всей программы, а только внутренней части, самой скриптовой машины. Если посмотреть на какой-нибудь Excel, документ можно сохранить и загрузить в любой момент, можно отменять последние действия. Хотя возможность отмены теряется при перезапуске.

Лисп сложен, но при этом механизм отката и персистентности придется неизвестно как делать самому. В плане гибкости поглядываю в сторону луа.

Что бы штатной фичей было — это где такое?


--------------------
using namespace fbx;
Go to the top of the pageAdd Nick
 
+Quote Post
Леголегс
сообщение 16 Dec 2012, 16:22
Сообщение #5

Advanced Member
Сообщений: 142
Спасибо сказали: 71 раз




Цитата(FBX @ 16 Dec 2012, 17:12) *
Лисп сложен, но при этом механизм отката и персистентности придется неизвестно как делать самому.

Персистентность самой программы в лиспе встроена. Самому придётся мудрить персистентность внешних файлов.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 17 Dec 2012, 11:43
Сообщение #6

😸🧡✊✌️
Сообщений: 16 503
Спасибо сказали: 3433 раза




Цитата(FBX @ 16 Dec 2012, 12:40) *
Атомизация всех процессов.
Транзакции.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Shurup
сообщение 19 Dec 2012, 21:32
Сообщение #7

Щирий українець
Сообщений: 1 456
Спасибо сказали: 3028 раз




Я джва года ждал такой(с) язык.

Мне очень интересна задача под такой язык.
Просто большинство из пунктов мягко говоря специфические с т.з. обычного программирования. И на практике большинство вышеописанных фич доступны в любом языке, но их нужно реализовать.

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

А вот желаемый откат файлов-продуктов на уровне языка программирования вообще ставит меня в тупик.
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 19 Dec 2012, 21:41 (Сообщение отредактировал tolich - 19 Dec 2012, 21:43)
Сообщение #8

😸🧡✊✌️
Сообщений: 16 503
Спасибо сказали: 3433 раза




Цитата(Shurup @ 19 Dec 2012, 21:32) *
А вот желаемый откат файлов-продуктов на уровне языка программирования вообще ставит меня в тупик.
А меня нет. А, в таком виде, конечно.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
Etoprostoya
сообщение 19 Dec 2012, 22:53
Сообщение #9

Etoslozhnostatus
Сообщений: 8 695
Спасибо сказали: 16250 раз




Вот и я первым делом представил откат форматирования диска. То есть, как раз не смог представить.


--------------------
- Да ну!?
- Horn of the Argali гну!
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 19 Dec 2012, 22:56
Сообщение #10

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20605 раз




Каждой программе - по виртмашине-песочнице, чо.
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 19 Dec 2012, 23:19
Сообщение #11

😸🧡✊✌️
Сообщений: 16 503
Спасибо сказали: 3433 раза




Цитата(etoprostoya @ 19 Dec 2012, 22:53) *
откат форматирования диска.
unformat же


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 6 January 2026 - 04:57
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика