Воскресенье, 11 Апреля 2021, 10:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Программирование » Basic » PureBasic VS FreeBasic (подскажите какой байсик лучше)
PureBasic VS FreeBasic
какой Бэйсик для вас лучше?
1.FreeBasic[ 46 ][37.40%]
2.PureBasic[ 77 ][62.60%]
Всего ответов: 123
vicmadДата: Суббота, 22 Сентября 2012, 12:26 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Как по вашему мнению, какой байсик (Пурик или Фрибэйсик) лучше осваивать углубленно?
Я поверхностно попробовал оба, из достоинтств - оба отностительно простые, вроде даже понятные, оба должны подходить под создание игр. В Пурике есть готовый 3д двиг на базе Огра, Фрибарсик полностью бесплатен.
PBPROGДата: Воскресенье, 23 Сентября 2012, 16:14 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Если выбирать из этих друх, то лично я бы выбрал Pure. Тем более что в версии 5.00 добавили много функций в 3D движок.


Сообщение отредактировал PBPROG - Воскресенье, 23 Сентября 2012, 16:15
MontegДата: Воскресенье, 23 Сентября 2012, 17:01 | Сообщение # 3
участник
Сейчас нет на сайте
PureBasic лучше. А вообще.
Quote
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации. Дейкстра Э.


Сообщение отредактировал Monteg - Воскресенье, 23 Сентября 2012, 17:01
PBPROGДата: Воскресенье, 23 Сентября 2012, 22:08 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
По поводу цитаты Дейкстры. Он сказал это об древних диалектах бейсика, наверное 40 лет назад! С того времени многое изменилось.
Рекомендую тем, кто его цитирует, сначала заглянуть в вики. http://ru.wikipedia.org/wiki/Бейсик
Quote
Одной из «визитных карточек» Эдсгера Дейкстры стало высказывание: «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». Однако, это высказывание цитируется вне контекста, в котором Дейкстра подверг критике и многие другие популярные в то время языки....

....Если же говорить о современных диалектах и реализациях Бейсика, то они далеко ушли от первоначальной формы языка, являются более структурированными и сопоставимы по возможностям с такими языками, как Си, Паскаль и т. п.
AikidosДата: Воскресенье, 23 Сентября 2012, 23:10 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Quote (PBPROG)
Тем более что в версии 5.00 добавили много функций в 3D движок.

В движок они ничего не добавляли. Там OGRE используется. Они просто функционал переносят на синтаксис PB.

Первым моим ЯПом был Basic. После С++ и C# (в том числе и любых других ООП) я не могу себе представить хорошее функциональное программирование на бейсике т.к. он процедурный. На PureBasic'e хорошо писать мелкие утилиты. Это не значит, что вы не можете написать на нём что-то огромное. Просто будет не так удобно как с тем же С++. В том числе С++ очень плохо подходит для написания небольших и простых утилит/программ.

И ещё PB платный...


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
burlachenkoДата: Воскресенье, 23 Сентября 2012, 23:14 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Наверное правильно будет учить оба. А в процессе обучения вылезут ихние + и -, потом и решите.

Love2D 0.9.1 => Windows, Android.
Бесплатная замена виндовсу http://www.reactos.org/ru. Поможем проекту?
Бесплатная и легальная музыка!!! http://www.jamendo.com/.
Прошу помощи в разработке GUI для движка здесь.
LÖVE Exporter
TovTripleZДата: Понедельник, 24 Сентября 2012, 08:13 | Сообщение # 7
Злая ящерка >:3
Сейчас нет на сайте
FreeBasic даёт больше средств для программирования (Cairo, GTK+, OpenGL, SDL), к тому же свободных. Я бы выбрал его.


Бледные дрыщекролики следят за вами
ant0NДата: Понедельник, 24 Сентября 2012, 09:26 | Сообщение # 8
постоянный участник
Сейчас нет на сайте


Quote (Aikidos)
Первым моим ЯПом был Basic. После С++ и C# (в том числе и любых других ООП) я не могу себе представить хорошее функциональное программирование на бейсике т.к. он процедурный.

думаю ты работал на Quick Basic. Сейчас же, практически все Бэйсики имеют ООП (PureBasic, VB, BlitzMax, PowerBasic и др.)

Я заметил что в основном новички выбирают C++ из-за "понтов", им такие же новички внушили что учить Бэйсик унизительно.
Лично мне все равно я выбираю язык исходя из потребностей, а если под эти потребности подходят несколько языком - беру самый простой. Раньше я программировал на Blitz3D потом PureBasic далее на BlitzMax, а теперь на LUA. Все они в своем роде одинаково хороши.
PS. Это лично мое мнение


Blender 3D, Godot Engine, LUA
Alpha142Дата: Понедельник, 24 Сентября 2012, 10:16 | Сообщение # 9
был не раз
Сейчас нет на сайте
Для игрового программирования начального уровня есть ещё DarkBasic, который в некотором роде тоже бесплатный. Так же имеет место русская версия с русским же хэлпом и туториалом и огромной базой примеров и расширялок. Программируй - не хочу!
trewДата: Понедельник, 24 Сентября 2012, 10:21 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Quote (PBPROG)
По поводу цитаты Дейкстры. Он сказал это об древних диалектах бейсика, наверное 40 лет назад!


Абсолютно согласен

Quote (Aikidos)
Первым моим ЯПом был Basic. После С++ и C# (в том числе и любых других ООП) я не могу себе представить хорошее функциональное программирование на бейсике т.к. он процедурный.


То же согласен, после хорошего, более плохое не пожелаешь

Quote (burlachenko)
Наверное правильно будет учить оба. А в процессе обучения вылезут ихние + и -, потом и решите.


Трезвая мысль, для тех кто решит сравнивать. Во всех остальных случаях заявлять что: то лучше или это - вранье!

Quote (TovTripleZ)
FreeBasic даёт больше средств для программирования (Cairo, GTK+, OpenGL, SDL), к тому же свободных.


PureBasic тоже не лишен возможности использовать эти либы

Quote (ant0N)
думаю ты работал на Quick Basic. Сейчас же, практически все Бэйсики имеют ООП (PureBasic, VB, BlitzMax, PowerBasic и др.)


Ничего не попутал? Где в PureBasic разглядел ООП? В FreeBasic есть!

Вообще ОПРОС принципиально не может отражать истину, просто потому , что продвигатель(и) PureBasic не жалеют времени и средств для пиара этого детища по всему инету (в особенности на ответах Mail.ru)....

Я подготовил таблицу, которая отражает мое мнение, как человека пробовавшего оба языка:

Таблица сравнений ЗДЕСЬ
andarkyДата: Понедельник, 24 Сентября 2012, 10:42 | Сообщение # 11
старожил
Сейчас нет на сайте
Пурэ


Моя страничка по дизайну
GameDev//Design//3D
Ютубчик
GavolotДата: Понедельник, 24 Сентября 2012, 11:11 | Сообщение # 12
Последователь Тени
Сейчас нет на сайте
Quote
Я подготовил таблицу, которая отражает мое мнение, как человека пробовавшего оба языка:

Таблица сравнений ЗДЕСЬ

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

Добавлено (24.09.2012, 11:11)
---------------------------------------------
А то если бы я так-же спрашивал про ac3 и питон или про макс и блендер, то так-же бы сидел тормозил, и нифига бы в итоге не выучил вообще.


В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.


Сообщение отредактировал Gavolot - Понедельник, 24 Сентября 2012, 11:12
ant0NДата: Понедельник, 24 Сентября 2012, 12:12 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Quote (trew)
Ничего не попутал? Где в PureBasic разглядел ООП? В FreeBasic есть!

может и попутал, просто читал на одном форуме что есть (в остальных, приведенных, точно есть). Но смысл был в другом...


Blender 3D, Godot Engine, LUA
AndyLyДата: Понедельник, 24 Сентября 2012, 14:40 | Сообщение # 14
участник
Сейчас нет на сайте
Quote
Я подготовил таблицу, которая отражает мое мнение, как человека пробовавшего оба языка:
Таблица сравнений ЗДЕСЬ

Да уж- ты бы хоть поднапрягся, написал без ошибок и смешивания всего подряд в кучу.
например "PureBasic 0.45" нет такого есть PureBasic 4.5
в готовых решениях у тебя смешаны OpenGl, DirectX и mp3d, которую делает любитель.
создание статических библиотек- есть нет, что ж так категорично нет, а как же пользователи Пурика их создают.
Передача параметров в функции по ссылке , по значению : есть нет - это откуда взялось? В Пурике можно передавать в процедуру хоть , например, структурированный список, хоть ссылку на него.
Связанные списки : нет есть Много примеров кода - это как? В Фрибайсике нет связанных списков, но есть много примеров кода? smile

Это, то, что увидел. Извиняй, но ты больше в заблуждение вводишь, чем помогаешь выбрать.


Мой форум "Шахтеры космоса"
SM strategy: Foundation (Ogre). Game video
trewДата: Понедельник, 24 Сентября 2012, 15:34 | Сообщение # 15
почетный гость
Сейчас нет на сайте
AndyLy, спасибо за конструктивную критику, подправил кое-где. Если что жду еще какие непонятки smile

Quote
Передача параметров в функции по ссылке , по значению : есть нет - это откуда взялось? В Пурике можно передавать в процедуру хоть , например, структурированный список, хоть ссылку на него.


Ты не понял в случае с пуриком передается либо само значение, либо его адрес, но не ссылка. То есть в процедуре с пуриком все это дело выглядит так:

Code
Structure one
    Ione.l
EndStructure

Structure two
    Itwo.one
EndStructure

obj.two
obj\Itwo\Ione = 10

Procedure.l PR(*Obj)
    *ob.two = *Obj
    MessageRequester("",Str(*ob\Itwo\Ione))
    *ob\Itwo\Ione + 100
EndProcedure   

PR(@obj)
MessageRequester("",Str(obj\Itwo\Ione))


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

В случае с FreeBasic и передачей параметра по ссылке все проще, мы передаем ссылку на нашу вложенную структурированную переменную и работаем с ней как пожелаем в процедуре, изменяя если нужно.

Пример:

Code

Type one
   Ione As Integer = 10
End Type

Type two
   Itwo As one
End Type

Dim obj As two

Sub PR(ByRef Ivar As Integer)
     ? Ivar   
    Ivar+=100
End Sub

PR(obj.Itwo.Ione)
? obj.Itwo.Ione
Sleep


Если я не прав , поправь smile


Сообщение отредактировал trew - Понедельник, 24 Сентября 2012, 15:34
AndyLyДата: Понедельник, 24 Сентября 2012, 16:03 | Сообщение # 16
участник
Сейчас нет на сайте
Quote
Если я не прав , поправь

Да не, это я не правильно понял. Был не прав - исправлюсь. smile
Может показаться, что я придираюсь, но раз уж ты пишешь "руководство по применению"- нужно быть максимально конкретным и точным.
Что бы не было, как в том пресловутом случае, когда: "в инструкции не было написано, что нельзя сушить кошку в микроволновке".


Мой форум "Шахтеры космоса"
SM strategy: Foundation (Ogre). Game video
PBPROGДата: Понедельник, 24 Сентября 2012, 17:24 | Сообщение # 17
постоянный участник
Сейчас нет на сайте
Quote (trew)
Если я не прав , поправь
Поправлю я. smile smile
При сравнении стараются использовать идентичные коды, а здесь я вижу существенное различие.
Вот как будет выглядеть второй код на FB, переведенный на PureBasic.
Code
Structure one  
   Ione.i  
EndStructure  

Structure two  
   Itwo.one  
EndStructure  

obj.two \Itwo\Ione = 10

Procedure.l PR(*Obj.Integer)  
   Debug *Obj\i
   *obj\i + 100  
EndProcedure    

PR(@obj\Itwo\Ione)

Debug obj\Itwo\Ione

Добавлено (24.09.2012, 17:24)
---------------------------------------------
А еще можно такой трюк выполнить.

Code
Structure one  
   Ione.i  
EndStructure  

Structure two  
   List Itwo.one()  
EndStructure  

obj.two

For i= 0 To 10
   AddElement(obj\Itwo())
   obj\Itwo()\Ione = i
Next

Procedure.l PR(List Obj.one())  
   ForEach  Obj()
     Debug Obj()\Ione
     obj()\Ione + 100  
   Next
EndProcedure    

PR(obj\Itwo())

ForEach  obj\Itwo()
   Debug obj\Itwo()\Ione
Next
В процедуру передается по ссылке связанный список из структуры two.
trewДата: Понедельник, 24 Сентября 2012, 17:49 | Сообщение # 18
почетный гость
Сейчас нет на сайте
PBPROG, Я же написал, что в случае с PureBasic теряется универсальность процедуры\функции . Ты видно тоже сразу недопонимаешь. Взгляни внимательно на пример ниже. В нем практически тоже, но добавлен лишний вызов той же процедуры но с другим типом:

Code

Type one
  Ione As Integer = 10
End Type

Type two
  Itwo As one
End Type

Dim obj As two
Dim Ivariable As Integer = 55

Sub PR(ByRef Ivar As Integer)
  ? Ivar
  Ivar+=100
End Sub

PR(obj.Itwo.Ione)
PR(Ivariable)
? obj.Itwo.Ione
? Ivariable
Sleep


Как ты это сможешь без танцев прикрутить к своей процедуре. Теперь надеюсь понятно о чем речь.

P.S. Поэтому я и написал что в FB возможна передача по ссылке и значению , а в PB только по значению (неважно что это за значение указатель или просто любое число)
AikidosДата: Понедельник, 24 Сентября 2012, 18:02 | Сообщение # 19
постоянный участник
Сейчас нет на сайте
Quote (ant0N)
думаю ты работал на Quick Basic.

Я работал на QB, PowerBasic и PureBasic'e.

Quote (ant0N)
думаю ты работал на Quick Basic. Сейчас же, практически все Бэйсики имеют ООП (PureBasic...)

Quote (ant0N)
может и попутал, просто читал на одном форуме что есть

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

Quote (ant0N)
Я заметил что в основном новички выбирают C++ из-за "понтов", им такие же новички внушили что учить Бэйсик унизительно.

Не слышал такого. На С++ инструментов больше. Зачем себя изначально ограничивать в возможностях и использовать супер корявые врапперы того же Irrlicht'a для PureBasic'a и т.п.?

Но речь не об этом. Тут речь идёт о самом языке. По мне, так это спор, "что лучше? яблоко или апельсин?".


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
PBPROGДата: Понедельник, 24 Сентября 2012, 19:00 | Сообщение # 20
постоянный участник
Сейчас нет на сайте
Quote (trew)
Я же написал, что в случае с PureBasic теряется универсальность процедуры\функции . Ты видно тоже сразу недопонимаешь. Взгляни внимательно на пример ниже.
Да все я понял с первого раза. Только или вы не так объясняете или не поняли мой пример выше. Смотрите этот пример. И где подтверждение ваших слов?
Code
Structure one   
   Ione.i   
EndStructure   

Structure two   
   Itwo.one   
EndStructure   

obj.two \Itwo\Ione = 10  
Ivariable.i = 55

Procedure.l PR(*Obj.Integer)   
   Debug *Obj\i  
   *obj\i + 100   
EndProcedure     

PR(@obj\Itwo\Ione)  
PR(@Ivariable)  

Debug obj\Itwo\Ione
Debug Ivariable

Quote (trew)
добавлен лишний вызов той же процедуры но с другим типом:
Вы что-то путаете. Как раз тип один и тот же - Integer.

Quote (trew)
Как ты это сможешь без танцев прикрутить к своей процедуре. Теперь надеюсь понятно о чем речь.
Не, непонятно потому что прикрутил без танцев с бубном.

Quote (trew)
P.S. Поэтому я и написал что в FB возможна передача по ссылке и значению , а в PB только по значению (неважно что это за значение указатель или просто любое число)
Если вы не знаете основ PureBasic то лучше промолчите.
Выше привел примеры передачи переменной и связанного списка по ссылке.
Форум игроделов » Программирование » Basic » PureBasic VS FreeBasic (подскажите какой байсик лучше)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг