I have seen people recommend doing development under Linux rather than Windows. Can anyone give me a list of reasons for or against using Linux for the development environment? I'd like to present a case to my bosses.
I have seen people recommend doing development under Linux rather than Windows. Can anyone give me a list of reasons for or against using Linux for the development environment? I'd like to present a case to my bosses.
It can be beneficial to leave the build tools portion of the dev environment in the data center (or cloud), so that you don't need to manage it (or at least, you can manage it separately to your personal computer). Otherwise, you're reliant on a top end PC to perform the builds quickly, and also reliant on nothing breaking by accidentally installing/uninstalling other software on it (if say you're not using Docker or similar).
If the build tools are not on your PC, then you're now totally free to use Linux or Windows or even Mac as your PC, it makes no difference, and you can use the tools of your choice, e.g. Visual Code, command line, or whatever.
In many orgs, there is separation of storage, and build environment, and the developer's PC, i.e. three separate entities at least (the first two can be in a cloud of course, if desired, although it usually is), and that way, the developer can choose their PC of their choice (provided the IT department are willing to support it).
With such a setup, often the build tools portion can be a PC or VM in a cloud etc., running Linux, but doesn't have to be. For instance, Raspberry Pi org use Linux, actually running on a load of Pi's, as their build server (or at least they did, according to an old blog post). Equally, other firms could well be using Windows. Depends on the tools, what the org can support, and what the people maintaining that are comfortable with, provided it meets the technical needs as well of course. The end PC used by the developer can then be a far lower-cost machine too.
It can be beneficial to leave the build tools portion of the dev environment in the data center (or cloud), so that you don't need to manage it (or at least, you can manage it separately to your personal computer). Otherwise, you're reliant on a top end PC to perform the builds quickly, and also reliant on nothing breaking by accidentally installing/uninstalling other software on it (if say you're not using Docker or similar).
If the build tools are not on your PC, then you're now totally free to use Linux or Windows or even Mac as your PC, it makes no difference, and you can use the tools of your choice, e.g. Visual Code, command line, or whatever.
In many orgs, there is separation of storage, and build environment, and the developer's PC, i.e. three separate entities at least (the first two can be in a cloud of course, if desired, although it usually is), and that way, the developer can choose their PC of their choice (provided the IT department are willing to support it).
With such a setup, often the build tools portion can be a PC or VM in a cloud etc., running Linux, but doesn't have to be. For instance, Raspberry Pi org use Linux, actually running on a load of Pi's, as their build server (or at least they did, according to an old blog post). Equally, other firms could well be using Windows. Depends on the tools, what the org can support, and what the people maintaining that are comfortable with, provided it meets the technical needs as well of course. The end PC used by the developer can then be a far lower-cost machine too.