RetroBASIC

Basicprogramming(.org) => General questions and discussions => Topic started by: Richly on September 13, 2018, 09:30:21 PM

Title: Beginner friendly BASICs
Post by: Richly on September 13, 2018, 09:30:21 PM
Inspired by the last discussion...

BASIC was designed for beginners and for ordinary people (i.e. Non-professionals) like me  :)

What in your opinion is (can include retro / retro style BASICS  ;)) the most beginner friendly BASIC - and why?
Title: Re: Beginner friendly BASICs
Post by: B+ on September 13, 2018, 11:55:30 PM
BRUN (Very Basic Interpreter) written by yours truly.

Here is the entire instruction manual (41 lines but I think it is missing the array instruction).
Quote
. 000 BRUN Help B.txt for BRUN (B+=MGA) 2018-02-07
. (all lines here are print lines except the next which wont show on run)
. A word about words, a word is whatever island is isolated by the sea of spaces.
. To avoid punctuation, all lines start with keyword commands:
. ===========================================================================================================  VARIABLES
. Number variables are set st n is first letter on line, variable name is next, and variable expression last.
. Use up to 250 "words" for variable and expression including previous number variables, operators: +-*/^%()<=>
. constants: e, pi, rnd   trig functions (radians): cos(), sin(), tan(), atan(), conversion: rad(), deg()
. log(), exp(), operators using <, =, >, (and combinations) and, or, not need to be separated by spaces.
. example:
. i = i + 1 becomes >>>>>   n i i+1
. angle = deg(atan(1.01) becomes >  n angle deg(atan(1.01))
. A couple of calculator programs are in the samples files to try the math evaluator.
. ===========================================================================================================  OUTPUT
. For printing text:
.   . for print with line feed,     , for print and tab,      ; for print and stop
. rc row col    - for locating next character cell for print or input place
. at x y text   - for locating with graphic x, y pixel positions
. cls  - to clear clutter
. variables in print text will be replaced by their values, so be careful using variable names in print text.
. When there is more than one parameter be careful not to use a space in a calculated row, col, x, y
. =========================================================================================================== INPUT
. syntax: ? is keyword, variable name, use 250 words for prompt.
. ? var prompt
. ===========================================================================================================  EXECUTION FLOW
. mark lineLabel - sets line label in program
. go lineLabel - redirects flow to mark lineLabel
. sub subLabel - marks start of gosub routine
. gosub subLabel - redirects flow to sub routine
. return - signals exit back to call point of sub routine
. ( do not enter or exit a sub with go )
. wait - will pause the given amount of seconds
. end - will end program
. ===========================================================================================================  LOOPING
. do - marks start of loop
. loop - marks the end of loop, required with do
. exit - commands exit from loop
. ===========================================================================================================  BOOLEAN BLOCKS
. if - starts one and is followed by Boolean expression to evaluate
. else - optional, marks line to goto if Boolean evaluates false
. fi - marks end of Boolean block

You write the code up in your favorite WYSIWYG editor and save it with a name ending in B.txt.
Drag and drop the file onto BRUN.exe to run it, Drag and drop on Brun debug.exe to watch variables as progress through program lines.

Here is example program that solves (using an array, see get and put lines) the coconut problem found at JB forum presented by bluatrigro that does use an array:
Code: [Select]
' and 1 for the monkey problem B.txt adopted for BRUN v2 to test string new string array functions get and put
' and 1 for the monkey problem.bas for JB 2.0 b 2018-02-11

n start 100
.   i (bluatigro) fount this puzle in a book:
.     there are 5 person's + 1 monkey
.     they shipwrek on a Island
.     the fisrst day they colect kokonut's
.
. day 1:"
. I (bplus) am starting with a number of coconuts.
n cc start
dim pile(5) this is why we need string array! for 5 piles
. Say the coconuts collected by the people is start .
.
.     in the night happens this:
.     (each) person goes to the pile
.     divides it in 5 hides 1/5
.     and gives 1 to the monkey
.
. I (bplus) am paying the monkey first.
. I (bplus) am not cutting any coconuts into parts of coconuts.
.
. So Coconut inventory after first night:
do
n persn persn + 1
if persn > 5
exit
fi
n cc cc - 1
n monk monk + 1
put piel persn int(cc/5)
n cc cc - int(cc/5)
get p piel persn
. For person persn , their pile is p
loop
.             and monkey has monk
.
. day 2"
.      the 2e day"
.      thay divide the remaining pile in 5"
.      and give 1 to the monkey"
.      now calc the size of every pile"
.
. Coconuts starting day 2, before final divvy is cc
n cc cc - 1
n monk monk + 1     
n divee int(cc/5)
. After monkey gets one more coconut the divvy is divee
.
n persn 1
do
get p piel persn
n p p + divee
put piel persn p
n persn persn +1
if persn > 5
exit
fi
loop
n Remain start
n persn 1
do
get p piel persn
. For person persn , their pile is p
n Remain Remain - p
n persn persn + 1
if persn > 5
exit
fi
loop
. The monkey has monk coconuts.
n Remain Remain - monk
.
. Coconuts remaining are Remain for the monkey who programmed this inventory.


Unlike Nano* written in 100 lines that needed SmallBASIC to Interpret, BRUN is a stand alone exe written in QB64.

PS Oh it looks like I used INT and DIM also, sorry it's been months since I looked at this.

Confirm I do have an INT function, BTW everything command wise is lower case.
Ha! I do not have DIM because IT IS NOT REQUIRED! how nice for beginners, eh?

BRUN ignores everything in a line that does not start with a keyword command, thus no crash for DIM line.
And the ' for comments is completely optional.
I am using a space as the only delimiter between parameters, so no string processing in this baby.
Don't bother formating with multiple spaces either because printed lines are stripped of extra spaces.
Use rc for row, col locating for print = (.,;) or input =(?), also there is cp for center alignment of print job.
Characters are 8x16 for cell.

Nano was contest winner: http://retrogamecoding.org/board/index.php?topic=584.0
before I made it a standalone with arrays and regular variable names instead of 26 letters.
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 14, 2018, 05:02:41 AM
Why would anyone buy a BASIC language when you can just write your own? There hundreds of examples of folks doing just that.

Today most BASIC's are like slot cars the authors place on to track when some performance pissing match (challenge) gets a post by one of them.

My interest in BASIC is glueware I use on a daily basis to integrate processes and reduce reentry of data.

Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 14, 2018, 09:12:34 AM
Why would anyone buy a BASIC language when you can just write your own? There hundreds of examples of folks doing just that.

Being able to write one's own interpreter kinda precludes the need for BASIC, wouldn't you say?
Title: Re: Beginner friendly BASICs
Post by: B+ on September 14, 2018, 11:21:08 AM
I have revised my help file to 38 lines that include array stuff and this revision includes name revision from BRUN.exe to SB.exe for even shorter commands to type. SB is shorthand for Shorthand Basic. If beginners hate typing as much as I then this is the Basic for them!

Call this SB.exe  short for Shorthand Basic.
Quote
. 000 SB Help B.txt for SB.exe (B+=MGA) rev 2018-09-14 Drag and drop *B.txt file onto SB.exe to run it.
. (All lines here are print lines, drag and drop this file onto SB.exe to read it without dots.)
. To avoid punctuation, all executed lines start with keyword commands or punctuation as follows:
. ===========================================================================================================  VARIABLES
. Number variables are set st n is first letter on line, variable name is next, and variable expression last.
. Use up to 250 "words" for variable and expression including previous number variables, operators: +-*/^%()<=>
. constants: e, pi, rnd   trig functions (radians): cos(), sin(), tan(), atan(), conversion: rad(), deg()
. log(), exp(), operators using <, =, >, (and combinations) and, or, not need to be separated by spaces.
. example:  i = i + 1 becomes >>>>>   n i i+1
. angle = deg(atan(1.01) becomes >  n angle deg(atan(1.01))
. ===========================================================================================================  ARRAYS
. > arrayName index valueExpression - same as arrayName(index) = valueExpression  (No DIM statement needed)
. < var arrayName index - same as var = arrayName(index)
. ===========================================================================================================  OUTPUT
. For printing text:   . for print with line feed,     , for print and tab,      ; for print and stop
. l row col    - for locating next character cell for print or input place
. a x y text   - for locating with graphic x, y pixel positions
. c  - to clear clutter
. variables in print text will be replaced by their values, so be careful using variable names in print text.
. When there is more than one parameter be careful not to use a space in an expression for one of the parameters.
. =========================================================================================================== INPUT
. ? var prompt - syntax: ? is keyword, variable name, use 250 words for prompt.
. ===========================================================================================================  EXECUTION FLOW
. : lineLabel - sets line label in program
. g lineLabel - redirects flow to mark lineLabel ( do not enter or exit a sub with g )
. s subLabel - marks start of gosub routine
. gs subLabel - redirects flow to sub routine
. r - signals exit back to call point of sub routine
. w - will pause the given amount of seconds
. z - will end program
. ===========================================================================================================  LOOPING
. [ - marks start of loop
. ] - marks the end of loop, required with do
. x - commands exit from loop
. ===========================================================================================================  BOOLEAN BLOCKS
. i - starts one and is followed by Boolean expression to evaluate
. e - optional, marks line to goto if Boolean evaluates false
. f - marks finish of Boolean block

38 line manual, man beginners have got to love that!

Coming soon, a substitute for Read / Data: simply
var {data1 data2 data3...}

oh wait... let beginners substitute their own names in for these commands!
Title: Re: Beginner friendly BASICs
Post by: Aurel on September 14, 2018, 01:30:26 PM
N
Title: Re: Beginner friendly BASICs
Post by: B+ on September 14, 2018, 02:20:36 PM
Revision complete.

Look how easy it is to edit tabbed files in Notepad++ with the 000 Help SB.txt file right there and an Explorer Window to drag drop newly edited files onto SB.exe.

(notice I changed direction of < > signs)
Title: Re: Beginner friendly BASICs
Post by: B+ on September 14, 2018, 02:40:44 PM
Here is another sample test using Composites array and tabbed print:
Code: [Select]
simple sieve 2 SB.txt rev for SB.exe 2018-09-14 adopted from:
'Simple sieve 2.bas SmallBASIC 2015-04-29 found a faster sieve with BASIC 256
n topLimit 100
n limit topLimit ^ .5
. Primes to topLimit
take care of even numbers first
n index 4
[
> composites index 1
n index index + 2
i index > topLimit
x
f
]
now do odd numbers
n index 3
[
< test composites index
i test = 0
i index < limit
n j 2 * index
[
> composites j 1
n j j + index
i j > topLimit
x
f
]
f
f
n index index + 2
i index > limit
x
f
]
n index 2
pCount = 0
[
< test composites index
i test = 0
n pCount pCount + 1
, index
f
n index index +1
i index > topLimit
x
f
]
.
. There are pCount primes for the first topLimit integers.

Title: Re: Beginner friendly BASICs
Post by: Richly on September 15, 2018, 09:17:10 PM
Personally, I have found retro BASICs (and their modern extensions), such as Sinclair BASIC / SpecBAS, BBC BASIC, Applesoft BASIC, etc. to be beginner friendly.

Other than these, of the more modern BASICs, my vote goes to Liberty BASIC; just because of the sheer number of resources and tutorials that are available - especially when you factor in those also available for Just BASIC and LB Booster that are largely compatible. Liberty BASIC also benefits from an active community that welcomes and encourages beginners, continued development and relative ease of use, especially GUI programming.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 16, 2018, 02:23:00 PM
I think what we imagine beginner's need to get started depends allot on how we got hooked.

For me the jump from a hand calculator to a PC with only a BASIC using something like the 38 line manual I showed you would be the same distance jump going from doing math on paper to doing it with a calculator. Doing strings and primitive graphics would make the jump complete.

Dang! I am describing GW BASIC with Notepad++ for editor and no line numbers.

Title: Re: Beginner friendly BASICs
Post by: B+ on September 16, 2018, 02:43:03 PM
What I am saying is why buy an adding machine or even program a calculator when you have this!
Code: [Select]
[
? nextNumber Enter >
n sum sum + nextNumber
. ==================================================== + nextNumber = sum
]
Title: Re: Beginner friendly BASICs
Post by: B+ on September 16, 2018, 03:16:33 PM
I started adding string functions but the problem is I really love doing stuff without punctuation.

hmm... how can I have string without quotes?

load all string literals with special command.

hmm... what should we name that command?

How about $ in honor of old time BASIC.

hmm... now what string function should we test first?

How about a favorite from JB?

Code: [Select]
test some new string functions B+ 2018-09-15
$ months {January February March April May June July August September October November December} < this is new string literal recorder
l 2*5 10/10  <I am just testing locate l here 10th row 1st column
[
'c  < clear screen commented out
? nMonth Enter month number to name >
i nMonth > 0 and nMonth < 13
sf xmonth word months nMonth  < sf stands for string function, xmonth is var to load word returns the nth word in string
opps can't comment next lines because they are printing a formatted line
; The nMonth                 
; th Month of a year is xmonth
next line adds period to end of formatted print line
. .
e
x
f
]

BTW the above method also takes the place of READ / DATA by using strings as arrays.
Now you can access your data items in any order as needed.
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 16, 2018, 06:47:07 PM
Welcome to the BASIC Frankenstein group. Looking forward to see your creation come alive.
Title: Re: Beginner friendly BASICs
Post by: Richly on September 16, 2018, 10:14:34 PM
Hi B+

Is your language inspired by what Menn (Bestof) was trying to achieve with Fig?

At first sight, I find the omissions a bit confusing; sparsity and brevity does not always equal readability.

However, I must confess that I haven't studied it closely or tried it out yet.

It's certainly an interesting experiment.
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 17, 2018, 12:00:07 PM
I order to really take it to the upper echelons of Frankenstein-ism, you should also allow it to link to and run code in languages and APIs that are not BASIC in any way, shape or form!
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 17, 2018, 03:42:02 PM
This is one area you will find hard to beat with Script BASIC. The extension and embedding APIs make SB expansion limitless.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 17, 2018, 04:26:00 PM
Yes Richey,

I was inspired by Menn's no punctuation goal.

I am afraid SB is not for beginners. Still I like shorthand programs, it's fun to see how much you can do with so little.

For beginners, need to stick with whole word commands, I've been thinking: Set VariableName To ValueExpression
as the Syntax for setting variables which would always be string$ type and converted only when used in a math expression.

How about Play to start a loop and Replay to mark the end of a loop?

Thanks for re-sparking my interest in little interpreters.  I am reworking my main Evaluate Engine towards handling both math and string functions.


Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 17, 2018, 09:23:37 PM
When you can exceed the feature set of this calculator program, you can call your SB a language.

Qalculate (http://qalculate.github.io/)

(https://allbasic.info/picture_library/Qalculate_Linux.png)

Code: [Select]
PRINT FORMAT("%d",1000000 / .0000001), "\n"


jrs@jrs-laptop:~/sb/examples/test$ scriba divcomp.sb
9999999999999
jrs@jrs-laptop:~/sb/examples/test$


Standard Linux Calculator

(https://allbasic.info/picture_library/Basic_Calculator.png)


Title: Re: Beginner friendly BASICs
Post by: B+ on September 18, 2018, 09:06:40 PM
When you can exceed the feature set of this calculator program, you can call your SB a language.

Qalculate (http://qalculate.github.io/)

(https://allbasic.info/picture_library/Qalculate_Linux.png)

Code: [Select]
PRINT FORMAT("%d",1000000 / .0000001), "\n"



jrs@jrs-laptop:~/sb/examples/test$ scriba divcomp.sb
9999999999999
jrs@jrs-laptop:~/sb/examples/test$


Standard Linux Calculator

(https://allbasic.info/picture_library/Basic_Calculator.png)

 :o  WTH does this have to do with the price of coffee?

More dazzling with BS!
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 18, 2018, 09:10:57 PM
I think that he's saying that in order for any BASIC to be "Beginner Friendly" it should include the ability to script the behaviour of other applications via APIs - the calculator is just an example. Without that, any language that uses the abbreviation "SB" cannot be considered a BASIC language and as such is not suited to absolute beginners.

At least, I think that's what he driving at, and I'm sure we all agree.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 18, 2018, 09:13:12 PM
I think that he's saying that in order for any BASIC to be "Beginner Friendly" it should include the ability to script the behaviour of other applications via APIs - the calculator is just an example. Without that, any language that uses the abbreviation "SB" cannot be considered a BASIC language and as such is not suited to absolute beginners.

At least, I think that's what he driving at, and I'm sure we all agree.

 ;D ;D ;D
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 18, 2018, 09:21:13 PM
My point with the Qalculator example is the bar has been raised to what may be considered a programming language. This calculator can do most of the work traditional BASIC languages once did..

@B+ - Do I need to repost the wadding pool pic when you first joined?
Title: Re: Beginner friendly BASICs
Post by: B+ on September 18, 2018, 11:12:09 PM
My point with the Qalculator example is the bar has been raised to what may be considered a programming language. This calculator can do most of the work traditional BASIC languages once did..

@B+ - Do I need to repost the wadding pool pic when you first joined?

Yeah John have a look at it yourself, check to see if you are on the right side.

The code I posted could probably handle all those functions without the pretty GUI except extended precision or arbitrary long integers that a masters or doctorate in some professional capacity might need.

I don't know why you are confusing beginners with professionals???
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 19, 2018, 12:14:35 AM
DECLARE you're Santa Claus and building toys and we will be entertained instead of taking you serious about building a language others might actually use.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 19, 2018, 12:46:51 PM
DECLARE you're Santa Claus and building toys and we will be entertained instead of taking you serious about building a language others might actually use.

Yes I am messing around with little coders/interpreters, like BrainFun and sharing the joy, glad you got it now. :)

I find it a challenging skills building experience and it gives me a deeper appreciation of the basics that go into language creation.

Last night I think I finally figured out how to tell a - sign for subtraction from a - sign for a negative number without having it come in isolated by spaces (for subtraction) in a complex string expression, Subtraction in Basic, SB but Santa Basic will do too.  ;D
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 19, 2018, 01:27:47 PM
You see, this is where all the friction comes from.

On the one hand, you have enthusiasts that for whatever reason like to make their own languages. They're fascinated with the myriad ways of encoding instructions into symbols and keywords, looking for new ways to achieve speed or usability, extracting great amounts of joy in seeing their efforts bear fruit and just generally having a grand ol' time of it.

There are the onlookers who want to learn to code, they download these projects and see if they can understand them, make them do what they want them to do, report bugs and issues and genuinely feel like they're making progress towards a loftier goal - being able to program a computer. Sure, they know that they're at the bottom of the heap, that they have a lot to learn but with each session they add a little more knowledge and sometimes a light goes on in their heads as they say, to paraphrase a famous author, "Ahh yes! I see how this must be so!" and the universe of programming makes a little more sense than it did before.

There are those who are the brethren of the language-makers, they download and look and see what has been done - and how. They congratulate the original author, and they make changes to their languages as they learn something new, that benefits any users they may have, and brings more joy to the lives of themselves and their users. The feedback loop is reinforced and once in a while something amazing is made, and we all get to reap that positivity.

And then there are those that are bitter, that feel that anyone that doesn't adhere to their views is wasting their time, is an idiot who is stubbornly on the wrong path and that those who make these "toy" languages are no better than the microscopic bugs they crush as they walk down a path out of doors because if they're not doing it professionally, if they're not doing it to elevate the languages that they feel are worthy then nothing they do is of any worth at all.

Angry and bitter people are these; they get no joy from their pursuits unlike the coders who do it purely for fun.

So they post scathing remarks about APIs and how their language of choice is better because they can do x, y, and z. "Admit that you are doing nothing of worth! Your endeavours are as nothing but toys!" they bellow into the empty darkness of their souls.

And while they do so, the people who play and do things for fun scratch their heads and say "fuck off, you joyless moron" and get on with doing whatever they want to do.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 19, 2018, 03:22:16 PM
You see, this is where all the friction comes from.

On the one hand, you have enthusiasts that for whatever reason like to make their own languages. They're fascinated with the myriad ways of encoding instructions into symbols and keywords, looking for new ways to achieve speed or usability, extracting great amounts of joy in seeing their efforts bear fruit and just generally having a grand ol' time of it.

There are the onlookers who want to learn to code, they download these projects and see if they can understand them, make them do what they want them to do, report bugs and issues and genuinely feel like they're making progress towards a loftier goal - being able to program a computer. Sure, they know that they're at the bottom of the heap, that they have a lot to learn but with each session they add a little more knowledge and sometimes a light goes on in their heads as they say, to paraphrase a famous author, "Ahh yes! I see how this must be so!" and the universe of programming makes a little more sense than it did before.

There are those who are the brethren of the language-makers, they download and look and see what has been done - and how. They congratulate the original author, and they make changes to their languages as they learn something new, that benefits any users they may have, and brings more joy to the lives of themselves and their users. The feedback loop is reinforced and once in a while something amazing is made, and we all get to reap that positivity.

And then there are those that are bitter, that feel that anyone that doesn't adhere to their views is wasting their time, is an idiot who is stubbornly on the wrong path and that those who make these "toy" languages are no better than the microscopic bugs they crush as they walk down a path out of doors because if they're not doing it professionally, if they're not doing it to elevate the languages that they feel are worthy then nothing they do is of any worth at all.

Angry and bitter people are these; they get no joy from their pursuits unlike the coders who do it purely for fun.

So they post scathing remarks about APIs and how their language of choice is better because they can do x, y, and z. "Admit that you are doing nothing of worth! Your endeavours are as nothing but toys!" they bellow into the empty darkness of their souls.

And while they do so, the people who play and do things for fun scratch their heads and say "fuck off, you joyless moron" and get on with doing whatever they want to do.

Oh D, you were doing really good until the name calling.

One does not have to be a "joyless moron" to not get this kind of interest in something. Heck, my mother does not get it either, though she is quite patient about it.
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 19, 2018, 03:38:21 PM
You see, this is where all the friction comes from.

On the one hand, you have enthusiasts that for whatever reason like to make their own languages. They're fascinated with the myriad ways of encoding instructions into symbols and keywords, looking for new ways to achieve speed or usability, extracting great amounts of joy in seeing their efforts bear fruit and just generally having a grand ol' time of it.

There are the onlookers who want to learn to code, they download these projects and see if they can understand them, make them do what they want them to do, report bugs and issues and genuinely feel like they're making progress towards a loftier goal - being able to program a computer. Sure, they know that they're at the bottom of the heap, that they have a lot to learn but with each session they add a little more knowledge and sometimes a light goes on in their heads as they say, to paraphrase a famous author, "Ahh yes! I see how this must be so!" and the universe of programming makes a little more sense than it did before.

There are those who are the brethren of the language-makers, they download and look and see what has been done - and how. They congratulate the original author, and they make changes to their languages as they learn something new, that benefits any users they may have, and brings more joy to the lives of themselves and their users. The feedback loop is reinforced and once in a while something amazing is made, and we all get to reap that positivity.

And then there are those that are bitter, that feel that anyone that doesn't adhere to their views is wasting their time, is an idiot who is stubbornly on the wrong path and that those who make these "toy" languages are no better than the microscopic bugs they crush as they walk down a path out of doors because if they're not doing it professionally, if they're not doing it to elevate the languages that they feel are worthy then nothing they do is of any worth at all.

Angry and bitter people are these; they get no joy from their pursuits unlike the coders who do it purely for fun.

So they post scathing remarks about APIs and how their language of choice is better because they can do x, y, and z. "Admit that you are doing nothing of worth! Your endeavours are as nothing but toys!" they bellow into the empty darkness of their souls.

And while they do so, the people who play and do things for fun scratch their heads and say "fuck off, you joyless moron" and get on with doing whatever they want to do.

Oh D, you were doing really good until the name calling.

One does not have to be a "joyless moron" to not get this kind of interest in something. Heck, my mother does not get it either, though she is quite patient about it.

I suspect your mother doesn't harp on about how your new language isn't a language because it can't link to other apps and drive them via API calls.
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 19, 2018, 04:22:19 PM
@B+  I'm glad you like the Santa Basic name. It fits your project and you very well.
Title: Re: Beginner friendly BASICs
Post by: Aurel on September 19, 2018, 07:39:05 PM
q
Title: Re: Beginner friendly BASICs
Post by: ScriptBasic on September 19, 2018, 09:21:02 PM
Bitterness is not a flavor that lasts.
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 20, 2018, 10:34:07 PM
quote under quoted and angry and bitter
who is who i don't know and i don't care
I prefer to be nasty  ;D

Don't worry Aurel, you (along with B+ and most other members here) fall strongly into the first category.

As B+ has ably demonstrated, making your own language is fun. There's a certain thrill involved in designing the syntax, crafting lexer and parser, deciding on how you're going to interpret those tokens and symbols - Pure interpreter? Bytecode? Compiled? and then showing off code you've written in your language and pointing out the parts you're proud of.

Anyone who has created their own language from scratch is rightly deserving of any praise the likes of I can heap upon them.

And anyone who wants to take that pleasure away from people who do this, by denigrating their efforts and accusing them of making "toys" (as if that were a bad thing) while never having achieved anything more than caretaking is deserving of nothing more than being ignored.
Title: Re: Beginner friendly BASICs
Post by: Tomaaz on September 20, 2018, 10:58:14 PM
The more languages I try, the more I would like to create my own. Of course, it would be a simple language to be used for fun, but still -  I neither have knowledge, skills or time to do so. Maybe in 30 years, when I'm retired?  ;)
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 20, 2018, 11:07:19 PM
The more languages I try, the more I would like to create my own. Of course, it would be a simple language to be used for fun, but still -  I neither have knowledge, skills or time to do so. Maybe in 30 years, when I'm retired?  ;)

Well, why not? There's no rush, and you can create one when you're ready. It's all about having fun with BASIC - nothing more than that.
Title: Re: Beginner friendly BASICs
Post by: jj2007 on September 21, 2018, 12:34:04 PM
You see, this is where all the friction comes from.
..
Angry and bitter people are these; they get no joy from their pursuits unlike the coders who do it purely for fun.

In my experience, the angriest are those who code for a living. Of course, there are many who live well from coding and therefore are not angry and bitter. Sometimes I feel privileged to be retired. Coding just for pleasure, yeah, that's luxury ;)
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 21, 2018, 01:15:46 PM
You see, this is where all the friction comes from.
..
Angry and bitter people are these; they get no joy from their pursuits unlike the coders who do it purely for fun.

In my experience, the angriest are those who code for a living. Of course, there are many who live well from coding and therefore are not angry and bitter. Sometimes I feel privileged to be retired. Coding just for pleasure, yeah, that's luxury ;)

Well, I code for a living. I get up out of bed when I want, I code for as long as I feel working on whatever I want, have free reign to start new projects of my choosing. I take as long as I want for lunch, knock off when I want to. If I need to take a day for family time or whatever I just take it. And yeah, I'm paid very well indeed.

Right now the company is starting in a new direction with our own custom hardware so I'm having real fun messing around with that, doing cool stuff. And occasionally I get to take part in music videos (https://www.youtube.com/watch?v=FnptWZDtdHw) which is also great fun.

So no, I'm not bitter at all :)
Title: Re: Beginner friendly BASICs
Post by: B+ on September 23, 2018, 03:38:11 PM
Hi D,

Best graphics entrance of singer I've ever seen, was that you?

I would guess you worked on the sound were you also filmed? or had any part in graphics effect?
Title: Re: Beginner friendly BASICs
Post by: Aurel on September 23, 2018, 04:13:40 PM
O
Title: Re: Beginner friendly BASICs
Post by: Tomaaz on September 23, 2018, 04:18:07 PM
B+, do you believe me now?  ;D
Title: Re: Beginner friendly BASICs
Post by: B+ on September 23, 2018, 04:36:50 PM
I believed you before but why this thread and now?


Call a Doctor if:
https://www.google.com/search?client=opera&hs=sS&ei=l8OnW_76FO_n5gLc-7L4DA&q=tourette%27s+symptoms+checklist&oq=tourette+syndrome&gs_l=psy-ab.1.0.0i71l7.0.0..27766...0.0..0.0.0.......0......gws-wiz.1k6Xt3EOqs0
Title: Re: Beginner friendly BASICs
Post by: ZXDunny on September 23, 2018, 09:57:25 PM
Hi D,

Best graphics entrance of singer I've ever seen, was that you?

I would guess you worked on the sound were you also filmed? or had any part in graphics effect?

I was there because our company (Image-Line) sponsors Jayce Lewis from time to time; he's one of our "power users" and he needed some extra bodies to be in the video. I also sourced some sound hardware for teh shoot.

I'm in there as the guy screaming and bashing the hell out of the square things with flashing lights in front of the framework thingy (and in a number of other scenes too). It was a great laugh, we had a fantastic time. Oh yes, that's David Prowse (Darth Vader) in there too, it was surreal meeting him on a small set in Wales!

I got vapourised also, which was a neat effect. I didn't work on any of the effects - though we did shoot some scenes of PCs running various graphical effects in SpecBAS (they wanted a retro-80s style science feel) but they didn't make the final cut barring one very hard to spot mini-PC running the Harmonograph effect.
Title: Re: Beginner friendly BASICs
Post by: B+ on September 23, 2018, 11:59:27 PM
Yeah, see you by your description. Nice part, must have been great experience.