What is so good about linux

What is so good about linux?

Hugh Wheaton

Guest

Darren Hale

Guest

First up welcome. Debian is a very good distro to learn with my distro of choice LinuxBBQ is based on it. The free part isn’t always about price it is also about user freedom some Software is charged for or can be according to the GPL.

What I like about Linux is being able to look under the hood and see the code and fix things where needed.

Take your time read up there is plenty of info out there like this site and progress at your own pace and enjoy.

Hugh Wheaton

Guest

arochester

Guest

You don’t need programming skills.
Tip: You do not need to type commands into the Terminal. Highlight the command written on the web page. Move your cursor anywhere in the Terminal and press your mouse wheel or mouse middle button. Automatic Copy and paste! No spelling mistakes! No Typos! No other errors!

JasKinasis

Guest

Sorry in advance for the TL;DR!

Other than a few proprietary, binary blobs in the kernel (usually drivers for hardware that certain vendors do not want to publicly disclose the source code for); Almost every software component available in Linux based OSes are free/libre software and have source code available. Most distros do include some non-free software. There are some distros like the GNU/FSF approved distro Trisquel, which remove ALL non-free software. Either way with very few exceptions, the source code is available for pretty much every single piece of software in any given Linux distro.

Where you actually get the source code from would depend on which distro you have installed. Usually the source code is in a separate repository that you have to enable in your package manager. Then you can use your distros package management system to download the source code for whatever packages you want and you can peruse it at your leisure. Otherwise, you could go to the website for the original developers of the software and get the source code directly from them. Either as a zip or tarball from their downloads page, or from their version control systems (git, svn, bazaar etc).

In order to understand the source code, you’d need to be a proficient programmer. But the implementation language used isn’t necessarily always going to be C or C++. The Linux Kernel itself is written in C, but other software on the system could be written in C, C++, Lisp, Perl, Python, Haskell, Shell-scripts, or any number of other programming languages.

For example, the Gnome desktop is written in C, KDE software is written in C++, the XMonad desktop is written in Haskell, I think Emacs is written in Lisp (or it might be a combination of C and Lisp). Either way, whichever piece of software you want to check out the source code for, it helps if you have a good grasp of whatever programming language was used to implement it!

But ultimately, you don’t have to be a programmer in order to customise your Linux installation:
If you have a car, but you aren’t a mechanic; you can still look under the hood of your car and should be able to fill the washer reservoir, top up the oil, check the coolant and transmission fluid, perhaps change the oil, or clean/replace the air-filter, check the fuses in the fuse-box, change bulbs etc.

Likewise, if you aren’t a programmer, there are things you can do under the hood of your OS without really having to understand source code, or do anything too technical.

As an example:
With M$ and Apple OSes, you only have the one desktop environment. The amount of customisations you can make are extremely limited. With these OSes you are constrained to work in certain ways. Sometimes you might find that the OS makes it difficult to do exactly what you want without jumping through hoops, or you are unable to get things to look and behave the way YOU want them to. And that is the important thing: making your computer work for you, rather than you working for it! Once you’ve exhausted your customisation options in Windows, what do you do? You’re stuck, right?!

One of the great things about Linux is that there are many different desktop environments and window managers available. All are customisable and configurable to differing extents. Most are far more flexible, configurable and customisable than their proprietary cousins.

So if you install a Linux distro, you like the way it runs on your system; but you don’t like their default choice of desktop. You can either try to tweak the settings of that environment to suit your needs (as you would in Windows or OSX). Or you could install a different desktop. One that you CAN customise to look and feel exactly the way you want it to. And you don’t have to remove the old desktop environment either. With Linux, you can install multiple desktop environments alongside each other. When there are multiple desktop environments installed, you can choose which desktop session to log into at the login screen.

Читайте также:  Гаджеты для windows блокнот

With Linux, you can make your entire environment fit in with your preferred workflow, rather than having force yourself to use whatever paradigm a committee in the boardroom of some multinational corporation somewhere came up with. And all without looking at a single line of source code!

Granted, you might have to type in a few commands in the terminal in order to install a different desktop using a command-line package manager. But again, in most modern Linux distros, you don’t have to go anywhere near the command line if you don’t want to. You can just as easily install a new desktop using one of the GUI based package management systems like Ubuntu’s ‘Software Centre’.

So completely changing the desktop environment is a very simple example of something that you can do ‘under the hood’ to improve your user experience in Linux that you couldn’t do in Windows. And it’s not just the desktop you can change. You could change the login screen/login manager, the boot splash-screen image/animation. If you don’t like bash (the default command-line/shell on pretty much all Linux distros) you can switch to zsh or ksh or any number of other shells that are available. Whereas on Windows, terminal-wise — you’re stuck with cmd or powershell. Unless you install Cygwin that is!

At the end of the day, if you don’t like something on Linux; you have the freedom to change it, either by editing the source (or applying a patch from somebody else) or by replacing it with something else. Whereas with other proprietary OSes, you’re pretty much stuck with what you’ve been given and just have to live with it.

IMO, other than zero cost, the main advantages of Linux over other OSes are freedom and choice. And I’m not just referring to the freedoms granted in the GPL, but the freedom offered by the vast range of free software that is available to you.

The portability of the kernel and other free software also gives the advantage of flexibility. You can install a Linux based OS on pretty much any device and in any number of different configurations. Be it an embedded device/simple state-machine (like an ATM or a washing machine), a robot, a drone, a phone (see Android and Ubuntu phones), a tablet, a laptop, a desktop PC, or a supercomputer/cluster. It can be used as a server, a router, a thin client, a web-kiosk/display etc. So many uses. Can you honestly say that about any other OS?

Источник

Here Is Why Linux Is a Good Choice of OS for Software Developers

Linux might just be the best operating system for software development.

Is there a perfect operating system (OS) for software development? According to some, Linux might just be as close as you can get.

Let’s take a quick look at what Linux has to offer and suggest some great Linux distributions (distros) that you might want to check out for yourself.

What is Linux?

Since you’re actually reading this article, chances are you already have an idea of what Linux is. But for the uninitiated, Linux is a type of an operating system just like Windows, iOS, macOS, etc.

It is a very popular OS. In fact, the Android operating system is built on top of the Linux kernel, so you could say that the Linux kernel is the foundation on which Android is built. But Linux also powers many other internet and business servers, including numerous stock exchanges around the world. It has been around since the mid-1990s, give or take. Linux is literally everywhere today.

It is widely considered one of the most reliable, stable, and secure operating systems too. In fact, many software developers choose Linux as their preferred OS for their projects. It is important, however, to point out that the term «Linux» only really applies to the core kernel of the OS.

One of the most important aspects of Linux is the fact that it is open source. This means that the code used to create it is free and available to the public to view, edit, and even contribute to its development (if you are skilled enough).

Linux is similar to other operating systems you might be used to, like Windows and macOS, etc. It comes with a graphical interface, and even has versions of common software you are probably accustomed to like word processors, photo editors, video editors, etc.

But as the core pieces of it are generally open-source, Linux differs from other operating systems. There are also many distros of Linux available that include different software options.

What this means in practice, is that the operating system, unlike many of its competitors, is incredibly customizable. Many different aspects of it, not just applications, can be swapped out and experimented with to suit your specific needs and tastes.

Linux users can also choose core components, for example, which system displays graphics and whatnot.

It is important to note, however, that the term «Linux» is a little misleading. Technically speaking, any Linux operating system consists of a combination of the GNU software with a Linux kernel. The former is actually a standalone operating system that was originally designed to be a replacement for Unix.

«GNU is an acronym for «GNU’s Not UNIX!». It is a replacement for UNIX and contains no UNIX based code. Also, this operating system contains an extensive collection of software.» — pediaa.com.

For the remainder of the article, we will refer to GNU/Linux as simply Linux for brevity. You should also be made aware that the use of either of these acronyms alone is something of a controversial subject.

Is Linux good for developers?

As we have already touched upon above, Linux is widely considered one of the best operating systems around. This is especially true for software programmers.

Your choice of the operating system, as we described in a previous article, will ultimately depend on your personal taste, software development environmental needs, etc.

Читайте также:  Технические требования windows 10 64 bit

However, there is a vast swathe of programmers who swear by the benefits of Linux over its competitors. This is for various reasons, but arguments tend to praise its open-sourced nature and its overall user-friendly ecosystem.

Some of the main reasons programmers love Linux are as follows.

1. You can’t get any cheaper than free

Linux, being open-source, is free to download and install on your computer. This makes it great for software developers, whether they are a hobbyist, student, aspiring programmer, or a professional.

Since you don’t have any financial upfront costs, the only cost to you is gaining an understanding of it. Of course, this excludes the cost of getting your hands on a Linux-compatible computer (which is fairly common).

Most of the software for it is also open-source, which is a nice bonus.

2. Linux is easy as pie to install (usually)

If you have never built a computer from scratch, chances are you have never had to install an operating system yourself. Thankfully, installing Linux is relatively straightforward — you don’t need to be a seasoned IT professional (though that helps).

It isn’t that much different from installing a software program in Windows. Another benefit is that you can also keep any existing operating system, like Windows, by using a dual-boot option.

Though, some Linux distros can require a bit more technical knowledge. Consider yourself warned.

3. If you love to customize stuff, Linux is for you

Linux is an ideal operating system for those who love to tinker and customize. Being open-source, pretty much every element of it can be played around with, from the GUI to the core kernel.

You will have near-absolute freedom to play around with different options and you won’t have to worry about any legal ramifications. In fact, you normally aren’t required to agree to any user license agreement.

4. Linux has great support for most programming languages

Whether you need to write in C, C++, CSS, Java, JavaScript, HTML, PHP, Perl, Python, Ruby, or Vala, Linux supports them all. While you may come across some issues at times, in most cases you should have a smooth ride.

Generally speaking, if a programming language isn’t limited to a specific operating system, like Visual Basic for Windows, it should work on Linux. But do a proper research first to make sure.

If you do run into support issues, you can usually get your hands on the required packages from Linux’s distribution repositories.

5. Linux has a ton of apps to choose from

Linux has a lot of great supported apps that are handy for many programmers. While you could just write your code using a simple text file, Linux has some very useful, and time-saving, text editors to make your life a lot easier.

By default, you get apps like Gedit and Kate. These are usually all you need, but you can also get your hands on Emacs, nano, and Vim, which can be used inside of a terminal. Not to mention Atom, of course.

You can also take the nuclear option and go with a full-blown integrated development environment (IDE) with Linux as well.

6. May we introduce to your programmer lord and savior, Bash scripting?

If you need to program something a bit more specific and don’t need to care about the language, you can «Bash script» using Linux’s commands. A Bash script is a plain text file which contains a series of commands. Linux comes with these commands as standard, but you can also install others if needed. These are incredibly efficient, not to mention powerful, and many Linux-loving programmers prefer to practice their trade in the terminal.

«With a Bash script, you can put commands together to create more complex combinations. For example, someone managing a mailing list can create a script that merges lists of subscribers, removes duplicates, and formats it so that other programs can read it.» — makeuseof.com.

7. Learning to use Linux can land you a great job

Linux is a great option if you simply live and breathe programming. But most of us need to pay the bills, too.

This is where learning to use Linux can actually improve your employability in the market. Experience in using Linux is a very desirable skill for many high-paying positions.

Whether your prospective job will require you to manage a company’s server, or develop their cloud-based services, potential employers are crying out for people who know the ins and outs of Linux.

Even if you have no real ambition to become a Linux-legend, having some basic functional knowledge of it will give you a competitive edge as a programmer.

What have you got to lose?

Is Linux hard to learn?

Like anything in life, just how easy, or difficult something is for that matter, is determined by your personal experience, dedication, and willingness to learn. After all, how long did it take you to get used to Windows, macOS/iOS, Android, etc?

The operating system is actually fairly simple to learn. But this comes with a caveat — it helps if you have some experience with technology as well as learning syntax and basic commands of an operating system.

One of the best ways to get to grips with Linux is to develop some projects using it. This will help accelerate your grasp of Linux.

As previously discussed, learning the syntax is key. You will also need to develop a knowledge of the basic commands.

Simply put, start using it and practice, practice, practice. If you are a newbie to Linux, here are some of the basic steps you need to master the OS.

Is Linux necessary for programming?

In short no, but it is very popular among programmers for various reasons. Unless, of course, you want to join, say, RedHat or be a developer using Linux — in which case it is a must.

For everybody else, there are some distinct advantages of Linux over other OSs. We have covered some of them above, but other advantages of Linux over competitor operating systems are as follows:

  • Linux tends to come with most of the compilers and interpreters you’ll need to get the job done. Other operating systems, like Windows, usually do not.
  • If Linux doesn’t have the compilers you need, you can usually get them from the OS’s command line. Example commands include «yum install » or » apt-get install».
Читайте также:  Windows dns root hints

Source: Daan Berg/Flickr

  • Linux tends to contain the best suite of low-level tools like sed, grep, awk piping, and so on. Tools like these are used by programmers to create things like command-line tools, etc.
  • Many programmers who prefer Linux over other operating systems love its versatility, power, security, and speed.
  • Linux has a massive community to help you out if you get stuck for any reason. They are, usually, very patient with novices, but prepare yourself for some light-hearted banter.
  • The operating system also comes with a handy, built-in package manager.
  • The ability to customize Linux with any of its different distros is great for tailoring the OS to your needs.
  • Error messages on other operating systems, like Windows or macOS, for example, tend to be less than helpful. On Linux, you can usually find the solution from someone else who has solved it. If not, just ask the community support staff.
  • One great thing about Linux is that you can often automate many repetitive tasks using simple lines of code. For example, say you are learning C and want to create a new file, you can run some simple code to automatically create a file with the same syntax you use regularly.

Which Linux distro is best for software development?

If you are now sold on using Linux as a software developer, your next question might be which distribution is the most useful for your needs? As it turns out, there are quite a few options that will really set you up for a faster, smoother, more secure, and happier Linux-powered programming future.

But please bear in mind any choice of this kind is ultimately subjective by its very nature. That being said, you should look for the most secure, stable distros that offer a thriving support community, too.

By doing so, you will benefit from regular updates and loads of resources, such as official forums or wikis, as well as third-party resources like subreddits. Here are s ome of the most highly rated Linux distros.

1. Debian comes highly rated

The Debian distro is not only one of the most popular distributions around but it also forms the mother operating system for many other Linux distros. The reason for its popularity is the fact that it comes with a large number of packages aimed at stability and security.

For beginners in the world of Linux, it has an absolute ton of tutorials and other support on the net to solve many of the common issues you’ll run into.

One important thing to remember with Debian is that if you want to use Linux to learn the nuances of coding, it might not be the best option for you. Better options include Ubuntu 20.04, Linux Mint, or Zorin.

2. Ubuntu is very good too

If you are into web development, Python, etc, then Ubuntu is probably one of the best Linux distros for you. Thanks to the support from the likes of Canonical and the open-source community, Ubuntu has also grown to become one of the shining lights of the Linux ecosystem.

A Debian derivative, Ubuntu is widely used in cloud and server applications today. This distro also comes in a variety of forms with different desktop environments and other features to suit most tastes.

Its huge user support community and polished user experience, not to mention regular Long-term Support (LTS) releases make this a great choice for software developers. It also supports the highly-rated .deb package management system.

3. CentOS is great for Red Hat development

Red Hat Enterprise Linux’s (RHEL) free community edition CentOS is a great alternative to the premier RHEL. A lot of it is the same as the paid-for version of Linux by Red Hat with one crucial difference: it is free.

It is a highly stable Linux distro and also comes with the Developer Toolset, which offers a range of essential tools for most software developers. CentOS’s Xen Virtualisation Platform also offers a way to compartmentalize your projects and run applications safely inside a virtual machine.

4. Pop!_OS is awesome for programmers

Pop!_OS is yet another great Linux distro. The difference with this one is that it was designed from the ground up to be programmer and maker-oriented.

It is based on Ubuntu and also features the very popular GNOME desktop environment that you will learn to love too. It comes with a ton of useful functions like handy keyboard shortcuts, a robust app store, and access to repositories such as TensorFlow (an open source machine learning platform).

Its great window management system and seamless switching between the integrated and dedicated graphics offer what many think is an unparalleled programming experience.

5. Fedora is favored by the creator of Linux’s kernel, Linus Torvald

And finally, on our shortlist of top Linux distros is Fedora. Similar in a sense to CentOS, it packs many of RHEL’s features and is even one of the preferred distros of Linus Torvald.

It comes with cutting edge features and is very popular among software developers around the world. This is because of its stability, u p-to-date feature set, and awesome developer portal.

Fedora is also a neat alternative to Red Hat Enterprise Linux and comes with a multi-language IDE in Eclipse which can be used for things like PHP, Java, C, C++, and many more.

And that’s a wrap.

Are you sold on switching to Linux for your software development needs? If so, enjoy the adventure you are about to depart on. If not, feel free to let us know why.

Источник

Оцените статью