Why you should learn and love to use Linux as a development platform

/images/blog/old_uploads/people_types_chose_linux-825x510.jpg
people types chose linux 825x510

Why should you learn and love to use Linux as a development platform?
This question will for sure be something any serious developer asks himself.

Yes, you could use Windows or Mac but why Linux for development?

The biggest reason is that everything is Open Source. This means you have access to binaries and the code to see how something works. Naturally, not anyone using Linux will look at all the source code. But compiling your own binaries from source is an essential skill.

Everything is a file power harnessing

The "everything is a file" methodology is another unique aspect that helps every developer who interacts with the hardware.
Why? Well you can view the CPU details and MEMORY info by just reading a file!

Try it yourself

cat /proc/cpuinfocat /proc/meminfo

 

But what does this mean? Well if you’re programming in any programming language you don’t need to import 3d party libraries. A detailed explanation about using other libraries can be read at The cyber security cost of Software bugs

This leaves your application in charge of how it interprets data, might be a bit harder but this is for sure a safer and faster way to develop than searching fot the best library in town to do something.

Linux has many flavours so you can find one that fits your needs.

 

Security

It’s been said that Linux has Higher Security. With the many attacks on Internet of the Things (IoT) devices and with all the android issues out there you may wonder yourself if this is true.
Yes, it’s true that Linux actually IS more secure and safe. The problem with security lies in the distribution and in the creators of those Devices. They actually NEVER invest in security.
Android has issues because every mobile phone maker modifies it to their needs and never patches and updates it.
Using mainstream Linux distro’s that are patched and up to date is a better alternative.

 

Customability

You have a high customability. IF you don’t like something you can change it yourself

High Stability

I dare to say that 89% of the internet is ran by Linux. Although statistics are sparse think about Google, Amazon and Facebook. They all run on LInux.

What about the rest? Well, a high percentage of the rest are Unix based systems.
Stability is a great issue, with Linux you can run a PC for almost a year without requiring a restart. And I’m talking about production environments. Try that with Windows.
Most routers have a version of linux on them, how else would you expect that they can run for years?

Runs on any hardware

Yes, it runs on ANY hardware that meets the minimum requirements (which are very low by today’s standards).
It’s widely used in IoT devices that everyone has in his house.
What does this mean? You can use the SAME operating system (with proper configurations) on ALL your devices.

What makes Linux special is the ability to run on different hardware and processor types.
Microsoft tried to make Windows available for ARM processors and other types of processors but they where bogged down by the fact that people want to use their apps from a x86 processor on the ARM. This is impossible without recompilation. But because Windows does not provide nor endorse source code sharing, nor do many of the programs built for windows. This means that by using Windows you are stuck on specific platforms. With Linux on the contrast, you can recompile your programs on any platform.

The best example of this is using a Raspberry PI with Raspbian.

Give old hardware new life

Othe reasons include education, support by comunity and freedom it advocates. Yes, there is a big community out there and any question or problem you may have will probably have an existing answer or solution.

More reasons? Check out http://whylinuxisbetter.net/en/

See my guide "How to get started with Linux" and learn how to get started

 

If you’d like personalized mentoring on how to best get started with Linux you can always contact me
https://andreiclinciu.net/services/mentoring/

Subscribe to my Newsletter

Receive emails about Linux, Programming, Automation, Life tips & Tricks and information about projects I'm working on