Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Другие языки > [Gentee] Знакомтесь, язык Gentee |
Автор: cleg 27.9.2006, 19:28 |
Gentee является процедурным языком высокого уровня. Синтаксис его отчасти схож с синтаксисом С/С++, но облегчен для достижения большей простоты. Gentee работает аналогично Java и C#: компиляторы транслируют программу в промежуточный бинарный код, который потом выполняется виртуальной машиной. Сами же компилятор и виртуальная машина выполнены в виде небольшой библиотеки dll, которую можно использовать в своих приложениях. В комплекте поставки программы имеется пример использования Gentee как скриптового языка в проектах Delphi и C++. Рускоязычный сайт www.gentee.ru Моя статя в еженедельнике "Мой компьютер" http://mycomputer.ua/text/11321 ЗЫ Я не разработчик языка, я просто "адвокат" :-) |
Автор: smartov 27.9.2006, 19:42 |
На JavaScript похож. Как на счет ООП? |
Автор: Sardar 27.9.2006, 23:18 | ||||
Совсем нет, паскалевидное поделие с C подобным синтаксисом...
Все современные интерпретаторы транслируют исходник в некий байткод, просто некоторые выбрасывают потом это (PHP, Ruby etc), а некоторые скидывают на диск, что бы запускаться быстрей (Python, очень условно Java). Не пойму какие цели ставит перед собой язык? На первый взгляд он не блещит синтаксисом, сейчас модны функциональные примочки, замыкания и даже co-routines, а также удобные библиотеки расширяемых контейнеров, на которых ставиться всё остальное, что можно назвать контейнером (XML например). fornum и прочие паскале/бейсико подобные конструкции раздражают если честно ![]() Как на счёт портируемости? Под линухом идёт? Уже сейчас видно, что строки похоже не в юникоде. Похоже нормальной IO реализации нет, должне включать в себя работу с кодировками для любы стримовых обьектов, коим консоль и являеться, следовательно мне как юзеру сложно понять зачем нужна char2oem(), которая сделает не переносимым код на линуховые консоли, работающие в UTF-8 (у меня по крайней мере). Полное ощущение что проект ещё очень молод и создатели особо не задумывались зачем оно нужно, а также что в мире вообще существует ![]() |
Автор: regis 28.9.2006, 10:42 |
В принципе, попытка неплохая. "C без точек с запятыми", с добавкой некоторых возможностей Паскаля (fornum) и скриптовых языков (хэши, "встроенные документы"). Возможность включать выражения прямо в строку (типа print("\(n)! = \(factorial( n ))\n") ) мне особенно понравилась. Но с возможностями ООП, конечно, слабовато. И главное, какой-то особой изюминки в языке я не вижу. Впрочем, думаю, что своих пользователей язык безусловно найдет. На вкус и цвет товарищей нет. ;) |
Автор: Sardar 28.9.2006, 12:38 |
Чем точка с запятой не нравиться? Я не привык, мне просто нравиться ясное окончание statement'а ![]() Обоснуй наличие кучи "узкоспециализированных" конструкций типа fornum как благо? Да, компилятору проще, он знает что тут будет только по счётчику пробегаться, может какие оптимизации можно применить (распараллеллить нельзя). По мне гибкие for как в C/C++/Java/etc лучше, позволяют поставить произвольное выражение. Говорю как когда то писавший на VB (вернее QVB, диалект для одной машины), там даже условного || (не выполнять дальше если результат уже очевиден) не было, приходилось вкладывать несколько IF'ов друг в друга. Хорошая вещь, но всё таки произвольные выражения могут привести к риску, вдруг строку от пользователя получаем, а она де нибудь (по дефолту) начнёт вот так выполняться. Гораздо безопасней просто постановка маркеров, типа как в питоне: "привет %s, вам %d лет" % ("Вася", 15) Фактически вызов сишной printf (питон имеет свою), но с красивым синтаксисом ![]() P.S. не говорю что язык плох, просто не ясны пока его цели ![]() |
Автор: regis 28.9.2006, 14:52 | ||||||||
В принципе, мне тоже больше нравятся явные разделители/заверители. Но некоторым нравится по другому, и мода на отсутствие явных разделителей в последнее время явно имеется (Python, Haskell ...). Видимо, Gentee тоже следует этой моде. ![]()
Ну, насчет кучи узкоспециализированных конструкций не знаю, но "арифметический" for реально полезная вещь -- мне в C/C++ его всегда не хватало. Опять-таки, и в AWL он есть. ![]()
Насколько я понял, здесь все подстановки выполняются во время компиляции, a-la конструкции типа $variable в литеральных Perl-строках. Наверное, компилоятор заменяет каждое встроенное выражение на конкатенацию + вычисление + конкатенацию, или что-то в этом роде.
Обучение, например. Довольно прост, относительно современен, работать с файлами и Inet можно... |