4 ms·
After three decades in software development I can happily say that I can’t remember the last time I was stuck chasing data in some abstraction hellhole. It’ll n
by devjab 2y ago
After three decades in software development I can happily say that I can’t remember the last time I was stuck chasing data in some abstraction hellhole. It’ll never seize to amaze me just how much self-flagellation OOP enjoyers are willing to endure. I’m not sure I’ve ever even seen an abstraction chain go as deep aw the example in the article. Maybe in one of the projects I sometimes review when I do my side gig as an external examiner for CS students. Don’t get me wrong, I spent almost 5 years with the debugging tools in Visual Studio enterprise or whatever the ludicrously expensive version was called 10 years ago. These days I’m typically rocking some sort of console print while I hack away in nick with almost no debugging tools like a total psychopath. The main thing that has changed for me is that I almost never do abstractions, because, well, because you’re going to spend: “ intense hour-long debugging session only to realize you KNOW that some piece of data exists SOMEWHERE IN MEMORY”.
That being said, a lot of people are going to disagree very passionately with what the very opinionated paragraph I just wrote. So I think it’s fair to point out that I actually think the author brings up some very good points that IDE makers should take notice of. Well maybe not the TODO part… If IDE’s should do anything about TODO comments it shouldn’t be giving them a different colour, no, it should refusing to save them.
- nuancebydefault 2y agoIt seems you have a very different idea of what abstractions are than I. Abstractions as i know them are everywhere. Even little kids use them all the time. Grouping 7 digits and tagging them with the type "phone number", "number" or even "set" is an act of abstraction. Any type of data that you want to represent anything, needs a structure. Structures are abstractions. That said, i find using prints as a debugging tool often very handy. Especially when you want to see the effective order and nesting of sequences (for example communication protocols in action)
- _gabe_ 2y agoI also don’t like OOP, but what does that have to do with digging through a large data abstraction? Sometimes it’s unavoidable, and the problem your solving naturally lends itself to a recursive data structure that ends up being very deep (basically any kind of tree data structure). A query language would be great for that, and trees are very common in all code, regardless of paradigm.