Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:10 02 Aug 2025 Privacy Policy
Jump to

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.

Forum Index : Microcontroller and PC projects : BLOCKLY MMBASIC software

     Page 2 of 2    
Author Message
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 07:23pm 27 May 2017
Copy link to clipboard 
Print this post

I think the only thing that really matters is that there are systems that are exactly alike, so that user groups can form around it and can share knowledge.
If it is a Pi then fine. Not MY favorite because i like the instant on, everything you need in flash/rom, no configuration and directly in a programming environment.
Probably why i also like a browser environment and javascript, which is in my opinion the best area for kids to learn programming.
A great online environment is https://jsfiddle.net/
The step from javascript to C/C++/java/C# is a lot easier then from basic.
If i take my own history of learning, i spend lots of time on a VIC20, then a TRS-80 model I both using Basic. On the TRS-80 assembly language was quickly used as the Basic was pretty limited. Extending the Basic was my favorite, hooking into the interpreter and adding my own statements. The step from Basic to assembly was actually pretty easy. The step to C was much harder. Once C was mastered lots of other languages were easy to learn.

To come back to what i think is the best programming environment (Browser with javascript) is that you can do it just with a browser, does not matter what system you have. A Pi works fine with that too. Instant feedback, no worry you 'break' something, easy to share with friends, incredible amount of examples, every page on the world can act like an example (use view source), etc, etc..

When it comes to controlling hardware, which is a totally different subject and needs its own particular style in programming then an Arduino is still the best choice. Abundant material available, huge huge amounts of available code examples and libraries. The uMite can not compete with that especially now that lots of solutions need connectivity through the internet/wifi. Suddenly good support for TCP/IP is important as is parsing of JSON etc. When you hit that barrier it starts to get very difficult to get things done in Basic. Controlling hardware is superb, communicating with the outside world, not so much.
The Pi-cromite might be able to close that gap.

Microblocks. Build with logic.
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2442
Posted: 03:37am 28 May 2017
Copy link to clipboard 
Print this post

  MicroBlocks said  When it comes to controlling hardware, which is a totally different subject and needs its own particular style in programming then an Arduino is still the best choice. Abundant material available, huge huge amounts of available code examples and libraries. The uMite can not compete with that especially now that lots of solutions need connectivity through the internet/wifi.


i'd actually quite strongly disagree.

firstly, in an teaching environment the arduino is limited by the need for a write-compile-download-run cycle. there is around zero support for the average user to debug their programs in anything like an interactive fashion - all you can do is send the compiled binary off to the arduino and see what happens. working from (errant) observed behaviour of the binary code running blindly on the arduino, back to bugs in the source code, requires a high level of programming expertise that is well beyond that available in the (school) classroom environment.

in contrast, with the micromite there is very little between the terminal and the behaviour of the mmbasic interpreter. by design BASIC tells you fairly well where the error occured and takes you back to it. the command line interface also provides a quick-and-dirty, highly interactive, way to test out single lines of code to see what they do.

and secondly, teaching algorithms, data collection, and machine control does NOT require access to the internet as a necessity. while the internet is full of information (some of rather dubious value) and (IoT) things, interacting with it seems far removed from the core concept of teaching algorithms, etc. within the bounds of a 45 minute class, goals of lighting up LEDs, moving servos, logging temerature changes seems far more realistic.

just my opinion!


cheers,
rob :-)





 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2944
Posted: 03:58am 28 May 2017
Copy link to clipboard 
Print this post

Something of extreme relevance to throw in here:

To have a solution that relies on an internet/cloud (or rely on a wifi connection of any sort) is not practical in many school classroom environments (even in todays world!).
I will give just one example when I was at a major launch of the BBC MicroBit and was sitting at one of ten workstations. Bear in mind this was at a Technology in Education exhibition - so a major event. Well, my workstation lost WiFi connectivity so I was unable to take part in the demo EVEN after 3 technical people tried to fix the workstation. Now imagine that scenario in a classroom environment. I will guarantee that most teachers would not be able to resolve issues like this; and even if they could, they have very limited timescales for a lesson in which to sort out issues. End result is that some kids will miss out on the lesson - with the knock-on effect that the kids will loose interest very quickly!

I have witnessed totally failed lessons with RPis due to the teacher spending most of the time sorting 'boot' issues (and pulled out cables).

As previously mentioned, the ideal solution (for both children and teachers) is one that when switched on, it boots almost immediately, and then works for the duration of the lesson. Even time lost to compiling & downloading has a major impact!

Another potential issue comes with battery powered solutions (battery management). Many hours are lost with iPads that are flat. For us 'techie' people this may seem absurd; however, these are just some of the things that occur daily in classrooms as seen through my research. Speak to your kids/grand-kids and no doubt they can tell many similar stories. . .

WW

EDIT: I forgot to add. With 'devices' that have access to the internet, guess what happens in a classroom full of teenagers! Yes I know things can be 'locked down', but this just doesn't get set up in the majority of cases. Teachers are busy people and don't want additional 'tasks'.Edited by WhiteWizzard 2017-05-29
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3378
Posted: 04:20am 28 May 2017
Copy link to clipboard 
Print this post

And another problem with the Dijkstra quote about BASIC is how long ago he wrote it. He was talking about Basic which had line numbers and GOTOs as the only means of flow control. With modern flow-control methods, what he said no longer applies--if students are taught those methods.

As someone who programmed in C professionally before learning Basic, I say that I prefer to work in Basic--when it is suited to the task.

For a rank beginner, I would say that the only time that C is "suited to the task" is when the task is training with the intention of becoming a professional programmer (which is far from saying that C is not more suited to some tasks than Basic is--just not for beginners).

Lance
Edited by lizby 2017-05-29
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
     Page 2 of 2    
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025