Live data from Hacker News

Why I develop on Windows

blog.shortround.dev

11–20 of 187 posts

Re: Why I develop on Windows

#11
Complaining that bash on macOS is old is valid, but it doesn’t seem relevant here. If you’re just going to use Powershell on Windows anyway, then surely bash doesn’t matter on either platform.

More relevant in my view is how well the workstation you use supports interacting with your build system. In many organizations, the actual build environment is only ever going to be Debian or alpine in a container, in which case, it doesn’t really matter which computer you have on your desk. If all your building happens remotely on a cloud instance, it hardly matters at all.

So by all means, use whatever computer you want. The great thing about the current era of computing is how little depends on the computer for getting work done. The author’s Chromebook story makes this point perfectly. Use what you have or what you like or what you can get, and get on with life, I say.

Re: Why I develop on Windows

#12

Regarding NodeJS and being cross platform, why didn’t the company just use path.join?

Because developers are lazy. I've given up the fight that is "use the language's features for path manipulation" in code review at this point. People just wanna string concat.

Re: Why I develop on Windows

#13
post #10

> I know a lot of developers who will opt to do all of their scripting in python these days, even putting #!/bin/python3 at the head of a script so that it runs through the shell. ...which is exactly what you're meant to do. This is not an example of how bad Bash it, it shows that you didn't understand what Bash is. It's expected to use various languages to write code on Linux, nobody wants you to do things in a lang…

To be fair to OP, I would then go on to label these people as equally ignorant:

> A lot of people coming from the Unix-like world of macOS and Linux don't tend to know [PS]. Many people don't know it even exists at all. When I mention the Windows Terminal to people, they think I'm talking about the Windows Command Prompt, a crappy little program

I know that PS and the new terminal is not the same as cmd.exe, and that it has advantages like passing objects through pipes instead of stringly typing everything the way that sh-like shells work. But that's about the extent of it. (The powershell command names though, oh boy, even Java method names are better than that.)

> PowerShell also runs on Unix-like systems through PowerShell Core

I forgot about that. If anyone's interested in this, you may also enjoy learning that you can now run Windows Defender on Linux! And Internet Edgesplorer! The software we've all been waiting for, according to the Microsoft press release :D. These things amuse me to no end, but more seriously, getting to know PS better and trying out this object passing system does sound interesting.

Similar to how C# is secretly my favorite language, but it's just not well supported on Linux (mono and .netcore with monodevelop or the electron app called "VS Code" are just not the same as the Windows experience, e.g. Windows Forms and the real Visual Studio being huge omissions for me).

Re: Why I develop on Windows

#14

> If the software is written well, it will be sufficiently cross-platform and modular enough Yes … well … We brought on via acquisition a bunch of Windows devs. It turns out we can't even clone the repository onto their laptops: some files in the repo have ":" in the filename, which is forbidden. There's a "aux.rs", also a verboten filename in Windows. And then there were some that differed only in case, which honest…

Yeah, that looks like it's simulating the rolling lines that could show up in a video of a CRT, which is just an artifact of the camera and display both refreshing in similar fashions/at similar rates but usually not being locked to each other. A similar fixed lined/brightness gradient on a still photo is an artifact of a snapshot vs the persistence of vision effect that makes the screen look uniformly bright.

Some people were more sensitive to CRT flickers than others but it didn't look like that, even at 60hz (a low rate for a PC monitor). It was more a flashing-the-whole-screen-on-and-off-constantly effect; the effect of moving lines in videos move far slower than 60hz.

Re: Why I develop on Windows

#15

> If the software is written well, it will be sufficiently cross-platform and modular enough Yes … well … We brought on via acquisition a bunch of Windows devs. It turns out we can't even clone the repository onto their laptops: some files in the repo have ":" in the filename, which is forbidden. There's a "aux.rs", also a verboten filename in Windows. And then there were some that differed only in case, which honest…

Could they keep the files in WSL and run their IDEs in Windows?

Re: Why I develop on Windows

#16
post #4

I keep on seeing all this talk about Powershell, and it's inspiring me to maybe learn some, although I've already commenced pursuit of skill in bash and python

After 3 decades working on Windows, I recently got into Linux and stared learning bash through "The Linux Command Line, 5th ed." book and watching youtube videos. Powershell is so much nicer and a lot more productive to work with compared to bash. Unlike the bash commands that returns strings, Powershell commands return objects. Working in any OOP language and Powershell feels very natural.

Re: Why I develop on Windows

#17

> If the software is written well, it will be sufficiently cross-platform and modular enough Yes … well … We brought on via acquisition a bunch of Windows devs. It turns out we can't even clone the repository onto their laptops: some files in the repo have ":" in the filename, which is forbidden. There's a "aux.rs", also a verboten filename in Windows. And then there were some that differed only in case, which honest…

Could they keep the files in WSL and run their IDEs in Windows?

IIRC, they were cloning in WSL, but AIUI at the time, WSL is still subject to the requirements Windows imposes on filenames.

(I'm not a WSL expert, so I could be wrong here.)

Re: Why I develop on Windows

#18
post #5

apt-get install package- is a nightmare, because it's hard to know which version is the correct one.

I wish it was just a matter of the `-` thing... Debian metadata (control, rules...) and its build system (sbuild, rebuild) is arcane and feels old. Having to maintain a Debian feed is a major PITA.

Re: Why I develop on Windows

#19
PowerShell 7 can be installed on Linux and MacOS! Native too, not like cygwin bash.

Around the same time that came out, so did WSL so I never really learned PowerShell because now it's so easy to run real bash on Windows.

Re: Why I develop on Windows

#20
From everything I've heard about Windows turning into user-hostile bloatware over the last few years, nothing in this post seems like a good enough reason to use it. Perhaps it's Stockholm syndrom, but I honestly like my Unix-y tools (bash, jq, awk) at this point

Also, regarding this example

    {
        $Env:MYSQL_HOST = "MyHost.com";
        $Env:MYSQL_USER = "MyUser";
        java -jar myprogram.jar;
    }
You can do the same thing in Bash with perhaps slightly more verbosity

    (
        export MYSQL_HOST="MyHost.com";
        export MYSQL_USER="MyUser";
        sh -c 'echo "using $MYSQL_USER@$MYSQL_HOST"'
    )
    sh -c 'echo "using $MYSQL_USER@$MYSQL_HOST"'
outputs:

    using MyUser@MyHost.com
    using @
Post reply on HN