Turn your GNU / Linux into a Distro suitable for Software Development

Turn your GNU / Linux into a Distro suitable for Software Development

Turn your GNU / Linux into a Distro suitable for Software Development

Currently Linux is the King at the level of Operating Systems used by Specialists in the Information Technology (IT) area, either in Servers or in Server Administrators' Teams, and at the level of Software Developers this year reached the same level by passing according to the survey StackOverflow Developer Survey 2016 of the 3rd place with 21,7% as the Developer favorite by 1rd place with 48,3% in the StackOverflow Developer Survey 2018.

Currently, the GNU / Linux Applications Ecosystem has a wide and excellent list of programs for Software Development (Applications and Systems) that well installed, configured and installed within a GNU / Linux Distribution can cover a wide spectrum of programming language possibilities.

GNU / Linux Empowered

Introduction

The list of applications for GNU / Linux that we will explore later are currently just some of the best known and used in the field of Software Development on this Operating System. They are updated very frequently and have good support.

And every so often new applications come out or new existing applications are incorporated in the world Microsoft or Apple, raising the level of quality of applications that can be developed under GNU / Linux.

Some years ago we made some publications on the subject that are worth remembering and reviewing, such as Prepare Ubuntu (or another distro) for web development y My tools for Web Development and Design with GNU / Linux. But today we will do a more extensive review of them and the available Distros already optimized for Software Development.

Applications for Software Development have evolved a lot in quality and performance over GNU / Linux thus allowing the necessary support (base) for a novice or expert Software Developer to be able to develop on this Operating System in an optimal way and adopt it as their main Operating System.

Software Development on GNU / Linux: Editors, IDEs and Distros

Software Development on GNU / Linux: Editors, IDEs and Distros

Here is what currently awaits us the GNU / Linux World in the area of ​​Software Development:

IDEs Versus Editors

Editors

A text editor is a program that allows you to create and modify digital files made up of plain text only, commonly known as plain text or text files. However, there are Text Editors that are advanced and allow or facilitate the identification of the programming language used within a text facilitating the understanding and use of it within the file. Some can be Terminal, that is, without a graphical interface, and others can be Desktop, that is, with a graphical interface.

Among the best known and used on GNU / Linux we have:

Nano Editor

Terminal Editors

Mousepad Editor

Simple Editors with Graphical Interface

Editor_Atom

Advanced Editors with Graphical Interface

Emacs editor

Mixed Editors

NetBeans 8.2 IDE

Integrated Programming Environments

An Integrated Programming Environment, mostly known by the IDE acronym from the English name "Integrated Development Environment", is nothing more than a program or application that is packaged mostly with a code editor, compiler, debugger, and graphical interface builder. IDEs can be applications on their own or they can be part of existing applications.

Among the best known and used on GNU / Linux we have:

  1. aptana
  2. Arduino IDE
  3. Code Blocks
  4. codelite
  5. Eclipse
  6. Shrimps
  7. JetBrains Suite
  8. Lazarus
  9. NetBeans
  10. Ninja IDE
  11. python idle
  12. Postman
  13. QTCreator
  14. Simply Fortran
  15. Visual Studio Code
  16. Wing Python IDE

Software Development Kit

A Software Development Kit, mostly known by the acronym SDK from the English name "Software Development Kit", It is nothing more than a set of tools that help the Software Developer to design applications and systems allowing and facilitating the work for a particular technological environment.

The applications developed within an SDK will be destined to some operating system, hardware platform, video game console or special software package. There are many resources that an SDK can contain, among these are:

  • An application programming interface (API).
  • An integrated development environment (SDI) with Debugger and a Compiler.
  • Códigos example and documentation.
  • Un Emulator of the required technological environment.

Among the best known and used on GNU / Linux we have:

  1. .NET Core SDK
  2. Android SDK
  3. Java JDK

GIT Version Control System

Version Control Systems

A version control system (or revision control system) is a combination of technologies and practices to track and control changes made to project files, in particular in the source code, in the documentation and on the web pages.

All version control systems are based on having a repository, which is the set of information managed by the system. This repository contains the version history of all managed items. Each user can create a local copy by duplicating the content of the repository to allow its use. It is possible to duplicate the latest version or any version stored in history.

Among the best known and used on GNU / Linux we have:

  1. Bazaar
  2. CVS
  3. Go
  4. LibreSource
  5. mercurial
  6. monotone
  7. Subversion

Note: Of all of them Git is a favorite for its huge community, great development and extensive plugins and graphical Clients. If you want to know more about Git's graphical clients visit this link from its official page: Graphical clients for Git on Linux.

Distro SemiCode OS

Distros (GNU / Linux Distribution)

Free Operating System created from a Linux Kernel and a set of GNU applications that allow to provide improvements to easily install it through the tools for its configuration and package management systems for the installation of additional software. The choice of a distribution depends on the needs of the user and personal tastes.

At the Software Developer level, we find the following recommended:

Normal

Specialized

  1. semicodeOS
  2. Programmer OS

The release of version 1.1 of the Distro MinerOS GNU / Linux is expected in the near future. which unlike version 1.0 which is special for use in the Home, Office, Digital Mining and Computer Technicians, it will be special for Software Developers, Players and Multimedia Content Developers. To learn more about the future development of the version of this Distro you can click on its name: MinerOS GNU / Linux 1.1 (Onix) or about the current MinerOS GNU / Linux 1.0 (Petro).

So far I hope this publication is very useful for youEither to install multiple applications on your current Distro to make it suitable for Software Developers or decide to use a recommended one for them. Until the next post!


18 comments, leave yours

Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   juliuco nike said

    from first colleague, tas sembrao

  2.   Jose Albert said

    Thanks for your comment! It is always a pleasure to know that the articles are read and appreciated in their proper dimension by the readers of the Blog.

  3.   URxvt said

    The article is very good but I do not agree with the second part of the first paragraph. GNU / Linux has more and better path to be the king for developers, and in fact many of us use it precisely for all the advantages it brings to develop. And also free form.

    In short: I use vim with +60 plugins, with a 1400-line configuration file that contains functions that I have programmed in VimL to do what I want. I use it together with the tmux multiplexer so I have at hand the possibility of multiplexing the terminal to use vim together with all the tools of the Unix ecosystem: grep, sed, awk,… Besides git, of course. Everything from the terminal, with keyboard shortcuts, with aliases and with a well done configuration.

    The configurations of my vim, my tmux, my zsh (alternative shell to bash) and many other programs are saved and uploaded in a public repo on github. For every clean installation of GNU / Linux, I just have to clone it with git clone and create the symlinks with stow. And I already have the configuration that has taken me so many years to polish ready to use, in a few seconds, on any machine with a Unix-based system (yes, on Mac it would also work).

    It is obvious that I am not dedicated to programming in .Net or in any of the technologies that coexist better in the operating system of the same company: Windows. And if it were to program in Java, it would use a good IDE, the kind you haven't mentioned: JetBrains' ones, which are paid is no reason not to mention them.

    PS: I program in C / C ++, Go, Python and Perl, but I have used dozens of languages, such as Basic, Bash, Lisp, eLisp, VimL, ​​Lua, PHP, and different implementations of SQL. All with vim / neovim, which together with Emacs are the kings of programming. They started many years ago but they have matured and have not stopped evolving, to such an extent that today their use has exploded. In quality, only Microsoft's VSCode comes close to them in some ways, and beats them in C # (it's the one you would use if you were programming in C #), but nothing else. Atom and ST3 are well below. And not to mention nano, which is just an editor, since it lacks absolutely everything. xD

    Come on, greetings.

    1.    morphheus said

      do you share your .vimrc?

      I'm curious 🙂

  4.   Jose Albert said

    Excellent comment, and also very enriching! Thank you for your informative contribution on the use of these applications focused on software development.

  5.   Diego de la Vega placeholder image said

    I really liked your article. It was necessary to put (for the ex-Delphians / Pascalians) the Lazarus, which is a very complete IDE.

    Thanks for sharing your thoughts with Linux fans.

  6.   robot tower said

    Thanks for sharing, very good article !!

  7.   Juan3446 said

    I know that is not the case, but in the other publications all the authors write their names, but here it strikes me that they necessarily have to indicate «Ing. Jose Albert »« Ing. » "Engineer" hehe it reads very egocentric or like you need to write it to be taken seriously xD

  8.   Linux PostInstall said

    I already solved your problem! Greetings, luck and success.

  9.   Linux PostInstall said

    Complementing the response to URxvt I must tell you that I am based on the Stack Overflow Developer Survey 2016 in which the Linux Platform is in 3rd place with 21,7% as the favorite of Developers. Investigating more, that is, looking for the Stack Overflow Developer Survey 2017 and the Stack Overflow Developer Survey 2018, I have found that the Linux Platform climbed to 24.2% to stay in 3rd place for 2017 and rose to 48,3% to rank in 1st place for 2018.

    Therefore, you are absolutely right, that is, the Linux Platform is the King of Software Developers' Operating Systems for 2018 worldwide according to this famous and respected World Page and Survey.

  10.   Linux PostInstall said

    Diego de la Vega already included Lazarus in the publication so that such a useful IDE is not left out within the recommendations.

  11.   Diego de la Vega placeholder image said

    So thank you very much!

  12.   URxvt said

    Yes, but I would not assess the quality of GNU / Linux, Windows or Mac in terms of development by the number of votes in a survey, since then we fall into the ad populum fallacy, that is, «he is the King because he uses it more people ”, when the ideal would be to say that“ he is the King for X or for Y reasons ”, that is, arguing with evidence what is affirmed.

    That in 2017 and 2018 the use of GNU / Linux among developers is increasing is only an indication that developers are realizing that it brings them advantages, and I think this is linked to the popularization of GNU / Linux itself.

    Yes it is true that all this surprises me. Emacs was the first GNU application in history and yet its great virtues come much later, such as the famous org-mode, in 2006, or even its plugin for git (magit), which is one of the most complete you can. find.

    Vim is Vi Improved, it also has its years and I observe that its use is growing, probably influenced by the neovim fork to which so many improvements have been added, and which is already around 27.000 stars despite being a terminal only program, that is to say , without graphical interface.

    An Emacs distro called Spacemacs has become popular, which is the union between Vim and Emacs (it is still a very custom configuration that anyone could do).

    'Linux ricing' is becoming popular, which is a fashion of customizing GNU / Linux without a desktop environment (neither Gnome, nor XFCE, nor KDE, nor Mate, nor Unity, nor LXDE, nor LXQT, nor Enlightment, nor ...) but with minimalist window managers (dwm, xmonad, awesome or i3wm in the lead being the most popular lately).

    And I myself have changed. I have stopped using Windows, I have done all the evolutionary way, I have used all the programs mentioned in this article and at the end of the way I have arrived in what would be i3wm with vim / neovim (they are almost identical right now), tmux, and trying do everything possible from the terminal, for sheer convenience. To such an extent that: surfraw allows me to search hundreds of sources of information, which opens with the browser that has been configured, in my case, w3m, which works within the terminal. For music: cmus. For chat: irssi or weechat. A more complete shell than bash: zsh.

    To such an extent that I am using the vim navigation (with h, j, k and l instead of the arrows) in all the mentioned applications, and when I enter through the web, either in Chromium or Firefox, I also use them, with the many plugins that They have been around for years, to my surprise when I discovered them: cVim, VimFX, Vixen, QuantumVim, etc. In fact, this navigation with vim can be activated in Emacs (evil mode), in Sublime Text (vintage), in Atom (with plugins), in VSCode (with plugins), in Qt Creator (options), in JetBrains IDEs (options) ...

    All this is very curious because what would seem to be that because it is old or from the past it stops being used and new and better applications come out, this has not happened, quite the opposite. The oldest ones are the ones that are more extensible, configurable, have more plugins and can do more things in short.

    In 95 I was already using Windows 95, and I learned to program soon after. I didn't start using GNU / Linux until 2008 and the change was very difficult for me, it cost me but over the years I adapted. I have not used Vim for 3 years, therefore I will be using it since approximately 2015. It seems like it would have to be the other way around, doesn't it? Well it is very curious, because I do not go back or crazy xD

    For the record, Emacs does more than Vim, while Vim can't do everything Emacs does, but Emacs does more than I ask for (it almost looks like an OS) while Vim is 100% focused on being an editor.

    Regards!

  13.   Linux PostInstall said

    URxvt excellent contribution like the other. Your experience with GNU / Linux is great… Hopefully you can tell us more through other comments in other publications or your own publications. Do you have a blog or your own website?

  14.   Onix and Petros said

    It was a good article until I saw Onix and Petros xD !!!

  15.   Linux PostInstall said

    OKAY.

  16.   dev faiber said

    I fell in love with archlinux very good although all the previous ones I use and they are easy and great. thanks for this post

    1.    Linux PostInstall said

      Thanks for your great comment… Greetings, Faiber!
      !