Earlier quoted context omitted.
Slightly off topic but imagine an induction cooker with the original iPod control wheel as it's power control. We opted for a gas hob when we installed our kitchen. Mostly because I like the controllability when cooking. Obviously it's a nightmare for health and the environment but man it makes cooking easier.
how is it a nightmare? if you aren't getting that energy from natural gas, you'd mostly get it from a CO2 producing power plant, with efficiency losses going from heat (steam) -> electric -> heat (cooktop)
The pool of talented C++ developers is running dry
421–430 of 869 posts
Re: The pool of talented C++ developers is running dry
#422As a talented C++ developer... yes there is a dearth of talented C++ developers. I've been to several C++ conferences. Even there, many of the engineers end up learning "new" things that are IMO basic concepts that have been around for years. I recently went through a hiring phase for Senior C++ engineers and most of the applicants were familiar with old tech. It was really disheartening to me to realize how many "se…
I can't help but wonder if developers are simply off-put by the complexity of the language itself. Way back in 1989 I was fortunate enough to get Borland's C/C++ compiler, the K&R C book, and Stroustrup's C++ book - which, at the time, was about the same size as the K&R C book. The C++ language was relatively simple to learn at that time: no STL, no odd pointer types, no template metaprogramming, etc. Fast-forward to…
The std library is filled with bad implementations that can’t change because of backwards compatibility. So it’s not your fault that they look confusing. The pointer types you mentioned are actually quite simple, think of them as thin wrappers over raw ptrs with constructors/destructors that implement counting (for shared ptrs) and whose destructors do the delete operation (for unique ptrs, and for shared ptrs once they reach 0 copies).
Working with C++ can be easy and fun as long as you aren’t in a codebase where people went overboard with anti patterns or “cleverness”.
Re: The pool of talented C++ developers is running dry
#423Earlier quoted context omitted.
Yeah, but in real life scenarios, the difference in actual numbers, as opposed to percentages, matters. Let's imagine that the split for all software shops is 80/20, with 80% being crappy, and 20% being decent. If there are 10 embedded software shops out there, it means there are only 2 decent embedded shops out there that an engineer can work at. Meanwhile, if there are 1000 non-embedded software shops, it means tha…
In real-life, engineers aren't just cogs in a wheel that are interchangeable, who can seek work in any organization. There is also a smaller number of people who can/want to do systems level/embedded programming.
Re: The pool of talented C++ developers is running dry
#424> Hickling pointed to Java, which has long “seemed to be replacing C++ itself,” but hasn't. This is inaccurate. Java completely ate C++'s lunch in the enterprise space back around the turn of the millennium. Java doesn't need to continue to eat into C++'s marketshare in other domains, because it has more than enough mindshare to sustain itself (there are more Java programmers than C++ programmers), and its very exist…
Correct me if I'm wrong here, but now that everything is run in a docker container anyway, doesn't most of Java's appeal of "write once, run anywhere" from the turn of the millennium go away? At this point all it has is garbage collection and a network effect.
You say that like it's a minor thing, but GC is probably the largest language-related productivity improvement I've ever experienced as a developer, second maybe only to static types.
Re: The pool of talented C++ developers is running dry
#425I wondered why C/C++ is not appreciated more by engineers. I hear a lot of comments along the lines "rust is safer". While I get it is safer in some aspects a lot of times I've heard people end up writing unsafe rust anyways. Then the next argument goes well you should write as little as possible of that unsafe rust. Fact of life is that you will need to write unsafe rust. Actually unsafe INSERT_ANY_LANGUAGE_HERE. My…
C++ on the other hand...
Re: The pool of talented C++ developers is running dry
#426> Hickling pointed to Java, which has long “seemed to be replacing C++ itself,” but hasn't. This is inaccurate. Java completely ate C++'s lunch in the enterprise space back around the turn of the millennium. Java doesn't need to continue to eat into C++'s marketshare in other domains, because it has more than enough mindshare to sustain itself (there are more Java programmers than C++ programmers), and its very exist…
Correct me if I'm wrong here, but now that everything is run in a docker container anyway, doesn't most of Java's appeal of "write once, run anywhere" from the turn of the millennium go away? At this point all it has is garbage collection and a network effect.
Re: The pool of talented C++ developers is running dry
#427Earlier quoted context omitted.
I can't help but wonder if developers are simply off-put by the complexity of the language itself. Way back in 1989 I was fortunate enough to get Borland's C/C++ compiler, the K&R C book, and Stroustrup's C++ book - which, at the time, was about the same size as the K&R C book. The C++ language was relatively simple to learn at that time: no STL, no odd pointer types, no template metaprogramming, etc. Fast-forward to…
I'm with you mostly, although as the mostly sole maintainer of an 22 years old and still evolving C++ codebase (among some other responsibilities) I do try to keep up with the language. But if I didn't feel this was necessary for my job I probably wouldn't do it or at least won't sink too much time into it. I've also programmed in Haskell and I've had the same reaction as you, as to the things I can easily express th…
Re: The pool of talented C++ developers is running dry
#428For anyone looking for a junior who knows C++ in Canada, we've had good luck with Sheridan College in Oakville ON.
Is this for graduates coming directly from high school or are you seeing success with people that already hold degrees and are going for retraining or up-skilling?
Re: The pool of talented C++ developers is running dry
#429Earlier quoted context omitted.
all those companies you mention seem to me to have a 50/50 chance of going down the tubes. not because of their use of ruby, of course. still, i don't see any company started today to base their software on ruby. probably just me being wrong.
as a rails dev, if I were to start a new project today I would still pick rails. It makes building web apps a breeze. The technology is mature, stable, active and still staying modern in terms of integration with modern JS you start running into problems as you scale, but the reality is you will run into scaling problems regardless of what technology you use, and the ability to move quickly and iterate is much more i…
It's also a breeze if you use .NET and it will run circles around the Ruby app.
Re: The pool of talented C++ developers is running dry
#430Earlier quoted context omitted.
Yes, the embedded space pays terrible, and the employers don't seem great on the whole. When I was at Google I got to work on embedded stuff and really liked it; but I was getting a Google salary. When I left Google I pursued IoT and embedded jobs a bit and while I was not expecting Google level compensation at all, I was astounded at what was going on there, pay wise. General software eng back end jobs pay better. T…
system programming is a tough and low reward path indeed, be it in c/c++ or whatever. embedded/EE is worse. unless you made into the big few(google,amazon,meta,apple,microsoft,...), salary will plummet by half in general, or even more.
But now I think I'll head back to web development for my next job - I think web is better as an employee or as a contractor. It seems to me there is more freedom in webdev, often its possible to work from home or abroad... Embedded on the other hand is encumbered with equipment, oscilloscopes, devboards, protocol analyizers, you name it and often requires onsite hours.
And then there is the pay and job availability... I recall interviewing for a role that involved designing a full-blown operating system for use in the auto-industry. The role was paying 40-50K euro a year in Germany, which is insanely low. React developers earn substantially more, but are required to know substantially less.
The only reason why (I can imagine) someone would chose embedded is probably because its very rewarding and mentally stimulating. Its awesome creating physical devices. Its awesome interfacing with the real world. Its awesome deep diving into bootloaders, memory allocations and exercising a fundamental understanding of computing.