this post was submitted on 26 Jun 2023
91 points (96.9% liked)

Linux

48330 readers
799 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

As the title says, I am currently learning to be a programmer, and my tablet does not suffice for the job.

I have already finished a small MEAN-Stack application for learning Typescript, learned some Java syntax (I expect nothing more exciting than a sorting algorithm, but exam language is Java, so...) and the next stop will most likely be plain vanilla C to learn about handling hardware.

Windows I hate with a passion, and I don't know squat about Macs, so I am thinking of getting myself a decently sized laptop for a sensible Linux install.

History (I started my Liux journey with SuSE Linux 4.4.1, way back when) taught me to be very wary of driver issues on laptops, so I thought I could ask you for recommendations that play fair with Linux.

(as an aside, if I could play GuildWars2 on it in the evening and attach my two big monitors when at home, that would be super cool)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Now Linux is obviously a great OS for development, but there's so much misinfo here.

Other people (MacOS/Winblows) will spend a significant amount of time trying to emulate a Linux environment.

It's 2023, most shit is either platform-agnostic (Anything front-end, Java, etc) or runs in Docker nowadays. Or both. I run plenty of Java shit in Docker despite the fact that it'd run natively on any major desktop OS. It's easier to guarantee an environment in a container than get a bunch of Linux users to agree on an environment. Otherwise you get one dev with Java 8 as default as per company spec and then another with Java 17 because some tool they use requires it and they're too lazy to set 8 as the default and invoke 17 specially for that use case.

Matter of fact, I know most companies I know people at, either use Macbooks or give you a choice.

Does it really take a significant amount of time trying to emulate a Linux environment? Eh, I suppose. I first install brew and THEN install docker. Whereas on Linux, I'd just use the distro's built-in package manager to install docker, because everything gets deployed in containers for k8s anyway, so why would I run it without docker locally and complicate things?

Linux is the correct (and only) choice for programmers

Also, funnily enough, according to the latest Stack Overflow survey, Windows is actually the most popular OS among developers. Probably because of all the ancient legacy win32 shit. MacOS is second, but if Linux wasn't split into different distros, it would likely be second (multiple choice survey, so y'know, can't just add them together linearly), but it'd be a close call anyway.

99.9% of the internet runs on Linux. When you get a job, you’ll most likely deploy to Linux servers

This part is technically true (I believe the real number is closer to 96%, with Windows Server and FreeBSD accounting for the rest), but it's highly irrelevant because most modern backend applications run on multiple layers of abstraction to the point where it doesn't matter if the development takes place in Windows, Linux or MacOS.

At the end of the day, I want my dev machines to always work, so they're Macs. My personal desktop is mostly used for gaming and tinkering, so it doesn't matter if I fuck something up and have downtime. That runs on Gentoo. That said, OP is a student and should use Linux precisely because they can probably afford the downtime so what better time to tinker? But for work, reliable and polished > tinkering and infinite customizability.> 99.9% of the internet runs on Linux. When you get a job, you’ll most likely deploy to Linux servers