![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
Imgui, because it makes dev/debug guis ridiculously straightforward and easy to create.
Imgui, because it makes dev/debug guis ridiculously straightforward and easy to create.
It’s honestly not that hard, the language was made to be simple. The complexity associated with the language largely has to do with the legacy applications the language supports. If you look at a greenfield project (eg CHADstack (it’s a joke project, but pretty fun to get exposure to some esoteric stuff for a couple hours)) you’ll actually pick the language features up pretty quickly.
C++, I am a library developer with some embedded experience. I can easily interface with c libs and expose my lib with a c interface. With clang, static analysis catches most bugs before runtime. Everything I write can be compiled nearly anywhere with very little dependencies required. Excellent IDE and LSP support with a ton of documentation on the language features available (admittedly, there are a lot). The standard library is gigantic, useful, and well documented. It is used everywhere, so resources and example source code in C++ are very easy to come by. Project configuration (via CMake) is extremely powerful and expressive (though not technically C++).
Some languages have some of the elements I listed, but no other language has them all.
If you’re supporting windows anyway you should use their tooling. This isn’t controversial, MSVC is a good compiler supported by good developers. I find MSVC more reliable than MinGW on windows as well. I recommend maintaining a single CMake project so that you can switch between compilers and build tools.
I believe algorithm focused technical tests are useful. However, if the interviewing team hasn’t taken the time to understand both the problem and the answer, then they are completely pointless. So you’re exactly right here to challenge their bullshit.
A lot of the criticisms at specific languages are really directed at people. Especially those that have “{language} brain”. These people are of the opinion that everything looks solvable by said language even if it isn’t the best tool for the job.
If you pick the best tool for the job, no one has standing to rightly criticize you. What’s the right tool? One that you know (or have the ability to learn) and has proven itself in its ability to solve problems you’re seeking to solve.
Simply “web design” has been a dying profession in the US too. I’d argue website building platforms (SquareSpace and the like) have more to do with this market drying up then AI does.
deleted by creator
Sometimes it’s easier to DIY than try to figure out the mess of a build system of a dependency! :P
I don’t know what you mean by WASM being a subset of javascript (maybe you mean AssemblyScript?) You can still program in higher level languages like C and have it compile into WASM as one would compile C to assembly.
I majored in math and have so far a great career in software. I don’t think knowing math separates me out from CS grads generally. However, math majors largely chose to major in Math because we like problem solving. Plenty of CS grads major in CS because they are expected to. Being a passionate problem solver gets you pretty far.