Donate Now Goal amount for this month: 100 USD, Received: 0 USD (0%)
Donate to support this site and ThinBASIC project development

Results 1 to 10 of 10

Thread: thinBasic --> Java or Python

  1. #1
    thinBasic MVPs danbaron's Avatar
    Join Date
    Jan 2010
    Location
    California
    Posts
    1,378
    Blog Entries
    29
    Rep Power
    142

    thinBasic --> Java or Python

    (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).

    Last edited by danbaron; 13-12-2011 at 09:29.
    "You can't cheat an honest man. Never give a sucker an even break, or smarten up a chump." - W.C.Fields

  2. #2
    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.

  3. #3
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    47
    Posts
    7,620
    Blog Entries
    2
    Rep Power
    10
    eh eh
    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
    www.thinbasic.com | www.thinbasic.com/community/ | psch.thinbasic.com
    Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

  4. #4
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    47
    Posts
    7,620
    Blog Entries
    2
    Rep Power
    10
    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.
    www.thinbasic.com | www.thinbasic.com/community/ | psch.thinbasic.com
    Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

  5. #5
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    47
    Posts
    7,620
    Blog Entries
    2
    Rep Power
    10
    Quote Originally Posted by John Spikowski View Post
    ... and Eros just has to live with it.
    In any case ... I feel very comfortable with Power Basic even under 32bit.

    To me there are 4 main reasons why you should develop under 64 bit:
    1. you need to develop 3rd party libraries
    2. you need more than 2GB of memory
    3. you need to develop native OS services
    4. 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.
    www.thinbasic.com | www.thinbasic.com/community/ | psch.thinbasic.com
    Win7Pro 64bit - 8GB Ram - Intel i7 M620 2.67GHz - NVIDIA Quadro FX1800M 1GB

  6. #6
    thinBasic MVPs danbaron's Avatar
    Join Date
    Jan 2010
    Location
    California
    Posts
    1,378
    Blog Entries
    29
    Rep Power
    142
    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/pro...-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.

    Last edited by danbaron; 15-12-2011 at 07:10.
    "You can't cheat an honest man. Never give a sucker an even break, or smarten up a chump." - W.C.Fields

  7. #7
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Clearwater, Florida, USA
    Posts
    3,802
    Rep Power
    389
    Quote Originally Posted by danbaron View Post

    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

  8. #8
    thinBasic MVPs danbaron's Avatar
    Join Date
    Jan 2010
    Location
    California
    Posts
    1,378
    Blog Entries
    29
    Rep Power
    142
    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?

    "You can't cheat an honest man. Never give a sucker an even break, or smarten up a chump." - W.C.Fields

  9. #9
    thinBasic MVPs kryton9's Avatar
    Join Date
    Nov 2006
    Location
    Clearwater, Florida, USA
    Posts
    3,802
    Rep Power
    389
    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/fo...hp?topic=19016

    64Bit gets us close, but not enough.
    Last edited by kryton9; 19-12-2011 at 00:20.

  10. #10
    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/12...w-windows.html
    http://tirania.org/blog/archive/2011/Sep-15.html
    Last edited by zak; 19-12-2011 at 07:11.

Similar Threads

  1. learning python?
    By largo_winch in forum Other languages
    Replies: 21
    Last Post: 06-12-2011, 00:05
  2. Python Sets
    By danbaron in forum Scripting
    Replies: 5
    Last Post: 24-10-2010, 06:10
  3. Java --> Timing a Matrix Inversion
    By danbaron in forum Scripting
    Replies: 2
    Last Post: 07-08-2010, 10:48
  4. Python 3 --> Ackermann Function
    By danbaron in forum Scripting
    Replies: 5
    Last Post: 17-06-2010, 22:48
  5. perl vs python vs ruby vs thinBasic
    By kryton9 in forum Software discussion
    Replies: 0
    Last Post: 30-01-2007, 06:24

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •