PDA

View Full Version : Linux Recommendations



Arcane_Secrets
2021-09-05, 12:16 PM
As a previous although old thread demonstrates, I'm not exactly great with the more intricate details of computer programming...but I clearly want to get better. As a start towards this, I've got an older computer that I'm willing to convert to a Linux machine, but I was wondering if the board had any good recommendations for Linux builds that are more tolerant of people getting started? I've read that Ubuntu was pretty good but I'd like to see what some other people have to say before I make a final decision. I don't intend particularly to do all that much gaming on this machine anyways.

Manga Shoggoth
2021-09-05, 02:15 PM
When I was experimenting I tried Ubuntu and CentOS, and for my work-based stuff we are generally using CentOS.

With most of the modern Unix/Linux variants I don't think it really matters unless you have some very specific requirements. The desktop environments seem to be fine in either case (and you can generally pick and choose desktops, as I recall).

Ubuntu is probably fine for your purposes, but it isn't difficult to slap both on to DVDs and experiment - if you don't want to muck around with multiple installations I seem to recall Centos at least having a "boot and run from DVD" option.

factotum
2021-09-05, 02:48 PM
Well, first off, why do you feel you need to install Linux to learn computer programming? There are just as many programming tools available for Windows, heck, even Microsoft provides pretty much the entire Visual Studio suite for free these days. Assuming you do also want to fiddle around with an alternative OS as well, I'm a fan of Linux Mint--it's based on Ubuntu so has access to that ecosystem of programs etc., but I vastly prefer the Cinnamon user interface you can get on it to Ubuntu's variant.

Do bear in mind that installing and using Linux is rarely as seamless as Windows, though. Just as an example, I just installed Linux on a streaming PC I have attached to my TV purely as an experiment, but I couldn't even get it to boot into the "live CD" (actually a "live USB" since it was on a USB stick!) without modifying some of the boot parameters--it would just go straight to a black screen after POST and stay there forever. The laptop I'm typing this on also has Linux installed, and it has an annoying habit of randomly locking up every now and again and needing the old "hold the power button in until it switches off, then turn it back on" approach to get it back up and running. I know both machines ran absolutely fine when they had Windows installed, which is why my *main* PCs (the ones I actually use to get stuff done most of the time) don't run Linux!

Erloas
2021-09-06, 11:49 AM
The only reason to run Linux for programming is if you want to program specifically for Linux. You can easily use many of the languages that are cross-platform from either Linux or Windows. Even something like C++, unless you're doing something very complex or using a lot of backend OS functions, moving the the code from Linux to Windows or vis-versa would just require an OS specific compiler.

I would say that unless you know why you need Linux specifically, you're probably much better off coding in Windows, since that is clearly what you're most familiar with. There is also the question of why you want to code, if you want to build applications you're actually going to be using, are you going to be wanting to use them on your main Windows machine or the old Linux machine you're setting up just to code on?


Learning Linux is a valid option, but you should do it because you want to learn Linux, not because you want to learn programming.
I know I've used a Debian version at some point, and we have SUSE at work. I have tried at least 2 versions of Ubuntu as well, but I can only remember Mint at the moment, I'm pretty sure that's what I have on my old laptop right now.

Any of the versions Ubuntu are probably a safe choice, in that it will be much easier to find help and it is pretty widely used. I would give yourself about a week to get everything smoothly and just learning the idiosyncrasies of Linux. Also just expect installing anything new to have issues that you'll have to search for how to fix it and work around.
(There's a reason I've been hearing from die hard Linux users, for about 22* years now, how Linux is going to overtake windows and how it's so much better, yet still sits at like 2-3% of PC market share. It doesn't just work, you have to want to use it and be willing to spend a lot of time figuring out what is wrong.)

*I'm sure it's been going on longer than that, that was just how long ago I first ran into die-hard Linux users.

factotum
2021-09-06, 01:25 PM
There is also the question of why you want to code, if you want to build applications you're actually going to be using, are you going to be wanting to use them on your main Windows machine or the old Linux machine you're setting up just to code on?


You can theoretically do cross-platform development using Mono (on the Linux side), which targets something that's supposed to be largely compatible with the .NET Runtime on Windows, although I don't know how well that works in practice.

IthilanorStPete
2021-09-12, 12:21 PM
A few notes:


As mentioned, Ubuntu is a good basic choice for a distro to get started with. That said, Windows now has WSL (Windows Subsystem for Linux), which lets you run Ubuntu alongside/within Windows pretty easily.
C#/.NET runs fine on Linux with the newer .NET runtimes, but the development experience is definitely better on Windows; you can get Visual Studio's free edition, which works better than VS Code's C# support.
For programming in general, it depends on what language(s) you want to work with. Javascript/Typescript is fine on Windows, Java is fine on Windows. C and C++ are generally easier on Linux due to not needing to bring in the Microsoft toolchain. I'm not sure about most other languages.

factotum
2021-09-12, 03:21 PM
C and C++ are generally easier on Linux due to not needing to bring in the Microsoft toolchain.


I don't think you do need to use the Microsoft toolchain for those languages? GCC is just as available for Windows as it is for Linux. (Caveat: never used it myself so don't know the ins and outs, I just know it exists).

IthilanorStPete
2021-09-12, 04:09 PM
I don't think you do need to use the Microsoft toolchain for those languages? GCC is just as available for Windows as it is for Linux. (Caveat: never used it myself so don't know the ins and outs, I just know it exists).

For GCC, you need Cygwin on Windows, or use WSL. Don't know about Clang.

factotum
2021-09-12, 11:04 PM
For GCC, you need Cygwin on Windows, or use WSL. Don't know about Clang.

https://www.mingw-w64.org/

Cicciograna
2021-09-27, 10:42 AM
I would suggest Ubuntu because it is generally new user-friendly, and because it has a very large support community. Never underestimate the importance of support websites.

As for the desktop environment[1], if you are coming from Windows and want to somehow preserve the look and feel, go for KDE.

[1] "Desktop environment" refers to a group of libraries and components that define the graphical user interface of the operative system, and to other software that plugs into those libraries to provide the programs the user might need. For example, the KDE desktop environment provides a navigational file manager called "Dolphin", which is very similar to the Windows File Manager.

Arcane_Secrets
2021-09-29, 10:31 AM
I would suggest Ubuntu because it is generally new user-friendly, and because it has a very large support community. Never underestimate the importance of support websites.

As for the desktop environment[1], if you are coming from Windows and want to somehow preserve the look and feel, go for KDE.

[1] "Desktop environment" refers to a group of libraries and components that define the graphical user interface of the operative system, and to other software that plugs into those libraries to provide the programs the user might need. For example, the KDE desktop environment provides a navigational file manager called "Dolphin", which is very similar to the Windows File Manager.

Thanks; that's good to know. The odds are really high that I'll have a lot more questions once I actually try this or am getting particularly close to doing so, let alone have actually done it.

jayem
2021-10-02, 05:57 AM
I would suggest Ubuntu because it is generally new user-friendly, and because it has a very large support community. Never underestimate the importance of support websites.

As for the desktop environment[1], if you are coming from Windows and want to somehow preserve the look and feel, go for KDE.

[1] "Desktop environment" refers to a group of libraries and components that define the graphical user interface of the operative system, and to other software that plugs into those libraries to provide the programs the user might need. For example, the KDE desktop environment provides a navigational file manager called "Dolphin", which is very similar to the Windows File Manager.

As mentioned the choices are split differently to windows.

Ubuntu Linux makes sense for the Distribution and Operating System.

Regarding desktop environments
I like KDE, but it is (was) the most bulky, if the old PC still runs windows fine, there will be no problem.
If the PC has been basically unusable for years (or you use a Raspberry Pi) then it may struggle.

LXDE is potentially lighter and modular. Which has advantages and disadvantages. In it's default state it probably resembles Win95 more than anything.

You can of course mix and match, and indeed decide which to boot into at login.

factotum
2021-10-02, 10:05 AM
As mentioned the choices are split differently to windows.

Ubuntu Linux makes sense for the Distribution and Operating System.

Or Mint, or Pop, which are both Ubuntu-based, work pretty much exactly the same with regard to troubleshooting--they just have a different default UI.

wkwkwkwk1
2021-10-02, 11:52 AM
I will begin by echoing what others have said: you don't need to use Linux for programming, unless you want to fiddle around with the operating system itself. That said, I will encourage you to at least try out Linux, you might find it a pleasant experience! Do note, however, that the "Live USB" versions can be frustrating to work with. Here is my personal experience:

I have used Linux as my daily driver for the past two years or so, and it has served me well. I suppose I may have just been lucky, but I haven't had any major issues in two different laptops. The issues I did have were, for the most part, caused by my careless experimenting, and solved relatively quickly with an internet search and some elbow grease.

My experience with Windows has been much more frustrating, so I keep it installed only for specific software which won't run on Linux. Keep in mind that, if you wish to use Windows-specific software on Linux, there's a nifty tool called WINE which is meant to do just that.

As explained above, some desktop environments look more like Windows' than others, but for the most part you should find most things intuitive. One big difference you should notice straight away is that Linux takes up much fewer resources than Windows, and as such everything should run more smoothly, even on older computers.

If you keep an open mind and a can-do attitude, it should be very rewarding. :smallwink:


I like KDE, but it is (was) the most bulky

Not anymore (https://www.forbes.com/sites/jasonevangelho/2019/10/23/bold-prediction-kde-will-steal-the-lightweight-linux-desktop-crown-in-2020/), it seems :smallsmile:

Justanotherhero
2021-10-05, 12:11 AM
I would recommend Linux Mint for anyone trying out Linux for the first time. I have been using it on and off for a few years and the ease of use and resemblance of windows convinced me personally.

yilduz
2021-10-14, 10:41 AM
(There's a reason I've been hearing from die hard Linux users, for about 22* years now, how Linux is going to overtake windows and how it's so much better, yet still sits at like 2-3% of PC market share.)

It's the year of the Linux Desktop!
-Linux Desktop people, every year

:biggrin:

Ubuntu is good because it's user friendly... but it's not a proper production operating system. Learn it, because it is popular for end users and easy to learn, but don't stay exclusively in Ubuntu world. If you want to learn a Linux distro that is valuable in a production environment, learn CentOS. You'll probably actually want to learn Rocky Linux because for internal IBM politics reasons, CentOS is going to change soon. Rocky Linux is going to become what CentOS has always been (literally, exactly what CentOS has always been), but without IBM having a say in how it works. You don't really need to learn what the longbeards are arguing about, though. Let those nerds fight about things in the background, and you focus on you.

Windows Subsystem for Linux (WSL) mentioned earlier in the thread is also amazing. I use it every day for work and I'm extremely happy with it. I haven't run Linux natively on a laptop since that got good. If you want to simulate what a work environment will be like for many people, run Windows on your computer and use something like VirtualBox to run some Linux virtual machines (without the graphical desktop). You can then ssh into those Linux VMs for whatever Linux server work you need to do. Windows + WSL + Virtualbox gives you the best of all worlds.

ziproot
2021-11-13, 03:32 PM
I actually started with ChromeOS, as it makes you use the command line for Linux, but if you break it the rest of your computer is fine, and you can always get help along with logs at the same time (you can use neverware cloudready if you have a PC or Macintosh). I then went to Linux Mint, which in my opinion is more user friendly than Ubuntu, and then eventually MX Linux which I think is even better than Linux Mint. But really, any of the above options that have the Xfce desktop environment should be fine.

EDIT: The reason I said Xfce is because you mentioned having an older computer.

jhonalbert
2021-12-20, 02:05 AM
Linux Mint. Suitable for: Professionals, Developers, Students.
Manjaro. Suitable for: Beginners.
openSUSE.
SparkyLinux.

Yora
2021-12-20, 05:30 AM
I no longer endorse Fedora or KDE. It gets a new OS version every six months, and every time it breaks new things and KDE removes features that I've been using for years. I'll be not using it again when I get me a new computer.