Powerbasic Museum 2020-B

General Category => General Discussion => Topic started by: Marc Giao on January 31, 2017, 10:29:10 PM

Title: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Marc Giao on January 31, 2017, 10:29:10 PM
https://forum.powerbasic.com/forum/announcements-articles-and-support-faqs/product-announcements/757277-powerbasic-has-a-new-home (https://forum.powerbasic.com/forum/announcements-articles-and-support-faqs/product-announcements/757277-powerbasic-has-a-new-home)
Title: Re: PowrBASIC has been sold!
Post by: John Strasser on February 02, 2017, 01:57:26 AM
I notice I can't get into the forum  :'(

I don't suppose there are any copies gbthreads or poffs around anywhere with an up to date database? My weekend project is now apparently too late.
Title: PowerBASIC is ALIVE!
Post by: Theo Gottwald on February 06, 2017, 10:11:33 PM
One of the Powerbasic Users had a company that sold programs to 10.000s of US Tax-Offices.
So his program was sold a lot of times and he earned more money then PB.
He solved the problem of PB beeing outdated and without support now shorthand.
He just bought the Source Code.
Seeing this situation, the outlook for PowerBasic for the next years is much bnetter then anybody would have expected in the last month.
Because Taxes will survive. And now they will pay for new PB-Versions :-)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 07, 2017, 12:18:33 PM
QuoteSeeing this situation, the outlook for PowerBasic for the next years is much better then anybody would have expected in the last month.
???   :P   ::) 

:-X  :-X  :-X
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on February 07, 2017, 04:10:46 PM
I am not as enthusiastic as many on the PowerBASIC forum. With the sale I came to the realization the PowerBASIC I know, love, and most importantly trust is now officially dead. Anything that follows will be DrakeBasic not BobBasic. The Drake's are USERS of PowerBASIC not assembly compiler developers as far as I know. They do appear on the surface to have the capital to hire programmers, but how many compiler developers experienced in tasm32 are there out there? Or maybe Eric is correct in his 16bit dos app that creates a 32bit PB compiler that produces now a 32bit exe/dll?

James

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Peter Weis on February 07, 2017, 06:43:22 PM
Deutsch:

Ich denke man kann nicht wissen was dabei raus kommt! Wenn er ein guter Programmierer ist wird er sich schon rein finden! Was aber in Assembler schon recht schwierig ist! Ich arbeite gerade wieder an meinen Konsolen Tools die auch in Assembler geschrieben sind! Musste eigentlich nur ein Datenstruktur Byte auf ein Word erweitern. Ich denke ich bin noch ein halbes Jahr beschäftigt bis ich alle Fehler beseitigt habe! Also viel Glück!!!!   

Englisch

I think you can not know what comes out! If he's a good programmer, he'll find it! But what is really difficult in assembler! I am working again on my console tools which are also written in Assembler! Just had to expand a data structure byte to a Word. I think I'm still half a year busy until I've eliminated all the mistakes! So good luck !!!!
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 07, 2017, 07:13:15 PM
Because i am one of those half brain (hello Mister ZALE), i am looking forward to learn more about the real motivation of the new owner.

...
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 07, 2017, 10:12:39 PM
Many of us knows that Bob Zale was a character, I've seen him badly unfair with many.

Well let's face it, if it's true that you are a half brain guy,
then you got three of them, it's not too bad. :-) :-) :-)

I guess that we all expect the new owner to share his vision for the next couple of years.
I'm absolutely not a fan of the so called "no vavorware" politic that keep everybody in the dark.

Anyhow, it's a real good news for now. And I think that they may be much more interested in 64 than Bob was.
In a sense, they have to, for their businees to keep up to date, and it's already late.

Que sera sera
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 08, 2017, 09:36:46 AM
QuoteIn a sense, they have to, for their businees to keep up to date, and it's already late.
If this is true, then i know several solutions that would have helped them.

But perhaps, the new PowerBASIC Boss is just an altruist guy wanting to rescue the beached whales.

;D
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on February 08, 2017, 10:42:28 AM
Quote from: Patrice Terrier on February 08, 2017, 09:36:46 AMBut perhaps, the new PowerBASIC Boss is just an altruist guy wanting to rescue the beached whales.

;D

.. which wouldn't be bad news at all from the beached whales' perspective, would it?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 08, 2017, 11:09:31 AM
Quote.. which wouldn't be bad news at all from the beached whales' perspective, would it?
That's for sure, and i just hope for them that they will be rescued before their passing.

I realy hope that somebody would be able to take over ZALE's code, but knowing the man since the time of CompuServe and PBDK, i am very pessimistic.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 08, 2017, 05:04:34 PM
Hi Patrice,

To make this clear to me,
do you mean that the code is written in a so cryptic and personal way that it's almost impossible to decipher?
If so, is this impression based on something else than the personality of Bob Zale?

Pierre
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 08, 2017, 06:29:55 PM
ZALE's code originates from the Bordland time (TASM), and even if it has been ported to MASM it is something very hard to read for non-initiate.
Bob never delegates on that part, except with Dave Navarro a long time ago.
Before his passing Bob was very sick, and he couldn't work anymore 24 hours a day, this is probably the reason why the 64-bit beta never started.
There are many things to be aware when moving from 32 to 64-bit, especially for those using DDT's code.
While a 64-bit SDK only would have been a first step, the DDT'ers are the beached whales especting that they will have just to recompile their code to have it working in 64, but that is not the way it works.
Thus do not underestimate the amount of pedagogy to learn them what to do.

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Marc Giao on February 08, 2017, 07:26:52 PM
I knew several people that had seen and worked on Bob's code, they said it was unusually well organised and commented so, when Drake took over I asked Phil Drake for his opinion:
https://forum.powerbasic.com/forum/announcements-articles-and-support-faqs/product-announcements/757277-powerbasic-has-a-new-home?p=757289#post757289 (https://forum.powerbasic.com/forum/announcements-articles-and-support-faqs/product-announcements/757277-powerbasic-has-a-new-home?p=757289#post757289)
 

Quote from: Pierre Bellisle on February 08, 2017, 05:04:34 PM
...the code is written in a so cryptic and personal way that it's almost impossible to decipher?
If so, is this impression based on something else than the personality of Bob Zale?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 08, 2017, 08:01:48 PM
Marc--

Over 400,000 lines of ASSEMBLER to decipher, then better to not have a faint heart, and be ready to accept no social nor family life for monthes, without forgetting a good coffee machine close to hand.  8)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 08, 2017, 09:18:45 PM
"Like a beached whale" meaning by thefreedictionary.com:
Completely stuck and unable to move or escape from the situation.


Yep,

No doubt, this is a real challenge.
From my perspective the situation was quite desperate when
Tom Hanlin was responsible for the development.
(Sorry Tom, you didn't keep your promise to the community and never explained why, hence my deception)

I do not expect 64 before three years or so in my wildest dreams.
Five years minimum might be more reasonable.
So, like many, I will continue to develop in parallel mainly with another language to have access to a 64bit compiler.
The risk is that after all this time, I had become so familiar with my current 32/64bit compiler that I won't need anything else.

This said, I will give time to this new player, who spent time and money to acquire PowerBASIC,
so he can show the world what he can do.

One thing for sure, the way I see this, the situation is much better than it was a few days ago.  ;-)

Pierre
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 08, 2017, 09:55:56 PM
QuoteOne thing for sure, the way I see this, the situation is much better than it was a few days ago.
Or it couldn't be worse, but perhaps they have found a Wizard to work on it, and to paraphrase Trump, make PowerBASIC great again, who knows ;)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 09, 2017, 12:06:14 AM
I wish them a couple of "Paul Dixon", pretty rare stuff but not non-existent. 

Pierre
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on February 09, 2017, 01:05:44 AM
Quote from: Pierre Bellisle on February 08, 2017, 09:18:45 PMI do not expect 64 before three years or so in my wildest dreams.
Five years minimum might be more reasonable.

No, things aren't as bad actually. If you'd like to listen to someone who has practical experience in compiler development in relation to BASIC, Asm and stuff, then I'd estimate a feasible time frame between now and beta release of a fully functional 32-bit PowerBASIC cross-compiler (regardless of asm bitness and/or flavor of Bob Zale's legacy) capable of emitting 32- and 64-bit executables from the common x86/x64 code base to be on the order of 10 to 12 months provided the Drakes do not attempt "wrapping their heads around Bob's assembler code" using their in-house PB/SAP/Sage/whatever programmers and general-purpose IT specialists, to say nothing of shrinking this activity to a sub-subsidiary status or someone's leisure time altogether.

A successful 370+ strong US resident company is surely in a position to hire a team of 3 (worse) to 5 (better) dedicated developers with a strong BASIC background proficient in assembly and compiler development, to quickly catch up on all the years lost while PB was idle -- even if the entire team were born Bay Area or NYC residents by their living standards and salary expectations. We are talking here about the instrument the company's entire success has been built on, after all.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 09, 2017, 02:04:20 AM
Quite interesting Mike, I've set a self memo for 2018-02-08.

I will be back in one year for sure...

Se you later,
Pierre
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 09, 2017, 05:05:12 PM
I Stefan,
I'm not sure to follow you. Can you elaborate?

Pierre
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 09, 2017, 09:09:12 PM
q> that was a joke

A very good one I must admit... ;-)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Theo Gottwald on February 18, 2017, 08:56:17 AM
In fact i have talked to Semen M. (the older here may know him).

He said, that its possible to make the new 64 bit compiler "in no time", if the 32-bit ASM-Code  is available.
So its a question of getting the right Wizzards for the Job.
People who have that special visual Brain with code-structure in it.
Like Jose, Semen, Hutch, Paul, Pierre and few others.
If you take some average "just available programmers" it may get a longer and more troublesome Journey. We will say what they do.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Paul Yuen on February 18, 2017, 11:48:05 PM
Keep our fingers cross and hold your hands together, let us pray for divine help for pb inc?
I'm sure that there are many capable masm programers around that pb inc can rope in to complete
Bob's meticulous code.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Carlo Pagani on February 20, 2017, 08:00:36 PM
QuoteIn fact i have talked to Semen M. (the older here may know him).

Hey Theo - Why don't you say hi from us and let him update us with what he is doing these days.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Theo Gottwald on February 24, 2017, 09:38:16 AM
I did. :-)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 08, 2018, 07:12:09 AM
Quote from: Pierre Bellisle on February 09, 2017, 02:04:20 AM
Quite interesting Mike, I've set a self memo for 2018-02-08.

I will be back in one year for sure...

Se you later,
Pierre

;-)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Theo Gottwald on February 09, 2018, 11:22:29 AM
Semen is busy doing Software Projects, currently also with Smartphones. I wonder what he will come up with.
If anybody want say "Hi " to him, ask me witz PM then i give you his Mailadress.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on February 15, 2018, 12:15:41 AM
Quote from: Pierre Bellisle on February 08, 2018, 07:12:09 AM
;-)

Pierre,

I can't possibly know what's if fact going on at the Drakes, and even less, be held responsible for that. My estimation was based on my idea of a fair deal aimed at developing Bob's legacy. However as we know, there may be other less transparent strategies. For instance, paying big money to lock the project up in the bottom drawer and thus secure a far greater investment in something competitive.

I don't want to speculate any more on this subject. Frankly, I both lost interest and ran out of popcorn waiting for anything to happen at all.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Pierre Bellisle on February 15, 2018, 02:10:21 AM
Of course. ;-)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Theo Gottwald on February 24, 2018, 09:19:36 AM
Atthis time i am quite confident that there will be some sort of PB x64 Sort of Compiler, wether from PB or from Brian Alvarez.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on February 24, 2018, 09:37:34 AM
The best solution is to use C++ under the hood to create a 64-bit PB compiler.  8)

and the other solution is to learn how to program in C++ directly  ;D
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Charles Pegge on February 26, 2018, 07:16:46 PM
We were having quite an interesting discussion about PB over here:

http://www.oxygenbasic.org/forum/index.php?topic=1542.0
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on February 28, 2018, 09:06:55 PM
Quote from: Patrice Terrier on February 24, 2018, 09:37:34 AM
The best solution is to use C++ under the hood to create a 64-bit PB compiler.  8)

and the other solution is to learn how to program in C++ directly  ;D

It's done. Check this out:

http://www.jose.it-berater.org/smfforum/index.php?topic=5242.0
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 02, 2018, 02:53:44 AM
Quote from: Brian Alvarez on February 28, 2018, 09:06:55 PMIt's done.

Is it really?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 04, 2018, 07:16:03 AM
Quote from: Mike Lobanovsky on March 02, 2018, 02:53:44 AM
Quote from: Brian Alvarez on February 28, 2018, 09:06:55 PMIt's done.

Is it really?

It is. Im still adding little details for my own use, but it exists.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 15, 2018, 11:40:26 AM
Hello Chris,

Right now i am working on the PHP features of the engine, since those are what i use the most.

I went ahead and added an option switch to use BSTRS or STRINGS on the C++ engine to make it easier for 32 bit apps on the C++ engine. It is working pretty good. I figured that since Official PowerBASIC compiler cannot create 64 bit DLL's, it is (for now) not worth it to make it compatible with BSTR's, since i dont know of a way to have a 64bit application to use 32bit dlls. However the bases are set and its just a matter of a simple option to switch from generating BSTR or STRING source code.

Basically everything works, but there are lots of stock functions to do. I am creating those, but there will be needed another set of functions for the BSTR versions.

However, as much as i want to, i dont know if i should share. As i was pointed out, there might be problems if i do, so... I dont know.

Maybe i will share a video of it working to show how easy it is to use. Basically all you need to do to chage the target (once the compier paths are set) is set the headers like this:

' Compile an exe with PBWIN (32Bit).
#COMPILER PBWIN
#COMPILE EXE


' Compile an exe with PBCC (32Bit).
#COMPILER PBCC
#COMPILE EXE


' Compile an exe with the configured C++ compiler (32 or 64 Bit depending on the compiler and its settings).
#COMPILER CPP
#COMPILE EXE


' Compile a CGI with PBWIN.
#COMPILER PBWIN
#COMPILE CGI


' Compile a LIB CPP.
#COMPILER CPP
#COMPILE LIB


' Compile a PHP script.
#COMPILER PLURIBASIC
#COMPILE PHP


Et cetera.

Its pretty fun to work with it. However since i still need to work on a regular bill-paying job, i don't have as much time to work on it as a would like. Since i want to see it shine, and i need to have a regular job, and can't focus much on it, I am considering selling a "share" of it to someone who can develop it along with me. This would free me to work more on it and speedup things by having some aid. The code is pretty modularized and easy to understand, very carefully made since the beggining, so, it will not be a problem to mantain it.

Believe it or not, It is currently being developed in Itself. it can generate code to compile itself as a 32bit compiler (using PowrBASIC) and also generates its own source code for C++. However, since some stock functions for C++ are missing (the ARRAY statements like ARRAY SORT, ARRAY SCAN etc...) it cannot yet compile itself in 64 bit mode. Once those are created, there is nothing else preventing it from compiling itself as a 64bit compiler that can compile 64bit applications.

The bones for DDT are set. Meaning it will be able to compile DDT source code with no issues as a 64Bit apps once the stock functions are created. Cant wait to have time to create those!!!

There. Thats an update. :)




Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Raymond Leech on March 15, 2018, 04:03:18 PM
Quote from: Brian Alvarez on March 15, 2018, 11:40:26 AMHowever, as much as i want to, i don't know if i should share. As i was pointed out, there might be problems if i do, so... I don't know.

Brian, This is going far back in my memory, so apologies if I don't have all the facts at my fingertips. If you're interested in researching the ins/outs, I think you might want to talk to Eros at ThinBasic.  I seem to remember discussions on someone's forum about what he could and couldn't do to produce a non-infringing product.  I think it was about simply wrapping PBs commands and exposing them w/o a PB license.  The one example that sticks in my head is you couldn't write a language that had xPrint commands that simply called the PB xPrint functions, you had to write your OWN xPrint layer.

Since you're emitting 64bit code, seems pretty unlikely you're 'thunking' down to the PB 32bit runtime library. Just my $0.02.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 15, 2018, 06:28:47 PM

Hello Raymond,

You are right. 32 Bit stock functions cannot be embedded into a true 64 bit application. That is exactly what i repeatedly repost as missing, those stock functions that are not supposed to be wrapped. :)

One needs to write their own.

I once talked with Bob Zale about this i think. He said (and i think he also posted this on the forums) one is not allowed to wrap them in a function, using another name and claim as own. Thats all. For example, one could even use other functions like MID$ and INSTR to create a custom TRIM function, but directly wrapping TRIM$,would not be allowed. Doing a custom trim, using TRIM$ as part of it, would be allowed, as long as it was not a direct wrap. for example, it is OK to do this:

FUNCTION MYCUSTOMTRIM(BYCAL Src AS STRING) AS STRING
     FUNCTION = TRIM$(Src, ANY "&s**!")
END FUNCTION


But its not OK to do this:

FUNCTION MYTRIM(Src as String, OPT UseAny as Long, OPT Chars as String) as string

IF ISFALSE VARPTR(Chars) THEN
   FUNCTION = TRIM$(Src)
ELSEIF UseAny then
   FUNCTION = TRIM$(Src, ANY Chars)
ELSE
   FUNCTION = TRIM$(Src, Chars)
END IF

END FUNCTION



Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Frederick J. Harris on March 16, 2018, 04:18:23 PM
You are using a C++ compiler to generate 64 bit exes Brian?  If so, which one?  Could MSVC be used?  I'm wondering because I link against my TCLib to produce really small x64 exes.  But I only use MSVC.  I have not used GCC for some time for various reasons.  I'm wondering if your work would integrate into mine.  One of the issues that is depressing to me is that if a 64 bit PowerBASIC compiler would come along, would it be able to produce tight exes like PowerBASIC's 32 bit native compiler?  Generally speaking, C++ compilers that make use of anything from the C++ Standard Library generate large code.  In my work I have avoided that, and have been able to use all the features of C++ without generating large code.  I'm just wondering about these things.  I can manage without PowerBASIC, but I miss it bad. 
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 16, 2018, 09:44:45 PM
Hello Frederick,

Yes. I am compiling 64bit EXEs with a C++ compiler.  I have used various compilers, but i havent tested with MSVC.

The engine i use generates requires a compiler that supports C++ 11 or newer. If you send me a copy of MSVC or a download link that installs offline, i can try it (and make tweaks to make it work). I preferably would like to suggest a compiler that doesnt require the .Net framework to be installed.

When i switch from #COMPILER PBWIN to #COMPILER CPP, the resulting sizes are dramatically different. For PBWIN i get (from my tests 5 minutes ago) an exe of size 28kb, when i use the CPP one, i get an exe of 1.8MB. Not exactly light. Of course, first one is 32 bit and second is 64 bit... but stilll....

Which one do you suggest to generate small executables?

Also integrate with what work? i mean, what do you do?

Brian. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on March 16, 2018, 11:41:49 PM
We have posted already several examples showing that C++ 64-bit could be also very small in size.

VS 2017 Community is free and you can just install the C++ compiler if you want, no need to install the .NET version, you can also use it to produce Android applications...

Here is an example of a standalone 30 Kb 64-bit application that is a transposition of the PowerBASIC address example.
http://www.jose.it-berater.org/smfforum/index.php?topic=5185.0
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 17, 2018, 02:20:47 AM
 I am lost in the options Patrice. Could you point me to the compiler only? Every time i want to download it it either wants me to download the whole thing or update the whole visual studio i have already installed.

Its funny that only the list of files that is downloaded while installing visual studio, is 67 MB.... that is like 120 times bigger than the compiler i am writing... and it is only the list of files to download!!!

Very bloated stuff! In the time it takes my computer to open Visual studio 2017, i could open AND close Pluribasic like 70 times... WHILE Visual studio opens (i mean, at  the same time that visual studio is using lots of resources)!

Thanks. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on March 17, 2018, 10:06:46 AM
https://blogs.msdn.microsoft.com/vcblog/2016/08/22/the-lightweight-visual-studio-15-installer/

Google is your friend....
"dowload VS 2017 C++ compiler only"
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 17, 2018, 09:35:13 PM
 Ohhh that was it! I was googling for "download".  ;D

Jk.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 17, 2018, 10:15:33 PM
 Hmm it downloaded the exact same thing. Gave me the exact same 3 options. Maybe i am downloading the wrong one.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 19, 2018, 02:34:56 PM
Quote from: Brian Alvarez on March 17, 2018, 02:20:47 AM... that is like 120 times bigger than the compiler i am writing...  Very bloated stuff! ... i could open AND close Pluribasic like 70 times...

Just as a matter of terminology unification, Brian, is the app you're advertising a compiler or a translator? A translator is a utility program, just one part of a toolchain, that would merely translate, or map, some particular language or dialect's semantics and vocabulary into the context of another language's development environment that would host a set of instruments, utilities, libraries, etc. to turn one's source code written in, or translated to, that other language into a statically compiled and linked disk image file of executable machine code instructions, by means of a program equipped with this or that form of direct machine code emitter, generally referred to as the compiler?

Some examples of typical source translators: FreeBASIC, BCX, UBX, BC9, LBB, to name but a few.
Examples of target true machine code compilers: PowerBASIC, FBSL, OxygenBasic, VC/C++, GCC/GAS, MASM/FASM/NASM, etc.

So, which of the above categories would PluriBasic v6.0 effectively fall into, do you think?

MS VS is a huge and yet extendable integrated development environment designed to host several top-grade compilers, that's far more sophisticated than all the 200+ indie BASICs (Power/Pluri included) taken together with some competing indie C compiler implementations like Pelle's C and LCC-Win32 and TCC and more added into the bargain. No wonder it needs time to get all its mighty resources up and ready at the user's service.


Thanks!
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 06:58:08 AM

It used to be able to produce VERY rudimentary 32 bit executables. But i removed that part of the code, because it would take me a loooooong time to complete it. Really, a long time. But, the same engine for parsing the code and trapping errors can be used to generate the source code for other platforms.

Current version of PluriBASIC v6.0 would more fall into what you call a translator. And a very good one at it. The compilation process does not differ from compiling one thing or another, and is completely invisible in the background.

I will see if i can post a video of it in action. I think more than one would pay for it.

Regarding MS VC, I kind of understand what it is, and i know it is great for working with it, but to my taste it is too far from what a compiler needs to be used also for a hobbyst to use. It over complecates things and takes the fun out of it. I mean, no kidding, i have a decently fast i7 computer with 16 GB of ram, not a lot for today's standards but, come on, 4 minutes to create a simple console project?

I understand why the complecations, but why having tons of ways to compare things? It checks more often the situations seldom happens, but ignores the situations more often happens...

a complete engine... that take a long time to load, and doesnt even have an easy way to convert numbers to strings or strings to numeric values? And by easy i mean something that can be used in a one-liner, i know i can use a 2 or 3 line stringstream statement, but having to do that every time, or have a dedicated function to do so, kind of makes me wonder what in the world does it load then? Where are its "mighty resources" if newcomers struggle to achieve such simple tasks as passing correctly a parameter to a function?

Also, whats with all that unclear errors displayed everytime an error happens? Its like buring a marvel in a pile of stones! Wouldnt it be easier to say... you need to do this or that? No.. it throws a lot of tehnical stuff behind the guts of the compiler. I dont care why the guts cant do what i asked!

No wonder why those who have used PowerBASIC miss it when having to go somewhere else to compile 64 bit applications!

That said, i believe C++ is very good to use the technologies beyond the language, and it is a great bridge between the programmer and the core OS features using the same language in all platforms. I will definately keep using it... out of necessity. I just wish it was easier.

I still haven't used it with PluriBASIC yet (haven't needed), but i plan to. I need to do something simple... find the exe to invoke as commandline and figure out it's command-line syntax.



Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on March 20, 2018, 10:31:17 AM
Brian

If you don't like the luxury of the Viusal Studio environment (mostly because you didn't invest enough time on it), there is nothing to stop you to use directly the command line compiler CL.exe, that works just the same than for the old PDS/DOS compiler/linker paradigm.

I am using VS to create and build all my 64-bit applications, including my 64-bit WinLIFT/GDImage DLL(s), and i can't tell you that it doesn't take 4 minutes to create the resulting binary, but just a few seconds...

Creating a translator for PowerBASIC SDK code is rather easy, however doing the same for DDT code is a much more complex task.

But to say the truth, i can't see any futur for PB, because to let it have a success in the long run, it should attract the new programmer kids, the papy boomer programmer's market (PB's market) is on declin, and no serious industry manager will ever consider to build new applications with it.

The only thing that would have had a chance of success was to offer a programming environment "à la WinDev" with plainty of extra pre-build/ready to use facilities that would cut the development time by a factor of 10, with rock solid API extensions, and using the latest technology, just the same than those available to native C/C++ programmers ;)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 11:21:36 AM
Brian,

Thank you for your detailed overview of PluriBasic 6. I share Patrice's opinion on CL, VS, PB front end, and PB SDK. I am not however prepared to share his pessimism regarding the future of BASIC in general. :)

Re. MS VS, I think an attempt to create a simplified VC/C++ "studio" based on, say, the Scintilla code highlighting editor and some existing open source solutions for a matching visual designer a-la VB6 IDE, to create an alternative beginner level VC/C++ IDE might be quite fun and a worthy challenge in itself. This might help to make the beginner's integration in VC++ much easier than it is now. I am a point-and-click guy and enjoying it, and I consider command line practices medieval and alien in the MS Windows' 100% graphical user interface context.

Anyway, good luck with your project! And yes, it is great to see and feel one's powers grow day in and day out on one's way to a worthwhile objective.



[UPD] As an afterthought, Brian, why wouldn't you just take James Fuller's UBX and extend it to support PB's basic syntax? (pun not intended)

UBX is a BASIC-to-C++ translator based on BCX that's in its turn a BASIC-to-C translator augmented by James to emit C++ code compatible with a number of existing C++ compilers including VC++.

Both BCX and UBX support a well developed BCX BASIC dialect that can be readjusted to work for PB and especially its more progressive SDK paradigm. BCX and UBX are strictly GNU GPL so you will not be allowed to close your derivative sources from public or sell them in either human readable or precompiled form. But you will still be able to charge potential customers for your extra work on extending your hypothetical PluriPBX to accept more sophisticated portions of PB semantics, e.g. DDT or COM, whatever, and get paid for that. Again, you will be obliged to open source your end results, but your efforts to provide your design solutions would be adequately and legally paid for.

That's where Linus Torwalds' multi million dollars worth comes from. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 01:04:26 PM
Brian,
  My impression is you need to upgrade your working environment.
I admit I do very little in moderation but I do have a passion for my hobby. I am retired on social security with a moderate pension.
I have nine computers on my network. Six Running Win 10, two Linux, and one sick Win7, along with a couple of echo dots and an Echo show. I also have four chromecast pucks. On one PC I have three free versions of Visual Studio. I very seldom fire up the VS environment. The only time is to run/test some of Patrice's code or to check for updates to the VC++ compiler. I compile all my code from batch files.
My version of the PowerBASIC Address demo: http://www.jose.it-berater.org/smfforum/index.php?topic=5187.0
,using Fred's TClib, is an example showing c++ can be lean and mean. That demo takes between 4 and 9 seconds  from basic to exe. Yes it is a fairly high end machine: Dell XPS8900
1. translate basic -> c++
2. convert ansi c++ source to unicode
3. compile resource file
4. compile c++ -> exe

Shelling Out To: ULEX.EXE "bc9Address.CPP" TCHARXLATER_VC.TXT
Shelling Out To: TCLIB.BAT "bc9Address"

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.5.2
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Compiling resources.....
Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25831 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.


James
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 01:18:43 PM
Mike and I have discussed the license before and have not come to the same conclusion.
As far as I, and Mr BCX, are concerned you may use the code for any purpose except making a clone of the product.

James

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 02:12:49 PM
James,

Let's put it clear here and now.

1. Would you AND Kevin regard such a hypothetical PBX a clone of BCX or UBX? In other words, do you both regard PB BASIC as a clone of, or competitor to, BCX BASIC? If yes then I hereby regretfully withdraw my suggestion altogether, Brian.

2. If not then GNU General Public License version 2.0 comes into force (see here (https://sourceforge.net/projects/bcx-basic/) for a still further link under the same name!). Follow that other link to read yourself what you and Kevin are effectively diminishing our rights to, regarding your respective sources and binaries, regardless of what you may, or may not, be telling us by your word of mouth! GNU GPL is a restrictive license that's primarily concerned with what the user is expressly forbidden to do with your respective products. It is written in plain old English and is practically devoid of legalistic abracadabra so that everyone would be able to understand what it's actually talking about.

3. If both of you still insist that we can do with your code whatever we like except use BCX/UBX to generate the C/C++ sources that would then compile into a translator/compiler binary that would interpret BCX/UBX BASIC differently, perhaps using a different/alternative runtime library that wouldn't be automatically made part of your own respective products, then why wouldn't you just trash that GNU GPL nonsense altogether and concentrate public attention on that one and only restriction you consider really essential?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 02:51:35 PM
Mike,
  I really don't give a flying f*** about licenses nor do I understand most of the giberish.
Quote
As a special exception, the BCX license gives permission for additional uses of the text contained in its release of BCX. The exception is that, if you use BCX to create source code that will link the BCX libraries with other files to produce an executable, this does not by itself cause the resulting executable to be covered by the GNU GPL. Your use of that executable is in no way restricted on account of using BCX to produce source code that will link the BCX library code into it.

I understood this to mean you are not necessarily bound by the GPL just by using BCX????

Personally I don't care what you do with the code.
What would you suggest??

James

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 03:36:11 PM
 Hello guys.

Mike, not that i dont appreciate your suggestion, but why taking something else to adapt it to use something that PluriBASIC already does? It already accepts DDT. Not only that, but it also accepts the most complex statements, even those that use composite parameters like CHR$(1 TO 20, 13, "Hello") or DIR$("*", ONLY 16).


I do it mostly for fun. The fun of seeing something verbose convert in something so simple... for example, PluriBASIC accepts the following statement:



DECLARE Function RepositoryPWB LIB "PLURIPWB.DLL" ALIAS "REPOSITORYPWB" (Mems as Memories, byval FuncID as long) AS LONG
DECLARE Function RepositoryPHP LIB "PLURIPHP.DLL" ALIAS "REPOSITORYPHP" (Mems as Memories, byval FuncID as long) AS LONG



And converting it to its C++ counterpart, making programming fun, rather than tedious.

James, i work in a variety of computers as well. I have a couple i7, a couple i5's and most of them have SSD drives and decently fast CPU's. As i said, not the fastest in the world but not so slow to make reasonable a slow opening of applications. So, there is no real excuse on why a program would take so long to open. Agreed, there must be something wrong with the installation.


I gave up trying to see why it insists in attaching some skype DLL's to one of my applications. Because those DLL's make it crash for 64 bit compilations. It attaches them even for any "Hello world" console example and make it crash in 64 bit mode. It is frustrating to ask what in the world does "Telephony" have to do with a "Hello world" example, so important as to not allow to compile the example without those, on the price of making the app crash?... I dont know. The thing (MS VS) has grown so big that many things can go wrong.


It has been fun working with making PluriBASIC, and i already can use it for my work, which is fine. I can put together a website rather quickly with my own engine. Much faster than writing the whole thing in PHP.


RE: speed of compiling, once the thing gets loaded it compiles apps fast, but still, PowerBASIC takes 0.1 on code that MS VS takes more than 1 second.


Speaking of resources, i still need to work on that.



Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 04:25:40 PM
Thanks James,

Regarding GNU GPL: (LGPL is just a tad different and not discussed below)

1. Every reasonable GNU GPL translator/compiler would not impose any restrictions on the use of end products they are utilized to generate. Thus, GNU GPL'ed GCC may be freely used to generate commercial closed source applications without restriction, as may GNU GPL'ed Pelle's C, GNU GPL'ed LCC-Win32, or MIT-licensed TCC, or others. Had BCX not been supplied with the "special exception" clause you quoted, it wouldn't be worth the media it's stored on -- because probably 75% of its output is made exactly of the BCX library functions the quotation pertains to. Nobody would want a translator they are allowed to only use for mastering Petzold's ABCs.

2. GNU GPL concerns the above translators/compilers' own sources and binaries alone. Those sources, in whole or in part, may not under any circumstances be used as part of 3rd party closed source and/or commercial projects. GNU GPL binaries may not be reverse engineered or altered (e.g. with hex editors) for specific uses in closed source and/or commercial projects. GNU GPL binaries intended for use in closed source and/or commercial projects must match the original CRC/SHA/whatever hashes supplied by the compiler/translator authors in their original distros. GNU GPL sources and/or binaries, in whole or in part, may not be re-distributed as part of closed source and/or commercial projects; instead their full distros should be downloaded separately from their respective authors' facilities.

3. Should any project violate any provisions of Item 2 above, it must either i) be made open source and fall under GNU GPL itself; or ii) cease to exist.

4. Based on Items 2 and 3 above, the hypothetical PluriPBX will have to be both i) open source and ii) free to use because it will be based on the BCX/UBX own original sources. But Brian may charge, and receive, reasonable fees for his efforts to develop PluriPBX beyond its minimal functionality as requested and financed by possible PB migrants to the x64 platform.

____________________________________

So, if you would still insist that what you effectively mean by your word of mouth is not what's described above, then you would probably want to talk things over with Kevin (I won't) and let people know your final unanimous opinion.

If you would like your names to be eternalized in the aeons to come, you could probably choose a MIT- or BSD-like license. Or if you feel old enough to be completely altruistic (like Charles Pegge is), you could probably let your sources rest in the Public Domain to the benefit of those who will come after you. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 04:38:50 PM
James, i downloaded your converter and i am taking a look at it now. I am going trough the help file and i dont see support for macros. Do you think it would  be hard to add it? I heavily use macros in my code. I recall it was very hard to implement them in PluriBASIC but in the end it works really well and pretty fast and the best part, it works for all platforms.

Mike, i am a stone for bussiness. I would rather let someone else sell it and give me a fee than doing it myself. I might end up charging too much or giving it for free. I Have received some offers for it but i havent decided yet.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 05:57:16 PM
Mike,
  The license issue started before my interest in BCX and I only have vague knowledge of it.
I tried discussing it with Kevan but once the controversity was brought up he declined to discuss it further. I beleive he said the license was to prevent making closed source clones of BCX.
Also with BCX you can create a runtime library which also throws in another curve.
I do not have that issue with my forks. Following my code is brutal even for me :)
It appears this is a conundrum unique to translators of this kind is it not?
FreeBasic is a translator with basically the same GPL license isn't it although it's gas/c source is all but unreadable.

I am open for wording as I have no experience.

All versions previous would be under the old license with all new releases having the new license?? Is this possible?

James








Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 06:29:21 PM
Quote from: James C. Fuller on March 20, 2018, 05:57:16 PMI tried discussing it with Kevan but once the controversity was brought up he declined to discuss it further.

That's the ugliest thing about Kevin's personality. Sitting on top of the pyramid, giving orders to the actual laborers, taking final and binding decisions without giving sufficient grounds, bathing in the sun of adoration and worship. Been there, seen that. ;D

QuoteFollowing my code is brutal even for me :)

Ditto about FBSL.  So not "unique to translators". :)

QuoteFreeBasic is a translator with basically the same GPL license isn't it although it's gas/c source is all but unreadable.

I dare say FB is much more sophisticated than BCX. BCX would make just a subset of FB's vocabulary and code emitter, yet is already practically unmaintainable in its entirety.

QuoteAll versions previous would be under the old license with all new releases having the new license?? Is this possible?

No, not for UBX alone. Permissive licenses may be freely used in GNU GPL projects but not vice versa (free! for all! from each according to his ability, to each according to his needs! communism rulez forevah! -- my ass!! actually been there, seen that as well.  ;D ) You can't change your license James, even in your future releases, without Kevin's express written permission. Sorry.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 06:33:40 PM
Brian,
True macros of the type in Pb or masm are not supported. Only the c/c++ #define preprosser types.
I do not see adding them at this time.
James
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 06:44:02 PM
Hint: do not preprocess your BASIC code. Introduce BASIC aliases for all C PP macros (or use them verbatim) and let the VC++ handle the rest.

A C99 compliant preprocessor implementation alone is perhaps more sophisticated than the entire PB. It is in fact a language in its own right.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 20, 2018, 07:23:01 PM
Mike,
   After rereading your gpl explanation it appears FreeBasic cannot be used to create closed source binaries?
James

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 07:28:56 PM

James, PHP does not support macros either, yet, i use them heavily in it. PluriBASIC makes the code replacements. In fact, i didnt use the C++ macros at all (#define) in my implementation of macros.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 07:55:09 PM
James,

Unless I speak illegible English (which I may; nobody's perfect in their 5th or 6th usable tongue), it doesn't appear at all. Any modern GNU GPL compiler or translator may be freely used to translate and/or compile any programmer's code into any project binary the programmer may ever wish -- open or closed source, free to use or commercial -- except their own source code to be used in a non-GPL'ed environment. GNU GPL adepts' hypertrophied vanity wouldn't permit them to artificially narrow the circles of their potential user base by forbidding their compilers and translators to be used to generate non-GPL'ed machine code.

So, the GNU GPL restrictions only apply to those compilers' and translators' own source code. It may not be used wholly or partially in someone else's compilers and translators that would not obey a similar GNU GPL restriction in their own (thus derivative) sources. Additionally, the precompiled binaries of GNU GPL'ed compilers and translators may not be brute-forced to fit into a non-GPL'ed toolchain, bypassing their usual source-compilation-linking stages implied in my previous sentence, by way of direct machine code modification of those binaries in a hex editor.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 08:07:45 PM
Brian,

C/C++ PP is not just about #define. Google for a decent open source implementation of a C standard compliant preprocessor (there are a few around) and see what I mean. It would be a bliss for any BASIC to host a full-blown C-style preprocessor, and all the retrograde old farts still professing the defunct Dartmouth orthodoxy may go to hell in slender rows and columns.  ;D

Let your BASIC users have full access to pro-grade preprocessing while you're on the C/C++ territory. When in Rome, do as the Romans do. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 08:23:54 PM
I will be glad to work on implementing any new features to macros that i find useful. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 20, 2018, 08:41:15 PM
Brian,

Don't rely on your personal perspective when evaluating the usefulness of C/C++ features. They have evolved under the supervision of millions upon millions professional users from all over the world. What is a lone indie BASIC developer against this C civilization?  :)

You may however have your own opinion on C/C++ decorations, such as e.g. C curly braces or semicolons. But please don't fall into the other extreme heresy of meaningful code tabulation. ;D
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 20, 2018, 09:22:57 PM
 As i said earlier, i realize c++ has it's well deserved place. In fact, PluriBASIC supports some C++ style statements beside the BASIC ones, for example, you can do this:

switch (Index) ' 'This also compiles for PowerBASIC.
    {
        case 1:
            SomeUdt = "This wont stay!"
        case 2:
            SomeUdt = "because of falltrough"
            break
        default:
            SomeUdt = "No falltrough here"
    }
   
for (int i = 0; i <= 10; i++)  'This also compiles for PowerBASIC.
    {
        stdout "Iteration" + STR$(i);
        break
    }


Or you can also say this:

IF SomeVariable != SomeOtherVariable THEN

But miss a curly bracket in a big project and it is sometimes very hard to find where is it missing.

I realize a lot of users have a better perspective of the things than a lone programmer, but i also realize that sometimes many developers follow the crowd because they are just a "lone programmer" and sometimes the crowd are wrong.

I also rely always on code tabulation, but i hate it when it is imposed in order for the code to work properly (im looking at you python), i like it when it is for clarity! not for functionality! I mean, why should i have to re-arrange my code to work when it should be enough to just copy and paste?

That said, i agree on the point you mention, my perspective is pretty limited when compared with the crowd. Anyway (as a genuine request and not a retoric request), can you tell me one thing that can be done in MS VS that cannot be done in PowerBASIC? I know there are things, can you name a few?





Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on March 21, 2018, 12:26:35 AM
If two would pass for a few meaning more than one, what about the following:

0. Scopes (OMG, I nearly forgot to put those in!)

1. Intrinsics

2. Standard PE COFF file generation and linking (as palliation to x64 inline asm)

3. Standard statically linked library generation

4. Template classes

5. Operator overloading (classes)

6. Intelligent code optimization


Regard this as the beginning of a long list of what MS VS can but PB/PBEdit can't.

I'm sure there's also a ton of fine details in the PB functionality that have no ready correspondence in VC/VC++.


(that fall-through switch of yours should really scare most orthodox BASIC'ers to death! ;D )
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Frederick J. Harris on March 24, 2018, 04:05:30 AM
I'd still like to see a PowerBASIC 64 bit compiler built in keeping with Bob's 'smaller - faster' design philosophy.  But I do mostly C++ now.  Basically, I don't follow trends, but prefer to do things my own idiosyncratic way.  I strictly do C++ 98 as ISO/IEC 14882:1998.  In my opinion, the C++ standardization committee has been trying to morph C++ into C# ever since the early 2000s.  I reject it, as by 1998 C++ was a fully developed programming language with all the features I needed.  Nothing added since then in my opinion provided anything that couldn't be done lower level in a more efficient manner. 

From reading this thread I simply wondered if Pluribasic translated its basic statements into a type of C++ which could be built against my TCLib.lib, as that would allow a starting program size in the 4k range as opposed to 25 times that or more with the more recent C++ usages. 

In terms of the speed of modern C++ compilers - they are pretty fast.  A 50,000 line program should build in a few seconds.  Maybe not as fast as PowerBASIC, but close.  As Mike mentioned, C++ compilers perform much more complex optimizations than PowerBASIC does.   

I do struggle with the editor issue with C++.  I use a bunch of them, without any clear favorites.  Well, maybe that's not right.  I prefer the CodeBlocks editor or Notepad++.  Occasionally I use Visual Studio 2008, but not much.  I exclusively do command line compiling or command line compiling with batch files like James does. 
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: James C. Fuller on March 24, 2018, 10:45:06 AM
Fred,
  Does that size represent the version that allows global classes?
I never did incorporate that into my version as I found with a bit of extra coding I didn't need them.

James
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on March 24, 2018, 11:51:19 AM
Yes, C++ has a lot of stuff, and i agree its good stuff, like being able to access pretty low stuff comands (fast!) with simple (intrinsic) statements. Nobody objects that. What i don't like, is that some of the "intrinscs" (well, not really intrinsic to the OS or CPU, but to the compiler) that are used more often were left out! STR$(), VAL(), automatic unicode string data casting... etc.

Frederick, PluriBASIC has a meta-statement called #OPTIONS, it allows a bunch of switches that alter the behavior of the engine, and that directly affects the output of the code. Im sure it can adapt to whatever flavor of c++ out there, or can be made to adjust. The only bad thing about this, is that i do not distinguish between the features you mention and the ones that were added later. Can you give me an example?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Frederick J. Harris on March 24, 2018, 02:17:25 PM
No, I never added that Jim.  When I originally started out with Matt Pietrek's code from Microsoft System Journal, that was in there, as well as code to process command line strings.   Each added about 512 bytes to the final executable.  So both add about 1 k.  I could add it to my to-do list. 

I think the main impediment to obtaining smaller program sizes from C++ revolve around usage of the C++ Standard Library.  I believe anytime one attempts to use anything from there it is necessary to build with the /EHsc switch, i.e., enable C++ Structured Exception Handling.  I believe that this in itself is one of those things that is going to pull in piles of support code to support this sophisticated functionality.  For myself, C style error handling is sufficient, i.e., test within functions for error conditions, and when one occurs exit the function and return an error code either in the return value or through a parameter.  Of course, C++ coders will tell you that the C++ Exception Handling mechanism is superior.  Perhaps in 500,000 line programs or 5,000,000 line programs it is.  For myself, I've never worked on programs of that size. 

The fundamental idea underlying my TCLib and its ability to minimize program size is that all of the advantages of C++ over C can be realized if one can see one's way clear to avoiding building against the C++ Standard Library.  That's why I had to come up with my own string class, dynamic multi-dimensional array capabilities (which, by the way, utilize templates), etc.  At first it was a confusing thing for me to think my way through, as I think its not a mental exercise all C++ coders make to seperate the bare bones C++ language capabilities from those capabilities provided by the standard libraries.   

I never started working on this until it became fairly clear to me that the likelihood of a 64 bit native PowerBASIC compiler wasn't so good anymore.   I'll be retiring in 9 days and I'm moving from Pennsylvania to Colorado, but once I get there and settled I wouldn't mind trying to work global classes back into TCLib.  I assume Pietrek's code works, so it ought to be just a matter of inserting it back in and testing it.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Theo Gottwald on April 07, 2018, 07:30:49 AM
Brian, the trick is to work along a "Syntax-Tree".
You can use programms like Visio for that.
If you have a "Syntx-Tree" you can programm along that tree and avoid mistakes that will definitely happen if you nor use a "Syntax Tree".
A "Syntax-Tree" Shows exactly what "statements>" and even what "Letters" are allowed in which place.
So using it, and programming along it - you avoid such problems.
I am quite sure that Bob used such a Treee also, becuase thats the only way to gain maximum compiler-Speed.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 09, 2018, 04:33:42 AM
 Hello Theo. Yes, it can compile C++ 64 apps. However, after some comments now i dont know what to do legality wise... maybe i wont be allowed to share the c++ part. :(

I am currently working on the DDT generator. I mean, it already works but i need the guts of the code it generates.

Instead of making a function for each statement i use a pretty fast engine that allows only certain code in certain places. For example, this statement checks the syntax and generates the code for a DIALOG NEW statement:

ADD_FUNCTION(%FN_DIALOGNEW, "1, ", ",i,s,[i],[i],i,i[,i][,i][TI]", "")

It will prepend a 1, meaning it is a DIALOG NEW statement. For dialog new PIXELS it generates a 2.. for DIALOG NEW MAP it generates a 3 i think etc., then it expects a non-optional comma, then an integer expression, then a comma and then a string expression, then another comma and then an omittable integer expression.... etc.

This way it is very easy to generate new DDT statements or modify existing ones. This one is for ARRAY SCAN:

ADD_FUNCTION(%FN_ARRAY_scan, "1, ", "#{,R}{,c}{,x}{,TI}E", "")

The i = integer expression, the I means integer variable. so, TI means it expects (optionally) a TO Index& expression. The Last E means it should be able to raise a runtime error (ERR) responsive to ON ERROR etc.

It is very fun to work with it... unfortunately i dont have as much time to work on it as I would like to. And to be honest, with recent comments, i dont even know if it will be possible to be released with the C++ funtionality enabled....

For the moment i am using it with big success.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Mike Lobanovsky on April 09, 2018, 07:25:22 PM
Brian,

Let me point out that your uncertainty regarding legal matters is not a consequence of anybody's "recent comments". It has existed, and will continue to exist, objectively and outside the context of those comments. The outcome will depend entirely on what Drake Software's real intent turns out to be in the long run, and also on how well you're prepared to protect the fruit of your work against some possible scenarios should Drake try and eliminate PluriBASIC v6.0 as a direct competitor to PB on the MS Windows platforms.

Similar concerns will have to be dealt with by everyone who's going to develop this or that sort of an all-in-one compiler or PB compatibility library for C/C++/whatever language that's going to reproduce the PB functionality under Windows, e.g. OxygenBasic or another translator besides PluriBASIC.

The better you're informed about such caveats, the stronger may your position be when and if the bad times come.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 09, 2018, 08:41:29 PM
 PluriBASIC 6.0 will probably be released with 64 Bit executables disabled. And will be enabled if the right circumstances come. In the mean time it will work for PowerBASIC EXE, CGI, DLL and SLL, Jar, Class, PHP, Javascript and a few more.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 10, 2018, 07:17:09 AM
By the way, Yes, my uncertainty is a direct consecuence of your comments, but not that i take it bad. Its just that i wasn't considering the points you mention. I rather have informed uncertainty than ingnorant bliss just for later regret. I believe what you mean is that the legal issue were there even if i wasn't aware of it, but my uncertainly appeared after posting here.

I will study my options later, for now i find relaxing time while working on it, so, i will (slowly) finish it even if i cant release it in the end. Maybe i can sell my hobby later to someone that can overcome the legal issues. :)
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 10, 2018, 11:09:57 AM
QuotePluriBASIC 6.0 will probably be released with 64 Bit executables disabled.
On the contrary, because PB is only 32-bit, i would rather release the 64-bit version first.
Then there is no direct competition with something that doesn't exist yet (and would probably never exist).

The challenge is to offer a tool that could compete with the current compilers floating around.
On that aspect i couldn't imagine a single man being able to challenge MS or PC-Soft.
And without attracting the young programming generation, all attempts are leading to a dead end.

The only viable solution would have been to federate a group a talented programmers, each one dedicated to a specific programming aspect, to offer a real Framework alternative with easy to use pre-build solutions for
- database
- internet
- speadsheet
- word processing
- 2D and 3D graphics
- video capture and playback
- audio capture and playback
- theme support
etc.

Just like WinDev does...

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 12, 2018, 05:15:24 PM
A compiler is a totaly different animal than a specific library.

For a specific library people can always buy the source code.
And if a library becomes obsolete it is always possible to switch to another one. For years i have used LeadTools until i switched to my own graphic's.
But the problem to switch from one language to another is much more complex, because the purpose of a compiler is to build applications or third party DLL.
For a buisiness company that is a strategic choice, and they need to have a clear vision of the future.
In the case of PC-Soft, they have a pool of programmers teaching themselves what to do, and how to enhance the common framework, there is not a single Guru taking on all aspect of programming as it was the case for PB .

Sharing the source code inside the development team is a mandatory to ensure that no one could compromise the growing of the company. Zale started to work in his garage and never left it, that was the problem.

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Stefan Midegaal on April 12, 2018, 05:18:31 PM
QuoteFor a specific library people can always buy the source code.
then give me the Price..
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Chris Chancellor on April 12, 2018, 05:22:52 PM
oh dreads the drakes !  :o

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Chris Chancellor on April 12, 2018, 05:33:04 PM
i don't think there is any legal problems with the selling of a source code converter

for example there is a C# to C++ converter by https://www.tangiblesoftwaresolutions.com/ (https://www.tangiblesoftwaresolutions.com/)

and that it has been operating for decades and we don't see MS which owns C# sueing Tangible software?

just like one merchant is selling american beef  and another one is selling japanese beef , they are both beef
but with different taste and the american merchant cannot simply sue the nip for copyright infringement?
;D
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 12, 2018, 05:44:01 PM
There is a big difference between buying a source code, and getting all rights on it.

In the case of Drake they bought the whole product, understand they are now the only legitimate owner of all the rights bound to the product, and they can do what ever they want with it, including trashing it.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 12, 2018, 05:54:45 PM
Chris--

There is no issue if you go again with a compiler that is relying only on one single man, and without a strong company behind it (huge money resource to fulfill the long run).

If your boss is a wised man, he should leave the dead horse, and ask you to convert the existing code to the current standard.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 13, 2018, 02:18:43 AM
Any suggestions for talented programmers Patrice? I know there are a lot, but, who would do it?
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 13, 2018, 08:17:21 AM
There must be first a valid business plan.
Asking the people to join just for glory, will never succeed in the long run.
Hence, finding talented programers is just (the easiest) part of the problem.
Good will is not enough, except for the hobbyist market, but then no way to make a leaving from it, for something that is very time consuming.
Sincerely i couldn't figure how a new compiler would have a chance of success in front of the existing RAD tools.


Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 14, 2018, 02:51:37 AM
Well, i could redefine RAD, for starters. Its a mess to setup MSVC, first of, a huge download, a long install, once it is installed i found lots of issues. Principally the incapacity to solve an issue because of it not being clear.

A compiler that is smaller, lighter and solves all that issues would be RADder than RAD. This could attract many users, specially the ones who do not look for super low level control... Hmm even the ones that do, now that i think of it.

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 14, 2018, 12:47:35 PM
Brian

Are we speaking of professional applications, with hundreds of window and all the bells and whistles needed by modern applications and running on local or the internet network?

I never seen such a project written in PB.

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Brian Alvarez on April 14, 2018, 12:58:44 PM
Yes.
Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 14, 2018, 04:40:30 PM
Brian

Then, if we are speaking of professionnal applications, it is very important to offer a rich environment, and some advanced features that would be hard to duplicate by any other competitors.

I can make fair comparisons because i have been programming in PDS 7, PBDK, PowerBASIC, C#, C, C++, and WinDev.

If you can emulate what WinDev does, to create native code rather than IL, then you have a winner.

Try "BassBox Radio" that is written with WinDev, and look at the window animation used when running the application, this is a build-in feature of the language, there is nothing to program inside of the code, but this is something that would impress the end user.

Theming support is another great feature of WinDev, that gives to a project a unique signature to stand out from the crowd.

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Chris Chancellor on April 15, 2018, 06:51:59 PM
Hello Patrice

regarding Windev,  are you sure that it can produce native codes?
i had a bad experience with Xojo which claimed to produce native codes,  which infact it wasn't

Xojo uses a native code to overlay its pcode making it a pseudo native code and requires
a runtime to execute JIT and it also does not support dll.   Its executables are bloated

that is why i ask this question,  as we will need native code as it is more secure

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 15, 2018, 07:42:33 PM
WinDev doesn't produce native code, it produces only p-code, just like IL for .NET.

However the WinDev Framework is written in plain C++, and you can use it either in 32 or 64-bit, and with any true DLL even those written in PB.

Indeed i am using my own set of DLL(s) with it to perform critical time processing or for all my specific needs.

For a formal PowerBASIC user, the W-Language is really easy to read and learn.

WinDev is a true RAD tool, meaning once you master the beast (takes me 3 monthes) you can produce complex application in a blink of an eye compared to PB.

I have plainty of WinDev examples using my GDImage/WinLIFT addons, and many running in both PB or WinDev.
I bet that you won't see any difference, except for the size of the Framework of course.

To see how close the language could be to PB, have a look at this link
http://www.jose.it-berater.org/smfforum/index.php?topic=3157.msg9974#msg9974

The real power of WinDev is that it has pre-build functions ready to use, that would have taken monthes or even years to write from ground zero.

Make sure also to read this full thread
http://www.jose.it-berater.org/smfforum/index.php?topic=4807.0

...

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Chris Chancellor on April 17, 2018, 12:21:02 AM
Thanxx a lot Patrice

i have downloaded its express version, its IDE looks weird and not very friendly, maybe
i watch some videos on it to figure out how to use it

Title: Re: PowerBASIC has been sold! (PowerBasic IS ALIVE !)
Post by: Patrice Terrier on April 17, 2018, 10:05:11 AM
I told you, i spent 3 monthes on it before i could get comfortable with it.
It was so different to what i was accustomed to.
That was the same when i switched to Visual Studio.

You must forget (at least for a while) what you have learned before, using a true RAD tool is very different than programming in procedural mode.

Try first to create a Hello World window using the IDE or one of the many examples floating around, including on my web site here:
http://www.zapsolution.com/DW/US/windev.html

I have also translated several of my PB or C++ examples to WinDev, to ease the comparison.
http://repository.windev.com/search.awp?author=52;Patrice TERRIER