Electronics > Microcontrollers

Which programming language?

<< < (13/13)

JuKu:
For language: In embedded world, C. Scroll down, far, to see C++. C++ has its use, but its use is much rarer in embedded applications. Any other language, and you've painted yourself in corner - an obscure language that is usable with only one processor family, one tool and one tool provider. An OS is not a language, strictly speaking, although it adds many concepts, words and expressions. Learn embedded Linux and an RTOS, and learn those good. It doesn't really matter which Linux version or what RTOS as again, it is the concepts that matter.

It does make much sense to learn the ideas of object oriented programming, as well other programming techniques. The ideas, concepts and good writing skills matter much more than the implementation tools. As my professor used to say: "You can write object oriented AI software in assembler; you can also write hairy assembler in Ada." (Ada is/was the most structurally sound language at the time.)

What is the point of the no IDE recommendations? As I see it, I graduated almost 30 years ago, and even for me, makefiles and assembler are something that I can read and I can also write them if I have to, but those are definitely low level stuff that we have tools for. If I would be hiring and the applicant says he choose not to use an IDE, it would tell me that the person likes to do things the hard way, does not care about efficiency, quality or productivity and is not, and does not want to be, up-to-date technically. I can also cut a tree with a pocket knife if I have to, and you can argue I would learn a lot of the internal structure of a tree while doing that. I still prefer my chainsaw for that job.

baljemmett:

--- Quote from: JuKu on September 29, 2011, 07:17:46 am ---What is the point of the no IDE recommendations? As I see it, I graduated almost 30 years ago, and even for me, makefiles and assembler are something that I can read and I can also write them if I have to, but those are definitely low level stuff that we have tools for.

--- End quote ---

(I haven't read back through this thread, which had lain dormant for a while, so I'm basing this on what I remember of the discussion originally, but...) I believe that recommendation was more to learn a language instead of just learning an IDE.  So by all means learn an IDE or two, once you've got the language worked out; even whilst you're learning the language.  But if you can't work with the language outside the IDE, you don't know the language -- see, for instance, the sort of programmer who thinks the only way to define a class in C++ is to click Insert and then New Class..., type in a name and then maybe select a base class from the drop-down list, then use the wizards to add members and -- argh.  Trying to work with code written by someone with that level of 'understanding' of the language is pretty unpleasant, as I'm sure many of us know from bitter experience!

JuKu:
@baljemmett: Ok, very valid point, especially if talking about programming on Windows or Qt and such. You can indeed put together a nice, fancy, relatively big Windows application in Visual C# with just a hint of actual programming know-how.

Psi:
The point about IDE's that i was trying to make a few pages back was that an IDE is something you "interface with" where as a language is something you "learn".

Once you learn a language that's pretty much it, you know the language (excluding maybe a few advanced features you might pickup later).
With an IDE your using it all the time.

So it's very important that the IDE is designed well.


Take the AVRStudio IDE for example, it doesn't let you change the entire color scheme to be light text on dark background.
Sure, you can change some of the windows, but others are fixed with a white background.
It's really annoying if you're the kind of person who finds it hard to concentrate when staring at an entire screen of white.
NOTE: The new version may have fixed that.

Navigation

[0] Message Index

[*] Previous page

There was an error while thanking
Thanking...
Go to full version