Показать сообщение отдельно
Старый 18.09.2012, 22:01   #9
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Вся правда о Monkey

Сообщение от Diablo1909 Посмотреть сообщение
1) Я уже упоминал об отсутствии оператора With - он нужен. Без него сегодня никуда.
Честно, не сталкивался с этим. Но думаю, что это невозможно реализовать на всех платформах.

Сообщение от Diablo1909 Посмотреть сообщение
2) Невозможность создания указателей на типы пользователя. Приходится делать указатели на массивы с простыми типами данных или же оборачивать - в результате код становится невыразительным.
Не совсем понял. Чем вас не устроили ссылки? Или вам нужны указатели на примитивы? Тогда есть упаковка/распаковка. В любом случае кроссплатформенно реализовать указатели невозможно.

Сообщение от Diablo1909 Посмотреть сообщение
3) Нет команды SinCos() - очень часто бывает, что надо и синус и косинус угла, а одной командой это сделать явно быстрее чем двумя.
Да, нет такой функции. Не везде нативно поддерживаются. Т.е. опять таки невозможно кроссплатформенно реализовать.

Сообщение от Diablo1909 Посмотреть сообщение
4) Нет указателей на методы класса.
И снова невозможно кроссплатформенно реализовать. Есть отражение, есть интерфейсы. Проблему решить можно.

Сообщение от Diablo1909 Посмотреть сообщение
5) Нет директивы inline - нужна она! И не только для ускорения работы кода.
Нет. Но есть зарезервированное слово, возможно будет.

Сообщение от Diablo1909 Посмотреть сообщение
6) Нет автоматических конструкторов копирования объектов.
Нет. Не критично.

Сообщение от Diablo1909 Посмотреть сообщение
10) Нет математических функций для округления чисел с плавающей запятой до нужного количества знаков после запятой.
Один раз сам написал и забыл. Не критично.

Сообщение от Diablo1909 Посмотреть сообщение
11) Нет команд для временной передачи лишнего времени системе.
Не возможно реализовать кроссплатформенно. Как вы из JS например управление системе передадите?

Сообщение от Diablo1909 Посмотреть сообщение
12) не совсем уверен, но похоже язык совсем не дружит с указателями ?
Все тоже самое. Невозможно это сделать кроссплатформенно.

С пропущенными пунктами, я или полностью или частично согласен.

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