Live data from Hacker News

Does Visual Studio Rot the Mind? (2005)

charlespetzold.com

61–70 of 122 posts

Re: Does Visual Studio Rot the Mind? (2005)

#61
post #39
post #35

"Twenty years ago, in November 1985, Windows 1.0 debuted with approximately 400 documented function calls.5 Ten years later, Windows 95 had well over a thousand.6 Today we are ready for the official release of the .NET Framework 2.0. Tabulating only MSCORLIB.DLL and those assemblies that begin with word System, we have over 5,000 public classes that include over 45,000 public methods and 15,000 public properties..."…

No. Reaching the top of the knowledge pyramid in your subfield over time has remained constant (typically in your early to mid 20s, as you complete your PhD). We have more sub fields, but that’s not particularly a problem - once you’re an effective researcher, jumping branches - and even trunks - is far from impossible. A few months surrounded with talented people and dedication is typically enough - eg my grad schoo…

>See also the recent rise of machine learning - many of the top contributors to that field were not doing machine learning research 10 years ago.

Machine learning is older than you think.

Re: Does Visual Studio Rot the Mind? (2005)

#62

While some of his complaints now have solutions[1], when WPF (previously known as Avalon) is used with care, the resulting XAML is much more diff-able and code-review-able. The CodeDOM serialization method is dense and small changes can cause huge code diffs. On the other hand, WPF is a lot more complex than WinForms. There are a lot of different ways to use, many of which involve data binding that is not evaluated t…

Every couple of years I take another look at WPF but it always feels like wading through treacle for me. I'm so much more productive in WinForms. Perhaps if I dedicated a year to it I might come out the other side a productive WPF programmer but I have my doubts.

I'm in the same boat as you. The windows forms designer is such a joy to use. But as soon as you need to add special behavior to some controls it can get quite hairy. I've never encountered a complete roadblock, but we have a ton of code for windows forms controls which look more like workarounds or cheap hacks. But hey, it works.

I also like the consistency of windows forms. This is awesome for administrative and business users, who just want to get their work done. There are no UI surprises. But your tool will look like an ugly duck, if it is used in an environment with shiny Web and WPF applications.

For this reason alone, we had to make a split between forms and WPF applications. Windows Forms for administrative UI, WPF for end users. (By the way: I recommend outsourcing the design part to another company specialized in WPF design. Designing nice WPF UI is a black art.)

There's also the fact that Microsoft calls forms legacy tech, but I'm not yet too concerned. I would be more concerned to rewrite all WPF application with the next shiny framework coming around...

Re: Does Visual Studio Rot the Mind? (2005)

#63
> I’m prevented from ever achieving a fluid coding style because the coding is not coming entirely from my head. My coding has become a constant dialog with IntelliSense.

This.

Code should live in your head. You shouldn't need intellisense to see that a property doesn't exist in an object. I hate code completion, most of the time it gets in the way of your thought process. Even if it can gain you a little speed increase, it still is better to write things down for your 'codebase memory'.

That's why I despise the current web development stack. You need Typescript, otherwise you might make a mistake with types? Never had that problem in the past. And just like typo's I make mistakes a once in a while, but that's OK because it helps me to learn the codebase better. You need a linter? Same story, it's always in the way as if it is more capable than me writing code. Prettier? It automatically formats your code, so the codebase doesn't resemble the one in your head anymore.

I know it does work for some people and I can totally imagine that for a beginner developer it can make the difference, but for me it doesn't. In the current/modern web stack I feel like having brick walls everywhere around me and my code is definitely not getting better from it, I'm just constantly struggling with all those 'handy' and 'necessary' tools while my code memory deteriorates. Even worse is that on almost any project I professionally work on requires all those tools, not using them makes me an amateur, even in the eyes of junior dev's.

I believe in writing every character of my code and testing it thoroughly, I wrote many bug free codebases with it, that's my experience.

Re: Does Visual Studio Rot the Mind? (2005)

#64
post #63

> I’m prevented from ever achieving a fluid coding style because the coding is not coming entirely from my head. My coding has become a constant dialog with IntelliSense. This. Code should live in your head. You shouldn't need intellisense to see that a property doesn't exist in an object. I hate code completion, most of the time it gets in the way of your thought process. Even if it can gain you a little speed incre…

You shouldn't need intellisense to see that a property doesn't exist in an object.

So what do you do instead? Not just for intellisense but all other possible code completion solutions? Does that mean you always manually open a source file and look for the name of the function/member/whatever you need, then either copy/paste or manually type it? And try to remember all of them to avoid having to do that process again? I've done that from time to time and still do but it's just slower than intellisense and the likes, always.

Re: Does Visual Studio Rot the Mind? (2005)

#65

On my side I refuse to work if auto complete doea not work in a SQL editor. Am I supposed to remember every column? Of course his focus was on languages like C++ but I still think Intellisense is indeed the best thing for coding productivity. However coding is different from programming so that's a different story.

> However coding is different from programming so that's a different story.

Exactly this, coding is just typing. I've already solved the problem and now I need to write the code to implement it. At that point I want all the help / typing assistance I can get.

Re: Does Visual Studio Rot the Mind? (2005)

#66
post #63

> I’m prevented from ever achieving a fluid coding style because the coding is not coming entirely from my head. My coding has become a constant dialog with IntelliSense. This. Code should live in your head. You shouldn't need intellisense to see that a property doesn't exist in an object. I hate code completion, most of the time it gets in the way of your thought process. Even if it can gain you a little speed incre…

> I can totally imagine that for a beginner developer it can make the difference... I believe in writing every character of my code and testing it thoroughly, I wrote many bug free codebases with it, that's my experience.

I'm entirely split between vigorous agreement and shaking my head.

At some point I just lost interest in committing various interfaces to working memory. The more trivial the more virulent my disinterest. Web stuff, especially front end? Unless it's crucial UX for something Very Important, it's just not worth the effort. Bring on the program synthesizers, even if they're limited to tab completing. I would literally rather memorize gibberish. If I wanted to memorize things I don't actually need to, I would've gone to med school.

At the same time, for code that actually matters and requires deep thought, I type every character and think about each one a lot.

Hopefully at some point program synthesis will be good enough that we don't have to make this choice. In the meantime, pretty much everyone doing something other than code-for-the-sake-of-code is writing some software where understanding every character really matters and some software that just needs to do the dumb thing right more than half the time to be worth it.

> It automatically formats your code, so the codebase doesn't resemble the one in your head anymore.

Same thing. One the one hand, your coworkers are not your psychologists. On the other hand, who is going to explain the code if you can't? And again, the resolution is: does this code being correct really matter?

Re: Does Visual Studio Rot the Mind? (2005)

#67
post #27

Earlier quoted context omitted.

> ses several classes and subclasses, with code paths that move around a lot through the class hierarchy The flip side I see more often than not (no idea if it applies here) is that IDE's are the enabler that allow such terrible code where less tooling would force a much simpler and more readable design. The more tooling you need to navigate a codebase the less readable it is. The reason "you need an IDE for java" is…

Codebases get unwieldy because lots of people make small, individually reasonable changes to them over years, and it adds up. I don’t need an IDE to add another invocation of the method. I need an IDE when the signature has to change.

And they don't get wieldly again because Ides are so enabling.

Re: Does Visual Studio Rot the Mind? (2005)

#69
post #63

> I’m prevented from ever achieving a fluid coding style because the coding is not coming entirely from my head. My coding has become a constant dialog with IntelliSense. This. Code should live in your head. You shouldn't need intellisense to see that a property doesn't exist in an object. I hate code completion, most of the time it gets in the way of your thought process. Even if it can gain you a little speed incre…

I genuinely cannot tell if this is supposed to be satire or not.

Re: Does Visual Studio Rot the Mind? (2005)

#70
post #63

> I’m prevented from ever achieving a fluid coding style because the coding is not coming entirely from my head. My coding has become a constant dialog with IntelliSense. This. Code should live in your head. You shouldn't need intellisense to see that a property doesn't exist in an object. I hate code completion, most of the time it gets in the way of your thought process. Even if it can gain you a little speed incre…

> You shouldn't need intellisense to see that a property doesn't exist in an object.

I think, this is simply not possible nowadays in any professional environment, involving multiple players.

There are way too many frameworks within which you have to find your way relatively quickly and nevertheless often only for a short time. Many with idiosyncrasies, sub-par design, the wrong smell or simply not satisfying the own taste one way or another.

With C++ almost my first language, I was using Qt for many years. It was almost the only framework fitting expectations more or less intuitively the whole time (at this moment, PyTorch fits a similar spot). This specific example hasn't to be true for everyone, of course. But there are always things on the other hand of the spectrum, for which I immediately forget syntactical peculiarities again and again. There seems some inner resistance, accelerating this for some software artefacts. I have seen this this seemingly feeble aesthetic point with many - often very good - programmers, maintaining a strong inner image of the software they are responsible for.

Post reply on HN