PDA

View Full Version : thinBasic --> Java or Python



danbaron
13-12-2011, 09:26
(Don't crucify me, primarily, I'm just wondering if the general idea is sensible.)

In Powerbasic, you can write parts of a program in Powerbasic, and parts in assembly language.

Somehow, you indicate when you are starting and ending a part in assembly language.

Imagine if thinbasic was written in Java or Python - both have built-in GUIs (Swing and Tkinter).

In that case, I think, thinbasic would basically be a higher level interpreter, written with/over a lower level interpreter.

It seems that then it could be very easy to write modules.

If thinbasic was written in Java, then so would the modules, and similarly for Python.

So, like for Powerbasic code being mixed with assembly language code, thinbasic code could be mixed with either Java or Python code.

Somehow, you would be able to indicate the code which you wanted to bypass thinbasic, and be sent straight through to the bottom interpreter (either Java or Python).

zak
13-12-2011, 11:04
i guess that if thinbasic written in java or python it will be very slow, something like (1/2)^2 while now it is almost resemble a compiler minus a little, with a huge number of functions of all sorts imaginable.

ErosOlmi
13-12-2011, 11:17
eh eh :D
I will never crucify anyone for an idea like that.
So if someone is willing to start a project like that, it will be a pleasure to follow and, if I have time, to help.


Just to give an idea of how many line of code just thinCore is.

Actually only thinCore (thinBasic Core engine without any additional module) is exactly 171644 lines from which we have to subtract 49801 lines in include sources not written by me but taken from PB compiler as standard includes (for example WIN32API.INC).
So in total just thinCore is 121843 source lines all written by me in few years.

To that amount of line, add some other 120000/130000 lines of code coming from modules, all written by me (only UI module is around 55000 lines of code)
Not counting thinAir (another 40000 lines) and thinDebug (another 5000 lines)

The above just to say that a possible project to convert thinBasic into another programming language is a quite big project even for one like me that know almost by memory thinBasic sources.

Ciao
Eros

ErosOlmi
13-12-2011, 13:23
There is an interesting project called Jabaco that is developed in Java and implements a sort of Visual Basic like programming language.
Web site at: http://www.jabaco.org/

Looking at images it seems very well written and reading from community forum it seems creating also very fast applications.

Maybe worth to have a look.
Problem seems that updates are not very frequent.

ErosOlmi
13-12-2011, 21:25
... and Eros just has to live with it.

In any case ... :D I feel very comfortable with Power Basic even under 32bit.

To me there are 4 main reasons why you should develop under 64 bit:
you need to develop 3rd party libraries
you need more than 2GB of memory
you need to develop native OS services
you want to experiment
So far I do not see any of the 4 reasons having enough weight in the case of thinBasic.
At work I use thinBasic almost on every server I have, 32 or 64 bits and all is working as expected.

danbaron
14-12-2011, 10:23
I would think if your needs exceeded what thinBasic can offer, OxygenBasic would be a good direction to take.

I don't have any needs, the idea of a Basic interpreter on top of Java or Python seems interesting to me (I guess you could also do it with C#).

Then, it seems to me you could program partially in Basic, and partially in the underlying language.

Java and Python have been worked on by a lot of people, for a long time.

I think each has lots and lots of code, which the Basic interpreter and users would have access to.

----------------------------------------------------------------------

I have a program which uses 18,446,744,073,709,551,616 bytes of RAM.

I guess my only choices are to either to do a lot of disk swapping, or to make it only for 64 bit systems.

----------------------------------------------------------------------

I think 32 bit systems should be able to address up to 4,294,967,296 bytes of memory.

----------------------------------------------------------------------

PowerBasic compiles up to 20 million lines per minute.

http://www.techrepublic.com/blog/programming-and-development/interview-with-powerbasic-founder-bob-zale/4857

So thinCore should compile in, 121843 / 20000000 * 60 = 0.37 seconds.

Too slow?

----------------------------------------------------------------------

How could anyone keep track of 121,843 lines of code, with just one global namespace?

Maybe the first variable name is, AAAA0000.

Then, the second variable name is, AAAA0001.

Then, the third variable name is, AAAA0002.
.
.
A middle variable name, MTVC6281.
.
.
And, the last variable name is, ZZZZ9999.

kryton9
18-12-2011, 09:51
I have a program which uses 18,446,744,073,709,551,616 bytes of RAM.


Not to pry, but I have to ask, what is this program? The only thing I can come up is a program that names every grain of sand in the world :)

danbaron
18-12-2011, 10:18
Hi Kent.

It was a joke.

If I'm correct, a 32 bit system means that RAM addresses are 32 bits.

2^32 = 4,294,967,296

So, I think the maximum addressable (usable) RAM is, 4,294,967,296 bytes.

How about a 64 bit system?

2^64 = (2^32)^2 = 18,446,744,073,709,551,616

So, I think the maximum addressable RAM is, 18,446,744,073,709,551,616 bytes.

128 bit system:

2^128 = (2^64)^2 = 340,282,366,920,938,463,463,374,607,431,768,211,456

256 bit system:

2^256 = (2^128 )^2 = 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

2^256 is approximately equal to 10^77.

Most likely, Windows 9 will require at least half that much, yes or no?

kryton9
19-12-2011, 00:17
I am glad it was a joke. You had me perplexed with that one.

Believe it or not. Windows is reducing its code size in the coming versions. I think WinRT is about half the size of Win32, if I remember correctly. So once win32 is removed completely it should be a smaller OS again.

Number of sand grains in the world... Number of Atoms in the human body:
http://www.thenakedscientists.com/forum/index.php?topic=19016

64Bit gets us close, but not enough.

zak
19-12-2011, 07:08
this is the first time i heard about winRT thanks kent, it is said that "there is a structural change in Windows 8 that really does mark the start of a new era", and "From the developer's point of view September 13, 2011 is the day that Windows started again - it is year zero (again) for Microsoft developers."
"Applications can choose to use either the old Win32 API or the new WinRT but not both. Hence this is a real break with the past."

http://www.i-programmer.info/news/126-os/3055-winrt-the-new-windows.html
http://tirania.org/blog/archive/2011/Sep-15.html