3 ms·
No. I prefer C over JavaScript for embedded devices. And actually in most places, too. I know I'm weird, but I really like pointers, because I really like bein
by dkuntz2 13y ago
No. I prefer C over JavaScript for embedded devices. And actually in most places, too.
I know I'm weird, but I really like pointers, because I really like being able to manually setup data structures, and enjoy the power provided by pointers.
Manual memory management isn't horribly fun, but for embedded devices I would rather be in charge of that over the chip having to do it for me. It means that if there's ever a memory overflow, it's my own damn fault, and I have the ability to fix it.
JavaScript is an acceptable scripting language. It's not my favorite, but it works. I just don't think scripting languages should really be used on embedded devices.
- woofyman 13y agoI also prefer C and C++ over every other high level languages when performance is essential.
- lttlrck 13y agoNot even for scripting them?
- dkuntz2 13y agoI would rather use Python for scripting.
- zhemao 13y agoThere's not really much need for scripting on an embedded device. Embedded systems are meant to do a single task and run continuously. If he is already comfortable with C, he clearly doesn't have much use for a language like Javascript when it comes to microcontrollers.
- Tichy 13y agoSure if you write very low level stuff, C is probably more suitable. I wonder how much today's "embedded devices" still have in common with traditional embedded devices, though? If it is capable of running JavaScript, it probably is a lot more powerful than some microprocessor with just 2KB RAM where you have to squeeze every bit out of your code. On the PI you can run a complete Linux installation. I don't think these devices are actually embedded, they are just smaller than "normal" computers.
- dkuntz2 13y agoJavaScript, and scripting languages in general (and, to be more specific, dynamically typed languages, too, but those tend to be scripting languages, anyways) tend to have a lot of gotchas, and when it comes to controlling physical things, I think that less gotchas are better. Yes, statically typed languages just put a bunch of metadata in the code, but I think it's useful to have the guarantees provided by a static type system when your controlling things. Like if you're controlling a robot arm. I'd rather have the type system make sure I don't try to do something stupid, like add a string to an int that's controlling the degree of the arm. Static languages make sure you can't do that, most dynamic language will let you do that.
- marknutter 13y agoThen just write more unit tests and you'll be fine.
- deleted 13y ago[deleted]
- Tichy 13y agoIt would definitely depend on the kind of project (for me at least). I probably wouldn't recommend writing the controller for some medical device in JavaScript. My impression was that devices like the one here are more for tinker projects, making LEDs blink and stuff like that. Although I also don't agree that statical typing makes things so much more safe. And what can also happen is that in the world of statically typed languages bad workarounds are then invented for the inflexibility. An example would be the XML craziness that plagued the Java world for a long time.