Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

So I hoped to get an answer from an experienced user.

 

I've been doing CS a year now, and people are recommending me to use Linux. Whenever I ask them ''what benefits does Linux have over my Windows system'' they usually don't answer. So what I'm trying to look for in an answer is whether I can have both Linux and Windows on the same PC if I want to fall back, and what the biggest differences and or benefits are for me as a developer. I want to also keep Windows because I like to play games from time to time. 

 

Curious to try out something new, so if you could share your personal experience (good or bad), it's highly appreciated. 

Link to post
Share on other sites

In my opinion and experience, the only reason(s) one should use Windows is if:

 

1. They are required by their job or school to have Windows on their device

2. The majority of the games they play use kernel-level DRM and/or anticheat, rendering the game completely unplayable even with Proton

3. They absolutely rely on the full (not online) Microsoft Office suite, Adobe CC, etc, and cannot live with either cloud versions or alternatives (such as Libreoffice or Openoffice)

 

So you might as well try it out. No harm in doing so, and you can always just run it from a USB.

Quote me to see my reply!

SPECS:

CPU: Xeon X5650 OC'd to 4.2GHz @ 1.35V (courtesy of @XR6)Motherboard: Asus Sabertooth X58 RAM: 4x4GB G.Skill DDR3 1866MHz GPU: Asus RX 570 Strix Storage: WD Blue 1TB and a 128GB Kingston UV400 PSU: EVGA 600B Case: Fractal Design Define C Cooling: H100i V2, be quiet! Pure Wings 2 (two intake, two exhausting through radiator) Monitor: 3x Dell P2210 on a Steelcase Eyesite triple monitor stand Mouse: Logitech G403 Prodigy Wireless Keyboard: It changes, but usually Focus FK-9000 Mousepad: Steelseries QcK XL Headphones:  Sennheiser HD598SE

 

 

 

 

i use arch btw

Link to post
Share on other sites
3 minutes ago, NeuraCode said:

Whenever I ask them ''what benefits does Linux have over my Windows system'' they usually don't answer. So what I'm trying to look for in an answer is whether I can have both Linux and Windows on the same PC if I want to fall back, and what the biggest differences and or benefits are for me as a developer. I want to also keep Windows because I like to play games from time to time. 

I don't recommend Linux on the desktop and I also don't recommend dual-booting. Yes, you can have both Windows and Linux on the same PC and that is called dual-booting, but there are plenty of things that can cause trouble. Besides all that, I'd just recommend you try something like e.g. Ubuntu Linux in a virtual-machine and seeing what you think of it.

 

Linux is open to a far greater degree of customization and it's an excellent server-platform. It's typically rock-solid, it's available for an enormous range of hardware, far greater than Windows, and it often can extracts more performance out of those platforms as well -- heavily multi-threaded workloads, like scientific simulations, are almost exclusively run on Linux.

 

I've been personally using Linux since the 90's in all sorts of forms: on SBCs, on routers, on servers, desktop, laptop etc. I still stick to Windows on my desktop and laptop and use Linux in a VM or over SSH on my servers and routers.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to post
Share on other sites

Linux is a lightweight OS, based on Unix. It's primarily CLI (command line interface) driven OS, but there's obviously GUIs available. Being open source, there's also a ton of different variations, from totally stripped down versions like Alpine, to more user friendly versions like Mint or Pop!, to full enterprise-class versions like CentOS, RedHat or Fedora.

 

The reason people will recommend Linux for programming is because of the rich CLI. For real programming, a command line is essentially, and historically, the Windows command line has been garbage. However, the situation has improved dramatically. PowerShell has evolved to be really powerful, and is actually even cross platform now, and Windows introduced WSL, which let's you run Linux shells in containers, to facilitate working with either Windows or Linux even at the same time. You can even do cool stuff like open a file in Linux with a program in Windows, and vice versa.

 

Personally, I think Windows now is actually the best environment for development, as you get the best of all worlds.

Link to post
Share on other sites

From what I understand, Linux is a free, open source operating system that allows you to interact with the OS itself using a command line interface

 

CPU: Intel Core i3-4310 @ 3.40 GHz

GPU: Intel HD Graphics 4400

Ram: 1x4GB 800MHz DDR3 

 

Link to post
Share on other sites
13 minutes ago, NeuraCode said:

So what I'm trying to look for in an answer is whether I can have both Linux and Windows on the same PC if I want to fall back

You can dual boot.

 

13 minutes ago, NeuraCode said:

what the biggest differences and or benefits are for me as a developer.

For CS I asume you mean C#, .Net is alot less common in Linux, where Languages like C, C++, Python, Rust are more favored.

For .NET you will be using Mono, which may or may not be different than the implementation on Windows.

For things like C and C++, you will need to learn to use Makefiles. Things like Visual Studio in Windows do something similar for you, but its completely automated, in Linux you will be making them.

Most things are expected to be open-source. If it's not, it will likely get pushed to the side in favor of something that is.

If you plan to target both Windows and Linux, you will need to familiarize yourself with cross-platform SDK's, you can also look at QT

If you plan to do web development or work with Databases, it will be pretty much the same.

If you use applications like 3DS MAX or Photoshop, you will need to learn to use alternatives.

 

You are free to customize Linux to fit your workflow.

Some people like the GNOME Desktop Environment because it stays out of the way.

Some people like me like the KDE Plasma Desktop Environment because its heavily customizable.

Some people like a file manager that has tons of features built in, some like a rather basic file manager like what you get in Windows.

 

So basically, Linux biggest advantage is customization and you are free to do what you want with it.

 

You should only switch to Linux if you like Linux. Download a couple distros, give them a spin and see what you think. If you like it, make the switch, if you don't then don't.

 

https://manjaro.org/download/

https://ubuntu.com/download/desktop

https://pop.system76.com/

https://distrowatch.com/dwres.php?resource=major

Link to post
Share on other sites

As a counterpoint to the benefits of Linux, have my tales of woe.

 

My biggest gripe with Linux is I have never had it work out of the box on a system I would actually want to use. Desktop with a GPU? Screw you here's a random black screen. Uncommon wireless hardware? You don't deserve WiFi. High DPI display? Take a hike nerd have these tiny icons. Laptop with Nvidia Optimus? Do it manually.

 

For all its faults, Windows has worked flawlessly on these all these machines I described WITHOUT spending hours digging through forums and config files, and that's more valuable to me than the benefits Linux brings. And combined with WSL and a VM I have yet to find something I could do on Linux that I can't do on Windows.

¯\_(ツ)_/¯

 

 

Desktop:

Intel Core i7-3820 | Corsair H100i | ASUS P9X79-LE | 16GB Patriot Viper 3 1866MHz DDR3 | MSI GTX 970 Gaming 4G | 2TB WD Blue M.2 SATA SSD | 2TB Hitachi Deskstar HDD | 1TB WD Black HDD | Corsair CX750M Fractal Design Define R5 Windows 10 Pro / Linux Mint 20 Cinnamon

 

Laptop:

Dell XPS 15 9560 4K Touch | Intel Core i5-7300HQ | 12GB Generic (Crucial?) 2133MHz DDR4 | Nvidia GTX 1050 | 256GB Toshiba M.2 NVMe SSD | Windows 10

Link to post
Share on other sites
5 hours ago, NeuraCode said:

I've been doing CS

Linux and Windows have different benefits (and drawbacks) depending on your use case. For a CS student there are definitely a lot of benefits:

  1. compilation toolchains make infinitely more sense on Linux - seriously, it's night and day
  2. the terminal is more customizable and useful (even though powershell has made some big steps forward), particularly when handling text files
  3. Linux distributions have used package managers for decades; these are tools that let you install almost any software that is available for your system with a single terminal command (without having to look for installers on the internet) and let you keep everything up to date, again, with a single command
  4. a lot of developers use Linux for their personal projects (see above to know why) and therefore a lot of development oriented open source utilities and libraries are written with Linux in mind and are only ported to Windows as an afterthought - if at all
  5. you can literally edit the source code for almost anything on a Linux system, which can be extremely helpful for understanding how an operating system works (though of course you could also edit Linux on a Windows system if you wanted to).

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

What is scaling and how does it work? Asus PB287Q unboxing! Console alternatives :D Watch Netflix with Kodi on Arch Linux Sharing folders over the internet using SSH Beginner's Guide To LTT (by iamdarkyoshi)

Sauron'stm Product Scores:

Spoiler

Just a list of my personal scores for some products, in no particular order, with brief comments. I just got the idea to do them so they aren't many for now :)

Don't take these as complete reviews or final truths - they are just my personal impressions on products I may or may not have used, summed up in a couple of sentences and a rough score. All scores take into account the unit's price and time of release, heavily so, therefore don't expect absolute performance to be reflected here.

 

-Lenovo Thinkpad X220 - [8/10]

Spoiler

A durable and reliable machine that is relatively lightweight, has all the hardware it needs to never feel sluggish and has a great IPS matte screen. Downsides are mostly due to its age, most notably the screen resolution of 1366x768 and usb 2.0 ports.

 

-Apple Macbook (2015) - [Garbage -/10]

Spoiler

From my perspective, this product has no redeeming factors given its price and the competition. It is underpowered, overpriced, impractical due to its single port and is made redundant even by Apple's own iPad pro line.

 

-OnePlus X - [7/10]

Spoiler

A good phone for the price. It does everything I (and most people) need without being sluggish and has no particularly bad flaws. The lack of recent software updates and relatively barebones feature kit (most notably the lack of 5GHz wifi, biometric sensors and backlight for the capacitive buttons) prevent it from being exceptional.

 

-Microsoft Surface Book 2 - [Garbage - -/10]

Spoiler

Overpriced and rushed, offers nothing notable compared to the competition, doesn't come with an adequate charger despite the premium price. Worse than the Macbook for not even offering the small plus sides of having macOS. Buy a Razer Blade if you want high performance in a (relatively) light package.

 

-Intel Core i7 2600/k - [9/10]

Spoiler

Quite possibly Intel's best product launch ever. It had all the bleeding edge features of the time, it came with a very significant performance improvement over its predecessor and it had a soldered heatspreader, allowing for efficient cooling and great overclocking. Even the "locked" version could be overclocked through the multiplier within (quite reasonable) limits.

 

-Apple iPad Pro - [5/10]

Spoiler

A pretty good product, sunk by its price (plus the extra cost of the physical keyboard and the pencil). Buy it if you don't mind the Apple tax and are looking for a very light office machine with an excellent digitizer. Particularly good for rich students. Bad for cheap tinkerers like myself.

 

 

Link to post
Share on other sites

The answer to this question depends hugely on what kind of development work you're doing. So I'll answer the question assuming that your work flow involves mobile development, and web/cloud work.

 

The major benefit of Linux used to be that it would allow your dev system to be exactly the same as your production system. I used to write code on a Ubuntu 8.04 machine and deploy to Ubuntu 8.04 machines. It was pretty great. Made debugging really easy. However, those days are over. Unless you're deploying to a Windows Server* your dev machine will always be a different OS from production.

 

For cloud and for mobile you're almost definitionally using a different OS than what you're deploying to. If you don't need iOS or Office 365 apps**, I think Ubuntu Linux is the best OS for a developer. Key cloud tools like Docker, Kubernetes and Ansible run natively on Ubuntu. Android Studio works similarly well on Ubuntu, and the emulator is pretty good. It's this native toolchain support that Sauron also mentioned which really makes Linux in general and Ubuntu in particular, such a good place to develop.

 

* My condolences if that's your workflow. F

** If you need iOS or Office 365, macOS is the way to go.

Link to post
Share on other sites
  • 2 weeks later...
Quote

So what I'm trying to look for in an answer is whether I can have both Linux and Windows on the same PC if I want to fall back, and what the biggest differences and or benefits are for me as a developer. I want to also keep Windows because I like to play games from time to time.

Yes. You can have both OSes installed simultaneously -- either on separate partitions or on separate disks if you have multiple disks installed.

 

I've been in the Gentoo camp for a long time now. The thing about Gentoo is that you compile almost all software on the system from source. That makes the system easy to customize and optimize. Running Gentoo also helped me get a much better understanding of the inner workings of software and how different components of the system interact with each other. Gentoo isn't for everyone, but it will definitely give the user some valuable experience that won't be gained from other distros that do everything for you.

 

In any case, I highlight Gentoo, but in a more general sense I like the fact that compilers and other software development tools tend to be more...I don't know if "integrated" is the right word, but more at home as a part of the system instead of feeling like a tack-on as in Windows. As a developer, I think you'll gain an appreciation for how other operating systems do things, and you'll be better equipped to write software that is multiplatform instead of being locked into a single (Windows) ecosystem and be ignorant of how to write code that is easily portable across platforms. By the same token, I'd recommend getting some experience with FreeBSD too. It has been said that FreeBSD is engineered whereas Linux evolves. There are definitely differences in ideology which are reflected in the technology, and seeing those different ways of doing things can help you gain a more well-rounded understanding of technology and software design.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×