|
Forum Index : Microcontroller and PC projects : Ever need reminding of how good we have it?
| Author | Message | ||||
| IanT Senior Member Joined: 29/11/2016 Location: United KingdomPosts: 120 |
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: GermanyPosts: 715 |
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: AustraliaPosts: 2873 |
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: GermanyPosts: 715 |
Micropython has a powerful shell? |
||||
| stanleyella Guru Joined: 25/06/2022 Location: United KingdomPosts: 2701 |
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 KingdomPosts: 4171 |
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 KingdomPosts: 2701 |
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 KingdomPosts: 8374 |
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 KingdomPosts: 2701 |
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 KingdomPosts: 2701 |
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 KingdomPosts: 1680 |
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 KingdomPosts: 8374 |
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 |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |