Форум программистов, компьютерный форум, киберфорум
Наши страницы
Basic
Войти
Регистрация
Восстановить пароль
Результаты опроса: Нужен ли раздел для FreeBasic
Определённо нужен 13 76.47%
В разделе нет необходимости 3 17.65%
Другой вариант(написать в теме) 1 5.88%
Голосовавшие: 17. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.85/46: Рейтинг темы: голосов - 46, средняя оценка - 4.85
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
1

Создание раздела FreeBasic (голосование)

19.10.2012, 18:45. Просмотров 8646. Ответов 99

Приветствую всех форумчан!

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

Именно поэтому предлагаю администрации cyberforum подумать над созданием нового
раздела для FreeBasic. Предполагаю, если появится раздел, появятся и новые пользователи,
которые будут поддерживать его, включая меня.

Однако безосновательно создавать раздел я не прошу, давайте посмотрим нужен ли он людям,
для этого, собственно и создаю данный топик. Люди проголосуют и всё будет видно.



Почему FreeBasic?
  1. Современный
  2. Свободный и бесплатный
  3. Кроссплатформенный(Windows, Linux)

Давайте посмотрим на функционал:

Описание: http://ru.wikipedia.org/wiki/FreeBASIC
Официальный сайт(Англоязычный): http://www.freebasic.net/
Ресурсы сети интернет по FreeBasic
Русскоязычные сайты:
http://freebasic.narod.ru/
http://freebasic.ru/
Статейка: http://www.tiflocomp.ru/docs/programming/fbc.php
IDE для FreeBasic(Англ.): http://fbide.freebasic.net/
Мануал по операторам\функциям: http://www.freebasic.net/wiki/wikka.php?wakka=DocToc
Архив с тулзами\библиотеками\туториалами: http://www.freebasic.net/___old_site/arch/

Частичная цитата:
FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к
QuickBasic ... Первоначально разрабатывался как свободная альтернатива Microsoft
QuickBasic, но быстро оброс новыми возможностями и стал мощным средством разработки.
  • Поддержка Unicode.
  • Множество встроенных типов переменных (Byte, UByte, Short, UShort, Integer, UInteger,
    LongInt, ULongInt, Single, Double, String, ZString, WString).
  • Типы данных определяемые пользователем (бесконечная вложенность, Union, тип поля
    (array, function, bit fields)).
  • Пространства имён.
  • Перечислимый тип (Enum).
  • Новые возможности при работе с массивами (до 2 ГБ размером, Redim Preserve).
  • Указатели (указатели на любые типы данных, неограниченная косвенная адресация).
  • Перегрузка функций и операторов.
  • Необязательные аргументы функций.
  • Встроенный ассемблер (ассемблерные инструкции в исходном коде программы).
  • Препроцессоры.
  • Typedefs.
  • Конструкторы и деструкторы классов.
  • Улучшенная графическая библиотека.

Моё мнение:

В целом, если полазить по интернету, можно понять, что у диалекта огромный потенциал.
Русских коммюнити FB не так уж и много, поэтому, было бы неплохо создать ветку и поддержать
разработчиков.


P.S. Я постарался донести информацию в объективной и понятной форме, надеюсь тема не
останется без ответа и голосов, всем спасибо за внимание .
9
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2012, 18:45
Ответы с готовыми решениями:

Создание статической библиотеки в FreeBasic
Есть непонятки со статической библиотекой. Код. Public Function Add2( ByVal x As Integer, ByVal y...

Создание блок-схемы FreeBasic - Basic
cls dim as single n,i input n screen 12 window (-200,-200)-(200,200) x1=-190 y1=-190 ...

FreeBASIC
Заметил, что уже имеющиеся на форуме темы в разделах: - QBasic - Visual Basic - VBA - Pure...

Графика FreeBasic
Приветствую всех cyber-форумчан!:) Несмотря на наличие графического треда в младшем разделе,...

Осваиваю (ем) FreeBasic
Решил больше не тянуть, а приступить сегодня. Если тема будет актуальна - возможно модераторы...

99
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27975 / 15701 / 963
Регистрация: 15.09.2009
Сообщений: 67,815
Записей в блоге: 78
19.10.2012, 19:57 2
встречный вопрос:
много ли тем на форуме с FreeBasic ?
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
19.10.2012, 21:59  [ТС] 3
Тем копейки, это не главное. Я считаю что тем нету из-за отсутствия раздела.
Негде аккумулироваться спецам, в корень раздела я например очень редко захожу.
Давайте прикинем, на учебном разделе темы десятками за неделю плодятся, на диалекте
который уже по большому счёту никому не нужен и устарел.
Также на интерес людей влияют закреплённые темы, наглядно демонстрирующие те
или иные возможности и пути решения каких-либо нетривиальных задач.
А можно пойти по аналогии с FreePascal, тут тоже самое только Basic, разницы в идеологии
я почему то не вижу, а почему бы и нет...
Можно попробовать мыслить в 4-х измерениях, зачем думать почему нет тем сейчас, будет
раздел будут темы, лично буду создавать, аппетит как говорится приходит во время еды.

Добавлено через 1 час 19 минут
Короче подождём недельку-другую, пока голоса наклюнутся, тему я буду периодически
поддёргивать, чтобы не падала и возможно постить какие-либо интересные материалы.

Программы на FreeBasic:
3D шахматы
Фракталы FB+Asm, SSE оптимизация
Такую штуку написали люди на FB, не лучший пример, но тем не менее прикольно.
marine combat flight simulator
0
Pro_grammer
Модератор
6212 / 2300 / 448
Регистрация: 24.04.2011
Сообщений: 4,112
Записей в блоге: 10
19.10.2012, 22:31 4
Лучший ответ Сообщение было отмечено как решение

Решение

А что, пусть будет! В любом случае лишний опыт не помешает, особенно если возьмется за дело человек знающий.
Мне лично нравится библиотека Станислава Будинова Window9. C её помощью на FB можно создавать программы так же просто и непринужденно, как и в PureBasic, а бесплатность это неоспоримое достоинство.
3
19.10.2012, 22:31
magirus
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
27975 / 15701 / 963
Регистрация: 15.09.2009
Сообщений: 67,815
Записей в блоге: 78
19.10.2012, 22:35 5
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Я считаю что тем нету из-за отсутствия раздела.
а я считаю - из за невостребованности диалекта. иначе бы они накапливались в корне раздела.
(я не претендую на истину в последней инстанции)
1
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
19.10.2012, 23:10  [ТС] 6
я не претендую на истину в последней инстанции
Да я собственно тоже

особенно если возьмется за дело человек знающий
Это было бы отлично, как когда-то в своё время PB суппортил свою тему про PureBasic,
разжёвывая каждый мелкий вопрос и объясняя всё на примерах кода.
Немного видел людей, которые ТАК помогают. Хотя как вы помните, меня слегка добивало
такое "мучение" PB, по пустяковым вопросам, он же спец, а его мол новики дерут зазря...
0
Pro_grammer
Модератор
6212 / 2300 / 448
Регистрация: 24.04.2011
Сообщений: 4,112
Записей в блоге: 10
20.10.2012, 07:46 7
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
как когда-то в своё время PB суппортил свою тему про PureBasic
Такие как Пётр люди редко встречаются. С FB так вряд ли повезет.
1
locm
2200 / 960 / 121
Регистрация: 28.10.2011
Сообщений: 3,217
Записей в блоге: 6
20.10.2012, 16:20 8
Мое ИМХО по первому посту.
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
россплатформенный(Windows, Linux)
Да, для FB есть компиляторы под DOS, Win x86 и Lin x86, только нет кроссплатформенной библиотеки функций. В итоге получается что для того чтобы перенести программу с одной платформы на другую, нужно будет переписывать большую часть кода. К примеру, чтобы прогу портировать с Windows на Linux, придется заменить все WinAPI функции на аналоги, имеющиеся в Linux, скажем, из библиотеки GTK.

Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Поддержка Unicode.
На сколько мне известно это выражается только в наличии юникодных строк. Но не избавляет от необходимости править код если требуется готовый проект преобразовать из ASCII в юникод. Здесь не обойдешься установкой парой галочек в опциях проекта.


Вообще, FB хорош для компиляции прог для QB и его можно использовать как альтернативу QB.
1
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
20.10.2012, 21:07  [ТС] 9
FB хорош для компиляции прог для QB
Возможно, к сожалению я ни одну свою прогу не смог скомпилить. Слишком много
разногласий архитектуры. Если это и возможно, то нужно опять же переписывать
пол программы, поэтому я не ровняюсь на QuickBasic, слишком уж они разные.
Однако чисто теоретически, можно писать программы на QBasic\QuickBasic, которые будут
компилироваться и на FB, правда так себя ограничивать никто не будет + нужно постоянно
компилить на FB, для проверки. Суть в том что в MS-DOS вся работа с ОС и драйверами идёт
через прерывания и встроенных средств языка недостаточно, к примеру получить список
директорий\файлов, поставить хендл на мышку, таймер или SB, также можно низкоуровнево
попрограммировать девайсы, FB это к сожалению не схавает понятно почему. Один переход
с сегментной модели на плоскую 32-битную чего стоит, очень много программ отваливается
сразу, править руками такое в полностью готовой программе трудоёмко. В общем я бы не
решился даже небольшой проект портировать, а бывают проекты набитые хинтами типа эвента
ON PLAY заместо таймера, вывода текста на экран напрямую через память, мышка через ABSOLUTE,
BLOAD\BSAVE ну или для QuickBasic с подключением статических *.Qlb библиотек.
Короче там очень много нюансов, я читал документацию по FB, просто нужно привыкнуть, что
99% программ(не учебных на 15 строк) не скомпилируются. Но это ведь не проблема, всегда
можно написать новое.

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

На сколько мне известно это выражается только в наличии юникодных строк. Но не избавляет от необходимости править код если требуется готовый проект преобразовать из ASCII в юникод. Здесь не обойдешься установкой парой галочек в опциях проекта.
Я не совсем понял про это, т.е. строки русского текста в коде программы придётся переводить
из ASCII в Unicode? Редактор Bred делает это в 2 клика, не очень удобно но терпимо...

только нет кроссплатформенной библиотеки функций
придется заменить все WinAPI функции на аналоги, имеющиеся в Linux, скажем, из библиотеки GTK.
Да, но кто будет писать кроссплатформу может об этом позаботиться и сразу юзать GTK.
0
locm
2200 / 960 / 121
Регистрация: 28.10.2011
Сообщений: 3,217
Записей в блоге: 6
21.10.2012, 14:19 10
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Я не совсем понял про это, т.е. строки русского текста в коде программы придётся переводить из ASCII в Unicode?
Имел в виду код программы.
Наверняка знаете что существуют разные функции для ASCII и юникода, к примеру MessageBoxA() и MessageBoxW(). Если потребуется портировать уже готовый проект с ASCII и юникод или наоборот, то могут возникнуть проблемы.


Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
сразу юзать GTK
Оправданно только для больших проектов.
А для мелких, ИМХО нецелесообразно тащить GTK за Windows-прогой, да и интерфейс будет непривычным для винды.
1
ikki
призрак
2826 / 882 / 118
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
21.10.2012, 23:41 11
проголосовал "за".
будем посмотреть.
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
25.10.2012, 20:06  [ТС] 12
Всем кто проголосовал "за", сапсибо за поддержку.
Раздел, если появится, обещает быть интересным.
Возможностей куча, однако информация ищется с трудом.
Основную проблему составляют хедеры интерфейсов библиотек.
Да кучу интерфейсов разработчики портировали, но также многих ещё нету.
Информация по этому вопросу тут: http://code.google.com/p/freebasic-headers/wiki/HeaderStatus

Вот к примеру исходник использования OpenAL, если кто не знает, это бесплатная
библиотека от Creative для работы со звуком. Для работы проги её нужно
откомпилировать под консоль и в директорию с exe-шником закинуть файл alut.dll.
Пакет Alut с хедером для си, статической и динамической библиотекой скачивается
с оффициального сайта OpenAL.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
' OpenAL Example Program
' ----------------------
' Written by Chris Davies <c.g.davies@gmail.com>
' 15th February, 2005
'
'
' An example program demonstrating how to use OpenAL through FreeBASIC.
' This program is based on the C/C++ version written by Jesse Maurais
' ([url]http://www.devmaster.net/articles/openal-tutorials/lesson1.php[/url]).
'
' The sample WAV file was taken from one of Nightbeat's MODs... :)
'
'
' For more FreeBASIC: [url]http://www.freebasic.net/[/url]
'
' ============================================================================
'
 
#include "al/al.bi"
#include "al/alut.bi"
 
declare sub UnloadResources()
 
 
dim shared Buffer as ALuint   ' buffer to hold audio data.
dim shared Source as ALuint   ' source for the sound to come from.
dim SourcePos(3) as ALfloat   ' 3D position of the sound source.
dim SourceVel(3) as ALfloat   ' 3D velocity of the sound source.
dim ListenerPos(3) as ALfloat ' 3D position of the listener.
dim ListenerVel(3) as ALfloat ' 3D velocity of the listener.
dim ListenerOri(6) as ALfloat ' Listener orientation.
 
dim wavFormat as ALenum
dim wavSize as ALsizei
dim wavFreq as ALsizei
dim wavData as any ptr
dim wavLoop as ALboolean
 
dim curPitch as ALfloat
 
dim done as integer
dim y as integer
dim tmr as single
dim kbin as string
 
 
 
'--- Initialisation ----------------------------------------------------------
color 7,0
cls
 
print "Initialising OpenAL... ";
alutInit(0, 0)
print "done."
 
print "Generating buffers... ";
alGenBuffers(1, @Buffer)
if alGetError <> AL_NO_ERROR then
   print "failed!"
   alutExit
   end
end if
print "done."
 
print "Loading the WAV resource into audio buffer... ";
alutLoadWAVFile("data/prodigy.wav", @wavFormat, @wavData, @wavSize, @wavFreq, @wavLoop)
alBufferData(Buffer, wavFormat, wavData, wavSize, wavFreq)
alutUnloadWAV(wavFormat, wavData, wavSize, wavFreq)
 
if alGetError <> AL_NO_ERROR then
   print "failed!"
   alutExit
   end
end if
 
print "done."
 
print "Generating sources... ";
alGenSources(1, @Source)
if alGetError <> AL_NO_ERROR then
   print "failed!"
   alutExit
   end
end if
print "done."
 
 
print "Setting source options... ";
 
' configure source and listener 3-d info.
SourcePos(0) = 0.0      ' x
SourcePos(1) = 0.0      ' y
SourcePos(2) = 0.0      ' z
 
SourceVel(0) = 0.0      ' x
SourceVel(1) = 0.0      ' y
SourceVel(2) = 0.0      ' z
 
curPitch = 1.0
alSourcei (Source,   AL_BUFFER,     Buffer)
alSourcef (Source,   AL_PITCH,      curPitch)
alSourcef (Source,   AL_GAIN,       1.0)
alSourcefv(Source,   AL_POSITION,   @SourcePos(0))
alSourcefv(Source,   AL_VELOCITY,   @SourceVel(0))
alSourcei (Source,   AL_LOOPING,    wavLoop)
 
 
if alGetError <> AL_NO_ERROR then
   print "failed!"
   UnloadResources
   alutExit
   end
end if
 
print "done."
 
 
print "Setting listener options... ";
 
ListenerPos(0) = 0.0    ' x
ListenerPos(1) = 0.0    ' y
ListenerPos(2) = 0.0    ' z
 
ListenerVel(0) = 0.0    ' x
ListenerVel(1) = 0.0    ' y
ListenerVel(2) = 0.0    ' z
 
ListenerOri(0) = 0.0    ' at(x)
ListenerOri(1) = 0.0    ' at(y)
ListenerOri(2) = -1.0   ' at(z)
ListenerOri(3) = 0.0    ' up(x)
ListenerOri(4) = 0.0    ' up(y)
ListenerOri(5) = 1.0    ' up(z)
 
alListenerfv(AL_POSITION, @ListenerPos(0))
alListenerfv(AL_VELOCITY, @ListenerVel(0))
alListenerfv(AL_ORIENTATION, @ListenerOri(0))
 
 
if alGetError <> AL_NO_ERROR then
   print "failed!"
   UnloadResources
   alutExit
   end
end if
 
print "done."
 
 
 
print "Press any key to continue... "
while inkey = "": wend
 
 
 
'--- Main Loop ---------------------------------------------------------------
color 7, 0
cls
 
color 15, 0
print "FreeBASIC OpenAL Demo"
color 8, 0
print "Written by Chris Davies [shiftLynx]"
 
print string(80, 196)
 
color 7,0
print " Welcome to the OpenAL demonstration program.  This program will demonstrate"
print " FreeBASIC using the OpenAL advanced sound library."
print
print " See the comments at the top of the source code for this demo for more"
print " information, including where to find a good OpenAL tutorial. :)"
print
print string(80, 196)
color 15, 0
print " Menu"
color 7, 0
print
print "      1. Play Sample                     5. Increase Pitch"
print "      2. Play Sample (Looping)           6. Decrease Pitch"
print "      3. Pause Sample                    7. Increase Source Distance"
print "      4. Stop Sample                     8. Decrease Source Distance"
print
print "      9. Exit"
print
print " Option: ";
 
done = 0
while done = 0
   
   ' check for input.
   kbin = inkey
   if kbin <> "" then
      select case kbin
         case "1"
            ' play the sample.
            locate 22, 10: color 15, 0: print "1";: color 7, 0
            
            ' make sure it doesn't loop
            alSourcei(Source, AL_LOOPING, AL_FALSE)
            
            ' play.
            alSourcePlay(Source)
         
         case "2"
            ' play the sample (looping).
            locate 22, 10: color 15, 0: print "2";: color 7, 0
            
            ' enable looping.
            alSourcei(Source, AL_LOOPING, AL_TRUE)
            
            ' play.
            alSourcePlay(Source)
         
         case "3"
            ' pause the sample.
            locate 22, 10: color 15, 0: print "3";: color 7, 0
            
            ' pause the sample.
            alSourcePause(Source)
         
         case "4"
            ' stop the sample.
            locate 22, 10: color 15, 0: print "4";: color 7, 0
            
            ' stop the sample.
            alSourceStop(Source)
         
         case "5"
            ' increase the pitch
            curPitch = curPitch + 0.1
            alSourcef(Source, AL_PITCH, curPitch)
         
         case "6"
            ' decrease the pitch
            curPitch = curPitch - 0.1
            if curPitch < 0.1 then curPitch = 0.1
            alSourcef(Source, AL_PITCH, curPitch)
            
         case "7"
            ' increase the source distance.
            SourcePos(2) = SourcePos(2) + 0.1
            alSourcefv(Source, AL_POSITION, @SourcePos(0))
         
         case "8"
            ' decrease the source distance.
            SourcePos(2) = SourcePos(2) - 0.1
            
            ' make sure that "increasing" doesn't make it quieter. :>
            if SourcePos(2) < 0.0 then SourcePos(2) = 0.0
               
            alSourcefv(Source, AL_POSITION, @SourcePos(0))
         
         case "9"
            ' exit.
            done = 1
            locate 22, 10: color 15, 0: print "5";: color 7, 0
            
      end select
   end if
   
   sleep 25
 
wend
 
 
'--- Shutdown ----------------------------------------------------------------
color 7, 0
cls
 
print "Unloading OpenAL... ";
alutExit
print "done."
 
' allow the user to read the message.
sleep 1000
 
end
 
 
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' UnloadResources
'
sub UnloadResources()
   
   alDeleteBuffers(1, @Buffer)
   alDeleteSources(1, @Source)
   
end sub
Кому пример покажется страшным, сразу говорю, пример простой и ничего сложного там нету,
Можно слепить собственный инклуд, заточив библиотеку под свои нужды.
И фишка в том, что этим уже можно легко пользоваться и это бесплатно.
Также касательно звука есть библиотека FBSound, функции смотрим тут.

P.S: Постараюсь по мере возможности шерстить разные вопросы по FreeBasic.
0
Вложения
Тип файла: zip OpenAL_Test.zip (114.9 Кб, 19 просмотров)
stabud
122 / 49 / 1
Регистрация: 26.10.2012
Сообщений: 84
26.10.2012, 09:32 13
Привет Quiet Snow!

Пример который вы привели считается немного устаревшим. Если использовать новый компиль (0.24) , то он не запустится из-за того что в заголовках не включены устаревшие функции:

alutLoadWAVFile
alutUnloadWAV
Для тех кто не в курсе: для того чтобы пример заработал, нужно продекларировать эти функции в начале кода:

PureBasic
1
2
Declare Sub alutLoadWAVFile Cdecl Alias "alutLoadWAVFile" (ByVal fileName As ZString Ptr, ByVal Format As ALenum Ptr, ByVal Data As Any Ptr Ptr, ByVal size As ALsizei Ptr, ByVal frequency As ALsizei Ptr, ByVal Loop As ALboolean Ptr)
Declare Sub alutUnloadWAV Cdecl Alias "alutUnloadWAV" (ByVal Format As ALenum, ByVal Data As ALvoid Ptr, ByVal size As ALsizei, ByVal frequency As ALsizei)
В поставке компилятора 0.24 есть пример WAV плеера без использования этих устаревших функций.
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
26.10.2012, 17:27  [ТС] 14
stabud, благодарю за поправку. Я пока для ознакомления с языком скачал
сборку вместе с FbIDE и компилятором версии 0.22.0. Чуть позже попробую
припаять новый FbIDE к новому компилятору, я знаю что он вышел и устанавливал
компилер, чтобы посмотреть примеры.
Было бы неплохо, если бы вы остались на форуме и помогали по вопросам, связанным
с FreeBasic, диалект отличный, а спецов мало.
0
stabud
122 / 49 / 1
Регистрация: 26.10.2012
Сообщений: 84
26.10.2012, 18:50 15
Новый компилятор это хорошо, но неплохо если на компьютере есть отдельно прошлая версия 0.23 и поясню:

1) все что касается компиля 0.24, проблем мною не встречено, есть дополнения, изменения, исправления, в общем все как надо. Тут насколько я понял нововведения (наследование классов) большей частью делал Andre Victor T. Vicentini , хоть и говорили что он отошел от дел, судя по всему это не совсем так.

2) а вот то что касается заголовков в версии 0.24 , то тут бы этому криворукому\им недокодеру\ам следовало бы не соваться к общественным проектам. Запороли по взрослому! Где недописали декларации, где напортачили с константами. Хотя в версии 0.23 заголовки сделаны добротно.

Отсюда небольшой совет: где будут проблемы с примерами, придется миксовать.

От себя могу посоветовать свою сборку на базе редактора FbEdit:

СКАЧАТЬ 57.5 мб

В ней немалую часть заголовков и примеров я исправил, но все же наверняка есть пробелы. Кроме того в нее вошли многие полезные либы и инструменты
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
26.10.2012, 19:05  [ТС] 16
stabud, замечательно, что вы выложили свою сборку, позже оценю.
Не знаю, конечно, насчёт криворукости программистов, но хотелось бы иметь
всё таки последние версии и ровняться на них. Т.к. я надеюсь компилятор
будет обновляться и багфикситься. Не хотелось бы работать на устаревающем
инструменте. Опечаливает только один факт, что при апгрейдах, как вы утверждаете
отваливаются старые проги, отсутствие совместимости версий пугает.
Также хотел спросить, нет ли у вас случаем библиотеки HGE для FreeBasic с
примерами и хедерами? Сколько искал, не смог найти, а вещь нужная.
0
stabud
122 / 49 / 1
Регистрация: 26.10.2012
Сообщений: 84
26.10.2012, 19:33 17
За совместимость компилятора бояться не стоит, напротив с этим делом все в порядке. Есть проблемы с совместимостью хедеров сторонних либ , но это не всегда зависит от разрабов FB. В случае с OpenAL , все таки никто не мешал дописать лишние три декларации. Эта же байда была и с LibZIP и еще некоторыми другими либами. Если разработчики сторонних либ перепахивают внутренности своих либ, в этом наверное не стоит винить FB разрабов, однако если есть возможность совместимости со старыми хедерами , ее надо использовать и до версии 0.24 так и было. Но как признался один из админов\разработчиков на оф. сайте, когда посыпались жалобы на ошибки в хедерах и примерах:

перевод не дословно
Это позор! Впредь нужно тщательнее следить за обновлениями заголовков\примеров
По поводу HGE никогда не интересовался.
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,412
26.10.2012, 19:55  [ТС] 18
Есть проблемы с совместимостью хедеров сторонних либ.
Очень странно, что перед релизом, разработчики не проверяют все примеры,
согласно последним обновлениям библиотек, указывая информацию о версиях.

А ещё лучше как мне кажется: включать бинарники рабочих библиотек, потому что
чтобы проверить примеры, приходится качать все эти библиотеки и устанавливать.
Может быть конечно существуют какие-либо ограничения в лицензиях, но тем не менее
это не очень удобно, да и приходится самому думать о синхронизации версий.
0
stabud
122 / 49 / 1
Регистрация: 26.10.2012
Сообщений: 84
26.10.2012, 20:16 19
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Очень странно, что перед релизом, разработчики не проверяют все примеры,
согласно последним обновлениям библиотек, указывая информацию о версиях.
У меня создалось впечатление, что последнее обновление хедеров делалось либо наспех, либо с чрезмерной самоуверенностью.

Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
А ещё лучше как мне кажется: включать бинарники рабочих библиотек
В идеале такое бы хотелось, но тут разрабы другого мнения. В любом случае вы для того и создали эту тему, чтобы если уж админы решатся создать раздел, то помочь тем у кого будут трудности, в том числе с подключением различных библиотек.
0
Dragokas
Эксперт WindowsАвтор FAQ
17073 / 7128 / 861
Регистрация: 25.12.2011
Сообщений: 10,933
Записей в блоге: 16
29.10.2012, 02:50 20
Ну раз есть желающие развивать раздел.
Писать статьи, осуществлять помощь.
Вот уже и свои сборки компилятора появились. Тянет на отдельную тему.

Пусть живет раздел свободного языка. Голосую "За." !
1
29.10.2012, 02:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 02:50

Немного о FreeBasic
Чаще всего при начальном использовании какого-то языка , люди стараются выбрать простую,...

FreeBASIC и сети
Здравствуй, форум. Всё дело в том, что есть одни сетевые функции, и для этих функций Я решил...

Синтаксические особенности FreeBasic
По совету Stabud создаю тему, в которой будем обсуждать семантику и синтаксис диалекта FreeBasic....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru