• 0 Posts
  • 1 Comment
Joined 1 year ago
cake
Cake day: July 17th, 2023

help-circle
  • As an older coder, I’ve spent time commercially programming in a lot of languages (C, C++, C#, Python, TransactSQL, Javascript, and a few more - with many years of experience in each. I even spent time squeezing some forth code into a small programmable chip.

    My first comment on this « attitude » expressed above is that you need to pick the language (and its libraries) that is best for your problem space - each will have advantages, including constructs and libraries to suit whatever domain you are working in. Hence forth for a microchip, TransactSQL for DB stored procs, python for general purpose command line work etc.

    Having said that I do want to present one viewpoint which could give rise to this above expressed opinion. It’s an area that C is considered pretty strong - specifically language complexity. When coding in C, I really felt like I knew every nook and cranny of the language, exactly how every structure would be packed, what the assembly would probably look like.

    Python (and perhaps C#) are currently my favorite languages - python only has 36 keywords and while I don’t have the same solid grasp of what’s happening under the hood, I do feel like there are very few surprises and corner cases to the language, even while supporting some complex programming methodologies.

    The opposite of this is (IMHO) swift. What started as a really nice language with a clean syntax and solid libraries has morphed into a monster with 232 keywords. Does any swift programmer have a solid grasp of it all?

    I would say that C++ is at the complicated end of the spectrum - spend some time inside Boost and their extreme use of templates/meta-programming and it will make your head spin. The Boost developers are super smart people, but its non-trivial to understand what is going on. Having said that, C++ does make you feel that you can code close to the machine and have a good handle on what is happening under the hood.

    This level of control is probably one place where this « only C and C++ code is any good » attitude came from. Its not an attitude I support.