Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> microsoft could start shipping a fucking compiler

Visual Studio is a free download. Most users are not developers. Waste of space to include it by default.

https://visualstudio.microsoft.com/vs/community/



All you really need is cl.exe and friends, and the C/C++ headers, in some fixed directory path. (And, apparently, maybe a Fortran compiler?) That shouldn't take up that much space.

And the last time I was forced to install Windows 10, it spent a few hundred megabytes of bandwidth and disk space on Candy Crush Soda Saga, not to mention a bunch of other junk I never asked for, so disk space is not that precious to Microsoft.


That simply won't work for most Windows development. Need all the frameworks, including .NET. At least tens of gigabytes. Full Visual Studio 2022 installation is 210 GB.


you just need something you can compile them with


Nobody's asking for .NET or an IDE. Just enough to build things like the aforementioned Python packages. Or am I missing your sarcasm?


This is not sarcasm.

You are asking for basic development capability in the base OS installation.

Vast majority of Windows development uses .NET, or uses frameworks etc. The barebones C++ compiler and standard library simply won't work for most development on Windows, so what's the point? You are expecting base functionality to cater to your very niche specific needs which is practically useless for the vast majority of Windows development in general. There's no business case for it. Won't happen.

Even on Linux I need to install a lot of headers and libraries and compilers and SDKs before it can be used for development. Ubuntu base install is practically useless for dev without `apt install <all the things>`.


that's a ridiculous excuse

unix v7 included a compiler and was three megabytes

https://www.tuhs.org/Archive/Distributions/Research/Keith_Bo...

https://opensimh.org/research-unix-7-pdp11-45-v2.0.pdf

the compiler was a tiny fraction of that

gcc 9 is about 50 megabytes

windows 11 is over 8 gigabytes; you need a 16 gig usb drive to install it

there are probably individual audio files included in windows that are bigger than gcc

also, tho, this is a lot like not including life jackets on a ship because most passengers don't get shipwrecked


It's not an excuse. Visual Studio is multiple gigabytes. Yes they should make it smaller but unless that happens it would be stupid to include it by default. Waste of space.


It's possible install only the components you want from Visual Studio. I chocolatey to install only the compiler and a component needed to compile Cython codes on Windows:

``` choco install -y visualstudio2019buildtools choco install -y visualstudio2019-workload-vctools ```

I this case it's installing Visual Studio 2019.


If we're talking about base OS install then its a different story. Which options do they choose as default for all users? Are you suggesting that Microsoft create an OOTB setup perfectly custom tailored to this one tiny niche requirement to compile Python whatever?

Even on Linux the OOTB setup is useless for my development. I always need to `apt install` all the compilers, frameworks, libraries, SDK's, utilities, etc, before its usable.


they can ship a compiler that isn't a giant pile of shit then

there are free ones


A compiler without system libraries is useless.

All of those little apt get install ....-dev to spend an afternoon on.

Followed by installing Clion, QtCreator or KDE + KDevelop.


You should get a job at Microsoft and fix it.


i'd sooner breakfast on goat vomit


You are only looking at the compiler without standard library, and all the nice tools modern C and C++ developers have grown to enjoy since 1979.

You should be comparing to a C compiler for MS-DOS.

If you want to do a proper comparisation you should include GNU/Linux libraries for all major architectures already compiled, GUI frameworks, IDE, .NET, Python, node, Java SDK, Azure integration SDKs, device drivers,...


because of dynamic linking, the standard library is already included in microsoft windows, and all that other crap isn't needed to get blas and lapack to build


What standard library would that be?


Microsoft's Universal CRT, present by default in Windows 10, and installable on Windows 7 SP1 and later.

Linking to UCRT using an entirely FOSS toolchain is, alas, nontrivial, but supported by mingw compilers (gcc and clang; no idea about the various FOSS Fortran compilers):

https://mingwpy.github.io/ucrt.html


beats me, i haven't had a microsoft windows box since 02000


So you just like to rant, I see.


yet somehow i was still correct: https://news.ycombinator.com/item?id=38203731


Most users will never need a compiler. If they need it, it's a download away.

Life jackets are hopefully never needed, but when they are needed, the crew can't go to the warehouse and get them. Big difference.


it might be a download away, or it might be permanently unavailable


Which was the usual way things were on UNIX, thanks Sun, before GNU/Linux became relevant.


no, there was a brief period of time where sun decided to try to imitate microsoft in this stupidity, but fortunately none of the other unix vendors followed suit


First of all, everyone else was doing the same outside UNIX in the 1980's.

Secondly, Solaris, Aix, HP-UX, DG/UX were the same in what concerns having to buy a UNIX developers license for the compilers.

So other UNIX vendors did follow suit, and I can't be bothered to dive into BYTE and DDJ ads from 1980 - 1990's to add others to the list.


though i never bought one myself, i never saw an aix or irix box without compilers installed, and don't have any personal experience with hp-ux and dg/ux, but it was only for solaris that the fsf decided they had to put up precompiled gcc binaries on their ftp site because the vendor wasn't shipping one


Why would it be permanently unavailable?


that's what always happens to downloads

like 90% of my links from 8 years ago are 404 now


The compiler from 8 years ago is very likely obsolete. If it was relevant, you'd have stored it somewhere safe or you'd have a support contract with Microsoft.


the compiler from 8 years ago can still build code that works on the operating system from 8 years ago; the new compiler often cannot, even if it does exist

it may well be obsolete in the sense that the new compiler is more convenient to use and produces more efficient code, but that's irrelevant

software doesn't rot like the potatoes you forgot about in the fridge

your argument is contingent on the presumption that people never do stupid things that cause them damage in the future. but if that were true, nobody would buy cigarettes, or for that matter microsoft windows, in the first place


Software indeed rots because it doesn't exist in a vacuum. Requirements change, bugs are discovered, support declines unless you give golden coins to someone. Infinite backwards compatibility is the exception rather than the normal.

My point still stands: the compiler should have been kept around if it is required to keep something business-critical on an 8 year old machine running. Whether such old versions of compilers are still provided depends on the goodwill of Microsoft.


it seems that somewhere in the thread you went from arguing against my position to arguing in favor of it


We also shifted away from discussing what an end user needs (a recent OS, probably no compilers unless they develop software, and if they do, a recent one) to what one would need if stuck with a legacy hardware or software stack.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: