• Welcome to Theos PowerBasic Museum 2017.

How About HotBasic?

Started by Donald Darden, May 26, 2008, 05:55:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


John Spikowski

#1
Don,

I think the author is a bit weird and takes any suggestion as a personal attack. Once you visit the website, you will see what I mean.

Hot Babe (third person he talks through)
Penthouse (Pro version - all features)
...

He started off fixing the Basic that RealBASIC bought. (can't remember the name at the moment) and created his own version in ASM if I'm not mistaken.

Might be fun to play with but $69 is  too much to pay for what you get.

John

James C. Fuller

Quote from: John Spikowski on May 26, 2008, 09:28:01 AM
Don,

I think the author is a bit weird and takes any suggestion as a personal attack. Once you visit the website, you will see what I mean.

Hot Babe (third person he talks through)
Penthouse (Pro version - all features)
...

He started off fixing the Basic that RealBASIC bought. (can't remember the name at the moment) and created his own version in ASM if I'm not mistaken.

Might be fun to play with but $69 is  too much to pay for what you get.

John



RapidQ?

James

Donald Darden

Looks like the price has gone up.  I tried to download both the Linux and Windows trial versions. but neither seemed to have any guts included.  Prowling around the web site. I found an online compiler that will let you insert up to something like 3,000 characters of source code, compile it, then let you download the executable.  That wasn't what I had in mind.  The HotSauce utility is responsible for downloading the compiler, and I found where version 1.4 was only offering you HotBasic Penthouse, which is what he has named the commercial release of the compiler.  I did find that you can get HotSauce 1.3 off the website, extract it, run it, and that offers the Trial version, but only for Windows.  I don't see any way to test the trial version for Linux, because it is not complete.

I don't see any real forum activity, although he offers a broad range of testimonials.  It's still the promise of compiled code, fast and small executables, but looks like it would be a bit of a challenge to get up to speed on it.

A temper and short fuse are apparently not uncommon among some of the gifted.  The question is whether the product is really good enough or not.  The compiler for both Windows and Linux would cost you less than what you pay for just PB/CC, but the quality and completeness of the rivalling products could make all the difference.  Bob Zale can get on a head of steam as well, but I would not downrate his products because of that.

Bob Houle

PureBasic is a popular choice that has demos and compiles to small execuatables and is available for the Windows/Linux operating systems.  ;)

Donald Darden

I haven't given up on HotBasic at this point.  I've exchanged some emails with the developer, and the tone and content have been cordial and constructive.  My impression is that it helps to read between the lines a bit, and that it will take some time playing with the code to get a feel for it.  But it still shows a lot of promise, and I feel encouraged to keep working at it. 

I mentioned that I was going to be writing a commentary on HotBasic on these forums, to which the developer replied, "Cool!". He would be pleased to see someone take an interest in it and work on tutorials, examples, possibly a book, which he would not object to seeing published.  He was under the impression that HotBasic is making gains in the programming community, but my search efforts on the internet actually show that it seems to be losing ground, but to what I cannot say.  Anyway, he is currently digesting what I told him and why I said it, and meanwhile I will need to take a harder look at what is available.

So this is not a dead thread.  Since HotBasic is a true compiler that works with Windows and Linux, it holds great promise in terms of potential performance.  But realizing that performance means mastering the language, and without a real tutorial and limited help, it is going to be a hit or miss venture involving whatever source code can be found and studied.


Donald Darden

I never did get a straight answer as to whether there is a trial version of HotBasic for Linux or not.  On one hand I am told that there are only three versions being supported right now, Windows Registered, Windows Trial, and Linux (presumably Registered), but I also learn that there is Linux source code that you can download and try out.  Now how can you do that without a trial version of the Linux compiler?  It apparently has something to do with being "Linux savvy", which I admittedly am not.

But after some diddling, I am able to check out code under Windows using the HBIde, which is very plain.  I also found the HBAssistant, which is an interactive help file application that works with HotBasic.  I also joined the Yahoo! groups for Hotbasic and for Linux - HotBasic.  There is some code available to download as well, but I'm sort of walking around the edges and poking here and there and being pretty much limited to the Windows
Console mode for the moment.

It is a bit rough in some areas.  First, I found I have to manually set the paths in the  HotBasic/Options, because if I don't, I can't compile and run programs.  It is suggested that you use c:\HOT as the parent directory, but I decided to use c:\HotBasic instead.  You have to unzip files into the parent, then set up a \BIN folder and unzip Hot_bin.zip into it.  If you download all the html files and other example/soure or whatever files, you can begin exploring them for what to do next. 

If you visit www.hotbasic.org, and click on Documentation, you will next be linked to the HotBasic Compiler Help page.  If you click on Getting Started, you will get some hints on setting up HotBasic.  There it suggests you can enter "hb MyProg" to compile MyProg.  "hb" in this instance is the HB.BAT file that is included.  The registered version of HotBasic is actually named HOT.EXE, and the trial version is named HOT11.EXE.  So if you are using the Trial version, you would make sure that HB.BAT calls HOT11, otherwise it should call HOT.  The normal fle extension for source files is .BAS, just as it is for many other BASICs.

HotBasic sticks pretty close to the Rapid-Q syntax, so for study material, you can look for information on Rapid-Q to help you.  It is claimed elsewhere that Doctor Electron (the online name for Dr. James J Keene, the developer of HotBasic), originally probed the Rapid-Q library to find and fix a memory leak problem.  Apparently he decided that the Rapid-Q syntax was good enough for further development, but that it really needed to code directly into Assembler.  Several tests have shown that HotBasic is a champ when it comes to easy coding, small executables, and fast executions.  I don't know of any direct comparisons between it and PowerBasic or FreeBasic, but the results ought to be interesting.

By default, the Console mode is sized at 80 columns by 60 rows, with a maximum of 300 rows.  Height and Width (or MaxHeight and MaxWidth) are not independent attributes, so to use them, you would write Console.Height, Console.Width, Console.MaxHeight, or Console.MaxWidth.  In other words. they are properties
of Console.

CLS clears the screen, but unlike some other implementations, it uses the background color of 0, or Black, not
the background specified by ant previous COLOR statement.  To force some part of the screen buffer to reflect a specific color, you would use LOCATE to idenfity where to start, COLOR to set the foreground and background color, then PRINT SPACE$() to write over all or part of the screen buffer area.  Another LOCATE, to put you back to the start of the recolored area, and you effectively have changed the color throughout.

Animators know that the best way to give the appearance of smooth screen updates is to flip pages, showing one while updating the other while it is out of sight, then switching them.  I presently do not know if you can
achieve the same effect with HotBasic with its native Console capabilities, but it can work with other graphics
packages, such as OpenGL, and much of what it can do may depend on what features exists in those packages.

Using HOT or HOT11 to compile a program is a command line action.  You can compile, or compile and run from within the HBIde.  I did note that code changes do not automatically get saved before a compile takes place, so you may have to first save the file changes, then perform the compile.

Forms created or used by HotBasic are pinkish, which is not a color I am real keen on.  But they are easy to make, and less daunting than working with forms in other dialects.  I suspect that the controls will let you change many aspects of the forms as you get familiar with them.

If you attempt to compile a non-console program with the trial version, it will stop and show an error.  But if there is an executable file that has the same name as the file you indicated you are currently working with, the executable may be executed after the failed compile, which makes it confusing as to what occurred.  If you try to compile and execute a program and get a failure that Document.bas could not be found, this likely indicates that you need to set the paths as mentioned above.  However, the path changes don't appear to really stick.
So you may have to do it again.

I did find mention of being able to create an INH file somewhere, and some sample entries that could go into it.  Trouble is, I've looked all over, and I can't find out where I found it the first time.   
 
  .   

John Spikowski

I tried to warn you.

Trying to get a straight answer out of James is a challenge. The bottom line is if you pay for a current version you get to tag along with him releasing daily builds that are only talked about on the Yahoo forum. I tried to get DLL's I created in PowerBASIC to work with Hot Basic and as it ended up Jim declared PB's method of creating DLL's as non-standard.

I gave it up after a round with him over that nonsense.

John

Donald Darden

I'm seriously tempted to go ahead and buy the HotBasic compilers anyway.  I would be happier if I could verify for myself what they can and cannot do on their
own, but there is no question that looking at only the trial version, and that only for Windows, it is hard to judge.

There are some limitations to most BASICs that tend to bind.  For instance, there is really nothing major wrong with using a Console Screen for your output.  You have a good size writing area which you can colorize and modify as you choose, and you can even do limited graphics on it.  Of course you are limited in terms of the colors you can use, and the font and size that can be displayed. but it is conveniently handy when you are trying to do some rough and ready coding efforts.  And you also have the LINE INPUT, INKEY$, and WAITKEY$ methods of getting data from the user.

In PB/Win, which does not have a native Console, you either try to get by with message boxes or struggle with setting up some sort of generic form to display data in.  You don't even have a native method of getting keyboard data.  You can argue that PB/Win gives you a lot more options, but it takes time, practice, and learning to come to grips with those options.

If you are trying to write a finished application to satisfy a customer, you will probably opt for the PB/Win way of doing things over PB/CC.  But if you are using the compiler as a dynamic tool to shaping new code and creating new methods of attack on certain problems to satisfy yourself, you might be a lot more productive and comfortable with PB/CC.  I rarely produce standalone EXE files that I run by themselves, preferring instead to compile and run from the IDE, which gives me instant access to whatever is occurring in the source code.

Linking to other DLLs is an issue, of course.  But PowerBasic has a couple of methods for linking, and you have to know which of those methods are in use
in order to link successfully.  Not having looked at it, I would suspect that HotBasic may rely on the C method of passing parameters.  It is something that needs to be found out.  I am sure that there is a way to have it work with PB
DLLs. simply because it can work with the Windows APIs, which are themselves calls to the native DLLs in Windows, and because PB can also call these same
DLLs. so there has to be common ground in there somewhere.

Jim or James. or Doctor Electron to you, comes across to me like my younger brother did, sort of offhanded and with a mindspin that is at least 45 degrees off the axis you would expect.  I consider it a mark of genius, as my brother had an exceptional mind, but went through life like a bowling ball down a flowery slope.
You can't afford to take offense towards such people.  Bob Zale has really taken exception to me and my remarks from time to time, but I have assured him that I meant no offense or insult, and we have gotten past that.

The trick is, HotBasic needs to build up a support community that can help each other, not direct everything back at the developer.  Most posts on the PowerBasic forums are answered by other individuals, with only occasional input from PB staffers.  We know that they are there, and they pitch in when it suits them, but we are free to discuss our problems among ourselves.

I don't much care for the Yahoo! forums.  Each post is set out separately, and you have to chain forward. backward. or reply to each.  Files are posted separately, and it feels downright awkward.  You see individual messages, not threads, so there is no simultaneous discussion on multiple topics.  It is ads-supported, so there is plenty of non-related material to distract you.  You cannot drill down by subject or thread title.  I think the Yahoo! forums are an object lesson in how NOT to put together a group that is interested in a specific subject.  I wonder how much further on HotBasic would be today if it had a centralized Forum that worked along the lines of this one? 



Donald Darden

When you download files from various sources for HotBasic, you don't really know what you have, until you attempt to do something with them.  Then if you are limited as I am, by still using the Trial version that only handles Console applications, you want to split those out so that you can study them a bit on their own.

I still think in terms of PowerBasic, so to do this, I threw together a little program to prune through all the BAS program files I've gotten and copy them to new subfolders, which are named Console, DLL, GCI, GUI, and OBJ, which are the five application types that you can make with HotBasic.  I ran the program, and now I have copies of the files by type.  It also shows me what types I currently do not have.  For instance, I find I have no examples of DLL source programs at present.

I figure I can post this little pruning process here in case it helps anyone else. 

John Spikowski

#10
Jim makes you download the software through his installer that grabs the file off his development PC. Here is a HotBasic grid demo running under CrossOver (Wine) on Ubuntu.




$APPTYPE GUI: $TYPECHECK ON

DIM form As FORM, i As LONG, p$ as string
form.icon="hotbasic.ico"

dim gr(16) as BUTTON
for i=0 to 16
  gr(i).left=10: gr(i).top = 29+i*14
  gr(i).width=30: gr(i).height=14
  'on vertical scroll, you re-write captions:
  gr(i).caption=str$(i+one)
next i
dim w as grid
w.top=10: w.left=40
w.height=form.clientheight-20: w.width=form.clientwidth-50

For i=0 to 25: p$=CHR$(65+i): w.insertcol i,p$: NEXT i
For i=0 to 16: p$="Item"+STR$(i): w.insertrow i,p$: NEXT i

w.cell(3,3)="hello"

w.cell(1,1)=w.cell(3,3)
w.colwidth(3)=100
w.cell(1,3)=".ColWidth(3)="+STR$(w.colwidth(3))

w.textcolor=&H0000FF  'red
form.ShowModal
END

José Roca


I don't mind. Just send me an email with what I have to send and the email address of the author. I don't have anything, not even the license key.

John Spikowski

Thanks Jose !

Just send a e-mail to doctorelectron_AT_cwdom_DOT_dm with Don's e-mail address and name. The e-mail is used to download the software. (as long as your IP doesn't change between updates)

Mention that you never downloaded HotBasic and have no interest in the Basic.

John



José Roca

 
I downloaded it and looked at the examples, but wasn't interested. Since I don't program in Linux, I don't have any reasons to use other Basic compilers or interpreters than PB.