![]() |
Страницы (3): « 1 [2] 3 » Показать все 44 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- спор (https://hlfx.ru/forum/showthread.php?threadid=4164)
nemyax
Много чем. Компактность, простота, нормальный синтаксис (правда, первое, что я делал - заменил комментарии на С-стайл, так что моя лува не совсем канонiчная), отсутствие маразма с отступами, легкая встраиваемость в любую систему, отсутствие процедуры инсталляции. Лува это именно скриптовый язык для частных целей, а петон - разросшийся монстр, активно лоббируемый "уч0ными", которым проще отгавкаться фразой "ну напиши скрипт", чем оторвать задницу, разморозить мозги и таки сделать свой софт юзабельным.
Но разве я сказал, что петон надо вытеснять лувой? Все эти конструкторы а ля "сделай сам" надо вытеснять продуманными архитектурами на плюсах. А в качестве довеска "для любознательных" (т.е. кому функционала не хватило) лува подходит куда лучше.
__________________
XaeroX
а можешь вот такой же дем про фортран сделать, интересно, что именно в нём не нравится как в узкоспециализированном яп.
ну а на python уже давно у меня выбор пал, из за того что на нём вот эта штука есть -- её и графики рисую и из результатов счёта мультфильмы делаю. она и с LaTeXом прексрано связывается.потому и думал, может и управление на него повесить, хотя я сегодня, внезапно обнаружил, что некоторые параметры можно менять не плавно, а скачком и разряд прекрасно к этому адаптируется, никаких нефизичных разбалтываний не возникает, так что может слишком большие заморочки на тему управления мне и не понадобятся.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
>С одной стороны - не язык ассемблера, но с другой - и не язык высокого уровня. Что-то среднее.
ээ, а можно пример. у меня совершенно противоположное впечатление сложилось. ну когда в том же фортране что бы получить, например, целочисленный логарифм по основанию 2 я просто вызываю функцию exponent, а в ц для этого надо вручную выковыривать нужные байты floatного представления (в 11м стандарте вроде уже добавили такую функцию).
ну или то что нельзя красиво бреакнуть цикл на несколько уровней вверх -- думал я не нашёл чего то, но спросил у xawari, так оказывается действительно нельзя.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
>некрасивую конструкцию
поясни что с ними не так, мне этот момент не понятен. ну, например, 4 уровня -- это плохо?
>С задачами тех лет он справлялся. Сейчас его пытаются довести до уровня си и даже си++, но я не понимаю, кому это надо
так задачи для моделистов с тёх лет качественно, разьве изменились? параллельность добавилась и всё.
__________________
http://www.moddb.com/mods/monorail-quest
thambs
Считается, что высокий уровень вложения циклов - это признак плохого стиля программирования. Как правило, это можно решить созданием отдельных функций. Тогда и проблем с брейками не будет.
Пример:
1 | Vector a[100]; |
2 | Vector b[100]; |
3 | for ( int i = 0; i < 100; ++i ) |
4 | for ( int j = 0; j < 3; ++j ) |
5 | b[ i ][ j ] += a[ i ][ j ]; |
Vector a[100]; |
Vector b[100]; |
for ( int i = 0; i < 100; ++i ) |
b[ i ] += a[ i ]; |
__________________
XaeroX
мм, а для чего вектора оборачивают в отдельный класс, а не используют обычный массив. типа защита от дурака, чтоб кто ни будь не додумался сложить его со скаляром? вот, кстати даже интересно стало, а есть библиотеки классов, реализующие размерности величин, так чтоб аж компилятор матерился, когда сантиметры с граммами сложить пытаешься?
__________________
http://www.moddb.com/mods/monorail-quest
float d = 1.0f; |
float w = 2.0f; |
printf( "%f", d + w ); |
1 | class distance_t { |
2 | public: |
3 | distance_t( float value ) : data( value ) {} |
4 | distance_t operator +( distance_t &other ) { return data + other.data; } |
5 | private: |
6 | float data; |
7 | }; |
8 | class weight_t { |
9 | public: |
10 | weight_t( float value ) : data( value ) {} |
11 | weight_t operator +( weight_t &other ) { return data + other.data; } |
12 | private: |
13 | float data; |
14 | }; |
15 |
16 | distance_t d = 1.0f; |
17 | weight_t w = 2.0f; |
18 | printf( "%f", d + w ); |
__________________
nemyax
С хорошим компилятором - одинаково.
__________________
XaeroX
эт, ясно, а так что бы размерности умножались друг на друга и возводились в степень? это, вроде, тогда надо в каждый класс вводить член хранящий степень длины, массы и времени. что то заморочено получается. ну или, по крайней мере, для всех производных величин. или там можно всё выкинуть сразу на этапе компиляции?
__________________
http://www.moddb.com/mods/monorail-quest
thambs
Проще определить новый класс, скажем, area_t или squareDistance_t.
И возвращать его как результат умножения двух distance_t (релизовав так же через оператор).
Да, получается весьма геморно, ну так это потому, что компьютеру ещё со времен фон Неймана глубоко плевать, расстояние у тебя во флоате хранится или площадь.
__________________
XaeroX
ну не то что геморно а в общем виде нереализуемо. хотя, в виде некоторого препроцессинга, ещё до передачи компилятору, такую проверку, вроде можно сделать. может уже и есть где ни будь.
__________________
http://www.moddb.com/mods/monorail-quest
Временная зона GMT. Текущее время 05:34. | Страницы (3): « 1 [2] 3 » Показать все 44 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024