Other languages on the horizon

Thread Starter

prophoss

Joined Feb 26, 2019
36
I was listening to embedded FM today and they started talking about circutpython which is based on micropython. That got me to thinking about the future a little. I am a student in my mid 40's and would love to get into embedded or firmware type programming. The thing I have noticed is that most of the new micro-controller/ processors are well bigger. They have more flash memory or sram and more stuff in general that you can do with them. Their size is still very compact and you could make a case that eventually most anything you want could have one of these bigger MCUs in it, though why you would need one I am not sure. I am continuing to learn C but I was wondering if learning micropython is a good idea. I know that the basic answer is yes. I mean why not right, but do y'all think that something like that could eventually become as necessary to know as C or C++ one day? I get the feeling that as things become more complicated there will be a need to have a language that allows programmers to use these micros to their full potential. I do realize that micropython is built on C, but just like Arduino they allow easier use of what can be a very complex thing. Maybe it's not real time like C but the difference would be very slight if noticeable at all. It's not just about ease of use either. By using something like that you may be dumbing down some things but you could potentially be allowing for a greater use of others. Well what do y'all think? I'm not trying to cause a debate over one language vs another but rather looking at the possibilities of adding to the stack or building on top of what we currently know and use.
 

WBahn

Joined Mar 31, 2012
29,976
I'd say that the answer is... it depends.

As with nearly all things, there are pros and cons whichever way you go. But whether something is a pro or a con, let alone which set outweighs the other, depends heavily on what it is you are trying to do. I don't think anyone can give you a generic one-size-fits all answer to something like this until you narrow things down quite a bit more.
 

Thread Starter

prophoss

Joined Feb 26, 2019
36
I am not working on a project,but rather this is just a thought I would like to have others opinion on. Perhaps this is not the right place? If so please feel free to send it where it should go. Thanks
 

nsaspook

Joined Aug 27, 2009
13,079
C (and C like low-level languages that are simple and translate closely to the underlying hardware) will be replaced when something better is delivered that's worth the effort of scrapping decades of C based embedded infrastructure (mainly supplied by hardware focused companies) used daily by embedded hardware engineers who program. Applications based languages like Python are great in their domain but the high level abstractions of those types of languages don't help very much at the system level to boot-strap up a naked circuit board with hundreds of register based configurations settings with usually mainly physical sensor I/O based data collection and manipulation.

Why do we need languages like Python for system level embedded programming?
 
Last edited:

Thread Starter

prophoss

Joined Feb 26, 2019
36
I was thinking more along the lines of using C to get it going, but then using something like python to utilize the abilities in a quicker or better fashion. I do not believe that C will ever go away, but I do wonder if it could be better utilized by combining it with something else. The old adage that "the sum of the parts is greater than the whole." It is no knock on any language to suggest that it can't do a certain thing. They are all lacking in certain areas. By combining the abilities of two, or more, languages you could allow for possibilities that up till now could not be achieved. In this situation since python is built on C it kind of makes sense to possibly combine the two. That does not answer your question perse but the idea is I believe valid? I am still new to all this and can not speak to anything as specific. I am, I admit, dreaming a bit.
 

nsaspook

Joined Aug 27, 2009
13,079
I was thinking more along the lines of using C to get it going, but then using something like python to utilize the abilities in a quicker or better fashion. I do not believe that C will ever go away, but I do wonder if it could be better utilized by combining it with something else. The old adage that "the sum of the parts is greater than the whole." It is no knock on any language to suggest that it can't do a certain thing. They are all lacking in certain areas. By combining the abilities of two, or more, languages you could allow for possibilities that up till now could not be achieved. In this situation since python is built on C it kind of makes sense to possibly combine the two. That does not answer your question perse but the idea is I believe valid? I am still new to all this and can not speak to anything as specific. I am, I admit, dreaming a bit.
Python is popular because it's really a interactive scripting language pretending to be a programming language that's been adopted because it lacks the formal programming structure of even a low-level systems language like C. This means you can write powerful programs in Python quickly but they are about as stable (in the CS meaning of the word) as a WW II-era bomb in a corn-field.

I consider python a necessary evil because you can't avoid or just ignore it.
 
Top