Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 07:02 19 Dec 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 : Ever need reminding of how good we have it?

     Page 2 of 2    
Author Message
IanT

Senior Member

Joined: 29/11/2016
Location: United Kingdom
Posts: 120
Posted: 11:37am 05 Dec 2025
Copy link to clipboard 
Print this post

I post else where about my 'Mites' but always get a particular person attacking MMB as being outdated, slow, unstructured, etc etc. He was a 'professional' programmer and can roll out all the reasons he is right and why I am taking people down a technical dead end.

I recently posted Marcos marvellous 'Bad Apple' link on that Forum, simply because I was so impressed with what he had done on a simple Picomite HDMI. Most of the folk on the other forum are my generation (e.g. fairly ancient) and I'm certain many of them would find the PicoMite really useful, simply because that's been my own experience.

Arduino solutions are often mentioned without any critique but I was was an Arduino user prior to discovering Mites some ten or more years ago. I had purchased a PIC32 to play with and stumbled across Geoffs site shortly afterwards. I found that MMB on the PIC32 (Micromite) suited me very well indeed. It was easy to learn, well documented and most importantly, quick to de-bug. Debugging is a key issue to me simply because I make a lot of mistakes (quite apart from all the typos...)

I remember a few years back, a poster on this other site having an issue with an I2C device and not being able to determine whether it was the device or the Arduino (Libary) code causing the problem. I suggested that an inexpensive Picomite (and three lines of MMB code from the Manual) would make a very effective diagnostic tool and quickly determine whether the device was functioning (or the Arduino code was the issue) but the OP declined my suggestion as he "didn't want to learn a new language". The 'Professional' programmer then offered to look at the 'Libary' code and help out but nothing more was posted, so I don't know if he succeded in solving it or not.

I do think there is a huge ammount of prejudice out there, most especially from retired "Professionals" who often seem to forget that most folk don't have their skill set (and don't want to learn it either).

Picomites are affordable, easy to learn, quick to programme and debug. A simple message really but a seemingly very hard one to get accepted by a wider audience.

Regards,

IanT
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 715
Posted: 12:12pm 05 Dec 2025
Copy link to clipboard 
Print this post

Its hard to compete against the fantastic work which is done.
Micropython, C, Arduino implementation.
VSC
Eclipse
CLion
Tons of code examples and mature programs.
Best documented

Never the less, my favorite is PicoMite :))



..because it has its own soul :)
Edited 2025-12-05 22:14 by dddns
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2873
Posted: 12:13pm 05 Dec 2025
Copy link to clipboard 
Print this post

  Quote   I was was an Arduino user prior to discovering Mites some ten or more years ago. I had purchased a PIC32 to play with and stumbled across Geoffs site shortly afterwards. I found that MMB on the PIC32 (Micromite) suited me very well indeed. It was easy to learn, well documented and most importantly, quick to de-bug. Debugging is a key issue to me simply because I make a lot of mistakes (quite apart from all the typos...)
  Quote  Picomites are affordable, easy to learn, quick to programme and debug. A simple message really but a seemingly very hard one to get accepted by a wider audience.

Very much my story too. Arduino, Lua and C can turn a hobby into a chore if you want to do more than glue library code together. And as mentioned a library can't always be trusted to do things properly.

A while ago someone here asked about an alternative to the AHT10 I2C humidity and temperature sensor as on another forum it was said nothing else can share the bus with it. It works perfectly in MMBasic with just a couple of lines. You don't even need to write a program, just enter the commands at the command line for instant testing, so I imagine the sensor was was being blamed for the effect of an iffy library routine that was not releasing the bus after reading.
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 715
Posted: 12:16pm 05 Dec 2025
Copy link to clipboard 
Print this post

Micropython has a powerful shell?
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2701
Posted: 06:49pm 05 Dec 2025
Copy link to clipboard 
Print this post

for arduino I used logic green tech 328 using great cow basic not arduino interface.
I thought gcb should get more attention as it's a fast code compiler,, not interpreter.
alternative is python or c.
moving to mmbasic using mmedit/mmcc was so easy. I don't use the inbuilt editor.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 4171
Posted: 07:41pm 05 Dec 2025
Copy link to clipboard 
Print this post

  dddns said  Micropython has a powerful shell?

Best I can do as I'm not a python user except minimally:

Like MMBasic it can execute things direct from a prompt (for python, see REPL for more info).

With larger versions there can be IDLE (an IDE plus ability to execute things) and if there's an underlying OS you can issue commands to it.  (A bit like SYSTEM in such as mmb4l.)

MMBasic typically isn't hosted on any OS (except for when it's on Windows or Linux), and there really wasn't any way it could have been on the smaller PIC32 cpus as it was a tight fit in memory as it was.

John
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2701
Posted: 11:16pm 06 Dec 2025
Copy link to clipboard 
Print this post

think if you missed basic, age, and today wanted to program rpi or any micro controller, where do you go?
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8374
Posted: 07:51am 07 Dec 2025
Copy link to clipboard 
Print this post

The most common, probably:
For speed, c or C++ For quicker program development, Python. For kids to learn the elements of programming, Scratch. You have a lot more choice now, even on cheap hardware.

c, C++ and Python are all heavily library-dependent. Only Python is an interpreter (usually).

The de facto standard for micro controllers is some version of c, although compilers for several languages (including BASIC) are available. Sometimes very expensive though.
Arduino uses C++
The Raspberry Pi includes Python and Scratch by default. You can get BBC BASIC for it.

There are quite a few others, but they don't seem to have the same popularity, although lua seems to have its followers. It's more of a scripting language though.

The main thing of note is that there are very few modern versions of BASIC. If you have a go with Python, and get some practice in, you'll understand why. It can be used virtually wherever BASIC is used and often with advantages such as libraries. In a way it's a bit like BASIC on steroids. It's not as easy as MMBasic and can be a pain to debug (like having space delimited lines and cryptic error messages), but it's by far more generally available. All you need is a decent editor, such as Geany, and away you go.

A lot of people don't appear to realize that an interpreter running on modern hardware is often as fast, if not faster, than compiled code on many older machines. CPUs have moved on that far, with instruction caching and pipelining, never mind higher clock speeds and multiple cores.
.
Edited 2025-12-07 17:52 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2701
Posted: 04:12pm 07 Dec 2025
Copy link to clipboard 
Print this post

I agree Mick. I went from picaxe basic, crap imho to great cow basic, free and did arduino 328, brill but then discovered mmbasic on pico and stuck with that.
how does mmbasic compare to python speed for dunno, graphics or does no one use python on a basic forum?
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2701
Posted: 04:29pm 07 Dec 2025
Copy link to clipboard 
Print this post

A lot of people don't appear to realize that an interpreter running on modern hardware is often as fast, if not faster, than compiled code on many older machines. CPUs have moved on that far, with instruction caching and pipelining, never mind higher clock speeds and multiple cores.

what would compiled mmbasic be like?
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1680
Posted: 05:32am 08 Dec 2025
Copy link to clipboard 
Print this post

There's that guy on YouTube who compared MMBasic with Python on the Pico BUT he used a clunky old BASIC approach and I seem to remember that his data type was 32bit.

I rewrote the MMBasic and achieved a significant improvement. I'd go find it but I need to hit the road.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 8374
Posted: 08:20am 08 Dec 2025
Copy link to clipboard 
Print this post

Comparisons are difficult. It especially depends on the task and the efficiency of the compiler. Compiled code will always run faster but a) it is compiled for one CPU and the object code can't run or be modified for anything else. b) if the program involves a lot of waiting for things to happen followed by a short burst of action then the average running time will be about the same as the compiled code will merely wait in a loop for longer as BASIC continues processing. Interrupt driven BASIC can be surprisingly fast.

Python is an interpreter, not a compiler. It runs at about the same speed as BASIC on the same CPU at the same clock rate. Only the style of programming is different. It's perhaps slightly more efficient in some ways, but not all. It's big advantage is that it can call routines out of libraries, although those libraries can occasionally take up a lot of RAM. It also has the ability to run scripts, more like perl than anything else. The really major difference between Python and BASIC is that Python has reached critical mass and is now available on just about every platform in one form or another and is accepted as being a "proper" programming language.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
     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