LINUX.ORG.RU

Qt доступна теперь и под LGPL

 , ,


0

0

Компания Nokia объявила о том, что, начиная с версии 4.5, кросс-платформенная библиотека Qt будет доступна также под лицензией LGPL.

Переход на более мягкую лицензию позволит снять те ограничения, которые раньше останавливали многих коммерческих разработчиков от использования Qt для своих проектов и позволит значительно расширить круг пользователей библиотеки.

Кроме того, станут общедоступными репозитории исходных кодов Qt, сделав процесс разработки библиотеки открытым для сообщества.

Коммерческая лицензия и лицензия GPL также останутся доступными.

Nokia таким образом рассчитывает качественно повысить популярность библиотеки и сохранить ее статус как лучшей в классе кросс-платформенных библиотек для разработки приложений и пользовательского интерфейса.

>>> Подробности

★★★★★

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

Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Ну подними ёмае. Я докажу опять что удобнее носить круглое и катать квадратное

>починил во имя истины

Виляние.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от a3

Re: Qt доступна теперь и под LGPL

> А кроме C, какие еще есть байндинго-легко-написательные языки?

ты что-то путаешь, писать биндинг для С не так легко как кажется. легче всего писать биндинги для языков в которых есть полная информация о типах. т.е. дот-нет и жаба. Для них ничего писать не надо, теоретически можно автоматом генениировать. В С создается иллюзия простоты биндинга из-за примитивности языка, в С++ все еще сложнее. Виной всему сишный фейловый препроцессор который впихнули в язык два нижеброда K&R. Правильное решение - это раздельная компиляция как в трубопаскале например, внятная система типов и доступность полной информации о типах после компиляции. Язык Си - это пример того как все было сделано неправильно и через жопу. единственое чем он берет - кратким синтаксисом. все остальное - полное гавно.

ЗЫ. А за изобретение сищных строк (заканчивающихся нулем) K&R вообще следует гнать из профессии ссаными тряпками.

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> ЗЫ. А за изобретение сищных строк (заканчивающихся нулем) K&R вообще следует гнать из профессии ссаными тряпками.

А что, уже что-то лучше и переносимее придумали? Неужто паскалевские строки со смехотворным ограничением в 255 символов?

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>А за изобретение сищных строк (заканчивающихся нулем) K&R вообще следует гнать из профессии ссаными тряпками.

На PDP это был тип данных поддерживающийся аппаратно.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> А что, уже что-то лучше и переносимее придумали?

>структура длинна строки + указатель

Фрагментированная куча на компьютере с 8Кб памяти не привела бы ни к чему хорошему.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

Паскалевские строки более вменяемые, так как имеют вид
<Длина_строки><Сама_строка>

В досовском турбопаскале на длину отводился 1 байт, но ведь никто не мешает дать 4 байта или сколько нужно. Зато длину строки не нужно проверять обходя саму строку и ища 0. А эта операция нужно немногим более чем почти всегда при работе со строками.

anonymous ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

>А за изобретение сищных строк (заканчивающихся нулем) K&R вообще следует гнать из профессии ссаными тряпками.

За изобретение листов, стало быть, тоже гнать тряпками?

Minoru ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> Фрагментированная куча на компьютере с 8Кб памяти не привела бы ни к чему хорошему

ЛОЛШТО? Надо всего-то встроить в язык value-тип
struct StringRef
{
    size_t length;
    char   *text;
};

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от Minoru

Re: Qt доступна теперь и под LGPL

>А эта операция нужно немногим более чем почти всегда при работе со строками.

Нужна очень редко. Разве что, если вы писали на поцкале/барсике.

Minoru ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

>В досовском турбопаскале на длину отводился 1 байт, но ведь никто не мешает дать 4 байта или сколько нужно. Зато длину строки не нужно проверять обходя саму строку и ища 0. А эта операция нужно немногим более чем почти всегда при работе со строками.

А как сделать срез подстроки? В Си например всегда ставили '\0' в конце среза и передавали адрес начала среза в другую подпрограмму. После окончания работы другой подпрограммы '\0' изымали и ставили на его место изначальный символ. В условиях PDP это наверно было важно.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Фрагментированная куча на компьютере с 8Кб памяти не привела бы ни к чему хорошему

>ЛОЛШТО? Надо всего-то встроить в язык value-тип
>struct StringRef
>{
>    size_t length;
>    char   *text;
>};

А где *text размещать планируешь? Через malloc() в куче наверное?

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

> В досовском турбопаскале на длину отводился 1 байт, но ведь никто не мешает дать 4 байта или сколько нужно.

Нет, это тоже фейловая идея. Как хранится строка это ворос реализации. Вся беда в том что в нищебродском языке Си нет нормального указателя на массив. иными словами указатель на обьект должен из себя представлять просто указатель, а указатель на массив должен содержать в себе числдо элементов и указатель. тогда не нужно никаких отдельных функций для работы со строками. В си все через жопу. слеплена куча нелепых функций str*, а функций для работы с массивами в crt вообще нет.

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

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> структура длинна строки + указатель
Угу, а через 10 елт все программы понадобится переписать, потому что 2(4,8...) байтов хватать не будет. Грызите pascal-строки, они вкусные!

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> А где *text размещать планируешь? Через malloc() в куче наверное?

*text где угодно. эта структура - срез строки. за хранение *text она не отвечает.

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> А где *text размещать планируешь? Через malloc() в куче наверное?

>*text где угодно. эта структура - срез строки. за хранение *text она не отвечает.

Ну где-то text надо аллокировать. Твои предложения:

a) статическая память b) стек c) куча.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

Кстати, в D массив это спаренный указатель на начало и на конец секвенции. Алексанреску говорит что кучу рулезов можно извлечь из такого подхода.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> Ну где-то text надо аллокировать

где хочешь там и храни. передавать изволь указатель+длинну. Просто в Си указатель на обьект и на срез массива - это одно и тоже. и это фейлдизайн.

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Ну где-то text надо аллокировать

>где хочешь там и храни. передавать изволь указатель+длинну.

А нахрена долбаться со стрингами если есть lex/yacc например? И pcre? Лично я ручками по char-ам никогда не бегаю.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> Вся беда в том что в нищебродском языке Си нет нормального указателя на массив

Друх, в Си даже массивов нет :)

tailgunner ★★★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> А нахрена долбаться со стрингами если есть lex/yacc например

Ты что же совсем не понимаешь бенефитов от представления строк как срезов массивов?

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Друх, в Си даже массивов нет

> тамбовский волк тебе друх. а массивы в си есть.

Только указатели и арифметика над ними :D

tailgunner ★★★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> Ты что же совсем не понимаешь бенефитов от представления строк как срезов массивов?

И я не понимаю. Огласи!

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> тамбовский волк тебе друх. а массивы в си есть.

Это ты неконсистентное ушлёпство, у которого sizeof отваливается при передаче в функцию?

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от tailgunner

Re: Qt доступна теперь и под LGPL

> Только указатели и арифметика над ними

int a[10];
int s = sizeof(a);

подумай вот над этим и больше не появляйся в этом треде.

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> А нахрена долбаться со стрингами если есть lex/yacc например? И pcre? Лично я ручками по char-ам никогда не бегаю.

Ну чтобы в одной строке одновременно хранить полный путь к файлу и его basename. Для этого и побегать придётся, да и pcre не поможет.
Хотя случай нищебродский и вырожденный.

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> Это ты неконсистентное ушлёпство, у которого sizeof отваливается при передаче в функцию?

"ТО", разумеется. Это было не оскорбление собеседника :)

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> я чтоже должен обьяснять очевидные вещи?
Были бы очевидными, я б не переспрашивал.

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> А нахрена долбаться со стрингами если есть lex/yacc например

>Ты что же совсем не понимаешь бенефитов от представления строк как срезов массивов?

Как-то особо не отягощаюсь работой со строками. Если мне нужен батч на баше я пишу батч на баше. Если мне надо распарсить текстовой файл в Си я беру lex/yacc. Если мне нужно распарсить xml я беру какой-нибудь SAX или expat. Если у тебя есть какой-то еще класс задач где надо очень сильно ковыряться со строками давай рассмотрим.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

> int a[10];

> int s = sizeof(a);

> подумай вот над этим

И что тут думать? Где массив-то? Это область памяти, выяснить ее размер в рантайме невозможно :D

> и больше не появляйся в этом треде.

Ты запрещаешь, да? %)

tailgunner ★★★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от tailgunner

Re: Qt доступна теперь и под LGPL

>>> Друх, в Си даже массивов нет

>> тамбовский волк тебе друх. а массивы в си есть.

>Только указатели и арифметика над ними :D

В книжке Deep C Secrets недавно обсуждавшейся в /Development утверждается что как минимум linkage у глобального указателя и глобального массива разные.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> > Это то неконсистентное ушлёпство, у которого sizeof отваливается при передаче в функцию?

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

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>А отваливается он только потому что два нищеброда решили заюзать идиотский хак с нулевым терминатором вместо нормального решения.

Мой пост о том что на PDP-11 ASCIIZ-строка была аппаратным типом данных ты конечно же отбросил.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Это то неконсистентное ушлёпство, у которого sizeof отваливается при передаче в функцию?
> Отваливатся он не должен ни у массивов не у строк которые по сути одно и тоже.


У массивов в си он _отваливается_. А должен он тебе что-то или нет, этого мы знать не можем. Вот у меня языки программирования, массивы и прочие сущности никогда денег не занимали.

> А отваливается он только потому что два нищеброда решили заюзать идиотский хак с нулевым терминатором вместо нормального решения. поэтому в си строки обрабытываются своимим функциями, массивы своими да и все остальное делается гейской кописпастой через задницу.


По всем законам жанра дальше должна начаться проповедь Универсального Языка Для Решения Всех Проблем, Который Только Из-За Коррупции Не Вытеснил Си. Ждём-с.

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> Угу, а через 10 елт все программы понадобится переписать, потому что 2(4,8...) байтов хватать не будет. Грызите pascal-строки, они вкусные!

Зачем чтото переписывать? Индексировать строку всегда с 0 а нужный сдвиг (2, 4, 8...) добавлять к индексу при компиляции.

С передачей же части строки точе проблем нет. Если передаём куда-то кусок с начала строки - уменьшаем длину, передаём "хвост" - записываем длину куда нужно, как сишники записывают 0, и передаём, потом востанавливаем. При чём желательно всё перечисленое желать прозрачно но всё же неявно для проргаммиста, чтобы глупых ошибок меньше было.

Кстати как вы будете делать конкатенацию строк без длины? Эта операция нужна только в паскале/васике чтоли?

anonymous ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

>> Угу, а через 10 елт все программы понадобится переписать, потому что 2(4,8...) байтов хватать не будет. Грызите pascal-строки, они вкусные!
> Зачем чтото переписывать? Индексировать строку всегда с 0 а нужный сдвиг (2, 4, 8...) добавлять к индексу при компиляции.


Да-да, а либ тоже иметь n экземпляров каждой по количеству байт в заголовке строки?

> Кстати как вы будете делать конкатенацию строк без длины? Эта операция нужна только в паскале/васике чтоли?

В языках, где идёт интенсивная работа со строковыми данными (hint: это ни в коем разе не может быть си), в типе "строка" хранится много дополнительной информации, в т.ч. длина строки в байтах и символах.

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> Мой пост о том что на PDP-11 ASCIIZ-строка была аппаратным типом данных ты конечно же отбросил.

ты что же собрался всю жизнь равнятся на всякое говно?

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

>С передачей же части строки точе проблем нет. Если передаём куда-то кусок с начала строки - уменьшаем длину, передаём "хвост" - записываем длину куда нужно, как сишники записывают 0, и передаём, потом востанавливаем. При чём желательно всё перечисленое желать прозрачно но всё же неявно для проргаммиста, чтобы глупых ошибок меньше было.

А почему бы не использовать два указателя? Если нужен срез, то передаем указатель на начало и на конец среза?

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> По всем законам жанра дальше должна начаться проповедь Универсального Языка Для Решения Всех Проблем, Который Только Из-За Коррупции Не Вытеснил Си

если бы такой был я бы сам его использовал а пока приходится юзать С++ и хаскелл

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от miroku108

Re: Qt доступна теперь и под LGPL

>> Мой пост о том что на PDP-11 ASCIIZ-строка была аппаратным типом данных ты конечно же отбросил.

>ты что же собрался всю жизнь равнятся на всякое говно?

Ну K&R приходилось равняться, а ты их ссаными тряпками погнал из профессии.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

Как вариант можно и срез с указателями на конец/начало использовать. Тоже вполне не плохое решение.

anonymous ()
Ответ на: Re: Qt доступна теперь и под LGPL от Absurd

Re: Qt доступна теперь и под LGPL

> Ну K&R приходилось равняться, а ты их ссаными тряпками погнал из профессии.

тем более. вместо того чтобы сделать правильно, K&R решили равнятся на всякое говно.

miroku108 ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

>Как вариант можно и срез с указателями на конец/начало использовать. Тоже вполне не плохое решение.

Я бы сказал что оно еще и реэнтерабельное и потоково-безопасное в отличие от.

Absurd ★★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> В языках, где идёт интенсивная работа со строковыми данными (hint: это ни в коем разе не может быть си), в типе "строка" хранится много дополнительной информации, в т.ч. длина строки в байтах и символах.

Так почему бы и нет? Длина - всего лишь минимально необходимое, что нужно хранить. Но к Си это никак не относится, там мужественно перелопатят char'ы пока нолик найдут.

anonymous ()
Ответ на: Re: Qt доступна теперь и под LGPL от anonymous

Re: Qt доступна теперь и под LGPL

>> В языках, где идёт интенсивная работа со строковыми данными (hint: это ни в коем разе не может быть си), в типе "строка" хранится много дополнительной информации, в т.ч. длина строки в байтах и символах.
> Так почему бы и нет? Длина - всего лишь минимально необходимое, что нужно хранить.

Так везде уж это есть.

> Но к Си это никак не относится, там мужественно перелопатят char'ы пока нолик найдут.

И в чём проблема?

gaa ★★ ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> Да-да, а либ тоже иметь n экземпляров каждой по количеству байт в заголовке строки?

Как бы это уже архитектурный вопрос, скомпилишь под 32 бита будет одна длина, под 64 другая и т.д.

anonymous ()
Ответ на: Re: Qt доступна теперь и под LGPL от gaa

Re: Qt доступна теперь и под LGPL

> > Но к Си это никак не относится, там мужественно перелопатят char'ы пока нолик найдут. > И в чём проблема?

В чём проблема найти конец 2х гигабайтной строки? В ДНК проблема, в ДНК..

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