Проект <<FreeBasic>>
+5
Замабувараев
tux
justar
ZERNOEd
ShenZN
Участников: 9
Страница 1 из 2 • 1, 2
Проект <<FreeBasic>>
Привет всем,
Сообщество FreeBasic бурно развивается, над компилятором все время работает группа разработчиков, в форуме появляются все новые вопросы и ответы на них, не прерывно появляются все новые проекты, написанные на FreeBasic. Кто-то пишет игрушку, а кто - то сверхсекретные задания от сверхсекретных спецлужб У каждого свои интресы и свои цели, для которых он использует FB.
Но будет лучше если на минуту остановится и подумать, а чем мы можем помочь сообществу и развитию FreeBasic. Если каждый член сообщества сделает свой хоть маленький вклад в развитие проекта, то он станет во много раз лучше.
Каждый из нас имеет некоторый опыт работы с FreeBasic, и у каждого из нас, я думаю, есть предложения по улучшению, добавлению и изменинию его. Поэтому я предлогаю начать дисскусию по этому поводу. А лучшие предложения по модернизации FreeBasic затем будут выдвенуты на оффициальном сайте от лица Русскоязычного Сообщества FreeBasic.
Все кому есть, что сказать пишите в эту тему.
Спасибо.
Сообщество FreeBasic бурно развивается, над компилятором все время работает группа разработчиков, в форуме появляются все новые вопросы и ответы на них, не прерывно появляются все новые проекты, написанные на FreeBasic. Кто-то пишет игрушку, а кто - то сверхсекретные задания от сверхсекретных спецлужб У каждого свои интресы и свои цели, для которых он использует FB.
Но будет лучше если на минуту остановится и подумать, а чем мы можем помочь сообществу и развитию FreeBasic. Если каждый член сообщества сделает свой хоть маленький вклад в развитие проекта, то он станет во много раз лучше.
Каждый из нас имеет некоторый опыт работы с FreeBasic, и у каждого из нас, я думаю, есть предложения по улучшению, добавлению и изменинию его. Поэтому я предлогаю начать дисскусию по этому поводу. А лучшие предложения по модернизации FreeBasic затем будут выдвенуты на оффициальном сайте от лица Русскоязычного Сообщества FreeBasic.
Все кому есть, что сказать пишите в эту тему.
Спасибо.
Re: Проект <<FreeBasic>>
На мой взгляд сейчас уже сложно что-то еще предложить, в FBC уже сейчас столько всего что надо еще разобраться и перепробовать это.
К примеру когда был 15-ый релиз я мог бы чего-то пожелать, но сейчас уже разные перечисления, конструкци, многопоточности появились и GUI стандартным API Win32 туда компилится и .res .rc.
В общем с запасом , кроме скорости и безглючности ничего на ум не пориходит.
Остальное на подобие ООП вроде и так делают.
Мне нужны вещи уже не связанные с FBC, например список WinAPI как можно более полные, я нпример пользуюсь Дельфяным но там приходится додумывать и он на половину переведен.
То есть не учебник "как да чё" а именно краткий список, в .bi-шках если подглядывать можно понять но не всё.
По использованию OpenGL-D3D тоже интересует подобное, но вроде как "Красная Книга" подходит.
Ну и как можно больше примеров на все случаи жизни, это я с форума собираю.
К примеру когда был 15-ый релиз я мог бы чего-то пожелать, но сейчас уже разные перечисления, конструкци, многопоточности появились и GUI стандартным API Win32 туда компилится и .res .rc.
В общем с запасом , кроме скорости и безглючности ничего на ум не пориходит.
Остальное на подобие ООП вроде и так делают.
Мне нужны вещи уже не связанные с FBC, например список WinAPI как можно более полные, я нпример пользуюсь Дельфяным но там приходится додумывать и он на половину переведен.
То есть не учебник "как да чё" а именно краткий список, в .bi-шках если подглядывать можно понять но не всё.
По использованию OpenGL-D3D тоже интересует подобное, но вроде как "Красная Книга" подходит.
Ну и как можно больше примеров на все случаи жизни, это я с форума собираю.
Проект <<FreeBasic>>
Как компилить .rc?
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
FREEBASIC
Создай свой res файл, а при компиляции добавь этот файл - fbc anyresource.rc anyprogram.bas
Можеш еще посмотреть статью из QBExpress Issue #9 - Spicing Up Some Custom Windows Icons In your FreeBASIC Programs!
Удачи!
Можеш еще посмотреть статью из QBExpress Issue #9 - Spicing Up Some Custom Windows Icons In your FreeBASIC Programs!
Удачи!
Предложения и пожелания
Предлагайте, высказывайте свое мнение по тем или иным возможностям, функциям, изменениям в FreeBasic.
Давайте вместе сделаем его лучше
Принимаются все пожелания и критика.
Давайте вместе сделаем его лучше
Принимаются все пожелания и критика.
Re: Проект <<FreeBasic>>
Ну меня допустим польностью FB устраивает в том виде, в котором он сейчас (в принципе он меня и 2 года назад вполне устраивал, когда я его тока нашел), куда еще дальше развиваться я и не представляю. Единственное, у мня были идеи предложить сделать еще и интерпретатор, поддерживающий синтаксис FB, но это я думаю практически нереально, всетаки интерпретируемые языки от компилируемых значиетльно отличаюся
Re: Проект <<FreeBasic>>
Улучшение FreeBASIC'а
Устранить недоработки с кодировками символов. (У меня возникали сложности при выводе русских букв оператором PRINT, а также функция Dir возвращает вражеские символы вместо нормальных, если в пути имеются русские буквы.)
Интересно добавить появившуюся возможность в VB.Net создавать самодокументированный код в виде XML-комментариев. В VB.Net это выглядит примерно так:
Ещё одно, о чём всегда мечтал. Операционные системы пишут с применением C и ассемблера. А почему бы не исправить несправедливую ситуацию и доработать FreeBASIC таким образом, чтобы его можно было использовать для написания операционных систем? Я не знаю, какие необходимо сделать изменения точно, может быть, их будет много, но они нужны.
Устранить недоработки с кодировками символов. (У меня возникали сложности при выводе русских букв оператором PRINT, а также функция Dir возвращает вражеские символы вместо нормальных, если в пути имеются русские буквы.)
Интересно добавить появившуюся возможность в VB.Net создавать самодокументированный код в виде XML-комментариев. В VB.Net это выглядит примерно так:
- Код:
'''' <summary>
'''' Функция Test, описание того, что она делает
'''' <params name="X">Описание этого параметра</params>
'''' <params name="Y">Описание этого параметра</params>
'''' </summary>
Private Function Test(ByVal X As Integer, ByVal Y As Integer) As Integer
Return X + Y
End Function
Ещё одно, о чём всегда мечтал. Операционные системы пишут с применением C и ассемблера. А почему бы не исправить несправедливую ситуацию и доработать FreeBASIC таким образом, чтобы его можно было использовать для написания операционных систем? Я не знаю, какие необходимо сделать изменения точно, может быть, их будет много, но они нужны.
Re: Проект <<FreeBasic>>
неправда ваша, PRINT делает все нормально (скорее всего и DIR), просто вы вероятно выводите в консоль, а пишете в ыиндовой кодировке, если строку написать в досовской кодировке то все отображается нормально
а про операционки, то непонимаю зачем ето надо (неужель сам писать собрался)), а если чесно, то вообще я не имею представления как на высокоуровневых языках пишут оси
а про операционки, то непонимаю зачем ето надо (неужель сам писать собрался)), а если чесно, то вообще я не имею представления как на высокоуровневых языках пишут оси
Re: Проект <<FreeBasic>>
Про ооп, уже говорилось, но хочеться его всё же более полной реализации.
Код с самодокументацией, это хорошая идея. Но за пример нужно брать java. Там реализация полноценная. Инфа по классам полностью есть в исходниках.
Про операционку тоже правильно и я поддерживаю эту мыслю. Но думаю оно уже есть. А вот нет примеров. Особенно перехода в защищённый режим. Но это по любому нужно на ассемблере делать.
Хотелось бы более глубокую отладку.
Хотелось бы, чтобы была поддержка мобильных платформ.
И вот я подошел к самому интересному. Хотя и самому кординальному.
Очень хочеться поиметь язык, синтаксис которого можно было бы гибко настраивать.
задать свои символы ограничения строк (кавычки)
свои комментарии.
И полностью перенастроить (алиасы) имён функций.
Так, чтобы в идеале на входе мог быть любой язык.
Но наверное это уже не fb, а нечто другое.
Код с самодокументацией, это хорошая идея. Но за пример нужно брать java. Там реализация полноценная. Инфа по классам полностью есть в исходниках.
Про операционку тоже правильно и я поддерживаю эту мыслю. Но думаю оно уже есть. А вот нет примеров. Особенно перехода в защищённый режим. Но это по любому нужно на ассемблере делать.
Хотелось бы более глубокую отладку.
Хотелось бы, чтобы была поддержка мобильных платформ.
И вот я подошел к самому интересному. Хотя и самому кординальному.
Очень хочеться поиметь язык, синтаксис которого можно было бы гибко настраивать.
задать свои символы ограничения строк (кавычки)
свои комментарии.
И полностью перенастроить (алиасы) имён функций.
Так, чтобы в идеале на входе мог быть любой язык.
Но наверное это уже не fb, а нечто другое.
Re: Проект <<FreeBasic>>
Значительно ли отличается QBASIC от QBASIC? А ведь этот язык имел и интерпретатор, интегрированный в среду, и компилятор. Да, кажется, был BASCOM и для GW-BASIC...tux пишет:Единственное, у мня были идеи предложить сделать еще и интерпретатор, поддерживающий синтаксис FB, но это я думаю практически нереально, всетаки интерпретируемые языки от компилируемых значиетльно отличаюся
В конце концов "чистые" программы (без WinAPI и сторонних библиотек) можно отлаживать в интерпретаторе QBASIC, а потом компилить fbc -lang qb. Впрочем, не очень понимаю, что это даст - точно так же отлаживатся собранная в FB программа под GDB...
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
Мысль хорошая, но, IMHO, для компилятора это излишне - это лучше добавить в IDEzamabuvaraeu пишет:
Интересно добавить появившуюся возможность в VB.Net создавать самодокументированный код в виде XML-комментариев. После компиляции кода в файле с EXE-шником появляется XML файл с документированными таким образом функциями. Очень удобная вещь, чтобы не лазить по всему исходному коду, а быстро просмотреть, что эта функция делает.
Необходим разве что ввод-вывод через БИОС (кстати, кто-то смотрел исходники PRINT, INPUT и INKEY$ - может они так и делают?). Но это можно реализовать на встренном ассемблере... Кстати, недавно где-то в Сети (ссылку, цвы, не запомнил) наткнулся на русскоязычный форум, где как раз обсуждалась возможность написания ОС на Бейсике. И там даже были люди, которые это реально делали... Как я понял, особых языковых проблемм нет - форум быстро скатился на обсуждение самой целесообразности написания новой осиЕщё одно, о чём всегда мечтал. Операционные системы пишут с применением C и ассемблера. А почему бы не исправить несправедливую ситуацию и доработать FreeBASIC таким образом, чтобы его можно было использовать для написания операционных систем? Я не знаю, какие необходимо сделать изменения точно, может быть, их будет много, но они нужны.
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
Да нет, неправда как раз ваша. В графических режимах PRINT вместо русских букв в CP866 выводит псевдографику.tux пишет:неправда ваша, PRINT делает все нормально (скорее всего и DIR), просто вы вероятно выводите в консоль, а пишете в ыиндовой кодировке, если строку написать в досовской кодировке то все отображается нормально
Проверял, набирая прогу в редакторе FARа
Для проверки собственных знаний и усидчивости, наверное
а про операционки, то непонимаю зачем ето надо (неужель сам писать собрался)),
А в чём предполагаешь проблемы? IMHO, даже драйвер можно написать на Бейсике, пользуясь INP и OUT (и, возможно, POKE и PEEK). Ну разве что работать будет медленнее... но при сегодняшнем железе это не препятствие А уж ядро и интерфейс писать на высоком уровне самое то.а если чесно, то вообще я не имею представления как на высокоуровневых языках пишут оси
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
привет. мои пожелания. расширить синтаксис строковых массивов как в c. пример:
код на c:
char DelString [] =
{
0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8
}
код на FreeBasic
dim DelString as string = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}.
чтоб вложеным типам в union, можно было присваивать имена как в c, иногда это надо.
можно для читаемости кода, сделать struct, причем пусть будет и type и struct, только с синтаксисом FreeBasic, пример как должно это выглядеть на FreeBasic со вложенными структурами(типами) имеющими имена:
struct snd
Freq as integer
union snd
struct table
bitspersec as integer
chan as integer
end struct
end union
pitch as integer
end struct
так же и с type:
type snd
Freq as integer
union snd
type table
bitspersec as integer
chan as integer
end type
end union
pitch as integer
end type
так удобно будет портировать сишные заголовки, упрать скобочки, добавить к концу каждой структуре end struct и все.
чтоб пот Symbian мог компилить,
для таких тупых в математике, как я, сделать функцию ResFilter(freq as single, resonance as integer) as integer
короче функция резонанс фильтра с определенной частотой среза, и резонанса.
вообще чесно говоря, хотелось бы полезных функций, помогающих в написании музыкальной программы, чтоб не считать sin,cos и т.д. конечно во FreeBasic врят ли ктото сделает, а вот если кто-нибудь мне напишет такую библиотечку, буду благодарен.
код на c:
char DelString [] =
{
0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8
}
код на FreeBasic
dim DelString as string = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}.
чтоб вложеным типам в union, можно было присваивать имена как в c, иногда это надо.
можно для читаемости кода, сделать struct, причем пусть будет и type и struct, только с синтаксисом FreeBasic, пример как должно это выглядеть на FreeBasic со вложенными структурами(типами) имеющими имена:
struct snd
Freq as integer
union snd
struct table
bitspersec as integer
chan as integer
end struct
end union
pitch as integer
end struct
так же и с type:
type snd
Freq as integer
union snd
type table
bitspersec as integer
chan as integer
end type
end union
pitch as integer
end type
так удобно будет портировать сишные заголовки, упрать скобочки, добавить к концу каждой структуре end struct и все.
чтоб пот Symbian мог компилить,
для таких тупых в математике, как я, сделать функцию ResFilter(freq as single, resonance as integer) as integer
короче функция резонанс фильтра с определенной частотой среза, и резонанса.
вообще чесно говоря, хотелось бы полезных функций, помогающих в написании музыкальной программы, чтоб не считать sin,cos и т.д. конечно во FreeBasic врят ли ктото сделает, а вот если кто-нибудь мне напишет такую библиотечку, буду благодарен.
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: Проект <<FreeBasic>>
ой! я в предыдущем сообщении ошибся.
код на FreeBasic
dim DelString as string = { &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8}
дурная привычка вставлять из буфера обмена, хотя в 1999 году начинал с чистого dos.
чесно говоря, во FreeBasic, и такой синтаксис представления чисел не помешает: .
dim DelString as string = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}
рас уж они начали воровать с c всё что только возможно, пусть своруют всё, но в синтаксисе FreeBasic. тогда не составит труда, перевести почти любой исходник на FreeBasic.
код на FreeBasic
dim DelString as string = { &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8, &h8}
дурная привычка вставлять из буфера обмена, хотя в 1999 году начинал с чистого dos.
чесно говоря, во FreeBasic, и такой синтаксис представления чисел не помешает: .
dim DelString as string = { 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8}
рас уж они начали воровать с c всё что только возможно, пусть своруют всё, но в синтаксисе FreeBasic. тогда не составит труда, перевести почти любой исходник на FreeBasic.
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: Проект <<FreeBasic>>
Кстати, недавно где-то в Сети (ссылку, цвы, не запомнил) наткнулся на русскоязычный форум, где как раз обсуждалась возможность написания ОС на Бейсике. И там даже были люди, которые это реально делали...
Жаль... Очень было б интересно посмотреть
рас уж они начали воровать с c всё что только возможно, пусть своруют всё, но в синтаксисе FreeBasic. тогда не составит труда, перевести почти любой исходник на FreeBasic.
Это конечно хорошо, но а с другой стороны плохо. Не стоит копировать полностью С/С++, нужно брать из них лучшее. А то получится тот же С но с синтаксисом Basic. В ФБ уже намечается такая проблема, плюс еще реализовывается куча разных функций которые, заменимы и повторяют в какой то степени друг друга. На мой взгляд, язык программирования должен быть не перегружен различными функциями "на каждый день", а иметь весь минимальный набор средств для профессионального программирования. А дополнительные функции стоит реализовывать отдельно, один из примеров (FreeBASIC Extended Library):
http://code.google.com/p/fb-extended-lib/
Thanks!!!
Re: Проект <<FreeBasic>>
Нужен свободный, объектноориентированный бэйсик, но это уже не freebasic, так как он будет точно не совместим с qbasic.
Я это к тому, что нужно брать лучшее.
В java очень прикольно реализованы функции.
Они там именно, что на все случаи жизни.
Но каждый набор функций это отдельный класс.
Я это к тому, что нужно брать лучшее.
В java очень прикольно реализованы функции.
Они там именно, что на все случаи жизни.
Но каждый набор функций это отдельный класс.
Re: Проект <<FreeBasic>>
Нужен свободный, объектноориентированный бэйсик, но это уже не freebasic, так как он будет точно не совместим с qbasic.
Почему? Язык программирования не совмещен с qbasic (и не должен), а вот компилятор вполне может. Для этого и развивают разные ветви qb, fb, fblite.
В java очень прикольно реализованы функции.
Они там именно, что на все случаи жизни.
Да, но для их использования нужно импортировать какой то класс (например: import java.io.*, они не встроены в сам язык. И это правильно. По такому же принципу должен создаваться любой язык, то есть язык должен одержать лиш базу, с помощью которой можно создать все что угодно.
Re: Проект <<FreeBasic>>
Чтобы бэйсик сделать объектноориентированым нужно всё переводить в классы, тогда кстати будет очень похоже на java, с импортом.
Если кто не ковырялся в vb.net и c#, то расскажу, это такой прикол!
Там объектная модель реализована очень даже неплохо (на первый взгляд),
дошло до того, что программа на бэйсике почти не отличаеться от проги на си.
Для действительно объектного языка, нужно переделывать всё. Даже работу с файлами.
Если кто не ковырялся в vb.net и c#, то расскажу, это такой прикол!
Там объектная модель реализована очень даже неплохо (на первый взгляд),
дошло до того, что программа на бэйсике почти не отличаеться от проги на си.
Для действительно объектного языка, нужно переделывать всё. Даже работу с файлами.
Re: Проект <<FreeBasic>>
А собственно, почему? С++ это ведь полноценный объектно-ориентированный язык, но он полностью совместим с Си...Eric-S пишет:Нужен свободный, объектноориентированный бэйсик, но это уже не freebasic, так как он будет точно не совместим с qbasic.
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
Сделать язык объектноориентированным это одно, а полноценным это уже другое.
сравните c++ и c#
или лучше
vb6 и vb.net
Первый по сути являеться объектноориентированным языком, но его конструкции классические процедурные.
А второй же именно полностью объектноориентированный.
Это очень чётко видно если сравнивать, то как открывать файлы.
вот шаблон процедурного подхода
Хорактерная для процедурного программирования т.н. плоская модель. Хэндл файла передаёться в качестве параметра к функции.
И вот шаблон объектноориентированного подхода
Примерчики скажем так, идентичны. Но fh (хэндл файла) изменился на fo (объект файла).
Выйгрыш не заметен. Но он есть. Лучше всего он виден, когда кодишь в среде (забыл слово, кажеться интелесенце.) которая выводит подсказки, что можно делать с объектом конкретного класса.
Такой подход более упорядоченный.
Пространство имён функций высвобождаеться ну и т.д.
И если уж выносить функции в отдельные библиотеки, то лучше уж всё.
Ориентироваться тут нужно, конечно же на java.
Вот по этому я и говорю, что объектный бэйсик будет далёк от процедурного.
Можно посмотреть на php. Там реализованна объектная структура, но на базе процедурного. Именно ради обратной совместимости. Вышло довольно неплохо. Но нет системы.
сравните c++ и c#
или лучше
vb6 и vb.net
Первый по сути являеться объектноориентированным языком, но его конструкции классические процедурные.
А второй же именно полностью объектноориентированный.
Это очень чётко видно если сравнивать, то как открывать файлы.
вот шаблон процедурного подхода
- Код:
dim fh as integer = FreeFile
open "my_file.txt" as #fh
write #fh, "test string"
close #fh
Хорактерная для процедурного программирования т.н. плоская модель. Хэндл файла передаёться в качестве параметра к функции.
И вот шаблон объектноориентированного подхода
- Код:
dim fo as new File
fo.open "my_file.txt"
fo.write "test string"
fo.close
Примерчики скажем так, идентичны. Но fh (хэндл файла) изменился на fo (объект файла).
Выйгрыш не заметен. Но он есть. Лучше всего он виден, когда кодишь в среде (забыл слово, кажеться интелесенце.) которая выводит подсказки, что можно делать с объектом конкретного класса.
Такой подход более упорядоченный.
Пространство имён функций высвобождаеться ну и т.д.
И если уж выносить функции в отдельные библиотеки, то лучше уж всё.
Ориентироваться тут нужно, конечно же на java.
Вот по этому я и говорю, что объектный бэйсик будет далёк от процедурного.
Можно посмотреть на php. Там реализованна объектная структура, но на базе процедурного. Именно ради обратной совместимости. Вышло довольно неплохо. Но нет системы.
Re: Проект <<FreeBasic>>
Непонятно только одно - почему эти два способа не могут сосуществовать в пределах одного компилятора?Eric-S пишет:Примерчики скажем так, идентичны. Но fh (хэндл файла) изменился на fo (объект файла).
Выйгрыш не заметен. Но он есть.
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
А зачем, если уже есть объектный Бейсик? Если из FB убрать процедурный подход - то что это будет - просто немелкомягкая бесплатная реинкарнация vb.net? А оно надо? Пусть vb.net существует для чистого ООП, а fb - для процедурного и смешанного. IMHO, это более правильно - не стоит лишать разработчиков выбора.Eric-S пишет:Я, да, хотелбы!
justar- Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 50
Откуда : Кишинёв, Республика Молдоа
Re: Проект <<FreeBasic>>
А помоему бейсик всю жисть был процедурным языком, многих это в нем и привлекает (к примеру меня), а кому уж надо ООП, те и выбирают соответствующие языки
Страница 1 из 2 • 1, 2
Права доступа к этому форуму:
Вы не можете отвечать на сообщения