Loving Purebasic
Hello.fsw wrote:It can't.mlwhitt wrote:I have looked at it, but it didn't seem to be anywhere near some complete and professional as PureBasic.
Work on PureBasic started around 6 years ago (or even longer).
Work on HotBasic started May 2003.
Also, it all depends on your needs.
If you look at the oop side of a language then HB is miles ahead.If you look at the GUI event handling then PB is stoneage compared to HB, and there is no change in sight (not even for V4) as can be seen here:Fri Jun 27, 2003 00:26; Fred wrote: I said I will implement structure to access DX and COM object easily but not class, and all OO behavior.
That's a BASIC language.
viewtopic.php?t=15470&postdays=0&postorder=asc&start=0
PB has his strenght on other things and as you can see different goals.
That's why it's important to use the right tool for the job.
Have fun coding
There was a long time since this post.
I am contacting you because i am really interesting about the HotBasic compiler as an alternative to the PureBasic.
I found the features of HotBasic very interesting and i am looking for a tool to build gui applications easier.
As i read you are a user of HotBasic and i want to tell me your opinion about this tool.
Thanks in advance.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
- the.weavster
- Addict
- Posts: 1577
- Joined: Thu Jul 03, 2003 6:53 pm
- Location: England
I bought HotBasic 2 years ago on a whim (I don't know if it's changed since), then you really needed a good knowledge of the Win32 api to do any gui work with it because you had to use it to trap any events that were happening in your app, there was no built in event type constants like you get with PureBasic. They were calling it a 'cross-platform' compiler but there was 8ugg3r all chance of the programs you wrote being cross platform as a result.
They were also calling it an 'OOP' language but with other OOP languages (like REALbasic for example) you can create as many instances of an object as you require. Even a window is an object so once you've designed it you can instantiate any number of instances of it at runtime using the 'New' keyword and each instance of the window can refer to it's own controls, properties and methods etc.. just by using 'Self.' You can not do that with HotBasic so imo a lot of the advantage of using objects is lost.
I think srod wrote a tutorial on doing oop with PureBasic, I think spending time reading that would be a better investment than purchasing HotBasic.
They were also calling it an 'OOP' language but with other OOP languages (like REALbasic for example) you can create as many instances of an object as you require. Even a window is an object so once you've designed it you can instantiate any number of instances of it at runtime using the 'New' keyword and each instance of the window can refer to it's own controls, properties and methods etc.. just by using 'Self.' You can not do that with HotBasic so imo a lot of the advantage of using objects is lost.
I think srod wrote a tutorial on doing oop with PureBasic, I think spending time reading that would be a better investment than purchasing HotBasic.
Very helpful post!the.weavster wrote:I bought HotBasic 2 years ago on a whim (I don't know if it's changed since), then you really needed a good knowledge of the Win32 api to do any gui work with it because you had to use it to trap any events that were happening in your app, there was no built in event type constants like you get with PureBasic. They were calling it a 'cross-platform' compiler but there was 8ugg3r all chance of the programs you wrote being cross platform as a result.
They were also calling it an 'OOP' language but with other OOP languages (like REALbasic for example) you can create as many instances of an object as you require. Even a window is an object so once you've designed it you can instantiate any number of instances of it at runtime using the 'New' keyword and each instance of the window can refer to it's own controls, properties and methods etc.. just by using 'Self.' You can not do that with HotBasic so imo a lot of the advantage of using objects is lost.
I think srod wrote a tutorial on doing oop with PureBasic, I think spending time reading that would be a better investment than purchasing HotBasic.
You described a very different view than the developer's presentation.
I just place a part of HotBasic's website faqs area:
Very confusing situationYou say HotBasic slashes development time. How?
Lots of time is wasted developing applications in other languages because the language itself just gets in the way. So many popular programming languages nowadays are full of alien punctuation, run-on notation, odd structure, and abbreviated keywords. This makes the code hard to read and hard to write, which is bad enough for projects with only one developer. The problem is made much, much worse when a programming project requires a team of developers who waste untold amounts of time trying to figure out what each other are doing.
HotBasic relieves you of that burden by delivering a language and syntax that's logical, intuitive, and extremely readable. With HotBasic, developers spend more time thinking about what their programs should do and less time trying to make heads or tails out of Martian code.
Why are HotBasic executables smaller, faster, more efficient, and more secure?
Unlike every other compiler on the market, HotBasic is all-new technology fit for the 21st century. Other compilers, on the other hand, rely on obsolete general purpose libraries.
A library is like a software toolbox. It contains procedures that are used over and over again. This makes the process of writing software much easier. The problem with the other compilers on the market is, the libraries they use are ten, 15, and sometimes 20 years old! Think about how much technology has changed in the past ten years and that should give you an idea of what we're talking about.
HotBasic doesn't use any of that outmoded technology. HotBasic was developed from scratch using the latest techniques in programming and system design. We didn't copycat anyone else or use anything "off the shelf." We started with a clean slate and committed ourselves to building HotBasic the right way. And it paid off big. Now you can benefit from our hard work!

Regards
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
I haven't visited HB's site for a long time, so terrible and preoccupied in imparting no useful information whatsoever was it that I decided my time would be better spent counting the drips from my leaky tap!
From what thanos has posted, I would guess that the HB site is just as terrible as ever. How can you trust a language in which no useful information is given as to it's usefulness etc?
Whether, as a programming language, HB is any good or not I have no idea and no inclination to find out!
From what thanos has posted, I would guess that the HB site is just as terrible as ever. How can you trust a language in which no useful information is given as to it's usefulness etc?
Whether, as a programming language, HB is any good or not I have no idea and no inclination to find out!

I may look like a mule, but I'm not a complete ass.
- the.weavster
- Addict
- Posts: 1577
- Joined: Thu Jul 03, 2003 6:53 pm
- Location: England
Totally agree.srod wrote:... From what thanos has posted, I would guess that the HB site is just as terrible as ever. How can you trust a language in which no useful information is given as to it's usefulness etc?
This is the reason to seeking information from users about its language.
The only information i found in its website is: The 21th century compiler

Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
Check this out. 
The same code in PureBasic results in an executable of 3.00 KB (3,072 bytes)!
Sorry HotBasic: you lose! 

This HotBasic code results in an executable of 4.00 KB (4,096 bytes):HotBasic's web site wrote:the executables it produces are smaller [...] than the executables produced by the competition
Code: Select all
$APPTYPE CONSOLE
PRINT "hello"
PAUSE
Code: Select all
OpenConsole()
Print("hello")
Input()
CloseConsole()

I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
Agreed!PB wrote:Sorry HotBasic: you lose!
Code: Select all
http://www.youtube.com/watch?v=OOQHw4Ymy6c
Leonard = HotBasic


I even did another test, just to make sure. 
HotBasic code from http://99-bottles-of-beer.net/language- ... c-306.html :
Result: executable is 5.50 KB (5,632 bytes).
Now, the same PureBasic code, BUT also with an extra additional command
(Str) in 3 separate lines, which the HotBasic version doesn't even need!
Result: executable is 5.00 KB (5,120 bytes). PureBasic wins hands-down,
even with an extra command thrown in 3 times!

HotBasic code from http://99-bottles-of-beer.net/language- ... c-306.html :
Code: Select all
$APPTYPE CONSOLE
DEFSTR I$
FOR B = 99 TO 1 STEP-1
PRINT B; " bottle(s) of beer on the wall,"
PRINT B; " bottle(s) of beer."
PRINT "Take one down, pass it around,"
PRINT B-1; " bottle(s) of beer on the wall." + CRLF
NEXT B
INPUT I$
Now, the same PureBasic code, BUT also with an extra additional command
(Str) in 3 separate lines, which the HotBasic version doesn't even need!
Code: Select all
OpenConsole()
Define I$
For B = 99 To 1 Step -1
PrintN(Str(B)+ " bottle(s) of beer on the wall,")
PrintN(Str(B)+ " bottle(s) of beer.")
PrintN("Take one down, pass it around,")
PrintN(Str(B-1)+ " bottle(s) of beer on the wall." + #CRLF$)
Next B
Input()
even with an extra command thrown in 3 times!

I compile using 5.31 (x86) on Win 7 Ultimate (64-bit).
"PureBasic won't be object oriented, period" - Fred.
"PureBasic won't be object oriented, period" - Fred.
Last night i installed the HotBasic trial.Fred wrote:Thanos: Have you installed HotBasic trial and tried it ? It speaks for itself. BTW, the quote on web site than "HotBasic is the best", "21st compiler" and such are just plain wrong, or they didn't take a look to PureBasic. PB is way ahead, for any part of it.
Unfortunately i am disappointed from the first glance of it.
The ide does not support the autocomplete feature and it looks like as a simple text editor.
The 3rd party gui designer is elementary.
The support documents are almost horrible.
The trial version supports only console mode, so i can not test a gui application.
The console mode executable can not display unicode characters which is critical for me.
Is has not built in debugger.
I had read in its website and in some posts in the forums about its simplicity.
I post a code snippet from the HotBasic examples:
Code: Select all
$APPTYPE GUI
$TYPECHECK ON
$SYMBOLTABLE ON
defint i,fHnd,rHnd,fFlags,rFlags
defstr title$="HotBasic(tm) Dialogs Test 1.4"
RANDOMIZE TIMER
SHOWCONSOLE
Declare SUB ShowTitle (tstr as STRING)
SUB ShowTitle
Color 11: PRINT tstr: Color 7
END SUB
create f as form
width=380: height=100
center
icon="hotbasic.ico"
caption=title$
resizeable=false
maximizebox=false
create b0 as button
left=10: top=10: width=80
caption="Open File"
onclick=OpenFile
end create
create Open as opendialog
caption = "HotBasic OpenDialog"
DefExt = "sys"
InitialDir = "C:"
end create
end create
PRINT title$
f.showmodal
END
OpenFile:
Open.Flags = &H205800
IF Open.Execute THEN GOSUB ShowOpen
RETURN
ShowOpen:
ShowTitle "OPEN DIALOG"
PRINT "Open.FileName = "; Open.FileName
RETURN
Code: Select all
EnableExplicit
Global xWin, xButt, iEvent, iEventGadget, sFileName.s
xWin = OpenWindow(#PB_Any, 100, 200, 380, 100, "HotBasic(tm) Dialogs Test 1.4", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
If xWin
xButt = ButtonGadget(#PB_Any, 10, 10, 80, 20, "Open File")
Repeat
iEvent = WaitWindowEvent(1)
Select iEvent
Case #PB_Event_Gadget
iEventGadget = EventGadget()
If iEventGadget = xButt
sFileName = OpenFileRequester("HotBasic OpenDialog", "C:\anyFile.sys", "*.sys", 0)
If sFileName
OpenConsole()
PrintN(sFileName)
Input()
CloseConsole()
EndIf
EndIf
EndSelect
Until iEvent = #PB_Event_CloseWindow
EndIf
End
Which code cut the development time?
Fred, thank you again for this language!
It is the most valuable product i have ever bought!
I want to clear something:
PureBasic is and will be my primary and favorite tool for serious software development. I do not plan to use another language. I am only searching for a tool, such VB6, which offers data bound controls and some wizards to design the user interface. BTW i do not like VB.Net.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!
Thanos Wrote:
compare from the example previously given Hot Basic:
Thanos wrote:
For me the answer to this has been (and still working on) a series of code snipits that I can insert into my code which together with Pure Form or Visual Designer allows me to quickly build the interface I want. I have used other front ends, but I generally find the process can create as much extra work as it saves.
Well its obviously not Hot Basici am looking for a tool to build gui applications easier.
compare from the example previously given Hot Basic:
with PB:
defstr title$="HotBasic(tm) Dialogs Test 1.4"
..
create f as form
width=380: height=100
center
icon="hotbasic.ico"
caption=title$
resizeable=false
maximizebox=false
It obvious to me which is easier and quicker. Give me the PB syntax anytime.xWin = OpenWindow(#PB_Any, 100, 200, 380, 100, "HotBasic(tm) Dialogs Test 1.4", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
Thanos wrote:
Well we all would like the world to be a better place.I am only searching for a tool, such VB6, which offers data bound controls and some wizards to design the user interface. BTW i do not like VB.Net.
For me the answer to this has been (and still working on) a series of code snipits that I can insert into my code which together with Pure Form or Visual Designer allows me to quickly build the interface I want. I have used other front ends, but I generally find the process can create as much extra work as it saves.
Thanks for the response.rrpl wrote: Thanos wrote:Well we all would like the world to be a better place.I am only searching for a tool, such VB6, which offers data bound controls and some wizards to design the user interface. BTW i do not like VB.Net.
For me the answer to this has been (and still working on) a series of code snipits that I can insert into my code which together with Pure Form or Visual Designer allows me to quickly build the interface I want. I have used other front ends, but I generally find the process can create as much extra work as it saves.
I also follow this way. I am a registered user of PureVision which is a very nice gui designer.
But, have you ever used a product such a Borland Delphi?
This is exactly what i mean.
Regards.
Thanos
» myPersonal Banker :: Because you do not need to have a master degree in economics in order to organize your finances!


I am a registered PureVision user too, but my one of my dreams is to see a Borland Delphi or VB RAD type.thanos wrote:...I am a registered user of PureVision which is a very nice gui designer.
But, have you ever used a product such a Borland Delphi?
This is exactly what i mean.
...
P.S: Sorry for my bad English

PB 6.21 beta, PureVision User