frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

A visual history of Visual C++ (2017)

http://www.malsmith.net/blog/visual-c-visual-history/
37•rayanboulares•4h ago

Comments

copper_think•3h ago
One thing not mentioned is that Visual C++ and Visual Basic historically were separate IDEs with separate codebases. When the time came to unify them, only one of them could continue on. My understanding is that Visual Basic won, and that today's Visual Studio IDE (devenv.exe, msenv.dll, etc.) is the continuation of that VB codebase.

I don't actually know in which release that transition happened. But since there's a screenshot of each version in the article, presumably that transition is visually documented...

georgeecollins•3h ago
I think that is right and perhaps that is why, as I recall, Visual C went from almost unusable to a pretty good development environment between version 2 and 4. This is all (old) memory and anecdote.
ack_complete•2h ago
That might have been the transition from Visual C++/Basic 4 to 6 (I skipped 5), but the cataclysmic one was the switch from Visual Studio 6 to Visual Studio .NET, when large portions of the IDE and build system were rewritten in .NET. Visual Studio .NET (2002) was much slower and much buggier than VS6. The native debugger was glacial at conditional breakpoints and debug output, the build system took an eternity to do a dependency check, its UI visibly redrew more slowly, etc. It was so bad that Microsoft had to create a special offer for the Visual Studio .NET (2003) upgrade for only ~$30.

This transition was not great for Visual Basic developers either since their language was transitioned from generating native code (VB6) to becoming dependent upon the .NET Framework (VB.NET), supported secondarily to C#.

becurious•2h ago
After Visual C++ 6. They broke a lot of the C++ IDE features and they weren’t as good as the prior versions (dialog editor etc) so for a long time we preferred staying on 6. I think if we could have the newer compilers but the snappiness of that UI many developers would be happy.

It’s also a product of the segmentation of the developer tools in Microsoft. The Windows team was responsible for the compiler rather than the Developer Tools team.

philiplu•2h ago
No, that's not really true. I was on the C++ compiler team from 1991 to 2006. When I first started, the DevTools team reported up through the Windows team, but never really felt a well-integrated part. We were never in the same building as the Windows team, for instance. I remember, probably 1992 or 1993, driving from building 4 where the compiler team lived to the Windows building (forget which one that was, maybe in the 12 to 15 block back then?) to get a copy of the Windows NT source on a hard drive. That's because I was a dev on the C++ compiler back-end team then (moved to the front-end in '95, IIRC), and compiling that source was a major test of the 32-bit compiler I was working on.

Don't remember when DevTools was re-orged out from under Windows, but I'm pretty sure it was by '95, and well before VC++ 6.

becurious•2h ago
Did you ever work on the cross edition that would compile Windows apps for the Mac? I think that was a version 4 fork that never got another version.
philiplu•1h ago
No, there were two devs working on the 68k Mac compiler, with ~10 devs on the x86 side (though both targets shared a lot of code and differed mainly in the late codegen and peephole optimization phases). I never worked on the 16-bit code; the 32-bit and later 64-bit x86 backend was a different codebase from the 16-bit stuff.
ack_complete•2h ago
The dialog editor is a good example of the damage that was done with the VS.NET transition. When they rewrote it to use the WinForms-based UI, they introduced a fundamental bug: the Z-order for picking was reversed so that clicking on a stack of controls selected the one on the bottom. Very annoying for controls like group controls intended to be stacked below other controls. Bug filed, WONTFIX'd, and it's still broken to this day.
keithnz•2h ago
the big thing I missed was their macro editor, it was really good for automating things.
aaronbrethorst•2h ago
If memory serves, it was Visual InterDev that won, actually. The VID IDE was the forerunner to Visual Studio.NET 2002, which was the first unified Visual Studio IDE.

n.b. I worked on the Visual Studio Core team, which maintained devenv.exe, among other things, from 2003-2007'ish.

userbinator•2h ago
Interesting to see the UI change (degradation) over time. The first version makes it very clear what's a button and clickable at first glance, while the latest version looks like a sea of whitespace and makes that far more difficult.
AdieuToLogic•2h ago
You know what this doesn't show?

Visual C++ v4.2b generating an assignment operator which invoked the destructor of a returned object before assigning it to the lval.

That was fun to figure out. :-/

Disposal8433•1h ago
I remember a bug in an old Visual C++ that would fill your RAM and swap (therefore hard drive) if you forgot a semicolon at the end of a class, like:

    class A { int a }
    int main(...)
To fix that, you had to kill the compiler process.
agent327•19m ago
Nice one... I seem to remember MSVC 5 having a switch that made all functions virtual - or am I confused with another compiler?
keithnz•2h ago
It doesn't point out the massive productivity boost of Visual C++ 6, IntelliSense (ie, autocomplete). This saved so much time from having to look up documentation.
philiplu•1h ago
I worked on that! I was a dev on the team that built the first IntelliSense engine for C++. It’s a miracle it worked at all. It was based on a hacked-up version of the C++ front-end, but when it inevitably hit errors attempting a single-pass parse of the current source, it would silently bull its way through and try not to get too screwed up. Doing that in the presence of templates was not a good time. But with the RAM and processing speeds available then, I’m still kind of shocked it worked at all, 28 years ago.
sipsi•55m ago
nice documentation
TrueTom•1h ago
The Windows 2000 era was really peak computing.
dnamlin•1h ago
Binders full of MSDN CD-ROMs...IYKYK
birn559•33m ago
When / How did versioning enter versioning the awkward state we have today? There is cl.exe, MSBuild and build chain at the very least (now at work computer at the moment, pretty sure I am wrong with the making here) with versioning that is close enough to each other to be confusing and related to each other in word ways. Naming itself also feels confusing to me. Documentation also only helps when you already have a good idea what's going on.

I'm too dumb for Zig's new IO interface

https://www.openmymind.net/Im-Too-Dumb-For-Zigs-New-IO-Interface/
44•begoon•1h ago•12 comments

Show HN: JavaScript-free (X)HTML Includes

https://github.com/Evidlo/xsl-website
130•Evidlo•13h ago•63 comments

Shader Academy: Learn computer graphics by solving challenges

https://shaderacademy.com/
113•pykello•2d ago•23 comments

I run a full Linux desktop in Docker just because I can

https://www.howtogeek.com/i-run-a-full-linux-desktop-in-docker-just-because-i-can/
97•redbell•3d ago•48 comments

My tips for using LLM agents to create software

https://efitz-thoughts.blogspot.com/2025/08/my-experience-creating-software-with_22.html
62•efitz•6h ago•29 comments

Measuring the environmental impact of AI inference

https://arstechnica.com/ai/2025/08/google-says-it-dropped-the-energy-cost-of-ai-queries-by-33x-in-one-year/
106•ksec•4h ago•53 comments

Nitro: A tiny but flexible init system and process supervisor

https://git.vuxu.org/nitro/about/
181•todsacerdoti•12h ago•64 comments

The first Media over QUIC CDN: Cloudflare

https://moq.dev/blog/first-cdn/
218•kixelated•13h ago•96 comments

The theory and practice of selling the Aga cooker (1935) [pdf]

https://comeadwithus.wordpress.com/wp-content/uploads/2012/08/the-theory-and-practice-of-selling-the-aga-cooker.pdf
23•phpnode•2d ago•12 comments

Top Secret: Automatically filter sensitive information

https://thoughtbot.com/blog/top-secret
89•thunderbong•1d ago•8 comments

Glyn: Type-safe PubSub and Registry for Gleam actors with distributed clustering

https://github.com/mbuhot/glyn
46•TheWiggles•9h ago•8 comments

FFmpeg 8.0

https://ffmpeg.org/index.html#pr8.0
795•gyan•16h ago•178 comments

A visual history of Visual C++ (2017)

http://www.malsmith.net/blog/visual-c-visual-history/
37•rayanboulares•4h ago•22 comments

Lightning declines over shipping lanes following regulation of sulfur emissions

https://theconversation.com/the-world-regulated-sulfur-in-ship-fuels-and-the-lightning-stopped-249445
31•lentoutcry•4d ago•5 comments

The use of LLM assistants for kernel development

https://lwn.net/Articles/1032612/
29•Bogdanp•8h ago•8 comments

From M1 MacBook to Arch Linux: A month-long experiment that became permanenent

https://www.ssp.sh/blog/macbook-to-arch-linux-omarchy/
80•articsputnik•3d ago•109 comments

Japan city drafts ordinance to cap smartphone use at 2 hours per day

https://english.kyodonews.net/articles/-/59582
85•Improvement•5h ago•60 comments

Computer fraud laws used to prosecute leaking air crash footage to CNN

https://www.techdirt.com/2025/08/22/investigators-used-terrible-computer-fraud-laws-to-ensure-people-were-punished-for-leaking-air-crash-footage-to-cnn/
161•BallsInIt•7h ago•74 comments

Popular Japanese smartphone games have introduced external payment systems

https://english.kyodonews.net/articles/-/59689
121•anigbrowl•8h ago•62 comments

Leaving Gmail for Mailbox.org

https://giuliomagnifico.blog/post/2025-08-18-leaving-gmail/
246•giuliomagnifico•14h ago•265 comments

LabPlot: Free, open source and cross-platform Data Visualization and Analysis

https://labplot.org/
217•turrini•22h ago•37 comments

Bluesky Goes Dark in Mississippi over Age Verification Law

https://www.wired.com/story/bluesky-goes-dark-in-mississippi-age-verification/
142•BallsInIt•9h ago•58 comments

Embedding Text Documents with Qwen3

https://www.daft.ai/blog/embedding-millions-of-text-documents-with-qwen3
7•kiyanwang•4d ago•1 comments

Launch HN: BlankBio (YC S25) – Making RNA Programmable

51•antichronology•15h ago•25 comments

Why is this hard?

https://programmersstone.blog/posts/why-is-this-hard/
38•Bogdanp•2d ago•12 comments

The issue of anti-cheat on Linux (2024)

https://tulach.cc/the-issue-of-anti-cheat-on-linux/
112•todsacerdoti•1d ago•208 comments

Now, Together

https://natashajaffe.substack.com/p/now-together
11•mooreds•2d ago•1 comments

Transcribe music in abc with syntax highlighting

https://fugue-state.io/app?project=24024aab-22f1-43cc-abef-c1647cc59597
18•jonzudell•9h ago•7 comments

Closing the Nix gap: From environments to packaged applications for rust

https://devenv.sh/blog/2025/08/22/closing-the-nix-gap-from-environments-to-packaged-applications-for-rust/
65•domenkozar•15h ago•28 comments

It’s not wrong that "\u{1F926}\u{1F3FC}\u200D\u2642\uFE0F".length == 7 (2019)

https://hsivonen.fi/string-length/
167•program•1d ago•233 comments