Python is truly a mess when Docker is considered a solution.
Python is truly a mess when Docker is considered a solution.
Nothing comes close to Perl’s abuse of global variables. Oh you called this function? Take a guess which global variables it will use.
The type is dynamic. It can be whatever you wish.
From the original document:
Software manufacturers should build products in a manner that systematically prevents the introduction of memory safety vulnerabilities, such as by using a memory safe language or hardware capabilities that prevent memory safety vulnerabilities. Additionally, software manufacturers should publish a memory safety roadmap by January 1, 2026.
My interpretation is that smart pointers are allowed, as long it’s systematically enforced. Switching to a memory safe language is just one example.
TAOCP is a misleading title. It shouldn’t be computer programming. It should be computer science.
For most people, programming is the engineering discipline. I think that’s a very different art form. Software engineers are rarely dealing with the type of problems TAOCP is concerned about.
I’m mostly working in Java now. I’m proficient to the degree that I can solve most things without looking for reference online. I think that matters most to me.
OO languages typically use garbage collector. The main purpose of the borrow checker is to resolve the ambiguity of who is responsible for deallocating the data.
In GC languages, there’s usually no such ambiguity. The GC takes care of it.
Sounds like you’re thinking more about the builder pattern.
Mainstream statically-typed OOP allows straightforward backwards compatible evolution of types, while keeping them easy to compose. I consider this to be one of the killer features of mainstream statically-typed OOP, and I believe it is an essential feature for programming with many people, over long periods of time.
I 100% agree with this. The strength of OOP comes with maintaining large programs over a long time. Usually with ever changing requirements.
This is something that’s difficult to demonstrate with small toy examples, which gives OOP languages an unfair disadvantage. Yeah, it might be slower. Yeah, there might be more boilerplate to write. But how does the alternative solutions compare with regards to maintainability?
The main problem with OOP is that maintainability doesn’t necessarily come naturally. It requires lots of experience and discipline to get it right. It’s easy to paint yourself in the corner if you don’t know what you’re doing.
Even when computers did improve and became able to handle Vista people weren’t willing to change their minds about it. Windows 7 had a 1GB memory requirement. Why didn’t more people use Vista right before the Windows 7 launch?
Vista shows how important the initial reputation is. Everybody had made up their mind to hate it, even if the hate wasn’t fully justified. There wasn’t much Microsoft could do about it, other than releasing Windows 7.
Windows 8 on the other hand was genuinely bad.
Windows 7 recovered from the disaster of Vista. Windows XP recovered from Me. It has been a bumpy ride for a long time.
AFAIK it has always been nagging about how much better things will be if you just connect your login to their Microsoft account.
It was the last Windows version that felt it was primarily made for desktop use.
Windows 8 tried to be a hybrid between mobile operating system, and Windows 10 and onward feels more like an advertising platform for Office 365 and Microsoft’s AI services.
For me it’s the opposite. No money no deal.
deleted by creator
Let me guess, the coins can only be bought in bundles. The bundles are deliberately made so that no matter how you spend the coins, you’ll always have 1 or 2 coins left. Which makes you encouraged to buy another bundle to make all your moneys worth.
In case you’re wondering about the down votes, many think Clean Code is not a good book. It got a few good advice, but it also got bad advice disguised as good advice.
I don’t think switch statements should always be avoided. There are cases where polymorphism makes things more difficult to maintain. Saying polymorphism should be used over switch statements is not a good advice.
Here’s an article going into more detail why we should stop recommending Clean Code: https://qntm.org/clean
Math skills can occasionally be useful, but I don’t see it as a dealbreaker.
The good thing about being good with math is that it usually means you’re a good problem solver, and problem solving is an important skill for programming. But the reverse isn’t necessarily true. You can be good at problem solving but still be bad at math.
I would say if you’re struggling with the programming courses, then maybe look somewhere else. Otherwise, go ahead.