7 Reasons to Program on Linux

1. Linux is free
Linux download and installation will not cost you any more. Whether you’re just interested in Linux, whether you’re a student or starting to develop yourself, Linux’s free is a positive point. You do not need money to get it, and you just want a computer that supports Linux, which most computers also support.

Not only does Linux itself not cost you, but most of its software is free. Without any cost, you can get any tools you need to program or create documents.

2. Linux installation is easy
Most people never install an operating system, maybe they even do not know what the operating system is. If you have such a situation, installing Linux may be a step you can take with more fears. But you are the developer, so you definitely know very well how to find a Linux operating system, create an ISO file and boot it in a flash.

After you boot the flash, installing Linux is not very different from installing a software in Windows. You can also use the “dual boot” option if needed

3. Freedom of action
Linux is the best place to test your skills. In this operating system, you have access to almost all of its code, from the graphical interface to the core of the system. Of course, no matter how much you experience, most of these codes may not be understood by you, but to be able to test everything is an excellent way to learn.

4. Supports most programming languages
Linux supports C, C ++, CSS, Java, JavaScript, HTML, PHP, Perl, Python, Ruby and many other languages. Of course, it’s true that you’ll be limited in some places, for example, Visual Basic is only supported on Windows, but you can use Apple’s “Swift” language on Linux. In general, if the language is not locked on a specific operating system, there is a great deal of likelihood that it will be available on Linux too.

If your preferred language is not available by default on Linux, you can usually get it from its special places. With a little search of the name of the language you are looking for, you will probably find what you want.

5. With Linux, you have a long list of software
It has a long list of software

Usually there’s an image of developers that includes a black screen filled with green text. You can either do this or you can use a text editor. Maybe Gedit and Kate are available by default. The Emacs, nano, and Vim software are options that you can use in a terminal environment (like the Windows CMD environment). Atom is also a cross-platform software that is widely available anywhere. You can also use the popular Sublime Text software on Linux.

If these are not enough for you, you can also use the popular IDEs. If you want a lightweight software, you can use Geany to easily run on your system, or if you want a more complete experience, using Eclipse is advisable.

6. Feel the power of Bash programming
Experience the power of Bash programming

If you have a particular programmer’s purpose and its language is not important to you, it’s time to get to know the Linux commands and experience a bit of Bash programming. Many of the commands that Linux comes with (or can be installed on it) are so efficient that many Linux users only use the Terminal.

With Bash Programming, you can put multiple commands together and create more complex commands. For example, a person who manages a list of emails can write a script to merge the list of subscribers, break down the list of emails, delete the duplicate addresses, and create the correct format for it to be checked by the program.

7. Many companies are looking for Linux specialists
If your goal is to develop a job, you should know that the skill of working with Linux has a vast business market. Whether you manage the system server or want to build cloud services, employers are looking for people who can also work with Linux.

Even if you are just playing with Linux at the moment, as you begin to program it, you’ll be familiar with the OS over the course of time, which will be a strong point in the future.

The Joel Test

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

Who is CodeIgniter For?

CodeIgniter is an Application Development Framework – a toolkit – for people who build web sites using PHP. Its goal is to enable you to develop projects much faster than you could if you were writing code from scratch, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries. CodeIgniter lets you creatively focus on your project by minimizing the amount of code needed for a given task.

CodeIgniter is right for you if:

  • You want a framework with a small footprint.
  • You need exceptional performance.
  • You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
  • You want a framework that requires nearly zero configuration.
  • You want a framework that does not require you to use the command line.
  • You want a framework that does not require you to adhere to restrictive coding rules.
  • You are not interested in large-scale monolithic libraries like PEAR.
  • You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
  • You eschew complexity, favoring simple solutions.
  • You need clear, thorough documentation.

Git Commands

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)

clone Clone a repository into a new directory

init Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)

add Add file contents to the index

mv Move or rename a file, a directory, or a symlink

reset Reset current HEAD to the specified state

rm Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)

bisect Use binary search to find the commit that introduced a bug

grep Print lines matching a pattern

log Show commit logs

show Show various types of objects

status Show the working tree status

grow, mark and tweak your common history

branch List, create, or delete branches

checkout Switch branches or restore working tree files

commit Record changes to the repository

diff Show changes between commits, commit and working tree, etc

merge Join two or more development histories together

rebase Reapply commits on top of another base tip

tag Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)

fetch Download objects and refs from another repository

pull Fetch from and integrate with another repository or a local branch

push Update remote refs along with associated objects

‘git help -a’ and ‘git help -g’ list available subcommands and some concept guides.

See ‘git help <command>’ or ‘git help <concept>’ to read about a specific subcommand or concept.

Why did Google choose Java for Android

  • Java is a known language, developers know it and don’t have to learn it. Java has yet again emerged as the world’s most popular programming language. Also there are lots of engineers who specialise in Java making it easier for them to compile Apps and Games.
  • It’s harder to shoot yourself with Java than with C/C++ code since it has no pointer arithmetic.
  • It runs in a VM, so no need to recompile it for every phone out there and Java is easy to secure. This is Java’s very important feature. Running on a VM (thus no recompiling) is a huge plus. Also, it easily separates processes from each other, preventing a rogue application from destroying your phone or interfering with other applications. Every App has assigned its own address. All addresses are translated by MMU. This provides base level security to the App and the Android ecosystem by preventing leakages.
  • As said in point number 1 above, since Java is the most popular programming language, a large number of development tools are available for developers. Java has huge open source support, with many libraries and tools are available to make developers life easier.
  • Several mobile phones already used Java ME, so Java was known in the mobile industry and the engineers.
  • The speed difference is not an issue for most applications; if it was you should code in low-level language
  • Also Android as a operating system runs on many different hardware platforms including smart TVs, Android wear etc. Given that almost all VMs JIT compile down to native code, raw code speed is often comparable with native speed. A lot of delays attributed to higher-level languages are less to do with the VM overhead than other factors (a complex object runtime, ‘safety’ checking memory access by doing bounds checking, etc).
  • Java allows developers to create sandbox applications, and create a better security model so that one bad App can’t take down your entire OS.

#DidYouKnow 7 Facts about Linux

  • Linux is the operating system for over 95% of the top one million domains
  • More than 80% of new smartphones sold run Android, which is based on the Linux kernel
  • Of the top 500 top supercomputers in the world, 99% run on Linux
  • Most of the global markets run on Linux, including the New York Stock Exchange, NASDAQ, the London Exchange, and the Tokyo Stock Exchange
  • The majority of consumer electronics devices use Linux for its small footprint
  • More than 75% of cloud-enabled enterprises report using Linux as their primary cloud platform
  • Linux is the go-to infrastructure supporting the world’s ecommerce leaders, including Amazon, eBay, PayPal, Walmart, and others