Представлен (http://dot.kde.org/1232499049/) проект KBasic (http://kbasic.com/) - язык программирования с открытым исходным кодом , разработанный для гарантированной кроссплатформенности на языке С++ c использованием Qt.В данный момент для свободной загрузки доступна (http://kbasic.com/download.html) версия 1.87BETA для Windows XP/Vista/2000, Mac OS X 10.4 и Linux( GNOME/KDE), с установленными библиотеками Qt не ниже 4.4 версии.
По словам разработчиков, KBasic комбинирует в себе только лучшие качества BASIC и Visual Basic, а также обеспечивает 100% обратную совместимость с ними, т.к. имеет идентичный синтаксис. Среди прочих возможностей отмечаются:
- поддержка вызова функций С/С++, позволяющая смешивать код BASIC и C/С++;
- использование легковесного движка SQLite для создания файлов баз данных без необходимости запуска серверной части БД;
- библиотеки для работы с датой и временем, i18n, браузерами и др.
KBasic поставляется в комплекте с компилятором, интерпр...URL: http://dot.kde.org/1232499049/
Новость: http://www.opennet.dev/opennews/art.shtml?num=19876
>>Linux( GNOME/KDE), с установленными библиотеками Qt не ниже 4.4 версии.Долго думал - каким боком тут Гном?
Хотя что называется оно KBasiс (а не GBasic) - это, конечно, звоночек ...
Эмулятор Вендовся, ЕВПОЧЯ ...
>>Linux( GNOME/KDE), с установленными библиотеками Qt не ниже 4.4 версии.Что-то я не понял, почему только эти две DE? Проги на Qt и в xfce, и во fluxbox нормально работают. Или разработчики KBasic умудрились что-то сломать...
Да и вообще непонятно, кому эта хрень нужна? Как собственно и оригинальный basic...
>>использование легковесного движка SQLite для создания файлов баз данных без необходимости запуска серверной части БД;SQLite тяжеловесный есть ? И где у него серверная часть, это ж DLL.
>>>использование легковесного движка SQLite для создания файлов баз данных без необходимости запуска серверной части БД;
>
>SQLite тяжеловесный есть ? И где у него серверная часть, это
>ж DLL.Он сам по себе тяжеловесный. Лочить всю базу - это не труЪ ... Слишком грубо ...
>Он сам по себе тяжеловесный. Лочить всю базу - это не труЪ ... Слишком грубо ...+1
В целом движек очень удобный, но невозможность использования БД двумя процессами одновременно реально напрягает. И приходится для таких задач искать альтернативы...
Когда ты не можешь никак обойтись без того чтобы много процессов одновременно лезли в большую базу надо было использовать альтернативы с самого начала.
>Когда ты не можешь никак обойтись без того чтобы много процессов одновременно
>лезли в большую базу надо было использовать альтернативы с самого начала.
>На этой оптимистичной ноте "надо было использовать альтернативы с самого начала" можно было бы и остановиться. Однако:
Is SQLite threadsafe?
Threads are evil. Avoid them.
SQLite is threadsafe. We make this concession since many users choose to ignore the advice given in the previous paragraph.
Так оно thread-safe или таки треды - это зло?
thread-safe. "Зло" - это просто что треды они не любят, о чем и пишут. И во многом правы, в общем-то...
Тогда формулировать это надо по другому. А то получилось - "Да не брала я твой горшок, больно он мне нужен, он и так с трещиной был"
В чем же?
Мде, а я всегда думал что потоки это добро, приносящее большую пользу :)
>Когда ты не можешь никак обойтись без того чтобы много процессов одновременно
>лезли в большую базу надо было использовать альтернативы с самого начала.Про большую БД и много процессов я ничего не писал. Даже когда размер таблицы в БД менее 1000 строк, этот недостаток qslite никуда не отменяется...
>Он сам по себе тяжеловесный. Лочить всю базу - это не труЪ
>... Слишком грубо ...Тем не менее, некоторые фрукты умудряются с оным делать такие штуки что просто диву даешься.Не разглагольствуя про тру или не тру а просто использовав инструмент который есть и которым они владеют наиболее эффективно, с учетом фич и ограничений.При этом они порой умудряются обойти в разы тот же мускуль и постгр.Хоть они и тру.За примерами например можно сунуться на sql.ru - там несколько любителей sqlite обитает.
Ну а плохим танцорам вечно что-то мешает ;).То им язык программирования плох, то база не такая, то еще что-нибудь не так.При том (уж простите за наблюдение) - чем требовательнее спец тем дерьмовее результат его потуг.Профессионалу много не надо - на то он и профессионал.А лузеров даже самая лучшая БД и язык программирования не спасут - все-равно результат понятно какой будет.Гуано получается везде одинаковое.
Мама .... я кажется ... в первый раз ... полностью согласен с User294 8-)
>[оверквотинг удален]
>учетом фич и ограничений.При этом они порой умудряются обойти в разы
>тот же мускуль и постгр.Хоть они и тру.За примерами например можно
>сунуться на sql.ru - там несколько любителей sqlite обитает.
>
>Ну а плохим танцорам вечно что-то мешает ;).То им язык программирования плох,
>то база не такая, то еще что-нибудь не так.При том (уж
>простите за наблюдение) - чем требовательнее спец тем дерьмовее результат его
>потуг.Профессионалу много не надо - на то он и профессионал.А лузеров
>даже самая лучшая БД и язык программирования не спасут - все-равно
>результат понятно какой будет.Гуано получается везде одинаковое.Я же просто указал на наиболее очевидные недостатки SQLite ...
нужны треды?велкам-пользуйте настоящие БД.али религия не пользволяет?
иначе вспоминайте для чего вообще нужен (задумывался) sqlite.
ЗЫ: мне вот например не нравится текстовая БД, в которую пишут всякие apache, squid etc.
>нужны треды?велкам-пользуйте настоящие БД.али религия не пользволяет?Ну, тогда вопрос - а зачем ваще нужна SQL-обёртка над дисковым файлом?
>иначе вспоминайте для чего вообще нужен (задумывался) sqlite.В свете последнего вопроса возникает встречный вопрос - и для чего же?
>ЗЫ: мне вот например не нравится текстовая БД, в которую пишут всякие
>apache, squid etc.Это вы про логи, что-ли? Ну, назвать вот этот вот поток (железного) сознания базой данных, как-то рука не подымается. Пришло событие - квакнул в сислог, без вариантов ... Что ещё от файла требуется, кроме последовательности?
>Ну, тогда вопрос - а зачем ваще нужна SQL-обёртка над дисковым файлом?а зачем нужна ms access?
а зачем мне ставить для моей утилитки полноценный скуель?пример: моя прога оперирует большим количеством текстовой инфы.внимание вопрос: вам удобней будет работать с данными из разных полей посредством 1-2 sql запросов или парой сотней команд типа cat, grep, awk?
>В свете последнего вопроса возникает встречный вопрос - и для чего же?чутка выше объяснил.ну и до кучи вспомним файрфокс.для него тоже стОит поставить полноценную БД?
>Это вы про логи, что-ли? Ну, назвать вот этот вот поток (железного)
>сознания базой данных, как-то рука не подымается. Пришло событие - квакнул
>в сислог, без вариантов ... Что ещё от файла требуется, кроме
>последовательности?требуются различные отчеты: кто, куда, сколько раз, откуда, в какое время и тд и тп
>>Ну, тогда вопрос - а зачем ваще нужна SQL-обёртка над дисковым файлом?
>
>а зачем нужна ms access?А это что такое? Давайте не умножать сущности, а оперировать в множестве уже определенных (и известных обеим участникам) понятий.
>а зачем мне ставить для моей утилитки полноценный скуель?пример: моя прога оперирует
>большим количеством текстовой инфы.внимание вопрос: вам удобней будет работать с данными
>из разных полей посредством 1-2 sql запросов или парой сотней команд
>типа cat, grep, awk?По вашему, SQL==RDBMS? Ответ неверный ...
>[оверквотинг удален]
>
>чутка выше объяснил.ну и до кучи вспомним файрфокс.для него тоже стОит поставить
>полноценную БД?
>>Это вы про логи, что-ли? Ну, назвать вот этот вот поток (железного)
>>сознания базой данных, как-то рука не подымается. Пришло событие - квакнул
>>в сислог, без вариантов ... Что ещё от файла требуется, кроме
>>последовательности?
>
>требуются различные отчеты: кто, куда, сколько раз, откуда, в какое время и
>тд и тпВот и выходит, что SQL не нужен, а нужны тривиальные вторичные индексы, которые не только к SQL, но и к реляционной модели вообще никакого отношения не имеют.
>А это что такое? Давайте не умножать сущности, а оперировать в множестве
>уже определенных (и известных обеим участникам) понятий.не понял, что вы хотели этим сказать
>По вашему, SQL==RDBMS? Ответ неверный ...я в курсе что такое СУБД и что такое язык структурированных запросов
>Вот и выходит, что SQL не нужен, а нужны тривиальные вторичные индексы,
>которые не только к SQL, но и к реляционной модели вообще
>никакого отношения не имеют.еще раз.мне не нужны никакие индексы!индексы на все поля не навесиш, а мне именно интересно работать со всеми полями!
хорошо.давайте абстрагируемся от этого
1230760536.211 71 192.168.2.6 TCP_MISS/200 4309 GET http://vkontakte.ru/mail.php? - NONE/- text/html
поля 3,4,6,8,9,10 могут быть значениями из других таблиц (в частности у меня в самописном биллинге так оно и есть, ибо за 4 месяца squid+net-acct+ulog+netflow=85Gb в майскуеле)
это вам не реляция?
далее.поле 3 участвует в других таблицах (в частности net-acct,ulog,postfix,таблица пользователей)
сделано это для того, чтобы при смене айпи адреса, не нужно было ковырять около 20 таблиц (в том числе таблицы по описанию компа)
идем далее.
прекарсно осознаю, что в том виде, что я привел это просто плоская таблица, но! когда таких записей за сутки 180 мегабайт, а вам нужно быть готовым выдать отчет быстро (пользователь через веб-морду посмотрел куда и когда он ходил), вам проще будет выполнить 1 запрос или провести кучу текстовых операций?причем эти операции могут завершиться ошибкой из-за, например, невозможности поместить в переменную 20Mb промежуточных данных(не надо предлагать баловаться в размерами буферов и т.д.,т.к. на каждый сиюминутный фишкозапрос не понастраиваешся и , в конце концов, не сервер должен подстраиваться под инструмент, а наоборот).
надеюсь, сейчас я доступно объяснил почему могут возникнуть ситуации, когда плоскую таблицу необходимо перевести в реляционную и пользовать sql запросы вместо текстовых операций.
>>А это что такое? Давайте не умножать сущности, а оперировать в множестве
>>уже определенных (и известных обеим участникам) понятий.
>
>не понял, что вы хотели этим сказатьА какой, по-вашему, должен быть ответ на вопросы 'зачем создавался sql-lite' и 'зачем нужен ms access'?
>[оверквотинг удален]
>нужно быть готовым выдать отчет быстро (пользователь через веб-морду посмотрел куда
>и когда он ходил), вам проще будет выполнить 1 запрос или
>провести кучу текстовых операций?причем эти операции могут завершиться ошибкой из-за, например,
>невозможности поместить в переменную 20Mb промежуточных данных(не надо предлагать баловаться в
>размерами буферов и т.д.,т.к. на каждый сиюминутный фишкозапрос не понастраиваешся и
>, в конце концов, не сервер должен подстраиваться под инструмент, а
>наоборот).
>надеюсь, сейчас я доступно объяснил почему могут возникнуть ситуации, когда плоскую таблицу
>необходимо перевести в реляционную и пользовать sql запросы вместо текстовых операций.
>Вот и выходит, что кроме select вам ничего и не надо. О чем тогда вообще говорить? Вам нужны просто индексы, чтобы быстро выбрать нужные значения - только и всего ... Какого хрена сервер должен в онлайне заниматься составлением запроса на insert? Чтоб вам потом было удобней в оффлайне просматривать результаты? Посчитайте количество snprintf-ов, чтобы просто квакнуть в лог и для вашего биллинга... В конце концов, плоскую базу всегда можно проиндексировать асинхронно.
Хорошо.по вашей логике весь веб можно и нужно пересаживать тогда на плоские таблицы.ведь соотношение инсертов и селектов в 99% случаев будет 1 к 100000.можно и перетерпеть:)
>Хорошо.по вашей логике весь веб можно и нужно пересаживать тогда на плоские
>таблицы.ведь соотношение инсертов и селектов в 99% случаев будет 1 к
>100000.можно и перетерпеть:)Дык, для такого соотношения селектов и инсертов специально LDAP разрабатывали ...
Но у вас-то ситуация другая - insert-ы делаются часто и в онлайне (апачем), когда время прессует...
А селекты - фиг знает когда (и будут ли вообще) в оффлайне ...
хммм
а я считал что ЛДАП немнога не для того:)
у меня инсерты тож в кроне раз в минуту:)
* KBasic does not support ActiveX, because ActiveX is limited to Windows®Нафиг оно тогда нужно? Зато хоть это есть:
* KBasic supports many controls, which are very equal to the controls of VB6 (Form, CommandButton, TextBox…)
Некропатологоанатомы побоялись назвать этот проект "QBasic".
src оформлен жутко - глазам больно читать.
>src оформлен жутко - глазам больно читать.не понял что именно вам не понравилось исходники kbasic, его ide или что вообще и почему обоснуйте пожалуйста!
Я имею ввиду исходники. Их оформление.
http://www.kbasic.com/doku.php?id=source_codes
Код не обфусцирован,, но читать неприятно. очнь неприятно..
А IDE то коммерческая! Что толку от открытости языка?
А сейчас многие так делают - придумывают "родную и удобную" но закрытую IDE для открытого языка. IDE - это ваш инструмент которым вы как разработчик денежки зарабатываете, и если вам в ней удобно то и заработаете больше. Конечно, это всё в теории :)
>А сейчас многие так делают - придумывают "родную и удобную" но закрытую
>IDE для открытого языка. IDE - это ваш инструмент которым вы
>как разработчик денежки зарабатываете, и если вам в ней удобно то
>и заработаете больше. Конечно, это всё в теории :)А с чего вы взяли, что IDE закрытая?
Где это написано? Я там нашёл упоминание только GPL 3.
Оно, как я понял, под виндофсь коммерческое, а под линух - свободное...
>Оно, как я понял, под виндофсь коммерческое, а под линух - свободное...
>Цитата с сайта: The Linux® version is free of charge for open source (GPL 3) Software.
В общем-то для Германии вполне актуально - тут довольно много курсов программистов на VB , и самих таких скороспелых недопрограммистов много, и фирмочек в которых они штампуют разные CD с shareware или какими-нибудь интерактивными базами данных тоже порядком. Им это поделие позволит реально слезть с иглы M$ без особой переквалификации.
ЭЭ зачем это нужно? Если уж хочется VB и совместимости с MS - так лучше юзать mono.
О ,очереднлй проект ...Gambas Visual Basic тоже на Qt - и зачем изобретать велосипед ...
> ...обеспечивает 100% обратную совместимость...Это значит что программа на KBasic'e буде в Visual Basic'e исполнять вызов функций С/С++ ?
"Обратную совместимость". Предполагаю, что (по задумке) VB проекты под винду конвертятся в KBasic и затем работают в линухе...>поддержка вызова функций С/С++, позволяющая смешивать код BASIC и C/С++;
Жаль, что нельзя полностью отказаться от васика...
А какого года выпуска последняя версия?