LINUX.ORG.RU

Genie — новый язык программирования в парадигме GObject

 ,


0

0

Genie — новый язык программирования, близкий родственник Vala, позволяющий пользоваться современными подходами к программированию и минимальными усилиями оперировать типами GObject.

Синтаксис Genie — чистый, чёткий и ясный; во многом он заимствован у современных языков программирования, таких как Python, Boo, D и Delphi.

По функциональности Genie близок к Vala, но позволяет решить те же задачи при помощи более краткого и ясного программного кода.

Как и Vala, Genie имеет характерные преимущества:

  • для программ, написанных на Genie, производительность и требовательность к ресурсам эквивалентны аналогичным параметрам программ на C и Vala;
  • отсутствуют "раздутость" и потери в производительности, присущие платформам с виртуальными машинами (Python, Mono, Java и т.п.);
  • поскольку классы в Genie по сути являются GObject'ами, то Genie пригоден как для написания программ, использующих GObject'ы, так и для самостоятельного создания GObject'ов (например, библиотек виджетов).
Итак, Genie является современным компилируемым объектно-ориентированным языком с нестрогой типизацией, обладающий также чертами функционального языка (например, поддержка замыканий). Поддерживаются исключения, функции-делегаты, nullable-типы, обобщённые типы (generics) и, внимание, настраиваемая ширина отступа! Компилировать программы на Genie следует компилятором языка Vala (valac); соответствующая функциональность была включена в Vala 0.3.3.

>>> Сайт проекта

anonymous

Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 1)

всё правильно, он призван убить всякие устаревшие языки типа с++ и ява.

anonymous
()

> и, внимание, настраиваемая ширина отступа!

Это, безусловно, то, чего всем так не хватало. Рыдалъ.

cache ★★
()
Ответ на: комментарий от Ox7A7361

2Ox7A7361 (*) (01.07.2008 11:33:40):

> эхх снова язык и снова непонятно зачем. С++ чем не нравица???

C++ как раз понятно, почему не нравится. Не понятно, почему не
нравятся правильные языки, вроде Python или Ruby. Казалось бы,
уж куда лучше. Вот оно, придумали уже, пользуйтесь. Ан нет.

anonymous
()
Ответ на: комментарий от cache

2cache (*) (01.07.2008 11:37:03):

>> и, внимание, настраиваемая ширина отступа!

> Это, безусловно, то, чего всем так не хватало. Рыдалъ.

Ну так. В Ruby, как известно, ширина отступа 2 пробела. Остальное
от лукавого. В Python - 4. А здесь настраиваемая.

Самый бардачный язык - Haskell. У них чёрт-те что творится
с шириной отступа. Там хоть занастраивайся.

anonymous
()

> ... современных языков программирования, таких как ... Delphi

гагага :-) однозначно современный delphi

kost-bebix ★★
()

Vala? Да это ведь неприкрытый хак Mono, который в свою очередь неприкрытый хак C#, который мелкомягкие неприкрыто слямзили у Java... Воистину не хватает на них Ruby...

los_nikos ★★★★★
()

Я не понял, он самоценный, гномовские программы можно только на нем писать?

sv75 ★★★★★
()

зарелизить Vala не смогли, им никто не пользуется. ПОэтому сменим название, авось кто будет юзать?

anonymous
()
Ответ на: комментарий от anonymous

> Казалось бы, уж куда лучше. Вот оно, придумали уже, пользуйтесь. Ан нет.

Ну тут типа без интерпретатора, транслируется в Си, вроде как быстрее питонов должно быть.

Bohtvaroh ★★★★
()
Ответ на: комментарий от anonymous

> Самый бардачный язык - Haskell. У них чёрт-те что творится с шириной отступа. Там хоть занастраивайся.

Сразу видно, неасилил. Всегда делаю отступы табом, в ghc без проблем (да, других компиляторов не знаю).

anonymous
()

Хренец. GObject -- это уже парадигма.

И еще интересно, чем же их питончик-то не устроил? Пусть нам об этом расскажут апологеты pygtk.

gaa ★★
()
Ответ на: комментарий от gaa

> чем же их питончик-то не устроил? Пусть нам об этом расскажут апологеты pygtk.

Да нам-то откуда знать? Видно, не получилось у Vala привлечь шарперов, пытаются привлечь питонщегов.

tailgunner ★★★★★
()
Ответ на: комментарий от Bohtvaroh

>> апологеты pygtk

> Вроде на ЛОРе таковые не водятся. ;-)

[ string reverse "keeg" ], не к рабочему дню будет помянут

gaa ★★
()

По ссылке никто не пошел? Мне очень понравилось. Синтаксис Python,
а быстродействие компилируемого Си:

class Foo : Object

    prop name : string
    
    prop readonly count : int
    
    [Description(nick="output property", blurb="This is the utput property of the Foo class")]    
    prop output : string
        get
            return "output"
        set
            _name = value   

CtrlAltBs
()

Я думал, уже даже последние идиоты научились отличать компиляторы от интерпретаторов. Но если судить по местным плюсофилам и тиклефилам это не так.

geek ★★★
()
Ответ на: комментарий от geek

> Я думал, уже даже последние идиоты научились отличать компиляторы от интерпретаторов. Но если судить по местным плюсофилам и тиклефилам это не так.

Блин, скастовался таки :)

Ты ж говорил что питончик не тормозит?

gaa ★★
()

А никто не скажет как юзать различные сишные библиотеки из этого Vala/Genie? Нужно опять писать бесчисленное количество биндингов?

CtrlAltBs
()
Ответ на: комментарий от geek

>> Ты ж говорил что питончик не тормозит?

> ты к доктору-то сходи

Он сказал, что отдаст твою карточку только лично в руки.

gaa ★★
()
Ответ на: комментарий от Joe_Bishop

> Я точно помню, как geek говорил, что питон (gajim) тормозит. Сейчас можешь убиваться.

Я тоже это помню. Он ругал кроворуких программистов, которые сделали из pygtk говно.

gaa ★★
()
Ответ на: комментарий от anonymous

>Не понятно, почему не нравятся правильные языки, вроде Python или Ruby.

как может ruby быть правильным языком если ruby - это испоганеный smalltalk?

aydef
()
Ответ на: комментарий от los_nikos

>Воистину не хватает на них Ruby...

испоганенного недо smalltalk-а ...

aydef
()

на складе велосипедов прибыло...

AiFiLTr0 ★★★★★
()

Чмоки за околопитонский синтаксис. Фигурные скобки - на свалку истории!

Лучи диареи за GObject. Идея, в принципе, хорошая - но почему, сцука, всё написанное на GTK такое тормозное?!

yk4ever
()
Ответ на: комментарий от yk4ever

> Лучи диареи за GObject. Идея, в принципе, хорошая - но почему, сцука, всё написанное на GTK такое тормозное?!

Дык GObject - это в glib, а не в GTK. Или ты думаешь, что гтк "тормозит" из-за GObject?

Bohtvaroh ★★★★
()

закапывайте это гавно вместе с gobject и прочим говнохламом.

Вместо того чтобы пользоваться нормальными языками, изобретают г`объекты и г`языки. И строят все на этом говне...

anonymous
()
Ответ на: комментарий от geek

>список нормальных языков в студию

Телячий, да под водочку!

sabonez ★☆☆☆
()
Ответ на: комментарий от gaa

> Я тоже это помню. Он ругал кроворуких программистов, которые сделали из pygtk говно.

ха-ха. я помню он говорил, что pygtk прекрасен. видимо любовь прошла. geek переходи на gtkmm, а лучше сразу на Qt

anonymous
()
Ответ на: комментарий от geek

>> ха-ха. я помню он говорил, что pygtk прекрасен.

> тык я и сейчас это скажу.

Наконец-то я от тебя таких слов дождался. Так каково твоё мнение по топику?

gaa ★★
()
Ответ на: комментарий от los_nikos

los_nikos? Да это ведь неприкрытый толстый тролль. Vala заимствует некоторые синтаксические моменты у C#. Больше ничего общего у Vala и Mono нет.

anonymous
()
Ответ на: комментарий от Ox7A7361

Пробуйте и используйте. Релиз уже состоялся: устанавливайте Vala 0.3.3+ и дерзайте.

anonymous
()
Ответ на: комментарий от anonymous

Vala чётко следует своему плану разработки (http://live.gnome.org/Vala/RoadMap), отставая максимум на несколько дней. Релиз намечен на сентябрь, в данный момент заморожены фичи языка и имеется релиз 0.3.4. Запилитесь, пожалуйста.

anonymous
()
Ответ на: комментарий от gaa

>Наконец-то я от тебя таких слов дождался. Так каково твоё мнение по топику?

ты моё мнение не поймешь, ибо в твоей школе ещё не проходили отличия между интерпретаторами и трансляторами :)

geek ★★★
()
Ответ на: комментарий от geek

> ты моё мнение не поймешь, ибо в твоей школе ещё не проходили отличия между интерпретаторами и трансляторами :)

В моей школе этого действительно не проходили, ты прав. Я не учился в специнтернатах :) Я нежелание отвечать можно расценить только как слив.

gaa ★★
()
Ответ на: комментарий от CtrlAltBs

Процесс создания binding'ов для Vala/Genie упрощён до предела, что делает языки ещё более привлекательными. Создание биндингов сводится к генерации упрощённого IDL из требуемой библиотеки (и правке, при необходимости). В поставку Vala входят стабильные биндинги для:

atk
bzlib
cairo
config
curses
dbus
enchant
gconf
gdk
gio
glib
gmodule
gnet
gnome-desktop
gnome-keyring
gnome-vfs
goocanvas
gstreamer-0.10
gtk+-2.0
gtkmozembed
gtksourceview
hal
hildon
json-glib
libbonoboui
libepc
libftdi
libglade-2.0
libgnome*
libgsf
libnotify
liboobs
libsexy
libsoup
libusb
libxml
loudmouth
pango
poppler-glib
sdl
sqlite3
taglib_c
tiff
vte
webkit
zlib

При отсутствии нужной библиотеки в списке Вы сможете создать требуемые биндинги при помощи инструмента vapigen.

anonymous
()

Синтаксис какой-то корявенький... С первого взгляда создается впечатление, что к питону прикрутили жесткую типизацию.

ЗЫ. Питон нравится за такие вещи, как:
def somefunc():
i = 2;
s = "some string"
o = SomeObject()
return i, s, o

h8 ★★★
()

>отсутствуют "раздутость"

Пипец - технический термин. Скоро технологии программирования будут характеризоваться только подобными бредовыми словами "менее раздутый более изящный".

r ★★★★★
()
Ответ на: комментарий от geek

>> Я нежелание отвечать можно расценить только как слив.

> бугага. А по-русски?

Поменяй первую букву на А. Вроде должно распарситься.

gaa ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.