[HN Gopher] Does Visual Studio rot the mind? (2005)
       ___________________________________________________________________
        
       Does Visual Studio rot the mind? (2005)
        
       Author : mumblemumble
       Score  : 62 points
       Date   : 2022-01-01 16:52 UTC (6 hours ago)
        
 (HTM) web link (charlespetzold.com)
 (TXT) w3m dump (charlespetzold.com)
        
       | ChrisArchitect wrote:
       | (2005)? Anything new here since then?
       | 
       | Some previous discussion not that long ago:
       | 
       |  _2 years ago_ https://news.ycombinator.com/item?id=22258198
        
       | sblom wrote:
       | His IntelliSense-enforces-bottom-up-programming rant couldn't be
       | more wrong these days.
       | 
       | IntelliSense (plus refactoring suggestions) is perfectly happy
       | for you to speculatively make a method call that doesn't exist
       | and then to infer (and auto-implement) its definition based on
       | the types of the parameters passed in the example call.
       | 
       | I find meet-in-the-middle works quite well, starting with a top
       | down outline of what I'm trying to accomplish combined with
       | implementations of the design-critical algorithms that I know I
       | need at the bottom, and having all of that come together in the
       | middle. I find that the bridge rarely fails to join up correctly
       | in the middle of the lake.
        
         | ozim wrote:
         | Sometimes I get some rubbish automatically filled in by
         | IntelliSense but most of the time I can just press 'esc' and
         | continue doing what I want and not what editor is proposing.
        
       | marcodiego wrote:
       | My father learned to program in FORTRAN in the 70's. He used
       | punched cards, wrote his code, left the batch of cards at the
       | computer operator and came back a few days later to get the
       | printed results of his program. Sometimes the results were
       | "syntax error in line 11". He never saw the computer but he
       | learned to think before writing.
       | 
       | I met some real old people who used to print their code on paper
       | for review. They made annotations, spent some time reading it
       | like old people used to do with newspapers. They thought about
       | it, sometimes discussed about it, you could see the code was
       | carefully studied out by marks of coffee or cigarette ash.
       | 
       | I learned to program on 8-bit 80's home computers. I later turned
       | to IDE's on PC's. I was impressed by the apparent gain in
       | productivity. I then tried to use linux as old time unixers did.
       | I was impressed that I could feel and sometimes even see what was
       | happening. I saw some great and productive coders who used
       | nothing else than a well configured programming text editor and a
       | terminal. For me that was the most productive and advanced way to
       | write code. I didn't change my mind even after using jetbrains
       | IDE's.
       | 
       | I then became a teacher. I saw students who couldn't tell the
       | difference between a programming language and an IDE. I heard
       | people say java was much better than C and asked why; they
       | explained how great eclipse was. I saw students who were not
       | really writing code, they were writing some random code here and
       | there and waiting the IDE to suggest corrections.
       | 
       | One day I said: "Today we'll write code, but we'll do it on pen
       | and paper first and then we'll type it." After a few days, their
       | skills clearly improved. Syntax errors were rare, off-by one
       | errors mostly disappeared and they started thinking before
       | writing.
       | 
       | I'm not against IDE's, but it is easy to get bad habits because
       | of them. I don't think IDE's are a good replacement for a
       | terminal with a good set of tools. They can improve productivity
       | of good and experienced developers, but when used as a
       | complement, not as a replacement.
        
         | BeFlatXIII wrote:
         | > I heard people say java was much better than C and asked why;
         | they explained how great eclipse was.
         | 
         | To be fair, the language ecosystem may be why one language ends
         | up more popular than another that is superior in both memory
         | safety and performance on paper. Of course, these are beginner
         | students who don't have the full context to understand that.
         | 
         | > "Today we'll write code, but we'll do it on pen and paper
         | first and then we'll type it." After a few days, their skills
         | clearly improved. Syntax errors were rare, off-by one errors
         | mostly disappeared and they started thinking before writing.
         | 
         | How anal were you with semicolons, parenthesis matching, and
         | quotation balance? I can't imagine that would be remotely
         | enjoyable to grade. That said, writing down the high-level
         | structure on paper (annotated with the occasional
         | implementation detail I don't want to forget when it's typing
         | time) is immensely helpful.
        
           | marcodiego wrote:
           | > How anal were you with semicolons, parenthesis matching,
           | and quotation balance?
           | 
           | In something like an exam, I would completely ignore mistakes
           | like these as mere typos. But it prevented students from
           | trying to write loops by trial-and-error and really
           | understand what they were doing.
        
             | uberman wrote:
             | As a teacher, I am rather surprised that you would frown on
             | trial and error exploration.
             | 
             | My first program was written on punch cards, It took a shoe
             | box full of them to complete trivial assignments. I was
             | thankful when I got to use my first line editor, my first
             | page editor, my first general editor and my first IDE.
             | 
             | I don't believe anything would be gained by going back to
             | carving programs out of stone tablets.
        
         | kristaps wrote:
         | How big would a typical program be in the 70s?
        
         | sokoloff wrote:
         | This resonates with me. I'm teaching myself Clojure and doing
         | AoC questions as the vehicle. The highly interactive nature is
         | a blessing and a curse. It's a blessing if I'm thinking clearly
         | and just want to quickly test my code. It's a curse when I'm
         | not thinking deeply and instead just layering bandage after
         | bandage on the code until it "works".
         | 
         | It's not the tools; it's the carpenter.
        
       | aklein wrote:
       | > What the Internet seems to do best is make commonly available
       | enormously vast resources of mis-information that we never knew
       | existed.
       | 
       | Wow - so prescient
        
         | unbanned wrote:
         | Such as the title of this post.
        
       | hughrr wrote:
       | Ignoring the entire article, after using it for 20 years now, it
       | rots my patience and will to live on large projects. It's like
       | driving a 30 year old car that was serviced 20 years ago and
       | veers off the road uncontrollably once an hour.
       | 
       | I suppose the last feature is modern if you compare to a Tesla.
       | 
       | The twisted thing is that from what I have seen, the entire .Net
       | development community is so compartmentalised that they think
       | this is business as usual. Literally spending all day in pain
       | with no idea there is a better life out there.
        
         | alkonaut wrote:
         | What's better out there? I'm using VS with a solution that
         | eaaily has VS use 10Gb ram. I have tried vscode and Rider too,
         | but Rider really wasn't an option with parity until this last
         | year or so. The perf in Rider is a bit better but I wouldn't
         | say it's a dramatic difference.
         | 
         | VS on reasonably small solutions (fewer than say 50 projects or
         | 10k source files) is more than snappy enough these days.
         | 
         | It's on those large solutions it runs like a dog when each GC
         | collects 2-3gigs of garbage in 5 frozen seconds and runs every
         | minute.
        
           | sokoloff wrote:
           | We had to build tooling to break out solutions into multiple
           | working solutions for use in VS and then use the _actual_
           | solution for the build system. This meant that people would
           | often break the build by modifying their local solution but
           | not understanding what was really going on in the central
           | build.
           | 
           | Our cutoffs were _way smaller_ than 50 projects and 10K
           | source files, though! (We had a lot of generated code, which
           | we eventually mostly switched from generating code to
           | generating MSIL directly to save the IDE.)
        
           | hughrr wrote:
           | What would be better is if they actually tore down the myriad
           | of shitty misfeatures, bloat and bugs and did some
           | housekeeping rather than change the theme and pile on
           | features like an Indian train at rush hour.
           | 
           | The one that kills me is the moment I hit . After an
           | identifier I have to wait 30 seconds for it to work out what
           | to do.
           | 
           | That's just _broken_.
           | 
           | As always with Microsoft they need to actually go talk to the
           | customers rather than collect telemetry.
        
             | alkonaut wrote:
             | They can't because VS is a pile of COM-mess compatibility.
             | So when they clean up they did it in vscode because there
             | are decades of compat to maintain in VS. Every VS has to do
             | what every old VS did _and_ the new things. And it has to
             | do it the same way too.
        
               | hughrr wrote:
               | Fair point. VScode is pretty good.
               | 
               | I mostly resent having to use a text editor and msbuild
               | because the tools are made of butter.
        
       | cercatrova wrote:
       | From Plato's dialogue Phaedrus 14, 274c-275b:
       | 
       | Socrates: [274c] I heard, then, that at NaucratisOffsite Link, in
       | Egypt, was one of the ancient gods of that country, the one whose
       | sacred bird is called the ibis, and the name of the god himself
       | was Theuth. He it was who [274d] invented numbers and arithmetic
       | and geometry and astronomy, also draughts and dice, and, most
       | important of all, letters.
       | 
       | Now the king of all Egypt at that time was the god Thamus, who
       | lived in the great city of the upper region, which the Greeks
       | call the Egyptian Thebes, and they call the god himself Ammon. To
       | him came Theuth to show his inventions, saying that they ought to
       | be imparted to the other Egyptians. But Thamus asked what use
       | there was in each, and as Theuth enumerated their uses, expressed
       | praise or blame, according as he approved [274e] or disapproved.
       | 
       | "The story goes that Thamus said many things to Theuth in praise
       | or blame of the various arts, which it would take too long to
       | repeat; but when they came to the letters, [274e] "This
       | invention, O king," said Theuth, "will make the Egyptians wiser
       | and will improve their memories; for it is an elixir of memory
       | and wisdom that I have discovered." But Thamus replied, "Most
       | ingenious Theuth, one man has the ability to beget arts, but the
       | ability to judge of their usefulness or harmfulness to their
       | users belongs to another; [275a] and now you, who are the father
       | of letters, have been led by your affection to ascribe to them a
       | power the opposite of that which they really possess.
       | 
       | "For this invention will produce forgetfulness in the minds of
       | those who learn to use it, because they will not practice their
       | memory. Their trust in writing, produced by external characters
       | which are no part of themselves, will discourage the use of their
       | own memory within them. You have invented an elixir not of
       | memory, but of reminding; and you offer your pupils the
       | appearance of wisdom, not true wisdom, for they will read many
       | things without instruction and will therefore seem [275b] to know
       | many things, when they are for the most part ignorant and hard to
       | get along with, since they are not wise, but only appear wise."
        
         | burke wrote:
         | This is spot on, and I've found myself making the same argument
         | recently about GitHub's Copilot. It's changing the way I write
         | code in a way that I can already tell is allowing me to be much
         | lazier than I've previously been about learning various details
         | of languages and libraries. There's an obvious tendency to play
         | Thamus and judge that as a bad thing, but I think the reality
         | is that Copilot and future generations of tools inspired by it
         | will completely change the operation of programming in ways we
         | can't even imagine yet, allowing us to build software more
         | quickly than we currently suspect.
         | 
         | It's a train of thought that spans the arc of history: the New
         | Thing, which allows young people to get by without developing
         | deep skills in an area that was previously critical to success,
         | is inherently bad because it enable laziness. In reality, it
         | provides the leverage necessary to do things faster, or
         | sometimes to do previously-unimaginable things.
        
       | diego_moita wrote:
       | I used Visual Studio a lot until 3 years ago, to the point that I
       | was almost addicted to Intelisense.
       | 
       | I'd answer yes but it is not just Visual Studio, it is the whole
       | comfortable, automated, well integrated and productive
       | environment of MS tools: VS, .Net, SQL Server, ASP .Net, C#, etc.
       | But that can be said about all sorts of sophisticated, strongly
       | integrated and powerful tools, not only Microsoft's. The whole
       | XCode/Swift/Apple ecosystem is not very far off.
       | 
       | The good thing is that these tools will never be the ultimate
       | answer. Computing environment changes and that moves people away
       | from their comfort zones and forces them to try new environments.
        
       | dustymcp wrote:
       | im having a hard time to relate to this, i like vs for c# .net,
       | where i can see it as a problem if its forced upon clients with
       | js or nodejs projects these do not seem to run well.
        
         | jcpst wrote:
         | Worked on nodejs projects like this before, where VS was the
         | prescribed IDE. All it does is mix in the worst parts of the VS
         | experience into node development.
         | 
         | I would make changes in Webstorm, and then other devs couldn't
         | see my changes in VS because the proj file wasn't updated. So
         | then you _have_ to open VS to impose it's junk on something
         | that would normally be editor-agnostic
        
           | dustymcp wrote:
           | Oh yeah i loved that part, if i had a cent for all the times
           | the build dont work and i replied, did you remmber to
           | include?
        
       | dragontamer wrote:
       | Counterpoint:
       | 
       | > API Proliferation
       | 
       | While Windows has a huge API, the Unix/Linux-side is particularly
       | huge as well. Win32 API includes a wide variety of cryptography
       | for example, while modern Linux leverages a 3rd party open source
       | program: OpenSSL or similar, to accomplish the same thing.
       | 
       | Another example: Windows Jet Red, which is roughly equivalent to
       | Berkley DB (older style database focused on concurrency of access
       | features / transactions, WITHOUT building up to a higher level
       | SQL interface)
       | 
       | There's also obsolete / legacy technology. GDI is fully legacy
       | these days (GDI is simply a layer on top of the "modern" DirectX
       | framework, replaced by Direct2D). So all of those HBrush /
       | Printing code is as unused as GTK 1.0 (or perhaps lower level
       | XWindows code).
       | 
       | 1. The Win32 team is very good at supporting legacy code. The API
       | is monstrous, but it accomplishes its goal to a significant
       | degree. Code written 30 years ago largely still works, you can't
       | say the same about any other modern windowing API.
       | 
       | 2. The technologies used in Win32 API cover a huge number of
       | competing technologies. Not just OS-level stuff (files and IPC),
       | but also cryptography, databases, threading and more.
       | Furthermore: this API has remained consistent for decades (while
       | Linux has had huge threading changes: the shift from Linux
       | threads to NPTL threads for example).
       | 
       | 3. Obsolete portions of the Win32 API hang around. Both the good
       | and bad bits. Other OSes retire these supporting libraries (ex:
       | GTK 1.0 or GTK 2.0, or KDE) more quickly.
       | 
       | > Avalon and XAML
       | 
       | Oh man. Petzold didn't even get the half of it since he couldn't
       | see the future.
       | 
       | XAML's biggest issue is the lack of legacy support. Here he's
       | talking about how Avalon/Longhorn (precursor to Vista, precursor
       | to Silverlight, precursor to Win8) was being handled by
       | programmers inside of Microsoft.
       | 
       | Maybe if Avalon stuck around for a while, it'd have been cool.
       | But the amount of change that occurs over the next 17 years has
       | made any bet on XAML a poison pill. Win-Vista gadgets are gone,
       | fully obsolete and unsupported. If you moved your stuff to
       | Silverlight, too bad, Silverlight is _also_ gone.
       | 
       | But don't worry, your Silverlight code got translated to
       | Win8/Metro right? Or... was it UWP?
       | 
       | I think ultimately, the XAML has become much more beautiful and
       | elegant. But these days, its an issue of "trust". Its a big and
       | expensive hassle to rewrite your code into other frameworks, and
       | Microsoft just didn't want to build XAML-stuff on top of anything
       | steady.
       | 
       | It does seem like things have settled down upon UWP finally.
       | Win10 / Win11 seems like its holding that API "steady". But
       | Microsoft really shot itself in the foot too many times.
        
         | ripley12 wrote:
         | > It does seem like things have settled down upon UWP finally
         | 
         | They officially cancelled UWP 2 months ago, after a few years
         | of "not quite dead, not actively supported" limbo. I guess it's
         | settled down, but not in a good way.
         | https://www.theregister.com/2021/10/26/microsofts_uwp_unwant...
        
           | dragontamer wrote:
           | Hmmm. I thought the migration path between WinUI 2.0 (aka:
           | UWP) and WinUI 3.0 was easier.
           | 
           | Looks like Microsoft screwed the pooch one more time for one
           | more upgrade cycle. Why do they keep doing this? They really
           | need to think about code compatibility for more than a couple
           | of years.
           | 
           | Its not like Android or iOS developers need to deal with 3+
           | migrations over the past decade.
        
             | ripley12 wrote:
             | > Why do they keep doing this?
             | 
             | I can speak to the UWP -> WinUI 3 transition a little: it's
             | a hard transition because UWP did _so_ many things its own
             | way. It 's often really difficult to migrate concepts from
             | UWP to the Win32 app model. And I get the impression that
             | the number of people working on WinUI+WASDK is pretty
             | small; it's more of a "salvage what we can" operation than
             | a "build out the future of Windows app development" one.
        
             | ryandrake wrote:
             | I left Windows programming around 2006 or so, when it was
             | Win32 and maybe MVC if C++ was your thing. Recently was
             | noodling around with the idea of porting one of my hobby
             | projects to Windows, and a just can't believe the mess the
             | platform has become! Now we have Windows Forms, dotNet,
             | WPF, UWP, WinUI, and probably a dozen more. What API should
             | I use to "get back into Windows"? Will it be deprecated
             | next year? If I pick the wrong one, and drive the train
             | down those tracks for a few months, am I basically throwing
             | all the code away? What an absolute mess!
        
               | ripley12 wrote:
               | Based on everything I've seen in the last year and a
               | half: WebView2 (i.e. Chromium) is getting more investment
               | from the Windows team than any of the "native" UI
               | technologies. I'm not thrilled about it but I'm adjusting
               | my planning accordingly.
        
       | michaelhoffman wrote:
       | > I don't speak to user groups or developer groups very often,
       | partially because of a bad experience I had a number of years
       | ago... I decided to talk about something that people could not
       | read about in my book... Well, people went berserk. I suppose
       | they had been expecting me to tell them everything they needed to
       | know about Windows programming in the space of a few hours, and
       | that's certainly not what I was interested in doing.
       | 
       | > That was a very traumatic experience for me, and since that
       | time, I have been reticent about speaking before groups like
       | this...
       | 
       | This is bizarre! It's hard for me to imagine an audience reacting
       | this way to a talk. Maybe it's because I haven't been to any user
       | group or developer group meetings. What does "went berserk" in a
       | way that was traumatic for him mean? Did people start heckling
       | him in the middle of his talk? Even harder to imagine!
        
       | cglan wrote:
       | As a person who has to use visual studio every day, I find that
       | it's by far one of the worst IDEs I've ever used
       | 
       | Beyond being slow and confusing and unintuitive I think the most
       | annoying part is whats mostly mentioned in this article. Either
       | you do things the visual studio way or screw you. Even creating a
       | blank file is annoying and it keeps trying to shunt you into
       | various templates.
        
         | hnthrowaway0315 wrote:
         | However, I'm not sure if other C++ IDE beats VS. The thing
         | about VS is: I started to use VS back in VS2012, and for EVERY
         | version that follows, it seems to be slower and slower. The
         | last version that I stay put is VS2017 and I still have it
         | installed.
         | 
         | I have very good experience about Jetbrain products so maybe
         | I'll try their C++ product as well, but so far I heard it's not
         | very good for large projects.
        
           | dustymcp wrote:
           | Wierd i have the opposite progression where its gotten faster
           | 2022 also added abit more speed and laughable hotreload might
           | give it a try?
        
             | hnthrowaway0315 wrote:
             | Sure I'll see if 2022 is better.
        
         | gromitss wrote:
        
         | dagmx wrote:
         | What other IDEs do you rank higher than Visual Studio?
         | (Emphasis on IDE and not code editors). I'm going to assume C++
         | or C# dev.
         | 
         | Eclipse is surely worse. Qt Creator and CLion/Rider are the
         | only two I think are better . Xcode is terrible in comparison
         | too.
        
           | black_13 wrote:
        
           | jcpst wrote:
           | Rider for sure. I commonly see mistakes in code reviews that
           | likely wouldn't have happened if they were using an IDE that
           | provided more information.
           | 
           | Once Rider and dotnet core liberated my work from Windows, I
           | don't see myself going back to VS unless there's some
           | technical reason it's use is required.
        
         | SantiagoElf wrote:
         | I _strongly_ disagree with Visual Studio being slow. Visual
         | Studio 2022 is hands down the best IDE ever created. (I have
         | been using Visual Studio since 6.0 and .NET since the Beta of
         | 2000)
         | 
         | On this machine[1] Visual Studio 2022 flies :)
         | 
         | [1] - https://valid.x86.fr/nkby1v
        
           | thrower123 wrote:
           | 2022 does seem reasonable. 2017 and 2019 have been very bad.
           | 
           | If they had moved to 64-bit a decade ago when it was obvious
           | that they needed to do so, they would have never developed
           | this reputation for being unusably slow and kludgy.
        
             | SantiagoElf wrote:
             | Worst was 2010, when they tried to switch to WPF or
             | something. It was really slow. The top versions of Visual
             | Studio for me: VS 2022, VS 2008 and VS 2019.
             | 
             | The Chief Architect of Visual Studio mentioned on the VS
             | 2022 launch event that they were planning to migrate it
             | earlier, but according to telemetry data - just the past
             | 2-3 years people started to use 64 bit operating systems et
             | mass :)
             | 
             | Btw I would love to see percentage of programmers who have
             | families and children broken down by:
             | 
             | 1. Ones using IDE like Visual Studio, Eclipse, Rider, etc.
             | 2. Ones using IDE-ish editors like VS Code, Sublime 3. Ones
             | using vim/emacs
             | 
             | :)
        
         | kaetemi wrote:
         | Yeah. You just create new code files outside of VS, and re-run
         | CMake or add them to the project. Adding a new source file in
         | VS will always shoot it in the wrong folder, and apply some
         | useless template.
         | 
         | Other than that, VS is great.
        
         | GiorgioG wrote:
         | I find VS2022 to be anything but slow now that it's 64bit.
         | Having said that, without ReSharper I find VS to be a terrible
         | experience (I've been using R# for 15 years.) Rider is also a
         | viable alternative.
        
           | hughrr wrote:
           | I have a project here that won't even open with Resharper on
           | in VS2022. It just hangs and wedges the CPU at 100%, then my
           | shitty laptop overheats and hibernates.
           | 
           | Then I get pissed off and go for a walk and wonder why the
           | hell I ever invested so much time in this.
        
             | GiorgioG wrote:
             | Laptops have always been a compromise between portability,
             | battery life, thermals, and performance. In my opinion,
             | Visual Studio was never meant to run well on a laptop.
        
               | hughrr wrote:
               | I've got a desktop it sucks just as hard on. That just
               | makes my feet warm instead.
        
           | tester756 wrote:
           | Have you tried Roslynator instead of R#?
        
           | ejb999 wrote:
           | >>without ReSharper I find VS to be a terrible experience
           | 
           | Resharper was always one of my favorite _must have_ utilities
           | to use for C# development in VS - but I have had the opposite
           | experience as you, it became so slow and so bloated I had to
           | give it up - often spiking my CPU to 100% and making the
           | entire solution unusable - until I uninstalled it.
           | 
           | Never could figure out why, but maybe resharper has gotten
           | better since then?
        
             | phillipcarter wrote:
             | > Never could figure out why, but maybe resharper has
             | gotten better since then?
             | 
             | R# runs in-process and has its own project system, language
             | service, UI elements, etc. That's simply a _lot_ of stuff
             | to do in the same process that also has the VS project
             | system, language service(s), UI elements, etc. running.
             | Both have added tons of features over the years, so over
             | time it just slows down.
             | 
             | The R# team is working to run it out of process, but it's
             | an enormous amount of work. I suspect that VS 2022 (64-bit)
             | will help with this compared to previous versions though.
        
         | vlovich123 wrote:
         | Having worked on in a wide variety of C++ development
         | environments (Linux, Windows, & Mac with a variety of IDEs), VS
         | is hard to beat. It's parallel stacks feature is particularly
         | helpful in debugging threading issues.
        
           | ed_elliott_asc wrote:
           | The debugger is hard to beat, the rest of it is a bit crap.
        
             | garaetjjte wrote:
             | It would be fine but it is slow. Watch window refreshes and
             | responds to expanding trees like it is traversing dozens of
             | gigabytes on every single action. (if you enjoy watching
             | rants there's one: https://youtu.be/GC-0tCy4P1U?t=1767)
        
         | andi999 wrote:
         | How about eclipse?
        
         | achn wrote:
         | I don't see how anyone can have this opinion. If you are
         | producing code for which VS was designed (.net for example) it
         | is obviously and definitely one of the greatest IDEs ever
         | produced. If you are having to fight with VS, then you may not
         | be using it for one of its main use cases. I certainly don't
         | think it is perfect (git support being quite annoying at times)
         | but to say that it isn't an incredible achievement is
         | ridiculous.
        
           | cma wrote:
           | > to say that it isn't an incredible achievement is
           | ridiculous
           | 
           | It takes like 20s to search source filenames of large
           | projects, with fast SSD and 64 cores.
        
           | n8cpdx wrote:
           | Try programming for Xamarin, UWP, or anything involving
           | multitargeting.
           | 
           | The list of actions for which closing visual studio, deleting
           | a bunch of random folders, and restarting is long.
           | Unfortunately it includes any changes to project files,
           | because the project system is super broken with anything
           | multitargeting related. That basically means I have to
           | completely restart my IDE and run a script to clean
           | everything maybe 15 times a day. And fuck me if I'm trying to
           | find where a regression happened (which means changing
           | dependencies, which live in the csproj).
           | 
           | I remember when I didn't have to restart VS 30 times a day,
           | and memorize which build errors actually aren't errors, and
           | do random sequences of events to work around bugs, and
           | memorize which unsuppressable warnings are legitimate and
           | which are not. Before those days, Visual Studio was indeed an
           | incredible accomplishment.
        
             | garren wrote:
             | I used VS for years across a couple of C/C++/C# projects,
             | and it was second to none with one exception.
             | 
             | The exception was Xamarin/Xamarin.Forms. Seriously,
             | congrats to the Xamarin people for getting that project
             | going, but it was (at least into Xamarin.Forms 1-3) more
             | than a little hacky and extremely frustrating. Granted, it
             | kind of had to be though given that it was intended for a
             | broader audience targeting completely different platforms,
             | and at least initially didn't have a lot of MS support
             | iirc.
             | 
             | I think the issues surrounding cross-platform targeting
             | were/are less a problem with the IDE itself than what it
             | was/is forced to work with. The whole iOS "code in VS on
             | Windows, but build on a Mac" was a nightmare, I don't know
             | if things have gotten any better.
        
               | n8cpdx wrote:
               | They've actively gotten worse. I should have clarified
               | that my "I remember when" comment applied to 5 years ago,
               | not 15. Reverse progress on that timescale just isn't
               | acceptable IMO. MAUI is supposed to fix it, but I'm not
               | sure they'll have a developer community left to use it by
               | then.
        
             | phillipcarter wrote:
             | >I remember when I didn't have to restart VS 30 times a
             | day, and memorize which build errors actually aren't
             | errors, and do random sequences of events to work around
             | bugs, and memorize which unsuppressable warnings are
             | legitimate and which are not. Before those days, Visual
             | Studio was indeed an incredible accomplishment.
             | 
             | This is because the software you're building today is far
             | more complicated than before (from the IDE's perspective),
             | and it doesn't do a good job of keeping up. There's a
             | reason why so many people jump to VSCode these days - it
             | gives you less bells and whistles, but it won't blow up on
             | you when you try to do something moderately complex.
        
             | lazulicurio wrote:
             | > Try programming for Xamarin, UWP, or anything involving
             | multitargeting.
             | 
             | The complaints in the original article fell rather flat to
             | me, but this is one area where it's absolutely fair to
             | criticize VS. More generally, the reason that build tooling
             | in the .net sphere is such a mess is because of historical
             | baggage from VS.
             | 
             | With that said, if you're coloring within the lines[1], VS
             | is very powerful and productive.
             | 
             | [1] To an extent. There definitely are use cases that are
             | "supported" only in name.
        
           | blibble wrote:
           | > I don't see how anyone can have this opinion.
           | 
           | it's pretty common amongst those who used Delphi 15 years ago
           | (or those that use JetBrains products today)
        
             | [deleted]
        
           | leetcrew wrote:
           | I would think visual c++ must be one of the intended use
           | cases. it's far from the worst c++ ide, but it can be pretty
           | frustrating. you basically can't trust "find all references"
           | in large projects.
        
           | phillipcarter wrote:
           | > If you are having to fight with VS, then you may not be
           | using it for one of its main use cases.
           | 
           | So I worked on VS tooling for a few years and I'm proud of
           | what me and my peers achieved, but I don't think this is the
           | right perspective. People should not be surprised by the
           | behavior of their tools, and they should not be frustrated by
           | random freezes or crashes all of the time. What the person
           | you're replying to has experienced is very real - I saw it
           | come up again and again and again in reports - and I hope
           | that things improve for them with subsequent releases.
           | 
           | VS 2022 is a fantastic new release (64-bit solves so many
           | perf and user-perceived reliability issues), but there is so
           | much more to go. VS still relies on a very very old COM-based
           | UI model with one of the most convoluted and complex
           | threading models to manage it that I've ever seen. It's so
           | easy for any little component to mess things up, hang the UI,
           | and make someone have a terrible experience. I know folks on
           | the inside are working to improve this dramatically (they
           | know roughly how to do it), but it's a long road ahead.
        
             | SantiagoElf wrote:
             | You should be very proud. I remember the early .NET 2.0/3.0
             | days where you had to have ReSharper installed and it made
             | VS almost unusable. Nowadays (the last 5-6 years) I use
             | Visual Studio without any third party extensions - it's a
             | blast!
             | 
             | I believe Visual Studio to be one of the crown jewels of
             | Microsoft.
        
             | temac wrote:
             | > 64-bit solves so many perf and user-perceived reliability
             | issues
             | 
             | I love how in tech everything is always evil one day and
             | the next one nearly the panacea. Now I understand the
             | timing component is actually not to get rid of entirely, in
             | the sense that maybe a 64-bit VS would have been a bad idea
             | the year AMD released x64, but among the stated reasons to
             | stick to 32-bits not so long ago, and even one of the main,
             | there was: performance.
             | 
             | I suspect the cold reality was that the code base was not
             | ready and the migration just took some time :)
        
           | hermitdev wrote:
           | I've been a long time VS user. Started with Visual C++ 6...
           | In my experience, it's never been a straight forward
           | conclusion of version X is better than the one before. With
           | each release, it does somethings better, or new, but others
           | worse, sometimes cripplingly so. And one of the most
           | frustrating things for the longest time was that if you
           | needed a specific C++ compiler major version, you were stuck
           | using the specific VS version that shipped with the compiler
           | (unless you were willing to ditch projects and go with
           | makefiles). Only in 2019 did that finally change. And speed
           | of the IDE itself has been dodgy at times, even for brand new
           | projects. I've tried the 2022 preview (I have not yet tried
           | RTM), and there are excruciating pauses in the UI for seconds
           | to create a new file in an empty project! But, there are
           | great new features in there, too...
           | 
           | Like Pretzold, I have a love hate relationship with
           | IntelliSense. I think I can boil down my gripes with this:
           | IntelliSense is wonderful for _consuming_ APIs. It is an
           | active hindrance for _writing /designing_ APIs. It is great
           | for telling you about what exists, but falls on its face when
           | you're trying to write something new. If I am undoing the
           | suggestions I didn't want, yet it insisted on placing, it is
           | counterproductive. Personally, I get rather tired of slapping
           | the escape key to cancel IntelliSense multiple times just so
           | I can write out a dotted expression.
        
           | joenathanone wrote:
           | Lately VS has been breaking my code with its autocomplete,
           | for example lets say I'm working on a web project and want to
           | wrap an element in a div, I may have some existing code I
           | want to reuse so I will copy and paste the opening tag for
           | example, <div style="some styling" class="class1 class2
           | class3">, then I will hand code the closing tag like so,
           | </div> but VS will 'correct' it to this </div>> for some
           | reason and my code wont work, I start debugging only to find
           | that the autocomplete has again broken my code.
        
           | ejb999 wrote:
           | Couldn't agree more - love visual studio (on windows), and vs
           | code even more (lighter weight, but less features) when I am
           | on a mac or ubuntu.
           | 
           | Also use Visual Studio on the Mac - that one I could agree is
           | terrible - but hope it will improve over time.
           | 
           | Probably helps that I have used every version of VS since it
           | was released - so like anything else, if you are used to it
           | and use it every day for 20+ years you become biased - but
           | for C# programming, imo, nothing even comes close.
        
             | wsc981 wrote:
             | On the Mac I use Rider which is in many ways a huge
             | improvement over Visual Studio. No visual editing of XAML
             | files though, so I am slowly migrating the codebase to use
             | views fully written in C#.
        
           | strictfp wrote:
           | I'm one! I work with VS daily and I think it's pretty bad.
           | Some examples; I cannot get a plain folder view. Intellisense
           | is very inept compared to Jetbrains products. Bad refactor
           | support, can't find things you're looking for etc. File tabs
           | are hard to keep organized. The source control support has
           | been worst of the worst up util recently (blame view taking
           | minutes to show up etc), and now it's only mediocre. Best way
           | to find stuff is through "find all", which is an order of
           | magnitude slower than grep. "Track changes" resets on file
           | close, not when you save or commit, making it rather useless.
           | VS also crashes quite frequently if you aren't gentle with
           | keypresses. Single-threaded plugin model causing keyboard
           | input lag. Etc etc. I could go on.
           | 
           | The good parts of VS is hot-reload (when it works), the
           | debugger, and the profiler. Otherwise I'm not a fan.
        
             | unbanned wrote:
             | >I cannot get a plain folder view
             | 
             | Yes you can. Change from solution view to folder view.
             | 
             | >The good parts of VS is hot-reload (when it works), the
             | debugger, and the profiler
             | 
             | So everything you want from an IDE?
             | 
             | What are you actually angry at?
        
               | strictfp wrote:
               | I can't use file view, since it has some side-effect that
               | messes up our solution completely. And before you blame
               | me, it's a cmake import.
               | 
               | I'm not angry, I just don't think it's fair to claim that
               | VS is a good IDE.
               | 
               | If that's all you expect from an IDE, I understand why
               | you're happy with VS :D
        
             | jchw wrote:
             | >I cannot get a plain folder view.
             | 
             | Like this?
             | 
             | https://raw.githubusercontent.com/jchv/files/main/devenv_G8
             | 1...
             | 
             | Use the "Switch between solutions and available views"
             | button and select "Folder view." Seems about right to me.
             | 
             | > Visual assist is very inept compared to Jetbrains
             | products
             | 
             | Jetbrains does have better refactoring, but you don't
             | really have to choose one or the other; Resharper and
             | Resharper C++ give you the best of both worlds. Jetbrains
             | is missing some stuff that Visual Studio can do, too.
             | Visual Studio does some static analysis to detect out-of-
             | bounds errors and other mistakes, which is useful to have
             | as quick feedback in the IDE, in my opinion.
        
               | strictfp wrote:
               | Sure, I'm aware and have ReSharper C++ plus the clang
               | linting enabled.
               | 
               | VS isn't all too shabby, they've been shaping up
               | recently. But it certainly isn't the best, or even among
               | the better, in my opinion. Even the file editor is pretty
               | weak compared to other editors IMO.
        
               | vsareto wrote:
               | Have you used VS without major extensions like Resharper
               | for a decent length of time?
               | 
               | I find Resharper slows everything down significantly and
               | makes VS worse overall.
        
               | strictfp wrote:
               | Yes, I have. And although Microsoft claim otherwise, I
               | find intellisense sorely lacking in a lot of areas.
               | Indexing is bad, search is bad, and their refactorings
               | miss the mark a lot of the time. It's clear that
               | Jetbrains lexical analysis is a lot better. I can search
               | for implementers, find usages, rename and restructure
               | without thinking twice, most of the time.
               | 
               | ReSharper has been really slow, yes, but it's also much
               | better than intellisense and noticably better than Visual
               | Assist. As of now, it's at least usable for me. Have to
               | turn off full solution scanning, but other than that it
               | works.
               | 
               | I agree that the general experience is degraded by
               | ReSharper, sometimes severely, but VS is just too dumb
               | without it, IMHO.
        
               | sumtechguy wrote:
               | I actual like vs (but that is more inertia than
               | anything). But that is one annoying thing about it. The
               | features are usually there, but buried in some
               | inscrutable way. It is one of the more robust IDEs out
               | there. But you kind of have to do it the VS way or you
               | will get mad at it.
               | 
               | There are hundreds of things the prog does. But literally
               | have no icon to click on or short cut bound to them. You
               | have to dig them out of the options and bind them or add
               | them to a menu item to even get at them. Its been like
               | that since the mid 90s.
        
             | MeinBlutIstBlau wrote:
        
             | FridgeSeal wrote:
             | To add to this list: if something happens on disk it
             | practically has an aneurysm. VSCode and JetBrains products
             | cope without even blinking.
        
             | throwawayboise wrote:
             | Last time I had to use Visual Studio (about 10 years ago) I
             | used emacs to write my C# code and used Visual Studio to
             | manage the "project" and run builds. Mainly because I had 2
             | decades of Emacs muscle memory and I kept fighting it in VS
             | (yes, I tried the emacs keybindings in VS).
        
           | amelius wrote:
           | > If you are producing code for which VS was designed
           | 
           | That's literally what GP is trying to say: "either you do it
           | the VS way or screw you."
        
       | sblom wrote:
       | > Most of the really innovative interactive design stuff found
       | its first expressions in the Windows-based versions of Visual
       | Basic, and here's where I started becoming nervous about where
       | Windows programming was headed. Not only could you move a button
       | onto your form, and interactively position and size it just the
       | way you wanted, but if you clicked on the button, Visual Basic
       | would generate an event handler for you and let you type in the
       | code.
       | 
       | At this point in the essay, we find ourselves arm-pit deep in
       | get-off-my-lawn. He goes on to make the argument that a disjoint
       | pile of event handlers attached to UI elements do not make a
       | coherent program.
       | 
       | Even while conceding that this claim is 100% true, there most
       | definitely exist cases where all you need is a hand-drawn UI with
       | disjoint event handlers to breathe a little bit of life into the
       | experience. Frankly, most simple web pages find themselves
       | DELIGHTFULLY in this category.
        
       | dang wrote:
       | Past discussions over the years:
       | 
       |  _Does Visual Studio Rot the Mind? (2005)_ -
       | https://news.ycombinator.com/item?id=22258198 - Feb 2020 (118
       | comments)
       | 
       |  _Does Visual Studio rot the mind?_ -
       | https://news.ycombinator.com/item?id=3386102 - Dec 2011 (2
       | comments)
       | 
       |  _Do modern IDEs make us dumber?_ -
       | https://news.ycombinator.com/item?id=387495 - Dec 2008 (37
       | comments)
        
       | gigel82 wrote:
       | When just editing code, I prefer VSCode. But for debugging C++
       | there is nothing that comes even close on any platform
       | productivity-wise to Visual Studio.
       | 
       | I guess if you're not doing cross-platform and staying within the
       | ecosystem (MSBuild, NuGet, etc.), the project management is also
       | nice.
        
       | alkonaut wrote:
       | I think VS of 2005 and VS of 2021 is wildly different.
       | 
       | Back then, chatty Apis like MFC made wizards and code generation
       | almost a requirement for doing anything useful. Putting a window
       | on screen required the equivalent of rendering with Vulkan today.
       | 
       | The problem wasn't Visual Studio rotting the mind, it would have
       | rotted under Win32+mfc anyway.
       | 
       | For comparison, a netcore6 command line app is now a one liner.
        
       | thrower123 wrote:
       | Remarkably little has changed in Windows programming in 17 years.
        
         | vsareto wrote:
         | Well sure, we mostly fucked off to building websites and APIs
        
           | n8cpdx wrote:
           | Same could be said for Mac or Linux development, but those
           | ecosystems have continued to evolve, and the modern
           | approaches to things can generally be taken seriously (unlike
           | WinRT/UWP/WinUI2/WinUI3). It's worth meditating on how
           | thoroughly Microsoft failed to keep their stack modern. I
           | think it's much easier/faster/cheaper to create a great
           | product using web tech these days than Windows, and that's
           | 100% on Microsoft.
        
             | ripley12 wrote:
             | Agreed. It's not for lack of investment either; they
             | invested staggering amounts of engineering time in WinRT
             | and UWP and they actually built some cool stuff.
             | 
             | But, well... it certainly didn't help that they made it so
             | difficult to adopt the new technologies. Project
             | Reunion/WASDK makes it seems like they've learned that
             | lesson and are trying to salvage what they can - but it's
             | much too little and much too late.
        
             | tailspin2019 wrote:
             | Their cloud "stack" is pretty modern. I thats clearly where
             | a lot of their effort has gone.
             | 
             | And not to be too "fanboy" about it, .NET 6 is superb (for
             | web dev at least).
             | 
             | I think it's worth giving MS some credit for what they've
             | achieved there. Like it or not, Azure is impressive.
             | 
             | But I agree with you with regards to the traditional
             | Windows stack. It's not in a good state at all. I rarely
             | use Windows any more, at least where I can help it. And
             | I've been an MS orientated developer (starting with VB/ASP)
             | my whole career.
             | 
             | At this stage I'd be very happy to never touch Windows
             | again unless they make a very sharp course correction in
             | the next year or two!
             | 
             | (And to the point of the article, I've switched from a
             | career-long use of Visual Studio on Windows to Rider on the
             | Mac and I'll hopefully never go back!)
        
         | alkonaut wrote:
         | I can relate, I started writing Windows software professionally
         | 17 years ago. Installing VS from MSDN dvds. _that_ has changed.
         | 
         | The development process has changed a bit too, but like any
         | other desktop or systems programming it's mostly the same.
         | 
         | I like that.
        
       | UglyToad wrote:
       | Talking just about the title since the contents of the article
       | are about as relevant as a discussion of Java 1 nowadays. No.
       | 
       | I had a huge amount of insecurity about this until I tried AoC
       | this year.
       | 
       | You know what's really great? Tools, power drills, printers, word
       | processors, chainsaws, indoor toilets, heating. You know what's
       | also great? Not trying to code in notepad with a paper reference
       | manual.
       | 
       | There's a weird subculture of developers who get off on playing
       | on hard mode and I can finally see there's no great secret in the
       | suffering, it's just rubbish. Language servers, autocomplete,
       | intellisense, inline documentation, time travel debugging, it's
       | just better.
       | 
       | Sure if you enjoy the challenge of coding in Google Docs go for
       | it. But if I want to get work done I'm going to use tools to
       | assist me and I'm no longer going to feel lesser for being
       | productive.
        
         | DangitBobby wrote:
         | I think "no" as well, but I still think it's an interesting
         | read because he lists some consequences that I hadn't ever
         | thought much about. None of them have anything to do with mind-
         | rot, though.
        
         | Clubber wrote:
         | I remember having a discussion with someone in the late 90s. He
         | said he could code websites in notepad. I assume he was trying
         | to brag. I said so could I but who the hell would want to.
        
         | dnautics wrote:
         | I think it's worse than that. If you are expending mental
         | energy on your dev environment, that's energy you're not
         | spending on thinking about security, readability,
         | maintainability, etc.
        
         | ridiculousthrow wrote:
        
       ___________________________________________________________________
       (page generated 2022-01-01 23:01 UTC)