Live data from Hacker News

I fixed Windows native development

marler8997.github.io

331–340 of 406 posts

Re: I fixed Windows native development

#331
post #16

At the risk of being that guy , I haven't had any issues onboarding people onto native projects written in Rust. rustup does a great job of fetching the required toolchains without issue. I'd imagine the same is also true of Go or Zig.

You can't really use Rust in the real world without interfacing a lot of C/C++ libraries, so yes this is still relevant.

Re: I fixed Windows native development

#333
post #240

Earlier quoted context omitted.

Yes and in the wild believe it or not you'll find windows 7 and windows 8. We had just deprecated support for XP in 2020 - this was for a relatively large app publisher ~10M daily active users on windows. The installer was a c++ stub which checked the system's installed .NET versions and manually wrote the app.config before starting the .net wrapper (or tried to install portable .NET framework installer if it wasn't…

Hey I have a PC running 98SE ;-) I feel for those who have to support an OS no longer supported by the vendor. That's a tough position to be in, not only if a customer comes across a bug that is due to the OS, but it keeps you from advancing your desktop application forward.

You can always have legacy builds for older systems and use shiny new features inside conditional compilation blocks. Or check at runtime and let newer operating systems use the new features. Yes it takes care and a little more testing to keep supporting older operating systems but your users will love you for it.

I’m always kind of sad when a developer says to a customer “your OS is too old. We are dropping you on the floor.”

Re: I fixed Windows native development

#334
post #196

Earlier quoted context omitted.

That hasn't been my experience at all. Cross-compiling anything on Rust was an unimaginable pain (3 years or so ago). While GCCs approach of having different binaries with different targets does have its issues, cross compiling just works.

Ah sorry. I should clarify. Not referring to specifically cross compiling; just general compiling. In rust weather PC or embedded, I run Cargo run. For C or C++, it's who knows. A provincial set of steps for each project, error messages, makes me get frustrated. I keep a set of notes for each one I touch to supplement the project's own docs. I am maybe too dumb or inexperienced in some cases, but I am having a hard t…

I’m the opposite: I want my development tools to use my operating system’s package manager. Nothing enrages me quite like how, when I want to pull in a Python dependency, I have to reach for Python’s parallel package manager. Now I have to keep track of what apt installed and what pip installed. Then I move to do a rust project and there’s now another parallel package manager I need to use to install those dependencies! Yuck!

apt install build-essential or whatever the rpm equivalent is, gets you most of the way to building a C or C++ project.

Re: I fixed Windows native development

#335
post #301

Is this post AI-written? The repeated lists with highlighted key points, the "it's not just [x], but [y]" and "no [a] just [b]" scream LLM to me. It would be good to know how much of this post and this project was human-built.

> "The key insight is..." This was either written by Claude or someone who uses Claude too much. I wish they could be upfront about it.

It's interesting... Different LLM models seem to have a few sentence structures that they seem to vastly overprefer. GPT seems to love "It's not just X, it's Y", Claude loves "The key insight is..." and Gemini, for me, in every second response, uses the phrase "X is the smoking gun". I hear the smoking gun phrase around 5 times a day at this point.

Re: I fixed Windows native development

#336

Looking at the script: > curl -L -o msvcup.zip https://github.com/marler8997/msvcup/releases/download/v2026... No thanks. I’m not going to install executables downloaded from an unknown GitHub account named marler8997 without even a simple hash check. As others have explained the Windows situation is not as bad as this blog post suggests, but even if it was this doesn’t look like a solution. It’s just one other insta…

You don't have to install executables downloaded from an unknown GitHub account named marler8997. You can download that script and read it just like any other shell script. Just like those complaining about curl|sh on Linux, you are confusing install instructions with source code availability. Just download the script and read it if you want. The curl|sh workflow is no more dangerous that downloading an executable of…

>The curl|sh workflow is no more dangerous that downloading an executable off the internet

It actually is for a lot of subtle reasons, assuming you were going to check the executable checksum or something, or blindly downloading + running a script.

The big thing is that it can serve you up different contents if it detects it's being piped into a shell which is in theory possible, but also because if the download is interrupted you end up with half of the script ran, and a broken install.

If you are going to do this, its much better to do something like:

    sh -c "$(curl https://foo.bar/blah.sh)"
Though ideally yes you just download it and read it like a normal person.

Re: I fixed Windows native development

#337
post #38

Earlier quoted context omitted.

That's not correct. You don't have to give your credit card details or even be logged in but you are still required to have any Visual Studio license. For hobbyists and startups the VS Community license is enough but larger companies need a VS Professional license even for the VS Build Tools. How strict Microsoft is with enforcement of this license is another story.

You do not need a Professional or Enterprise license to use the Visual Studio Build Tools: > Previously, if the application you were developing was not OSS, installing VSBT was permitted only if you had a valid Visual Studio license (e.g., Visual Studio Community or higher). From ( https://devblogs.microsoft.com/cppblog/updates-to-visual-stu... ). For OSS, you do not even need a Community License anymore.

The license doesn't actually permit OSS development. Only compilation of near-unmodified third party OSS libraries.

You may not compile OSS software developed by your own organisation.

The OSS software must be unmodified, "except, and only to the extent, minor modifications are necessary so that the Open Source Dependencies can be compiled and built with the software."

https://visualstudio.microsoft.com/license-terms/vs2026-ga-d...

Re: I fixed Windows native development

#338
post #64

Toolchains on linux are not clear from dependency hell either - ever install an npm package that needs cmake underneath? glibc dependencies that can't be resolved because you need two different versions simultaneously in the same build somehow... python in another realm here as well. That shiny c++ project that needs a bleeding edge boost version that is about 6 months away from being included in your package manager…

> glibc dependencies that can't be resolved because you need two different versions simultaneously in the same build somehow... If you somehow experience an actual dependency issue that involves glibc itself, I'd like to hear about it. Because I don't think you ever will. The glibc people are so serious about backward and forward compatibility, you can in fact easily look up the last time they broke it: https://lwn.n…

> The glibc people are so serious about backward and forward compatibility, you can in fact easily look up the last time they broke it

What? There was a huge breakage literally last year: https://sourceware.org/bugzilla/show_bug.cgi?id=32653

Glibc has been a source of breakage for proprietary software ever since I started using Linux. How many codebases had to add this line around 2014 (the year I brought my first laptop)?

    __asm__ (".symver memcpy, memcpy@GLIBC_2.2.5");

Re: I fixed Windows native development

#339
post #75

I wish open source projects would support MingW or at least not actively blocking it's usage. It's a good compiler that provides an excellent compatibility without the need of any extra runtime DLLs. I don't understand how open source projects can insist on requiring a proprietary compiler.

Eww no. MingW is evil and no project should ever use it. Just use Clang + MSVC STL + WinSDK. Very simple.

>MingW is evil

Care to elaborate?

Post reply on HN