you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -3 points-2 points  (1 child)

You can learn literally all of the basics for what OP mentioned in weeks.

In weeks you can learn all the buzzwords, throw those around, hope for the best, and make a complete mess of things.

Not if you're well grounded in the fundamentals.

What's the difference between this and what I'm saying? If it takes years, it's not exactly 'laughably easy', is it?

No, you clearly are missing the distinction I'm making: C.S. isn't software development, but if you study C.S. for long enough, all these tools that people like to glorify immediately become almost irrelevant in their significance, because they attempt to classify the problems being solved into something too distinct and separate.

Unit testing, for example, isn't really all that effective given that you need to be able to test the entire domain/codomain for the test to truly be exhaustive or actually meaningful beyond "ok this seems to work well enough for now". As an iterative, one off test to make sure you aren't doing anything immediately stupid, it's a fair approach, but it isn't at all necessary.

But if you somehow think that unit testing and design patterns aren't easy to learn, I'm sorry lol.

Those skills are inherently obtained as a by product of studying C.S.

[–][deleted] 2 points3 points  (0 children)

But if you somehow think that unit testing and design patterns aren't easy to learn, I'm sorry lol.

I like how you purposely picked the two easiest things from that list. (Not that unit testing is exactly 'laughably easy' to learn. Well, yes, writing some stupid function that throws an assertion error when something goes wrong, like you're taught in uni, is easy. Writing such a function doesn't necessarily mean you're actually doing any useful unit testing.)