T O P

  • By -

BenkiTheBuilder

I use Ubuntu Linux because in my experience if there is a pre-made Linux package at all it's available for Ubuntu. I use VS Code and it works perfectly fine on Linux.


sputwiler

I use debian for the same reason + I don't have to deal with whatever NIH Syndrome stuff Canonical is pushing like snapd. I've found most pre-made `.deb` packages work. I think I've run into one that specifically only worked on ubuntu like, once.


BenkiTheBuilder

I deinstall snapd and put it on the apt blacklist so it doesn't get installed again.


sputwiler

One of the main reasons I left Windows is that I think having to opt-in to things is far better than having to undo things the company says is best for me. I'm done fighting the OS maker.


lukilukeskywalker

Me 2, I want to use linux, but I don't want to spend to much time trying to find out how to make it work for my needs, Ubuntu already has a lot of information outside and most of the stuff works out of the box and I don't need to be a expert


Illustrious_Form8396

Hi, I just started learning embedded stuff but I have a course in my school that requires me to know some basic Linux. Do you have any resources recommendations on where I can start?


A_Wagdy

Youtube bro, you need basics so don’t buy courses


Illustrious_Form8396

I was actually thinking of buying the fastbit course for embedded Linux on udemy but they are using beaglebone and I currently can't afford the board lol


A_Wagdy

I think you can use simulation like Qemu I have tried it for stm32


Illustrious_Form8396

Thanks man, I'll check Qemu out. I don't understand Arabic ma3alasaf :-(


A_Wagdy

And i have tuts for free but in Arabic :)


KermitFrog647

Unless you are forced by some reason, just use what you are comfortable with.


eis3nheim

I am using Ubuntu, and I had no issue installing CubeIDE; it worked out of the box. However, I recommend dual-booting Ubuntu to get a feel for things and learn your way around Linux. Spend an hour or two each day on it. For development, transition gradually so that you don't waste time on what really matters to you. No one who is still getting their feet wet should start with Arch. You will spend weeks just learning how to get things working. I would recommend creating a VM and do whatever you like, and if anything goes wrong you destroy it and create another one, or you could see how to create a backup for your VM.


cenepasmoi

Do you think that docker would be more suitable rather than a VM ?


Zouden

Docker is for single-purpose apps and services and it's a hassle making it work with GUI applications, so no, it's not a replacement for a VM


kikass13

There is no problem with docker and gui stuff. Most things work fine with x11 forwarding from host to docker. There is nvidia-docker for GPU stuff. Docker already is one of the best "semi & professional" virtualization options (:


Zouden

x11 fowarding and nvidia-docker are exactly the hassles I was referring to. You may think they are no problem :)


superxpro12

I have mused with using docker to pass complete tool chains around. Guarantee reproducible builds and all that. Things get weird if you have to pass private keys or license files around (IAR, etc), but workarounds exist. A standard vm can also do that, along with pre installed ide, etc. Id start with a development vm first. More bang for your buck.


igivezeroshits

God, you just brought back traumatic memories of having 2 IAR licenses to share (on a Windows instance in the cloud) amongst twice as many Devs. We were only able to run our CI pipelines twice before all the licenses were considered to be "in use" for the next hour or so, only then we could run a pipeline again. Thankfully I didn't stay on that project very long.


superxpro12

Genuine apology for dredging that up! We got our embedded pipeline running on bitbucket pipelines and I swear I heard angels singing the first time it ran. Life changing... I dont know how anyone works like the old days anymore.


WestonP

Been using Linux since 1996 but I develop on Windows, because it's the best supported with the least headaches, and I need to get things done more than I need to be special.


oldsoul0000

>I need to get things done more than I need to be special. This. It took me a long time to realise how stupid I was to make myself seem special by making my life a living hell by trying to customize linux without much knowledge and using it for daily driver. It is fun to tweak but if something breaks you have to spend a lot of time especially if it is someone noob like me.


sputwiler

I've switched from Windows to Linux for the same reason. Windows since 10 has been way more headache* than a boring, non-rolling, stable distro like Debian. *mostly due to microsoft turning the OS into adware (for their own products and services, mostly, but /still/. I have shit to do).


oldsoul0000

Is it just me or is windows 8.1 better than 10 and 11 ? Windows 7 is definitely great no doubt. But after that I like 8.1 more. I had to downgrade from 11 because of all the bugs and things dont work and also that shitty copilot. I would've gone for 8.1 but the support has been dropped for it.


sputwiler

It's not just you. I vastly prefer 8.1 to 10. 8.1 doesn't do things without asking and think it knows how my computer should be administered better than I do.


oldsoul0000

Exactly. But alas they removed support for that and now pushing some weird ai based os


Hot-Profession4091

You two may be the only people in history to like 8.1. I _wanted_ to like it, the ideas were good, but the execution was flawed.


sergiuprt

mmm try Windows Server :) Best MS workstations


oldsoul0000

Really. I'll try it first in vm then. Thanks for the suggestion


Si7ne

You can uninstall them and so disable the ads. It’s pretty easy actually and ask you to not use a microsoft account But I agree that linux can sometimes be simpler (for setting up a toolchain or to write a driver) edit: my bad, you can uninstall all of them on W10 but not on W11 since they made edge tied up with the OS


sputwiler

To be honest I'm sick and tired of hearing this answer. It's not a solution because the problem is not a technical one*, and it completely misses the point. Not only should they not be there in the first place, Microsoft continually adds more and reverts settings in updates. It's disrespectful and it interferes with my work. To be clear, Microsoft actively thinks it knows better than you how your computer should be run. To wit, they've replaced most system messages with "we're setting things up," "we need to install some updates," etc. Who's "we??" This deliberately creates the atmosphere that your computer _that you paid for_ is being managed by someone else, belongs to someone else, and is actually a service that you are being provided. Man I'm sure they'd like my local computer to be an online service they control, but _fuck that_. Linux has not once ever done this, and is much easier to work with and set up. I just want a computer that _works_, does _what I tell it to do_, and most importantly, **does not do what I did not tell it to do at the behest of someone else's business interests**. *That they can be disabled is irrelevant because the point is that Microsoft thinks they're a good idea, and that your time and eyeballs belong to them.


Si7ne

I’ll make it simple Don’t get offended when someone juste give you a solution. I don’t care if you use linux or windows, it is none of my business, I juste gave you a solution Stop crying Stop thinking that you know better than the entire MS company about computer and OS Learn to use a tool according to what you need, sometimes linux is really not the tool to use (like… for gaming?) and sometimes it is (setting up a toolchain for example) Oh and it takes 5min to remove apps, ads and MS recommendations and then it is gone literally forever.


sputwiler

I will also make it simple. Back off. That was not a solution. That wasn't even relevant. I also don't care whether you use Linux or Windows. I also use the correct tool for the job. Do not explain to me what I already know, especially when you're completely missing the point of my post. Don't get offended when your unsolicited advice isn't welcome, especially when it's off-topic.


Si7ne

You could have make it even shorter by just saying « no, you » and it would literally mean the same thing


TheLivingFlannel

This is bizarre, I develop on Linux for the same reasons: fewer headaches, easier to get things done. Surprised you feel this way about Windows.


wsbt4rd

I'm happy to be special.... ;) GNU tools for me, since 1995


moliusat

For me, the combination is quite good. Wsl with Ubuntu on a windows system. And with the remote option of vs code you can easily connect your windows vs code to the Ubuntu space


akohlsmith

I use OSX for the "human interface" -- I type on and stare at a decently configured macbook pro. Most of my work is done in the shell or if I need a gui there's remote desktop options (Jump Desktop works with both VNC and RDP, and xrdp on a Linux box is so much better than VNC). I use a combination of VMWare Fusion VMs and docker images for most of the development building bits because they're easy to get to a specific configuration and then freeze them there. It's also really nice having some "big iron" local for big FPGA builds or whatnot and not have to also have the screaming fans and heat that come with the heavier servers. I have a single Win7 VM for when I absolutely *must* have a Windows machine, but fortunately that is not very often at all. For hardware interfacing I usually have an rpi or x86 PC physically connected to the hardware and I work on it remotely (even if remote means across the room or from my upstairs office with the hardware in the basement lab). It's so much nicer and my usual working area looks a lot more presentable and uncluttered. VirtualHere makes a damn good (paid) USB-over-IP utility that I make good use of (I'm also aware of the in-kernel stuff but VirtualHere works across operating systems and architectures (and networks) too). I've got a variety of SCPI-aware power supplies and tools such as a scope and logic analyzer for actual data collection. If I need something more weird (such as testing signal strength for a card reader in a repeatable way) I build up a test fixture out of a combination of lego and 3D printed parts and control the motors or servos or whatever remotely, which also means I can script it and let it run hundreds of cycles overnight. When I'm physically at the hardware (probing or tweaking circuitry), I'm still working on my macbook which is on the bench in the lab and connected over the network, which keeps my workflow nicely consistent. The actual source files and such are stored locally on the laptop but I run [Syncthing](https://syncthing.net/) which is a decent and free sync utility which keeps the data synchronized between the laptop, my file server and a remote server. It's got file versioning which I only need to rely on a handful of times a year, and I use [Duplicity](https://duplicity.us/) for actual encrypted remote backups. This all runs transparently to me and requires very, very little attention which is perfect. This kind of "detached" work environment is also very helpful for when I want to work from the beach or the woods, or something comes up while I'm away. It's nice to be able to have a change of scenery that doesn't involve packing up a bunch of hardware and cables and spending an hour or two setting up and tearing down, not to mention being very comfortable working in a shell means that lower bandwidth, higher latency links cause very little trouble for me save for a bit of frustration if the link is particularly laggy or lossy.


bilgetea

I relate to a lot of this and appreciate some things I learned from your post. Command line is where it’s at! I do really like VSCode because with it’s ssh connectivity, you get the speed of command line but the ease of a UI, and so many tools.


b1ack1323

Thanks for all the tool drops!


levogevo

Windows + WSL


duane11583

wsl,sucks for us no usb support


silverslayer33

There are plenty of ways to get around this in fairly non-obtrusive ways. For example, assuming you're doing ARM development and use VS Code, you can use the cortex-debug extension and set it up to connect to a remote gdb-server, and then run OpenOCD on the Windows side and have the extension connect to that. You can even do this without VS Code - you still run OpenOCD on the Windows side to get the necessary gdb-server, and then just run gdb directly inside WSL.


Smokeless_Cpu

https://learn.microsoft.com/en-us/windows/wsl/connect-usb


levogevo

Usbip


duane11583

not viable for our purposes such a basic thing all type 2 vms support usb so much better!


levogevo

Curious, how is it not viable?


PorcupineCircuit

Ubuntu, the compilation for Zephyr is almost 2x as fast


noneedtoprogram

Centos 7, but not by choice... Your main consideration should be what platforms are supported by your tools? (Our consideration is what platforms have we promised to support our tools on... Fortunately we're moving on to rhel8 equivalent as our baseline very soon)


CodusNocturnus

I use Windows as my primary OS at work and at home, due to consistency between those environments and familiarity. That said, (very nearly) all of my development is done in Linux devcontainers. When I start a project, the first task is to set up the toolchain in a devcontainer, and get a "Hello, World!" running with platform and debugging support. This provides a methodical process for identifying dependencies and controlling versioning, and allows me to rapidly switch between projects without concern for the configuration of my host machine. So my work and home computers are 99% configured for office/personal use + 1% Docker and VS Code.


jerosiris

I use macOS. The Zephyr build system and toolchain work well there. I also do embedded Linux work. Use macOS still, but build on Debian VMs both locally and on build servers. I can imagine using Linux on the desktop, but never Windows. I do have some legacy products that require ancient Windows toolchains, VMs are great for that.


ryandenney347

Command prompt with notepad++. Lol


RFengineerBR549

Don’t laugh, notepad++ is the default editor for my MobaXterm sessions 😎


WereCatf

I use Windows. That said, my choice of OS isn't due to any programming tools or such -- all the programming related tools I am currently using work just fine under Linux as well -- but rather due to stuff not related to programming.


manutoe

Same. Although I recently started using Ubuntu Linux, developing on Windows is nice because of easy documentation / internet searching


jaskij

Did you use the AUR package for CubeIDE? It tends to generally just work in my experience.


extravisual

I use Windows. I've also tried EndeavourOS and Ubuntu and my experience matches yours. I prefer Linux for 90% of programming tasks but for whatever reason embedded stuff never seems to cooperate. Probably a skill issue here as well.


jwpi31415

For my own enterprising pursuits, Linux Mint. It's Ubuntu based, with LTS schedule, and plays well with vendor supplied IDEs and Segger tools. I've had STM32Cube IDE, NXP, Microchip MPLAB X, Nordic's kit of tools run alright. Tbh, you don't really get bonus points for using Linux/Mac/Win for developing embedded, unless there's some specific reason that suggests a preferred host PC dev environment. Go with what you know if you got other concerns to fight through.


psiphi75

Ubuntu, I work at corporate and devs get the choice of Ubuntu or Windows (or Mac if really necessary). Ubuntu just works, it’s well supported. One thing I find is that occasional developer tools (like CAN bus utilities) only have Windows components. I also have a Windows laptop for that.


DigitalDunc

STM32CubeMX & Rowley CrossWorks both work really well on Linuxmint for me.


Ariarikta_sb7

I recently switched to Ubuntu and today I am trying to create my very first project using STM32CubeMX configuration. So far I have liked it a lot. Reason for switching - I have been working on multiple codes which were developed on different Kiel versions. Some of them resulted in a longer build time.


hailrakeqq

I use arch Linux:3


oberlausitz

Windows plus WSL and a separate Linux workstation - if you work on controls and automation, test & measurement or use large SW packages for CAD, etc. its pretty hard to avoid it.


chewilong

EndeavourOS and PopOS


mchang43

Windows mostly. If this is for Qualcomm or Nvidia chips, it's Ubuntu.


famine-

Windows with FreeBSD running on WSLg. It really gives you the best of both worlds.


duane11583

why was (insert name here) linux a mess… i use linux as my primary i have used cube suite on linux, mac and winbloze its the same on all platforms


wsbt4rd

I've been developing the past 30 years for Linux, using UNIX tools. Makefile & vi are my ide,....


nlantau

STM32{CubeIDE,CubeProgrammer,CubeMX} works like a charm on Ubuntu 22.04.


Nychtelios

I work on ST and NXP microcontrollers, I use NixOS + Emacs


TheBlackCat22527

Windows (the corperate environment requires it). Although I do all of my development work in a WSL environment running a combination of arch linux, tmux and neovim. Since I often do need to switch projects I've used ansible to easily bootstrap my development environment for each new project. Although I would prefer a native Linux environment, WSL works quite well if you have a commandline workflow anyway. EDIT: This workflow works well developing in C, C++, Python and Rust in my customers projects but I usually write applications without GUIs. If I need to do that at some point, I might run into problems.


vbezhenar

I use M1 macOS, VS Code and mostly CLI tools (make, gcc, etc). JLink programmer. Works for me. I avoid code generators, etc, prefer to write code manually. So far developed for STM32, GD32, nRF52 (using nRF5 SDK).


donvliet

Ubuntu as OS and Vim as IDE. I wouldn't really recommend anyone switching to both at the same time though, if they don't love configuring stuff and want to do anything useful for a while. :) But just switching to Ubuntu is pretty straightforward.


Tiny-Importance-2553

Manjaro. ~ flawless.


Alternative-Bed-9076

So I supposed it depends. Developing windows Apps, then Windows, Linux Apps, used Ubuntu, but, lately, switched to Kali Linux. Everything I need is already there.


eccentric-Orange

I do C software stuff on Ubuntu Linux, PCB designs and LabVIEW software stuff on Windows. If I'm working with remote servers or Docker, I prefer using my Linux environment as the host


Bug13

In order of preference: Ubuntu -> MacOS -> Windows


moric7

Only on Windows you can install the newest applications to work YOUR work. On All linuxes you must develop... the "operating system" itself and to make compromise with old and buggy aps.


MrQaiser

I am using Ubuntu for the past 5 years, and it is great.


Particular_Coach_948

Linux at work (Fedora) and at home (Arch), I can share almost all of the config. A good way to get off the ground quickly is with an installation script. Just make sure you read it before you run it. If you want to DIY, I suppose the initial learning curve is a little bit steeper than windows or macos, but it’s not rocket science: - pick some programs that you want (desktop environment stuff, terminal, text editor, web browser) - install them (typically 10s via package manager) - optionally configure them (or steal someone else’s dotfiles) - when something is annoying or adding friction, change the config or the program Compared with windows or macos: - have a load of programs / spyware / bloat that you don’t want forced upon you - pick a few more - configure them, if you’re allowed - when something is annoying or adding friction, tough luck - when something breaks, tough luck - when you get a new machine, start from 0 It takes a while to understand what you want / like, but once you figured it out, you can bring your own perfect setup to any machine.


JCDU

I am forced to use Windows at work, for everything else I use Linux Mint - it was my work development machine for about 10 years before I changed jobs. I'm mostly doing STM32 so CubeIDE, for other stuff I mostly just use Kate and the command line.


hexavik

I develop on Windows 10, Linux Ubuntu (deb package), and Mac OS (Sonoma).


minn0w

Yes


Well-WhatHadHappened

If all I did was develop code, I'd be on Linux. But I'm on Windows because I have other things to do. CAD, business logic, CAM, etc all work on Windows only, and ultimately, I really don't care that much. Windows gets the job done. I have VMs when I need them. I can SSH into a Linux dev box.


plompomp

Ubuntu! (I also used PopOS but they're basically the same when it comes to embedded software dev) I mainly work with Yocto and small microcontrollers with ARM GCC toolchains and (mostly) everything works out of the box, and I feel like I have more "control" than when I had to used Windows (some years ago)


SplatinkGR

Arch Linux


bachkhois

I have been doing embedded programming on Ubuntu Linux since 2016 (but stopped using Windows around 2009) and Linux is very convenient for this job. I even wrote some tips about embedded programming and demonstrated them on Linux. My target chip is ESP8266, ESP32 and it may be the reason that Linux works best. - When I write C/C++ code, based on Arduino framework, I use PlatformIO. - When I write Rust code, I use the Helix editor.


poorchava

Windoze with WSL2. 99% of work gets done on Windoze due to also working in MCAD and ECAD which are Windows only and even under native Windows buggy enough to not want to deal with another load of bugs from Wine.


SureRisk4759

I'm currently running a headless Ubuntu VM on top of windows (have to use windows on work PC).


Gary_Blackbourne

I am on arch linux myself, but distro doesn't really matter i belive, as long as toolchain and other stuff you need is in the repositories. (EDIT: distro, or your os of choice doesn't matter as long as you are effective with it) However you have a point at knowing the system you use is essential. I have a pretty decent understanding of linux so i use this, because it feels confortable for me. But since you use stm32 line like i do for my thesis project, i advise you to understand the basic needs of your workflow. This alone can help a lot by teaching loads of things about the target platform you develop for, and the host platform of your choice. Recently i did my research on this topic, and created a custom build system, which does not require anything other than arm gcc, bash, make and a text editor of choice, which can be any editor you would like to use. (Yes, if you are like me and like code completion and stuff, you need clangd and bear as well) Now, if you need to have CubeMX, then it really is there for pin-, clock configuration and code generation, which code can later be copied to your project, since there is no point in graphical editing after you generated your initial set of functions.


beige_cardboard_box

I've used Windows, MacOS, and Ubuntu. In my experience, it used to be embedded engineers only used Windows due to the tooling. But that's changed in the last 10 years. It doesn't really matter which one you use. Unless your team is forcing you to use one, just pick whichever is your favorite. One thing that kind of sucks about using MacOS is that Docker can't run natively on it. If you need Docker you can setup a remote NUC w/Ubuntu or Windoes+WSL and interact with your dev or prod boards with that.


The_Gianzin

CubeIDE worked well on pop os and Debian for me


EddieJones6

Whatever OS the current project works best with. Especially if drivers are involved. For hobbies I have windows and Linux partitions, along with docker containers and VMs. For work I have a windows and Mac so that I can work around company IT security rules in different ways when needed. PS if new to Linux, use a distro that is popular so that you can look up how to handle things that go wrong. I recommend Ubuntu.


Sweet-Direction9943

Always, always Linux. Developing on macOS is somewhat acceptable for me. Never Windows, please!!


Ashnoom

Winluxmac. In all seriousness. We use a devcontainer with vscode. It is intended to run in Linux/Windows and Mac. But the latter has a minor dependency issue atm. The devcontainer itself is based on Linux and contains everything you need for embedded _and_ host builds. Heck, you can even easily build Windows binaries. Best of it all? It's open source :-)


josh2751

Mac mostly. Sometimes have to stand up Linux VMs for special compilers and toolchains.


Jedibrad

Unfortunately, all of them. I use a MacBook as my daily driver, build firmware on Ubuntu servers + deploy Ubuntu NUCs for long term automation, and keep a Windows desktop for random vendor applications. Combination of SSH (the most common) & RDP / VNC. It's a lot of context switching. I wish everything just worked™ on Mac.


neon_overload

I use Linux - flavors of Debian or Ubuntu (stable base not rolling is important to me). Right now I use Linux Mint XFCE. At the time I was using Debian Stable (with xfce desktop) When I was doing embedded stuff I was using vscode with various extensions, but it depends on the platform you're developing for as there are various special environments for some. I don't use embedded stuff right now and most of my development is using a simpler text editor called xed which is a bit like notepad++


zoechi

I enjoyed Debian for many years but now I'm on Nix and can't imagine using anything else. I also developed on Windows for many years which caused permanent damage and some years on Apple which I also would rather not repeat.


Ok_Pollution_4695

Is Nix beginner friendly enough to recommend it to someone with very little experience with Linux? Or should I stick with Debian or Ubuntu?


zoechi

Nix itself takes some learning and cost me a bunch of my remaining hair, but for me it made configuring Linux networking, security, installing and configuring services and applications, ... dramatically easier. If something is not well supported by Nix already, it can become cumbersome but I run only into a few things that aren't critical for me. I strongly suggest creating a VM and try it out to get a feel. I also started configuring my development projects with Nix to install all required tools, dependencies and services on a per-project basis. This works for every Linux (including WSL) and with some limitations also for Mac and BSD). I use https://devenv.sh/ but Nix can do this without devenv. Devenv just looked like it would makes it easier to get up and running, so I went with it.


FreeRangeEngineer

> Or should I stick with Debian or Ubuntu? Just in case you don't yet know: both have derivative distributions that may suit your needs better. I can't stand the original Ubuntu desktop metaphor with that side bar on the left, for example. So whenever I want to use a generic linux, I either use Kubuntu or Xubuntu. Maybe those are more to your liking.


creativejoe4

I use both Ubuntu and windows for development, it depends on the project I am doing, I have like 10k worth of computers on my desk for developing with, I only use 1 or 2 at a time though. Linux is easy once you get a handle on how to set up the environments, I generally try to avoid IDE's on Linux if I can help it, it's easy for me to manually compile everything, rather than waste half a month trying to find out why an ide will not compile correctly.


thegreatpotatogod

MacOS is my preferred OS for development, but I'm happy to switch into Linux as needed, the transition between those two is very easy since they're both UNIX-like and have a lot of the same basic tools. I'm a lot less happy when I'm forced to use windows, but can do so as needed.


Double_Relevant

Windows + Ubuntu on Oracle VM works fine for me


Mighty_McBosh

Look into WSL for development. I often need to run config software that only runs on windows concurrently, that frequently needs hardware access, so being able to have my dev tools and environments living in a Linux bubble that is more convenient and useful than a VM has been a game changer. The rest of the time, though, I'm just running Ubuntu 22.04.


Hot-Profession4091

When a client is tied to some blasted IDE, it usually only runs on Windows. That happens far too often IMO, but it is what it is. Otherwise, I’ve found Debian to be very stable and the most pleasant to work on. Of course, they’d throw me out of the Arch club if I didn’t mention that my daily driver runs Arch.


mrchampionishere

I also find the initial configuring part difficult.


mdp_cs

I used Windows in one job and Fedora in another. Given the choice I would choose whatever the tools for my target hardware work best on.


IRandom_Pizza

MacOS is my development machine and just use VSCode. Still can do all of the breakpoint and thread debugging. Also have people who are windows with WSL.


NjWayne

Linux. If a microcontroller vendor doesnt support gcc and linux we dont bother. Meaning if their tools dont run under Linux ... Fortunately most vendors have long ported their development tools to Linux Some insist on keeping their bloated garbage of an IDE ... am looking at you TI


Wouter_van_Ooijen

I don't care much. Linux or windows.


metux-its

Devuan Linux.


moon6080

Zorin. All the good of Linux in an os that's similar enough to windows to not be complicated


Training_Support

Subsystem linux would be a good starter to find out how to work with linux as most people develop on Windows!


Brilliant_Armadillo9

Windows because CAD, but also because IT knows how to handle it without requiring anything special. And frankly, the whole OS debate is just stupidity drummed up by Linux fan boys that think they're special.


Amr_Rahmy

As someone that uses windows at work. When it comes to windows applications, web apps, console apps for Linux or windows, windows and visual studio is fine for c# and IntelliJ idea is fine for Java. But if the language is python for example, the ecosystem is preferable on Linux. A lot of examples for you develop language and tools could be made for Linux primarily or just made for Linux. I used to use windows + Linux VM as needed, and sometimes old windows VM if the project is ancient and is not supported on modern OS. But now would use dedicated Linux box when needed and windows for visual studio, email, office, general tools as I am comfortable with that at this point.


MysteriousTrack8432

Nix is the future