Embedded Programming in decline

You mean the editor written in electron, the framework that takes Javascript to even more ridiculous levels - i.e a desktop app? :)

If it means I don't have to use vi, I will turn a blind eye. Nobody wants to know how their food makes it to the super market :)
 
I've heard good things, but isn't it garbage-collected and devoid of generics? I'd rather put my eggs in the Rust basket since it seems to be the heir apparent to C++.

Or just don't put all your eggs in any one basket. Programming languages are just tools. Learn as many as you can, deploy them given their cons and pros given the context of the task at hand.
 
but isn't it garbage-collected
Unless a language implements malloc() and free(), this is the case for any language. Your point?

and devoid of generics
How is that a bad thing? Generics are an anti-pattern for high performance code. Strong typing is strong performance.

I'd rather put my eggs in the Rust basket
I like Rust quite a bit. It doesn't have enough weight behind it though. Go has Google behind it and that makes a huge difference. Rust needs some critical mass behind it before it'll really take off.

This thread has turned into #holywars I see.
 
Them's fightin' words!

Seriously, though, I never understood a preference for MORE typing.

I use SlickEdit in Brief emulation mode. I’m not a stenographer but my silly little macros run circles around them. Tabs are fine I guess if all the developers are setup the same way. But my experience has not been this. Tabs ARE evil. :)
 
I didn't graduate college (barely) but the CS degree I almost got involved us learning architecture, writing MIPS and x86 assembly, implementing data structures in C89... fun times. I will say that probably half the people in these classes just didn't get pointers and still somehow managed to graduate, but it's not as though this stuff is some type of dark art. I'm 27 if that means anything.
The exact classes depend on the university, but there's a long distance between the CPU architecture they teach in school and the real world of high performance programming. A very, very long distance when GPUs get involved. Knowing some MIPS assembly from reading the book is the least important thing in the world. For laughs, try asking one of these fresh grads which order to iterate over a 2D array.

To your comment about Node.js though... as much as I despite JS and never thought I'd see the rise of server-side JS, it does have its uses. C is an inherently unsafe language, and 95% of the software being written today is some boring line-of-business application or a hypebeast web app that some "founder" envisioned during an Ayahuasca retreat that his rich parents paid for. Running the same language on the client and the server allows you to share domain objects and business logic, and frameworks like React also give you server-side rendering for SEO and faster load times. Javascript and npm may blow chunks, but it's what we have and if you use Typescript it's not so terrible.

In your ideal world would we be writing microservices in C?
I was not questioning the use of Node.js, as we have React/Redux code here as well that is brand new. My issue is with the candidates who think they're accomplished programmers because they wrote a few hundred lines of code gluing together dozens of Node packages, and then list that as something they're good at. Same goes for the Unity game developer crowd, who couldn't patch together the simplest scene without a whole lot of helper functions and framework.

That said, we are this close to rewriting a bunch of stuff in Rust. For that matter, Node is substantially written in Rust now. As others have said, Go and Rust are both extremely realistic high performance options for a bunch of stuff including microservices.

Go has Google behind it and that makes a huge difference.
Some of us consider that to be a negative ¯\_(ツ)_/¯
 
Sorry guys, I couldn't resist...



I'm not a programmer/developer but I've worked in software development since about 1991. Started in the VAX/VMS arena, was on a team that wrote some of the first third party kernel-level Windows NT applications, and am currently working with about 100+ healthcare applications that sit on top of old MUMPS code using a variety of approaches. MUMPS programmers are about as rare these days as buggy whip manufacturers. Most of the good ones are at retirement age, and there's a shortage of younger folks willing or able to take over the code.
 
You kids and your newfangled programming languages. When I was writing embedded code, it was assembler all the way. Except we reverted to machine language on the factory floor, where there were no development tools — just rows of toggle switches. :)
 
You kids and your newfangled programming languages. When I was writing embedded code, it was assembler all the way. Except we reverted to machine language on the factory floor, where there were no development tools — just rows of toggle switches. :)
You had toggle switches? We had to rotate the magnets by hand!
 
Go has quickly won me over. Fantastic language with killer perfomance.
I would like to like Go but it's not for real-time programming (Google people claim their gc is down to 20 millisecond levels but that's an eternity with real-time systems) plus it's too much tied to Google's interests. But it's good for micoservices *). Otherwise I put my hopes on Rust so we could finally put aside all the issues with C/C++ security and memory issue.

*)Microservices has their own issues, one innocent small service goes down and there's a cascade of failures and takes half a day to sort out what really happened.
 
You mean the editor written in electron, the framework that takes Javascript to even more ridiculous levels - i.e a desktop app? :)
VSCode is actually pretty nifty though my tools of choice these days are from the JetBrains family, CLion for C++, Pycharm for python, GoLand for go.
VSC is not that bad performance-wise even if it's written in Javascript/Typescript. The issue is Electron, if you have one instance the VM traffic is decent, multiple Electron instances (Slack, other apps) and suddenly you wonder why your high end computer is constantly paging.
 
Otherwise I put my hopes on Rust so we could finally put aside all the issues with C/C++ security and memory issue.

I have hope, but my cynical side says I'll just encounter code bases littered with "unsafe" because they didn't have time to comprehend what the borrow checker was complaining about because their manager was ordering them to release the code already....
 
I think complaining about generics for performance reasons while giving GC a pass is kinda weird, personally.
You ducked my question and started to take a swipe at me. Not cool. GCs are the future, get used to liking them or get used to writing C. Or try answering my question as to why you think GCs are bad?

As for generics, they are rarely implemented well in a language. Java being the real scourge of the generics impelementations these days. And they're often misused by naive programmers who think they need to build the most extensible system first rather than the most performant system. Better to avoid them altogehter in my experience and opinion.
 
Back
Top Bottom