Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671
Posted: 01:21am 09 Nov 2016
Copy link to clipboard
Print this post
This is probably a rant but I am just sharing some thoughts based on my experience with the MM over some time and interaction with a number of potential users/developers for it. While almost everyone immediately likes the ease and functionality, once the work BASIC come forward, a typical awkward half-smile appears and many people immediately change their opinion towards the mite from a 'potential candidate' to 'a nice toy'. This is how people perceive the name these days. Actually I have not heard even a single one to consider writing in basic for anything other than home and hobby stuff. Had the very same thing be called otherwise, the level of acceptance would have been much higher because there would have been any prejudice about it. I personally don't have any objections about how something is called as long as it does and I want it to do, and in those terms I use the language which leads me to the goal in the shortest route. Apparently most people don't think this way. Just wondering what the people here and Geoff as well, think about the stuff above.http://rittle.org
--------------
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9588
Posted: 01:30am 09 Nov 2016
Copy link to clipboard
Print this post
BASIC really is a stigma to many people in the C-coding world. "You're using BASIC?! How quaint...."
MMBASIC is one of the most powerful BASIC's out there IMHO, and the things you CAN do with it is really amazing. It is true that an interpreted language can never be as fast as raw C, but most of the time, people don't NEED that raw speed. If you do have the need for speed and lots of it, then BASIC(any flavour) probably is not going to float your boat.
Having said that......Smoke makes things work. When the smoke gets out, it stops!
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671
Posted: 01:55am 09 Nov 2016
Copy link to clipboard
Print this post
Yes, completely agree with the comments. As you are saying, most people don't need the speed, they just naturally assume that the name BASIC as something that won't to the job for them...
http://rittle.org
--------------
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2932
Posted: 05:06am 09 Nov 2016
Copy link to clipboard
Print this post
kiid,
As you know, I have been massively involved with pushing the MicroMite here in the UK and I get what you are saying.
However, It is only 'system people' that seem to raise an eyebrow. Show the product to a 'newbie' in a way that they understand and they will bite your arm off - the comments being such as "This is so much easier to use than the RaspberryPi/Arduino"
Most of us here know the benefits and I believe it truly is 'horses-for-courses'.
My vote is to keep the word 'BASIC' and show just how powerful it is. With MicroC hip now showing recognition, and SC magazine doing what seems like at least two MM articles per issue, I believe awareness will explode in 2017.
And I hope your promoting in Schools is going well - schools that I have spoken to love the MM. And I will be running some Coding Clubs too next year - all based obviously on the MM using BASIC!!
Just my thoughts based on research over many months . . .
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209
Posted: 06:55am 09 Nov 2016
Copy link to clipboard
Print this post
Call it BScript. :) Microblocks. Build with logic.
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9588
Posted: 11:50am 09 Nov 2016
Copy link to clipboard
Print this post
"The new MicroMite Plus, installed with the latest version of easy to learn Geoffic programming language."
Smoke makes things work. When the smoke gets out, it stops!
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2428
Posted: 01:33am 10 Nov 2016
Copy link to clipboard
Print this post
some folks might shorten this to "BS", which may have unintended connotations!
if doing a 'relaunch', one could consider adopting the name "Bplus" or "B+", and use the description of "an enhanced structured programming language that is as easy to use as BASIC".
here is a question for geoff: does sticking to the historic syntax of BASIC impose any undesirable limitations on the mmbasic interpreter?
for example, what if all variables had to be declared before use, and the CLEAR and ERASE commands removed? would this allow removal of some of the memory-management code and free up flash space?
or, what if pascal-like BEGIN ... END block structures were introduced? would this simplify the interpreter and perhaps improve speed?
what speed and reduced flash footprint improvements could be realized by pruning out various syntax exceptions and variations from the interpreter, along with simplifications where appropriate?
i'm not suggesting this is a good or bad idea, just curious about the possible benefits. if someone were very keen, they could sit down and write up a new language specification, to provide a reference for further discussion. personally, if any changes were to be occur, i would like to see a shift towards the syntax of pascal.
cheers, rob :-)
MicroBlocks Guru Joined: 12/05/2012 Location: ThailandPosts: 2209
Posted: 05:10am 10 Nov 2016
Copy link to clipboard
Print this post
:)
How about B# (pronounced as Be Sharp). :)
If a thing like dictionaries could be added, or a simple stream for info coming in over keyboard/comports then it takes a few very handy constructs from object oriented languages without the huge overhead of inheritance and other resource hungry constructs.
btw B# in music is the note C. This would then add that although it is mainly Basic you can also use C. :) Edited by MicroBlocks 2016-11-11Microblocks. Build with logic.
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9588
Posted: 12:45pm 10 Nov 2016
Copy link to clipboard
Print this post
I see what you did there - very clever! Smoke makes things work. When the smoke gets out, it stops!
LouisG Senior Member Joined: 19/03/2016 Location: AustraliaPosts: 129
Posted: 12:46pm 10 Nov 2016
Copy link to clipboard
Print this post
Brilliant, MicroBlocks!
JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4035
Posted: 01:16pm 10 Nov 2016
Copy link to clipboard
Print this post
Why do people getting solutions that happens to involve a 'mite care what language it is? Why even tell them?
Why not just say a high-level scripting language (or some other BS) if you want to worry they may care...
Suppose you were using Python or Ruby. Would most of these customers have any idea what those are? Or care?
There again, if they know what BASIC is and have negative feelings they may also consider Pascal dead. Be careful what you wish for!
JohnEdited by JohnS 2016-11-11
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9588
Posted: 01:35pm 10 Nov 2016
Copy link to clipboard
Print this post
Yeah, I think the problem is with the BASIC word. As soon as it is mentioned, people immediately dismiss whatever it is as a toy, without even looking at what it can do from that point on. Again, the stigma thing.....
What about "MicroMite controller with built-in HLS programming language." Smoke makes things work. When the smoke gets out, it stops!
VK2MCT Senior Member Joined: 30/03/2012 Location: AustraliaPosts: 120
Posted: 01:56pm 10 Nov 2016
Copy link to clipboard
Print this post
BASIC++
John VK2MCT
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329
Posted: 01:24am 11 Nov 2016
Copy link to clipboard
Print this post
Depends who the target audience is I think. Those who are "professionals" in the software area might be less impressed with "Basic" in the name (or most likely not if they've looked into MMBasic's capabilities), whereas those who are less than "professional" may well be more attracted to try it because they associate Basic with less difficult programming.
Greg
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671
Posted: 01:57am 11 Nov 2016
Copy link to clipboard
Print this post
Well, I wish it worked like that. The reality is *no one* is impressed by the name BASIC. The less professional want to become more professional and see BASIC as no suitable path to that. The more professional fears that using BASIC will make them look less professional. It is a closed circle kept together by the massive stigma around this word. People don't look bad at Python, Lua, etc, although they are also script languages and in general are no better than BASIC. It is just this name that keeps putting people off...Edited by kiiid 2016-11-12http://rittle.org
--------------
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2932
Posted: 02:33am 11 Nov 2016
Copy link to clipboard
Print this post
@kiid,
I'll let you into a method that I use very successfully; Sell the 'solution', not the programming language! A demonstration works wonders when performed with the KISS methodology.
Every time I demonstrate the 'solution', there is a big jaw-drop response with its simplicity (hardware AND software). It is ONLY systems people that have been educated (read 'brain-washed') by the 'MicroSoft school of teaching', and with no innovative mentality that seem to frown upon the word BASIC.
Not a single school or 'newbie' I have demonstrated the SOLUTION to has frowned when mentioning the word BASIC.
Greg's comments in his post are so true IMHO based upon my feedback with people over the last two+ years.
Note that I fully get what you're saying Kon, but for all those that 'frown', there are lots more that will tell you it is a pleasure to work with the MicroMite due to its simplicity. So let the 'frowners' frown, and sell to the much bigger audience that out there that will use it with a smile due to its simplicity/speed/cost etc.
By the way, many of my customers have been 'converted' over from Picaxe (unsurprisingly), however a larger number tell me they have come from an Arduino and/or RPi background. Also I have some companies that use the MM in their development environments which shows that not all systems people are 'blinkered' once they open their eyes.
I am more than happy to work with you on this if you have a target customer that is frowning - just drop me an email.
WW
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329
Posted: 02:43am 11 Nov 2016
Copy link to clipboard
Print this post
I understand the motivation (kudos, commercial and arguably expand user base) in creating an enhanced "aura" for MMBasic by changing it's name. To say "*no one* is impressed by the name BASIC" is a big call though - again it depends on the target audience. There would be plenty of the "less professional" who equally would not be un-impressed, who would be happy with their level of capability and just want to make things work.
Greg
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2932
Posted: 03:04am 11 Nov 2016
Copy link to clipboard
Print this post
Just out of interest, the new Computer Science curriculum now being taught in schools (since 2015) refers to currently eight recognised programming languages. Pupils can answer 'coding' questions in any one (or more) of the eight that they have been using.
BASIC is not on the list currently for exams before 2018; however the list is being reviewed on an annual basis. My own personal target is to have it on the list for exams in 2019 and to make it as 'popular' as Scratch and Python is currently.
The one thing missing is a User Guide that is easy to use. This is NOT to say Geoff hasn't provided good documentation, in fact far from it, his documentation is outstanding for us hobbyists. But for the education sector, a simple User Guide is a must.
I am currently building up a collection of manuals for all Home Computers from the 80's (that used BASIC). From these I can see some great ideas that I intend to develop a template for the MM.
If there is anyone out there with an unwanted User Manual wishing to donate it to this work then please drop me an email. Also any good BASIC programming books 'for beginners' are being sought
CaptainBoing Guru Joined: 07/09/2016 Location: United KingdomPosts: 2170
Posted: 01:37pm 11 Nov 2016
Copy link to clipboard
Print this post
removing stuff limits upgrade paths and isolates users. MMBasic needs all the adopters it can get.
One of the major strengths of MMBasic is its close adherence to the various incarnations of Microsoft basic and so a million programmers immediately feel at home. Scope creep is potentially already a problem - look at the v5.3 request thread, the core functionality should really be maintained as it pins together all the non-MS stuff with a really good set of primitives. Personally I would like to see even more convergence on the MS "standard" - the pinnacle of which, I believe, was VB6 VBS (before the .NET bloatware) and MMBasic is REALLY close even to the point that I can often take old code samples and pop them in a microcontroller unchanged - astonishing!
Here is a real-world example in my VB-esque SPLIT() function in which the ERASE is vital. This is used a lot in the stuff developed here and is really useful for breaking out arguments. Most recently it was used for parsing HTTP headers from ESP8266 modules. I can't think of an easy way to replace it's functionality here without an addition to replace it (like REDIM which tickles my convergence bone), but this represents a new chunk of (more complex = more flash) development.
FUNCTION Split(a$,b$) ' returns the number of dimensions in SP$ always starts from 1 regardless of OPTION BASE LOCAL INTEGER z,n,m ON ERROR SKIP ' if SP$ doesn't exist the next line will cause an error ERASE SP$ z=1:n=0 DO 'count instances of delimiter for DIM SP$() z=INSTR(z,a$,b$) IF z=0 THEN IF n=0 THEN ' no delimeters DIM SP$(1):SP$(1)=a$:Split=1:EXIT FUNCTION ' early bath ELSE EXIT DO END IF ELSE n=n+1:z=z+LEN(b$) END IF LOOP
m=n+1:n=1 DIM SP$(m) DO z=INSTR(1,a$,b$) IF z=0 THEN SP$(m)=a$:EXIT DO ELSE SP$(n)=LEFT$(a$,z-1):a$=MID$(a$,z+LEN(b$)):n=n+1 END IF LOOP Split=m END FUNCTION
I tend to take an active interest in my memory management as a lot of my stuff processes strings from other systems heavily and you can run out of store really quickly. I use ERASE all the time to dump arrays after I have finished with them, especially when using the big string bolt-on.
Please don't erase ERASE!!!!
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2428
Posted: 02:16pm 11 Nov 2016
Copy link to clipboard
Print this post
the totality of my suggestion was a move towards eliminating the need for garbage collection - without CLEAR and ERASE, and with the requirement that all variables be explicitly defined, you open the opportunity to perhaps simplify much of the memory management that the interpreter has to perform. both global and local variables could be created in stack frames, with no garbage collection required.
IF geoff decided to branch away from the adherence to the core standards of BASIC, it may be possible to achieve enhanced speed, along with a reduced flash footprint. this would become a new, derivative language.
note that this is just an idea to kick around. there are pros and cons. the disadvantages may well outweigh any advantages - the current ability to run existing BASIC code is a very BIG advantage. and at the end of the day, it is geoff's choice.
cheers, rob :-)
Page 1 of 3
Print this page
The Back Shed's forum code is written, and hosted, in Australia.