Who is using Mac or Windows?

Which computer are you using?

Mac
7
39%
Windows
8
44%
Linux
2
11%
Other
0
No votes
I have no computer
1
6%
 
Total votes: 18

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Who is using Mac or Windows?

Post by Mr. Kibernetik »

GeorgeMcGinn wrote:
Thu Feb 07, 2019 7:50 am
Mr. K, do you need to know who also uses a mobile device with a computer?

I suspect the poll is for a software product (that is why I would use a poll) but would someone who uses both a mobile device and one or more OS listed be a benefit to you? Just a suggestion.

George.
You are right.
I want to create new BASIC, and make it run on multiple platforms. I want users to be able to use their BASIC programs on different gadgets.

User avatar
Dutchman
Posts: 851
Joined: Mon May 06, 2013 9:21 am
My devices: iMac, iPad Air, iPhone
Location: Netherlands
Flag: Netherlands

Re: Who is using Mac or Windows?

Post by Dutchman »

Mr. Kibernetik wrote:
Thu Feb 07, 2019 8:33 am
… snip
I want to create new BASIC, and make it run on multiple platforms. I want users to be able to use their BASIC programs on different gadgets.
Oh that would be great, especially if it has the wonderful extras of SB. I am already looking forward to it :o

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Who is using Mac or Windows?

Post by Mr. Kibernetik »

Dutchman wrote:
Thu Feb 07, 2019 9:44 am
Oh that would be great, especially if it has the wonderful extras of SB. I am already looking forward to it :o
It will be 100% compatible with Minimal BASIC.
Its syntax will be more simple and clean than in smart BASIC, but more powerful at the same time.
Its first platform will be Mac.

User avatar
GeorgeMcGinn
Posts: 435
Joined: Sat Sep 10, 2016 6:37 am
My devices: IPad Pro 10.5in
IMac
Linux i386
Windows 7 & 10
Location: Venice, FL
Flag: United States of America
Contact:

Re: Who is using Mac or Windows?

Post by GeorgeMcGinn »

Will the new BASIC be able to create iOS Apps, or will it be more like PureBASIC or PoweBASIC, in so far as creating desktop applications?

Looks like I better put some speed on repairing my iMac. It died when I lost my internet for 7 days (wound up being some kind of rodent or animal chewed through my cable), but it did not affect my cable TV, just the Internet. My iMac was being updated and did not complete, so I just need to reinstall an earlier one from a DVD.

I'm excited about the new BASIC.

Thanks for not letting it die out.

George.

Mr. Kibernetik wrote:
Thu Feb 07, 2019 12:02 pm
Dutchman wrote:
Thu Feb 07, 2019 9:44 am
Oh that would be great, especially if it has the wonderful extras of SB. I am already looking forward to it :o
It will be 100% compatible with Minimal BASIC.
Its syntax will be more simple and clean than in smart BASIC, but more powerful at the same time.
Its first platform will be Mac.
George McGinn
Computer Scientist/Cosmologist/Writer/Photographer
Member: IEEE, IEEE Computer Society
IEEE Sensors Council & IoT Technical Community
American Association for the Advancement of Science (AAAS)

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Who is using Mac or Windows?

Post by Mr. Kibernetik »

Currently feature to create standalone apps is not planned. It will run programs only inside BASIC IDE.

User avatar
GeorgeMcGinn
Posts: 435
Joined: Sat Sep 10, 2016 6:37 am
My devices: IPad Pro 10.5in
IMac
Linux i386
Windows 7 & 10
Location: Venice, FL
Flag: United States of America
Contact:

Re: Who is using Mac or Windows?

Post by GeorgeMcGinn »

Rather than running it in the IDE like SmartBASIC, will be able to create a desktop icon like we can in iOS?

Also, Gsoft BASIC on the Apple ][ gs provided a program that wrapped the interpreter around the basic code, so the file executed contained both the source and interpreter. Here is the write up I found about it in Gsoft that explains it better:
The third way to run GSoft BASIC programs is one of the most innovative features of the environment: using the MakeRuntime utility provided with GSoft BASIC, you can create a Finder-launchable version of your BASIC program, as an Apple IIGS application. The application isn't compiled, but is a stand-alone GSoft BASIC interpreter with your BASIC program embedded inside it.
Also here is another explanation of MakeRuntime:
MakeRuntime: Converts any GSoft BASIC program to an S16 program that can run from the Finder or any other program launcher, just like an application created with a compiler or assembler.
I hope one of these are implemented. Being able to run it outside of the IDE has advantages, like being able to run it without the IDE footprint taking up memory that could be used by the program.

Just a couple of suggestions.

George
Mr. Kibernetik wrote:
Thu Feb 07, 2019 2:29 pm
Currently feature to create standalone apps is not planned. It will run programs only inside BASIC IDE.
George McGinn
Computer Scientist/Cosmologist/Writer/Photographer
Member: IEEE, IEEE Computer Society
IEEE Sensors Council & IoT Technical Community
American Association for the Advancement of Science (AAAS)

User avatar
GeorgeMcGinn
Posts: 435
Joined: Sat Sep 10, 2016 6:37 am
My devices: IPad Pro 10.5in
IMac
Linux i386
Windows 7 & 10
Location: Venice, FL
Flag: United States of America
Contact:

Re: Who is using Mac or Windows?

Post by GeorgeMcGinn »

I found a working, strict Minimal BASIC implementation, both compiled for Windows and the source for it on GitHub. The version: bas55 (ECMA-55 Minimal BASIC System) 1.17.

I'll provide the links below, but I have looked at the document again and ran some code on my Windows machine, and have a few concerns. The EMCA-55 standard was appropriate when filenames were limited to 8 characters and a 3-character extension.

Also due to memory constrictions:
  • All lines had to have a unique address or line number (even on the mainframe, COBOL required a 6 digit line number) so that the OS back in 1979 could keep track of where it was and what to execute next.

    All variables could only be 2 characters max, and had to be a letter and optionally a number (a, a1, b$, b9$). Same applies to array names.

    Special variables, like own1 and own2 are internal and not accessible to the programmer (The variables "own1" and "own2" associated with a for-block are assigned values only upon entry to the for-block through its forstatement. own1 and own2 are variables associated with the particular for-block and not accessible to the programmer.)

    All variable value assignments must have "LET" at its start (the language back in 1979 had to be tokenized, LET A=B+C, IF A=B THEN ...).

    All Function names can only be one letter "DEF FNA(..." DEF is the token for DEFINE, FN is the action FUNCTION, A is the name of the Function)
Today, Putting it in simple terms, the OS, when we achieved above the line processing, opened extended memory, and the addresses were stored in or if a program had no line numbers, stacks, heaps and pointers were assigned in memory and pointed to the instruction set to execute code stored in a read-only part of the code segment.

See Memory Management: the Stack & the Heap (https://www.cs.ru.nl/E.Poll/hacking/sli ... _stack.pdf)

I also found that these standards have been upgraded. I found the official ECMA website. I strongly suggest the new BASIC be based not on the 1979 standards, when graphical displays did not exist and memory was in short supply, and see what the current standards are.
See http://www.ecma-international.org

Since the idea of upgrading SmartBASIC is new, I would give Mr. K time to determine the architecture of the new BASIC. I provide this for informational purposes, and a hope the right standards are used. However, I have not found an updated standards for BASIC. I'll keep looking, but I can also check the IEEE since I'm a member and have access to all their publications, and I can check the ISO, which I followed with my corporate clients.

Here is the link to the C source code for the Bas55 implementation of the 1979 standard: https://github.com/jorgicor/bas55

Here is the current executable of the 1979 standard: https://jorgicor.niobe.org/bas55/bas55v117.zip

Here is a sample Minimal BASIC program. Mr. K was right when he said SmartBASIC was based on this standard, as this code runs as-is. This program is called "Sieve of Eratosthenes" and it will print out all prime numbers up to 1000. (In 1979, an array with 1,000 items took up a lot of memory). To give you some perspective, the DEC PDP 8/E had 4K total memory, so BASIC was the operating system, and took up the bulk of the memory.

Code: Select all

10  PRINT "FIND PRIMES FROM 2 TO N (N <= 1000). ENTER N: "
20  INPUT N
30  IF N<2 THEN 10
40  IF N>1000 THEN 10
50  DIM A(1000)
60  LET S=SQR(N)
70  FOR I=2 TO S
80    IF A(I)=1 THEN 130
90    LET D=N/I
100   FOR J=I TO D
110     LET A(I*J)=1
120   NEXT J
130 NEXT I
140 FOR I=2 TO N
150   IF A(I)=1 THEN 170
160   PRINT I
170 NEXT I
180 END

One thing to note is the ECMA-55 Standard leaves some features to be defined by the implementor, given that the limits recommended by the standard are respected. In bas55, the program I installed on a windows, it's documentation says they are:

- Accuracy of evaluation of numeric expressions: we use IEEE 754 double-precision binary floating-point format. The accuracy is defined by that standard. Additionally, we use the system library for mathematical functions. Warning: this makes the results dependant on the operating system where bas55 is compiled or executed.
- End-of-line: we accept Windows and Unix end-of-lines.
- Exrad-width for printing numeric representations: 3 digits.
- Initial value of variables: 0 for numeric variables and array slots; the empty string for string variables.
- Input-prompt: question mark followed by a single space.
- Longest string that can be retained: this is limited by the longest program line allowed, which is 72 as required by the standard. Thus 65 characters can be retined.
- Value of machine infinitesimal: the minimum normal value is 2.2250738585072014 * 10^(-308) approximately, although smaller values can be represented by losing precision. The minimum subnormal value is 4.9406564584124654 * 10^(-324) approximately.
- Value of machine infinity: it is defined by the IEEE 754 standard as a special binary value. You can obtain infinity by dividing one by zero, and a negative infinity by dividing minus one by zero. The maximum normal value is 1.7976931348623157 * 10^(308) approximately.
- Margin for output lines: 80 characters.
- Precision of numeric values: six significant decimal digits; three digits for the exrad.
- Print-zone length: 14 characters.
- Pseudo-random number sequence: we use the system library for random number sequences. Warning: this makes the results dependant on the operating system where bas55 is compiled or executed.
- Significance width for printing numeric representations: a maximum of 14 characters are used: six decimal digits plus three digits for the exrad plus 5 characters to accomodate signs, final space, etc.
- Is unary minus accepted after an operator? Yes, we accept this 1 + -3; and this 1 + –3. Warning: this is not required or accepted by the standard.
- Contrary to the standard, in bas55 zero divided by zero gives an undefined value (not-a-number or NAN), and not positive infinity.
George McGinn
Computer Scientist/Cosmologist/Writer/Photographer
Member: IEEE, IEEE Computer Society
IEEE Sensors Council & IoT Technical Community
American Association for the Advancement of Science (AAAS)

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Who is using Mac or Windows?

Post by Mr. Kibernetik »

You are right, there are no newer BASIC standards, AFAIK. Many modern BASIC implementations are not BASICs anymore. As for me, I don't consider language to be a BASIC if it is not compatible with Minimal BASIC.

To my regret, Smart BASIC is not 100% ECMA-55 compatible, it was my mistake. Another smart BASIC problem is its complex syntax.
New BASIC will correct these drawbacks: its code will be as clean as ECMA-55 code and more powerful (I mean syntax power, not functions set) than smart BASIC.

How program is run depends on OS, so on desktops it will be possible to create shortcuts to run specific program, I guess. Also there will be a special launcher window inside IDE to eliminate necessity to dig into file system to find proper program to run as it is now in smart BASIC.

User avatar
Dutchman
Posts: 851
Joined: Mon May 06, 2013 9:21 am
My devices: iMac, iPad Air, iPhone
Location: Netherlands
Flag: Netherlands

Re: Who is using Mac or Windows?

Post by Dutchman »

Mr. Kibernetik wrote:
Fri Feb 08, 2019 5:23 am
…snip
Also there will be a special launcher window inside IDE to eliminate necessity to dig into file system to find proper program to run as it is now in smart BASIC.
Can we also add our wishes? :lol:
It would also be very useful to separate the editor and output window so that you can check the previous output during editing.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Who is using Mac or Windows?

Post by Mr. Kibernetik »

Dutchman wrote:
Fri Feb 08, 2019 8:48 am
Can we also add our wishes? :lol:
It is necessary!

There will be separate windows for: code editing, file management, text console (for PRINT and INPUT), graphics with UI, and some more. There will be tabs to switch between them.
Even during program run you can switch between them. After program run their contents will stay.

Post Reply