Linux programming 1. A brief introduction

Linux programming

Many times those of us who write articles or reply in forums about Linux fall into the bad habit of taking things for granted that novice users don't have to know. That is why every so often it is convenient to review the basic concepts.

More and more people are interested in programming and the questions about which open source options to use are very frequent. And this is where we once again show off another bad habit, that of acting as religious fanatics who seek to impose their preferred alternatives without taking into account the needs of the user who asks.

Linux programming

That is why to complement the list of open source tools available for Linux, which we do periodically, we are going to review some concepts

What is programming

Our way of interacting with computers and mobile devices follows a paradigm created in the Xerox Company Research Labs in Palo Alto. Apple first and Microsoft later copied the icon and window model for their operating systems. Over the years, iOS and Android will adopt the same scheme adapting them to phones and tablets.

Before the graphical interface, the way to communicate with the computer was to write the commands in a terminal. In the future it may just be enough to think about what we want it to do.

But whatever the way we communicate, the computer needs to be told how to respond to user requests. That's what programming is all about.

Schedule is then provide the device with instructions expressed in a programming language that it can understand.

Differences between coding and programming

Although these terms sound interpreted as synonyms they are not. Coding, sorry for the obvious, is writing code to create a program or website.

Programming involves the process of developing a program from the moment the user problem is identified until an application is created for use as a solution. Also, the maintenance and update stage is included.

The classic example of printing "Hello World" on the screen, is then a coding exercise since it does not have the purpose of solving a problem nor does it comply with the rest of the stages of the process.

The task of programming it is a complex activity that requires multiple instruments as tools for code analysis, frameworks, compilers, database creators, graphical interface designers and debuggers.

The first thing we need to know to help the user is  if you want to learn programming at a professional level or just write programs. Since coding only requires writing sentences in any programming language and, efficiency is not sought, nor is it intended that the code can be updated or understood by other people, any writing program is enough.

From the answer to that question we'll see if you're more comfortable with a code editor or an integrated development environment. But, you cannot answer that if you do not understand what the difference is. This is what we are going to try to answer in this article.

If it's about writing code, any editor or word processor could do it. Just make sure to save it in a format that the operating system can identify as program code. The difference is that we do not have any type of tool to help verify that there are no errors.

Some of the text editors included in Linux distributions include several plugins to turn them into code editors, but in order not to be confused we will not dwell on that topic.

Differences between integrated development environments and code editors

To make it short, the difference is between a Swiss army knife and a screwdriver. Integrated development environments bring almost everything that may be needed in the programming task including code writing, autocompletion, bug trading, debugging, testing, and compilation.
There are integrated development environments that are optimized for a specific programming language and others that are compatible with several. There are also them for specific operating systems like Android or Arduino.


Leave a Comment

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

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  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.   Camilo Bernal said

    Well, I am not a professional programmer, but Linux has done very well for me for 11 years now. The only 'advanced' skills I've needed have been writing Bash / Python scripts and fiddling with some configuration files. Everything else has been delivered to me by the OpenSource community, compiled and ready to use. Fresh from Windows in 2010, I hated the terminal like nobody, and now it has become my favorite tool and the one I use the most :)

    I would not know how to make a great application from scratch to solve a problem, compile it, provide it with a graphical interface and distribute it, but I do know how to use pre-existing programs with scripts and combine them to achieve any desired result, so in practice it is not necessary program professionally, and yet I have managed to solve complex Industrial Engineering problems in medium-sized companies.

  2.   José Luis said

    Excellent!