• Aceticon@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 hours ago

    It very much depends on what you’re developing for.

    Back when I did server-side development (which almost invariably is targetting Linux servers), having Linux as my dev environment was much better if only because I could run parts (or even all) of our server code directly in my machine configured as a Dev Environment.

    However, for example, for Game Dev running Linux is much more of a problem because some tools are for Windows and you have to jump through hoops to make it run in Linux, if at all.

    If you’re doing development on internal frontend systems for use by the Business side of a non-Tech company, then Windows is almost certainly the best dev OS because the software is meant to run in Windows machines (as that’s what the Business runs, unless we’re talking about creative companies, in which case it will be Mac) so the very same reasons why Linux is better for server dev apply here for Windows - it way more straightforward to develop in a machine where you can directly test at least parts of the code within the OS it will be running in.

    Yeah, you can run virtual machines or deploy to a dev server, but that just adds extra steps and hence extra overhead for frequently done things like running small snippets of code whilst developing just to check it’s working as expected.

    Then there’s the whole big company vs small company side of things: big companies have dedicated IT Support people and those will naturally try to standardize things for the obvious reason that it’s way more effective (same thing in dev, by the way, good Technical Architects try to keep the number of programming languages used low because its generally more efficient to have libraries, frameworks, maintenance and hiring practices around a smaller number of languages than it is to do it for many languages) which in turn means that in large companies “everybody gets the same” is an almost unassailable policy except for top-level management.