Settings

Theme

Ask HN: Mac/Linux devs, have you had success switching to Windows?

4 points by adsjhdashkj 5 years ago · 11 comments · 1 min read


I'm not a terribly die hard Unix user - but i am used to the basics. A quality terminal, running a terminal editor, Git, etc.

(I now realize i am using Kakoune, which heavily uses Unix and has Windows incompatibility .. but i'll ignore that for the moment.)

Have any of you developers who previously used Linux/Mac migrated successfully to Windows? What tips might you be willing to share for easing the migration process?

I ask because i'm looking to do various CG and GameDev work, i want to migrate away from Mac, but i'm not sure i want to fight with Computer Graphics on Linux.

bsg75 5 years ago

I am currently trying to add it as a secondary host to a principal Mac workstation. Have a few windows only apps that would be more perform it on a native OS instead of a VM.

The first speedbump was the installation process was a massive consumer of time. I have a 2011 workstation class Lenovo machine, that originally shipped with Windows 7. However Windows 10 does not have the proper drivers to recognize the marvel disc controller, and the latest appear to be built for Windows 8. The reason this is frustrating is because Fedora 32 installs on this machine without a hitch and in a fraction of time. I wound up connecting a drive to the SATA channel originally used for the CDR. I don’t consider this machine old enough to be obsolete, but windows sure did not make a desktop installation very easy.

I’ve gotten spoiled by dealing with hardware config in Linux. Windows 10 seems to split things across a few “control panels“, and early on it actually feels less organized than windows 2000 through window 7. I used to run a lot of SQL Server boxes, and while the bass OS probably has improvements since then, I find the user interface to be cluttered.

WSL2 so far is a positive experience. It supports the shell scripting I’m used to, And target to the same disks Windows apps do, so at a low level integration is OK.

All in all it’s a mixed bag. Are used to find the differences between Linux development environments and the BSD equivalence on a Mac to be a bit frustrating. Except for WSL2, recent experiences on windows make me appreciate the Mac more as the desktop I need to have around for things like Microsoft office.

simonblack 5 years ago

i'm not sure i want to fight with Computer Graphics on Linux.

"Computer Graphics" is a large and imprecise definition. I am assuming you mean a GUI interface.

I steered clear of GUI development for a decade or two, but I eventually bit the bullet and used the GTK+ toolkit with Glade and discovered it wasn't half as bad once you jumped in. I still like a text interface with ncurses, but I've lost my fear of GUI development.

PaulHoule 5 years ago

I did it a long time ago. For about 20 years I've mainly written software that runs on Unix servers or that runs on web browsers. I have done some .NET but I've never written C code against the Win32 API, that is, almost all the code I write is basically portable, say Java or Python or PHP or Javascript.

Right now for instance I work on a back-end Java application using maven, eclipse, postgresql, the server runs on Windows basically the same as it would on Unix or Mac. So long as I don't rely on the case-insensitivity of filenames in Windows I have never had an incompatibility that mattered.

Front end I use npm and all that, Webstorm as an editor. I've done that work on a mac with the same software and it's the same.

Cmder and hyper are great terminals, even the default terminal is "good enough" now.

In the distant past I ran a VM with Linux under it on my dev boxes so I could use Unix shell tools that I love, but then WSL came along and it was good enough that I found I wasn't using the VM.

rvz 5 years ago

Use WSL2.

It essentially brings all the Unix stuff from Linux but gives you a Windows desktop with all the same mainstream applications, games, developer tools, etc.

It is the best 'Linux distribution' you can get with a sane Desktop.

  • adsjhdashkjOP 5 years ago

    I'm definitely going to give it a try, but posts like this[1] don't give me too much hope.

    From early research, i'm struggling to understand what advantage WSL2 has over Cygwin. Thoughts?

    [1]: https://news.ycombinator.com/item?id=22874305

    • PaulHoule 5 years ago

      Cygwin was great in 2005, but I don't think they've been playing to win ever since.

      The environment they are in is changing and they haven't been putting the effort in to keep up.

      WSL was a "better cygwin" in many ways, although it was working at the syscall layer instead of the library layer.

      I loved the old WSL but it had the fatal problem, in Microsoft's mind, that filesystem metadata operations on Windows are much slower than they are on Linux and there is no way around it if you want to use NTFS, use the Windows page cache, etc. If you're lucky you might live your life as a developer and not care, but if you're living with the wrong kind of build process on Linux, you will go to Windows and find your 2 minute build is more of a 1 hour build. (It never happened to me in core activities, but boy I ran into this problem with one-off data processing scripts)

      Turning off the antivirus helps, but it turns out the filesystem interface in Windows is fundamentally slower than Linux for certain operations -- Microsoft thinks this stops some people from using WSL and they took the desperate act of bypassing the internal filesystem API and running the whole Linux kernel under a VM in WSL 2.

      (Which probably chased away more developers than it attracted since WSL 2 is overall not so solid as WSL was for most tasks, and you can live a much more trouble-free life if you install Ubuntu under Hyper-V)

    • kohlerm 5 years ago

      WSL2 ist real Linux :-) I switched from Linux to Windows (company policies ... ), and WSL2 so far works great for me. You can easily run a Linux desktop. Check for Kali Linux s "kex". latency of a native Linux desktop is certainly better, but there's hope that MS will fix this. IIRC native wayland support is in the works.

mnmtanish 5 years ago

I haven't used Windows since Windows 7 so I wanted to give it a try. So far it has been very positive. I added all of my dev tools, git repos inside WSL2 and I'm running some databases in Docker. On Windows side I only have Visual Studio Code.

Things I miss: - Some native apps for Mac (iTerm2, etc.) - Some keyboard shortcuts

  • adsjhdashkjOP 5 years ago

    How does VSC integrate with the linux side? (or any program like Visual Studio. Ie custom Terminal emulators like Alacritty)

    Eg on a native system (Linux/Mac), a lot of editors launch subprocesses like Language Server Protocol Servers which would expect to be in the context of Linux. But the Visual Studio Code instance is running in.. windows, right?

    Same goes for Alacritty - i'd want the executable GUI to be running, but to run within the context of Linux.

    How does that work for you?

    • kohlerm 5 years ago

      Both work fine with WSL2 There's special support for VS code for WSL. E.g. using the editor on windows for development within WSL is pretty seamless.

fetbaffe 5 years ago

try Windows Terminal

https://aka.ms/terminal

https://github.com/Microsoft/Terminal

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection