Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > [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
Цитата(smartov @  27.9.2006,  18:42 Найти цитируемый пост)
На JavaScript похож

Совсем нет, паскалевидное поделие с C подобным синтаксисом...

Цитата(smartov @  27.9.2006,  18:42 Найти цитируемый пост)
Как на счет ООП?

Цитата
Стоит отметить, что Gentee не является языком объектно-ориентированного программирования, хотя и содержит некоторые его элементы, например, такие как инкапсуляция.


Цитата
В отличие от медленных интерпретируемых языков, Gentee использует более продуктивный подход: программа транслируется в промежуточный код, который потом исполняется виртуальной машиной.

Все современные интерпретаторы транслируют исходник в некий байткод, просто некоторые выбрасывают потом это (PHP, Ruby etc), а некоторые скидывают на диск, что бы запускаться быстрей (Python, очень условно Java).


Не пойму какие цели ставит перед собой язык? На первый взгляд он не блещит синтаксисом, сейчас модны функциональные примочки, замыкания и даже co-routines, а также удобные библиотеки расширяемых контейнеров, на которых ставиться всё остальное, что можно назвать контейнером (XML например). fornum и прочие паскале/бейсико подобные конструкции раздражают если честно smile

Как на счёт портируемости? Под линухом идёт? Уже сейчас видно, что строки похоже не в юникоде. Похоже нормальной IO реализации нет, должне включать в себя работу с кодировками для любы стримовых обьектов, коим консоль и являеться, следовательно мне как юзеру сложно понять зачем нужна char2oem(), которая сделает не переносимым код на линуховые консоли, работающие в UTF-8 (у меня по крайней мере).

Полное ощущение что проект ещё очень молод и создатели особо не задумывались зачем оно нужно, а также что в мире вообще существует smile

Автор: regis 28.9.2006, 10:42
В принципе, попытка неплохая. "C без точек с запятыми", с добавкой некоторых возможностей Паскаля (fornum) и скриптовых языков (хэши, "встроенные документы"). Возможность включать выражения прямо в строку (типа print("\(n)! = \(factorial( n ))\n") ) мне особенно понравилась. Но с возможностями ООП, конечно, слабовато. И главное, какой-то особой изюминки в языке я не вижу.
Впрочем, думаю, что своих пользователей язык безусловно найдет. На вкус и цвет товарищей нет. ;)

Автор: Sardar 28.9.2006, 12:38
Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
C без точек с запятыми"

Чем точка с запятой не нравиться? Я не привык, мне просто нравиться ясное окончание statement'а smile

Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
с добавкой некоторых возможностей Паскаля (fornum)

Обоснуй наличие кучи "узкоспециализированных" конструкций типа fornum как благо? Да, компилятору проще, он знает что тут будет только по счётчику пробегаться, может какие оптимизации можно применить (распараллеллить нельзя). По мне гибкие for как в C/C++/Java/etc лучше, позволяют поставить произвольное выражение. Говорю как когда то писавший на VB (вернее QVB, диалект для одной машины), там даже условного || (не выполнять дальше если результат уже очевиден) не было, приходилось вкладывать несколько IF'ов друг в друга.

Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
Возможность включать выражения прямо в строку

Хорошая вещь, но всё таки произвольные выражения могут привести к риску, вдруг строку от пользователя получаем, а она де нибудь (по дефолту) начнёт вот так выполняться. Гораздо безопасней просто постановка маркеров, типа как в питоне:

"привет %s, вам %d лет" % ("Вася", 15)

Фактически вызов сишной printf (питон имеет свою), но с красивым синтаксисом smile

P.S. не говорю что язык плох, просто не ясны пока его цели smile

Автор: regis 28.9.2006, 14:52
Цитата

Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
C без точек с запятыми"

Чем точка с запятой не нравиться? Я не привык, мне просто нравиться ясное окончание statement'а smile


В принципе, мне тоже больше нравятся явные разделители/заверители. Но некоторым нравится по другому, и мода на отсутствие явных разделителей в последнее время явно имеется (Python, Haskell ...). Видимо, Gentee тоже следует этой моде.  smile 

Цитата

Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
с добавкой некоторых возможностей Паскаля (fornum)

Обоснуй наличие кучи "узкоспециализированных" конструкций типа fornum как благо? Да, компилятору проще, он знает что тут будет только по счётчику пробегаться, может какие оптимизации можно применить (распараллеллить нельзя). По мне гибкие for как в C/C++/Java/etc лучше, позволяют поставить произвольное выражение.


Ну, насчет кучи узкоспециализированных конструкций не знаю, но "арифметический" for реально полезная вещь -- мне в C/C++ его всегда не хватало. Опять-таки, и в AWL он есть.  smile  (Хотя отдельный for как в C/Java тоже бы не помешал).

Цитата

Цитата(regis @  28.9.2006,  09:42 Найти цитируемый пост)
Возможность включать выражения прямо в строку

Хорошая вещь, но всё таки произвольные выражения могут привести к риску, вдруг строку от пользователя получаем, а она де нибудь (по дефолту) начнёт вот так выполняться. Гораздо безопасней просто постановка маркеров, типа как в питоне:

"привет %s, вам %d лет" % ("Вася", 15)

Фактически вызов сишной printf (питон имеет свою), но с красивым синтаксисом smile


Насколько я понял, здесь все подстановки выполняются во время компиляции, a-la конструкции типа $variable в литеральных Perl-строках. Наверное, компилоятор заменяет каждое встроенное выражение на конкатенацию + вычисление + конкатенацию, или что-то в этом роде.

Цитата

P.S. не говорю что язык плох, просто не ясны пока его цели smile


Обучение, например. Довольно прост, относительно современен, работать с файлами и Inet можно...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)