LINUX.ORG.RU

Вышел GtkD 1.0

 ,


0

0

GtkD - привязка Gtk+ для языка D. Лицензия: LGPL.

Что нового:

  • полностью автоматизированный binding/wrapping
  • отсутствие зависимостей от других библиотек (без dool, без класса String)
  • структура пакетов и др. наименования близки к GTK+ (очень близки)
  • более полная обертка над GTK
  • поддержка Cairo
  • работает с Phobos и Tango
  • поддерживает D 1.0 и D 2.0
Примеры кода: http://www.dsource.org/projects/gtkd/...

>>> Источник



Проверено: svu ()

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

> А в то же время скромный швейцарский паренёк Jurg Billeter практически в одиночку за полгода наваял язык Vala, где всё то же самое.

Ага, только поддержки винды нету.

А язык, не работающий под виндой, не имеет в реальном мире сколь-либо заметных перспектив.

Кроме того, как минимум, в Вале нет слайсов. Думаю, если покопаться, ещё много ублюдств найдётся.

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

Во-первых, брехня. По возможностям он менее удобен.

Во-вторых, дотнет тормозит и память жрёт как сволочь.

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

>> Для начала -- в нижнем регистре. При наборе текста это гораздо удобнее.

> shift+Буква vs Shift+-, Буква

> Не будь таким категоричным. Пальцы набирают оба варианта одинаково не задумываясь.

Хорошо, тогда почему первая-то буква в нижнем регистре??? Просто этот стиль написания пропагандировал микрософт.

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

> для начала посмотри как они называются в gtkmm и gtk#.

А при чём тут это? gtk написан на C, а не на "плюсах и решётках".

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

> Хорошо, тогда почему первая-то буква в нижнем регистре??? Просто этот стиль написания пропагандировал микрософт.

какой ещё микрософт? Обычный смоллтоковый camelCase. Тогда уж Яббл, там на Objective C наименование из смоллтока пошло.

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

>А при чём тут это? gtk написан на C, а не на "плюсах и решётках".

Да при том что нотация сохраняется в пределах языка программирования, а не применительно к каждой библиотеке. А референс-нотация - это нотация стандартной библиотеки. D близок к C++ и C#, поэтому я и сравнил с соответствующими биндингами

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

>Хорошо, тогда почему первая-то буква в нижнем регистре??? Просто этот стиль написания пропагандировал микрософт.

Imho, така нотация - java-style...

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

Hybrid понравился, спасибо за информацию. Вот только исходников не нашел и пример dynamic2 падает с сегфолтом (а под wine нормально работает).

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

Если забить на уважение авторского права можно найти в сети книжку Learn to Tango with D - отлично описан язык и возможности стандартной библиотеки. Правда контейнеры там описаны старые, сейчас они помечены как deprected.

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

>C => C++ => D => Pascal и не парьтесь...

A => B => C => C++ => D

Pascal => R.I.P. --> Oberon :P (классный язык, создан так же Николаусом Виртом)

кстати oberon --> java => .net

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

> А как у шаблонов D с динамическим связыванием? Так же, как в С++, или все-таки можно полноценно засунуть шаблон в разделяемую библиотеку?

Да, xTERM, виртуализация программистов до добра не доводит. Что есть полноценность если не ясно что засовывать? Это 'что' возникает только в момент использования, и в этот же момент возникают vtables, адреса функций членов и т.д., как это принципиально можно зашить в библиотеку? static с подстановкой в момент инициализации? Может не в библиотеку а в какой-нибудь промежуточный код, так на то есть 'precompiled header'. Либо я слишком приземлён(закопан) либо очень многие программисты вообще потеряли чувство реальности. Таким ни D ни E не помогут. Опять вспоминается мой шэф: как бы так делать чтобы ничего не делать, но чтобы было готово!?

Не верю в новоделы 'круче и быстрее и проще'. Верю в C++. Вот такой я ретроград.

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

>> Ага, только поддержки винды нету.

>4.2 собирается под винду легко и непринужденно

Ты о Vala? Собирается под Win32 нативно.. не Cygwin-ом?

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

"вирусный" эффект GPL - зло.

Вспоминайте хоть изредка, что есть люди, пишущие СПО под отличными от GNU * лицензиями.

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

> Верю в C++. Вот такой я ретроград.

а я вот в Objective C верю. Вот такой я ССЗБ.

> Это 'что' возникает только в момент использования, и в этот же момент возникают vtables, адреса функций членов и т.д., как это принципиально можно зашить в библиотеку?

c динамической типизацией можно везде. Как в том же Objective C и Смоллтоке. Со статической -- нужны нормальные модули, отдельная таблица символов которая понимает шаблоны и вменяемый синтаксис (см. 1)2)3)4)5) http://dprogramming.ru/d/index.php?n=Main.BitwiseMagazineWalterBright )

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

Vala слишком узкоспециализированный. Как замена C++ везде и во всем не потянет.

anonymous
()

Хорошо, что развивается. Жду выхода 2.0 и gdc, поддерживающего его.

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

Да, Obj-C - это сила. Еще команда разработчиков Etoile скоро доделает компиляторы SmallTalk и Io для LLVM, полностью совместимые с Objective-C (llvm clang) на уровне ООП.

xTERM ★★
()

А мне больше Pascal нравится. Быстрый и качественный компилятор, удобные IDE(Lazarus/Delphi) и библиотеки/контролы на любой случай.

Чем из перечисленного обладает D?

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

>А мне больше Pascal нравится. Быстрый и качественный компилятор, удобные IDE(Lazarus/Delphi) и библиотеки/контролы на любой случай.

>Чем из перечисленного обладает D?

У D есть быстрые и качественные программисты, на любой случай. Чем из перечисленного обладает Pascal?

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

спасибо за линку про openwm.
свободная реализация движка Morrowind - это, хм, круто)

kelyar ★★★★★
()

Интересно, зачем языку две стандартных библиотеки? Почему нельзя сделать поддержку работы с объектами C++ - тогда бы и "биндинги" для Qt и т. п. не нужны и переходить на новый язык было бы проще - не надо библиотеки переписывать (или писать "биндинги"). А разве использование "биндингов" не будет приводить к потере производительности?

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

>>А мне больше Pascal нравится. Быстрый и качественный компилятор, удобные IDE(Lazarus/Delphi) и библиотеки/контролы на любой случай.

>>Чем из перечисленного обладает D?


>У D есть быстрые и качественные программисты, на любой случай. Чем из перечисленного обладает Pascal?


:D В lorquotes!

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

> Интересно, зачем языку две стандартных библиотеки?

Одна - тестовый полигон для разработчика языка, вторая - многофункциональная библиотека, поддерживаемая сообществом.

В планах сделать рантайм отдельной единой либой и ликвидировать такое понятие как стандартная библиотека.

> Почему нельзя сделать поддержку работы с объектами C++


Она есть.

> тогда бы и "биндинги" для Qt и т. п. не нужны


Нужны. Кроме обьектов в C++ есть, к сожалению, ещё и шаблоны.

> А разве использование "биндингов" не будет приводить к потере производительности?


Нет. Использование врапперов - да.

Кстати, GtkD вроде враппер, а не биндинг.

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

> Почему нельзя сделать поддержку работы с объектами C++

http://www.digitalmars.com/d/2.0/faq.html#cpp_interface
http://www.digitalmars.com/d/2.0/cpp_interface.html
http://www.digitalmars.com/d/archives/digitalmars/D/announce/OpenMW_an_open_m... (см. про "One specific thing is that it connects D code with Ogre and other C++ libraries. Even though this is done in a way that is very specific to
openmw, it show that it can be done without much problem" и в исходники. )

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

> Нужны. Кроме обьектов в C++ есть, к сожалению, ещё и шаблоны.

а именно в Qt -- "расширенный" препроцессором moc С++
хм, взять что ли исходники Qt 1 подревнее, потренироваться в портировании на D.. Qt тогда ещё совсем маленькое было :))
ftp://ftp.trolltech.com/qt/old/

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

> Adobe не откроет Acrobat. А EMC - VMware. Они просто забьют на GTK и напишут на другом тулките. Кто от этого выиграет? Никто. Медвежья услуга.

Вспоминается манускрипт Билли Гейтса.

Мол, платите нам денежки, иначе мы не будем вам писать программы, и вы останетесь без программ.

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

система наименований name_func() называется паскаль.

Вариант setDefaultSize, showAll - называется верблюд.

В процедурных языках принято использовать паскаль. В ооп языках - верблюд.

Оба варианта ничем не лучше друг-друга.

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

> А уж с подчёркиванием или слитно -- тут как заблагорассудится. Но если уж декларировать "наименования близки к GTK+ (очень близки)", то стоит и функции называть как в gtk: gtk_widget_show.

один хрен, для '_' shift давить нужно, чем это тогда лучше заглавной буквы, что в случае слитного написания, только читаемости добавляет. Но на самом деле, тут все зависит от предпочтений, если ты вольный стрелок, а если работаешь в софтверной компании (сужу по своей бывшей работе в Rhonda LTD) там есть свои стандарты кодирования, сказано писать с большой буквы - будешь писать так.

В общем - на вкус и цвет, все фломастеры разные, главное что бы читаемость кода не страдала.

ЗЫ недавно смотрел код небольшой программки для организации тестирования в классе (нужна была помощь людям), студенческая поделка на BDS, ребята даже в некоторых местах реализовали разделение интерфейса и логики, не говоря уже о более-менее внятном форматировании кода. Самого автора не видел, но руку бы пожал с небольшой долей критики.

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

> Привязок к Qt не будет?

Пока вроде нет, тоже искал, есть проблемы с написанием.

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

> Не ради флейма и холиваров, но кто реально использует в проектах, что думаете о нем? Присматриваюсь к нему.

Тоже присматриваюсь, вот небольшая коллекция заметок относительно первоначального подхода:

http://hatred.homelinux.net/wiki/zhurnal:2008-07-16_11.02_d_programming_language

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

> Прикольный язык (это про D ). Мне нравица!

Меняй аватарку! :-D

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

> Не верю в новоделы 'круче и быстрее и проще'. Верю в C++. Вот такой я ретроград.

В языке D правильно адресованы проблемы плюсов, но решены они не правильно.

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

> вот небольшая коллекция заметок относительно первоначального подхода:

Касательно сред разработки. ИМХО лучше выбрать либо vim либо descent for eclipse. Ни тот ни другой упомянуты не были. И опять же не упомянут Hybrid в разделе GUI.

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

>У D есть быстрые и качественные программисты, на любой случай.

Жесть

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

>В языке D правильно адресованы проблемы плюсов, но решены они не правильно.

Почему? Спрашиваю не из любопытства.

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

Быстрость и качественность программиста от языка не зависит. На С написано не меньше всякого хлама чем на паскале.

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

> Быстрость и качественность программиста от языка не зависит. На С написано не меньше всякого хлама чем на паскале.

Корреляция есть: в отличие от Си, на Паскале не написано ничего хорошего.

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

> У D есть быстрые и качественные программисты, на любой случай.

Что-то не нашлось быстрых и качественных, чтоб сам D допилить, быстро и качественно.

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