Looking to switch from VB, to either PureBasic or PowerBasic

Just starting out? Need help? Post your questions and find answers here.
Mortamer
User
User
Posts: 36
Joined: Mon Dec 29, 2003 5:07 pm

Looking to switch from VB, to either PureBasic or PowerBasic

Post by Mortamer »

Ok, I'm really sorry if this causes a flame war but I really wanted all of your opinions. Currently I work with VB and I plan on buying either PureBasic or PowerBasic. I'll tell you some background about what I want to do with the compiler so hopefully in addition to facts you can give me an unbiased opinion on the right compiler for me, but first off is PureBasic / PowerBasic (apparently they are very similar, which is why im having difficulty deciding) faster than delphi (I heard it was favorably comparable to C++, and C++ is faster than delphi)?

I plan on using which ever compiler I decide to make a variety of programs (which is why PureBasic seems interesting, because if both compilers are the same in performance yet PureBasic is including gaming functions built in..). However I know that some of the most important programs are going to be servers, that need to be able to handle many many requests simultaneously (cant give a number, as I dont know how big the program will be). I heard a couple people (even on PureBasic's forums) say that for now, PowerBasic is better for apps that need that last bit of speed, and are a little more rock solid (which really persuades me as it needs to be a server that can handle all the people in a speedy fashion, while still not locking up every hour). Price is not a factor in the decision, although I gotta say you can't beat under 100$ and lifetime updates :) . Also, is the price any indication of performance? Another question is about the syntax, since I am coming from VB I'm hoping to pick up either language quickly since they are both based on BASIC, and I was wondering which syntax is easier to convert to from VB (in terms of learning the new language)? And, in your opinions, what syntax is easier (PureBasic's or PowerBasic's)? I plan on posting this on both forums, so if any of you browse both, yes its me :wink: .
Last edited by Mortamer on Mon Dec 29, 2003 5:37 pm, edited 1 time in total.
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

Hi Mortamer,

Hopefully there is a search function and all has been already answer :wink:

viewtopic.php?t=6939&highlight=purebasic+powerbasic
Mortamer
User
User
Posts: 36
Joined: Mon Dec 29, 2003 5:07 pm

Post by Mortamer »

Could you please not lock my post though? I included all of the details on what I want so people could give me their opinions. But thanks for the search link!
dontmailme
Enthusiast
Enthusiast
Posts: 537
Joined: Wed Oct 29, 2003 10:35 am

Post by dontmailme »

Hi,

I'm still a newbie here so I'm sure you'll get better responses ;)

I'm amazed at the power of purebasic, the speed of code and the small size of executables....

The language is still growing, although what you can't do in the command set can be done simply by API calls.

I downloaded both PureBasic and Powerbasicand decided on this one because of the command set over PowerBasic.

I bought this product 2 days after downloading the demo and have found it easier to code than Visual Basic and much less bloated.

The other great thing about the language is the guys on this forum. There are a lot of Developers by trade on here and all are quick to help with problems.

Good luck in your choice, but choose this one and you won't regret it !

:)
Paid up PB User !
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

I don't plan to lock it this post, I only pointed out some infos..
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

The final Purebasic executable is build of pure ASM so has speeds concerns you can't go any faster than that 8)

I've built two commercial apps, for 2 companies that are working for a year now without assistence or 1 single problem, so stability is not a problem (has long has you code well :wink: )

Purebasic can sustain 255 *simultanious* (all at the same exact time) connections on one socket, so i guess that's more than enough for normal usage (big companies use clusters to spread load over various machines)

I picked up pb syntax in two months and i can ensure you i've learned more about programing this past year with purebasic than with any other programming language up to date! (12 year experience :lol: )

That's my 10 bits..
Seldon
Enthusiast
Enthusiast
Posts: 405
Joined: Fri Aug 22, 2003 7:12 am
Location: Italia

Post by Seldon »

They say PowerBasic is fast (at least, that's what they say in its own site) but in many tests PureBasic was faster (or equal). Maybe PureBasic is less robust, but the sintax is more simple and it comes with a Linux (and AmigaOS) version as well. That is an important thing to consider.
Shannara
Addict
Addict
Posts: 1808
Joined: Thu Oct 30, 2003 11:19 pm
Location: Emerald Cove, Unformed

Post by Shannara »

I am going to assume that the connections is using the internal functions? Im kinda thinking its not a limitation? 255 = very small in a server environment :) Do a search on here for winsock and such, or delve your hands into winsock2 IOCP if you want a server-side grade sockets.

Anyways, from what I heard PowerBasic's final executable is pure ASM as well...............

Although due to that, the only thing I see difference is that PowerBasic is much more mature/solid, but costs alot more :)
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Post by Danilo »

With PowerBasic you have to program plain WinAPI (like C),
it doesnt have built-in controls and all this.

With PureBasic you can also use the WinAPI and write plain
WinAPI programs.
But, additionaly, you have some hundred commands that make
your life easier.

Example: Open a window and create a button on it.

With PureBasic it looks like this:

Code: Select all

OpenWindow(0,200,200,300,300,#PB_Window_SystemMenu,"Window")
  CreateGadgetList(WindowID())
  ButtonGadget(0,10,10,100,20,"Button")
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
...and this works on Amiga,Windows,Linux and future versions.
(Macintosh, AMD-64, ...we will see :wink:)


And now the plain API way like you have to code in C, PowerBasic
and other languages that dont have build-in controls:

Code: Select all

Procedure WindowCallback(Window,Message,wParam,lParam)
   Select Message
     Case #WM_CLOSE
       DestroyWindow_(Window)
     Case #WM_DESTROY
        PostQuitMessage_(0)
        Result = 0
     Default
        Result = DefWindowProc_(Window,Message,wParam,lParam)
   EndSelect
   ProcedureReturn Result
EndProcedure

WindowClass.s = "MyWindowClass"
wc.WNDCLASSEX
wc\cbSize        = SizeOf(WNDCLASSEX)
wc\lpfnWndProc   = @WindowCallback()
wc\hCursor       = LoadCursor_(0, #IDC_ARROW)
wc\hbrBackground = #COLOR_WINDOW+1
wc\lpszClassName = @WindowClass
RegisterClassEx_(@wc)

hWndMain = CreateWindowEx_(0,WindowClass,"Window",#WS_SYSMENU,200,200,300,300,0,0,0,0)
  button = CreateWindowEx_(0,"Button","Button",#WS_CHILD|#WS_VISIBLE,10,10,100,20,hWndMain,0,0,0)

hFont = createfont_(8,0,0,0,0,0,0,0,0,0,0,0,0,"MS Sans Serif")
SendMessage_(button,#WM_SETFONT,hFont,1)

ShowWindow_(hWndMain, #SW_SHOWDEFAULT)
UpdateWindow_(hWndMain)

While GetMessage_( msg.MSG, #NULL, 0, 0 )
    TranslateMessage_(msg)
    DispatchMessage_(msg)
Wend

DeleteObject_(hFont)
Of course this works only on Windows because its plain WinAPI.

With PureBasic you have *both* ways and you can decide
yourself what you want to use.
In PowerBasic you have only plain WinAPI like in C...

Decide yourself what you want, Mortamer - its up to you...
cya,
...Danilo
...:-=< http://codedan.net/work >=-:...
-= FaceBook.com/DaniloKrahn =-
Dare2
Moderator
Moderator
Posts: 3321
Joined: Sat Dec 27, 2003 3:55 am
Location: Great Southern Land

Post by Dare2 »

For what it is worth, I have just been through the same selection process and ended up with roughly the same shortlist.

I went with PureBasic.

Some of the reasons having being mentioned above.

Also, there is no need to purchase upgrades and no need to buy addons.

And this forum.

And feeling comfortable: As a masm and a soon-to-be-ex VB programmer, I feel more comfortable with Pure.

Anyhow, only people who have used both regularly can really give a straight answer, so I suggest whatever you feel most comfortable with right now is the way to go. What "feels right" when you sit down in front of the console is probably a good indicator.

Hope you go with PureBasic - if you are converting VB, so am I and maybe you'll develop some useful conversion snippets you can share :D

PS: Order now - PureBasic ordering is not automated, you have to wait for a few days to get your registered version. Over Christmas this has turned out to be quite a few ... (hint hint PB sales team - I'm still waiting!)

Success, whichever way you go.
User avatar
griz
Enthusiast
Enthusiast
Posts: 167
Joined: Sun Jun 29, 2003 7:32 pm
Location: Canada

stability

Post by griz »

I have been running several automated server utilities and cgi interfaces I wrote with Pure Basic on a local ISPs servers for nearly 6 months. My experience thus far is that Pure Basic is very reliable. :)
Kanati
New User
New User
Posts: 9
Joined: Fri Jun 27, 2003 7:00 pm
Contact:

Post by Kanati »

I own both... Along with Blitz (2D/3D/Plus), and Darkbasic (Pro and poop... ahem)...

Purebasic Pros:
Very fast and small executables.
Stable (now).
Friendly Community.
Gobs of libraries for gaming, network, etc
Very easy to learn and get up to speed on very quickly.

Purebasic Cons:
Small Community.
One programmer so tech support is lacking if you absolutely have to have it.
Library commands sometimes aren't as intuitive as they could be.
Some of the more powerful libraries are lacking.
Pure tries to be all things to all people without fully realizing any.
In the past, has been instable due to "fixes" breaking other things.
Debugger is sorely lacking.

Powerbasic Pros:
Good tech support from a real tech support team.
Slimlined language with a very sleek syntax.
If you know VB, you know Powerbasic syntax. Nearly identical.
Small, Fast executables.
Company stability. Been around for YEARS.
Extraordinarily stable platform.

Powerbasic Cons:
Almost no "extras". If you want to use it you have to know the Win32 API pretty well.
Elitist community. Ask a stupid question and you'll get yer ass handed to you on a silver platter.
Price is somewhat prohibitive for the hobbyist and you have to pay for the few "extras" that are available for even more out-of-pocket expense.


For the money... You can't go wrong with Purebasic. Fred has had a few stability issues in the past, true. But he's usually pretty quick on the fix as well. He has also tried to pile on the "extras" sometimes to the detriment of the core language, as well. But I'm starting to see it turning the corner lately. The "oooh pretty" add-ons are starting to slow and we're seeing some fixes and additions to the core language (like additional gadgets that we were sorely lacking for quite some time). Purebasic still has a long way to go before I'd say it's as robust as it would like to be considering it's feature-set. But the core language is really starting to shape up. (For instance, the 3D library is nice, but far from being as complete as Blitz3Ds featureset... The printer library is nice, and it's plenty functional, but needs more to be considered "complete"). Everything in Purebasic is functional. Works pretty nice as a matter of a fact. It's just not........ complete. It's like a Ferrari where someone left out the emergency brake, radio, and windshield wipers. Sure, they are ancillary features, and the car still runs beautifully... But it's just not complete.

And that's the 2 cents of someone who you probably want to smack around a bit now. :D
Kanati
New User
New User
Posts: 9
Joined: Fri Jun 27, 2003 7:00 pm
Contact:

Post by Kanati »

Oh... and having said all of that...

My current game project is being developed in... Purebasic. :lol:
Mortamer
User
User
Posts: 36
Joined: Mon Dec 29, 2003 5:07 pm

Post by Mortamer »

I dont really understand this quote "With PowerBasic you have to program plain WinAPI (like C),
it doesnt have built-in controls and all this. ". I actually know very little WinAPI, I was under the impression both languages had their own commands and things like VB? So, if I dont know much WinAPI I should go with PureBasic? How can you make a language that just relies on other APIs :?: .
User avatar
Danilo
Addict
Addict
Posts: 3036
Joined: Sat Apr 26, 2003 8:26 am
Location: Planet Earth

Post by Danilo »

Mortamer wrote:I actually know very little WinAPI, I was under the impression
both languages had their own commands and things like VB?
So, if I dont know much WinAPI I should go with PureBasic?
If you dont know WinAPI, you are lost with PowerBasic.
Mortamer wrote:How can you make a language that just relies on other APIs :?: .
You can buy 3rd party DLLs for PowerBasic.

If you want to have GUI functions, you could buy EZGUI 3.0 ($199)
for example, see http://www.powerbasic.com/support/addons/gui.asp
and http://www.powerbasic.com/support/addons/

If you cant (or dont want to) program everything yourself (WinAPI),
you buy addon DLLs for everything you need...
...or you go with PureBasic where all this is already included.

If you miss something in PureBasic you can ask here in the
forum and people will help you for sure.
You can also request new stuff in the wishlist... and when it
makes sense for PureBasic, you get it with the next free
PureBasic update...

The bad thing for you is that there is no PowerBasic-Demo
available like for PureBasic.

Try the PureBasic Demo ... and welcome to our community.
cya,
...Danilo
...:-=< http://codedan.net/work >=-:...
-= FaceBook.com/DaniloKrahn =-
Post Reply