You are on page 1of 12

INTRODUCTION

It isn’t a weird statement the current human dependence on whether the


technology or the informatic systems. The lifestyle of a singular human has
been adapted to be usually using the electronic devices all the day (or almost)
over. The role that technology plays in human life is becoming and increasing
faster than our culture and our institutions.

The technology development has revolutionized our perspective of the


world. The humankind has created amazing tools and resources, putting each
person the most useful information at their fingertips, with technology, we have
adopted new habits since communication for our entertainment ways.

It’s sad, but we have to recognize that when someone is using his/her
social networks, playing video games on their consoles or whatever, rarely
pass on his/her mind who the hell made the program he/she is using on that
moment or how much time took to make them. Thanks to the Programmers we
can still enjoy them, but, how do they do this? Keep reading and you will know.

1
WHAT IS PROGRAMMING?

Programming is the process of writing an algorithm and encoding it into


a notation, thus building a computer program for accomplishing a specific
computer task. Generally, to do a computer program you need to have whether
a goal or a problem, and the best way to solve it is using an algorithm to find a
solution. Without an algorithm there can be no program.

The source code of a program is written in one or more programming


languages. The purpose of programming is to find a sequence of instructions
that will automate the performance of a task for solving a given problem. That’s
why the algorithms describe the solution to a problem in terms of the data
needed to represent the problem in question and the set of steps necessary to
produce the intended result.

On another hand, this might be considered part of the programming


process, but often the term software development is used for this larger process
with the term programming, implementation, or coding reserved for the actual
writing of source code. Software engineering combines engineering techniques
with software development practices.

There are two different models of programming:

 In structured programming, where the blocks of programming


statements (code) are executed one after another. Control statements
change which blocks of code are executed next.
 In object-oriented programming, where the data is contained in
objects and are accessed using special methods (blocks of code)
specific to the type of object. There is no single “flow” of the program as
objects can freely interact with one another by passing messages.

2
PROGRAMMING LANGUAGE

A programming language is a formal language which comprises a set of


instructions given to the computer to perform specific tasks. The term
programming language usually refers to high level as the following ones:

Their special language helps the user to communicate with the computer
throughout a unique set of keywords (words that the computer is able to
understand) and a special syntax for organizing program instructions.

The high-level programming languages are the most comparable to the


human language (it’s easier to understand for a single human), these are more
complex than the computer actually understand, called machine languages or
binary code (it consists of numbers only). Between these two languages, there
are languages called assembly languages, they’re similar to machine
languages and the computer can understand it easier, but it’s more difficult to
understand for persons. They allow the programmer to substitute names for
numbers.

3
Regardless of what language you use, you eventually must convert your
program into machine language so that the computer can understand it. There
are two forms to do this:

1. Compiling the program: to transform a program written in a high-level


programming language from source code into object code, the source
code must go through several steps before becoming an executable
program, for this the compiler exists which translates these instructions
into object code and then this passes through a linker that combines
modules and gives real values to all symbolic addresses thereby
producing machine code.
2. Interpret the program: this is made per an interpreter, a program that
executes our instructions written in a high-level programming language,
this translates these instructions into an intermediate form, which it then
executes.

So, which of both is the best way to run a program? It depends right on
your needs. The fact is that the compiled programs run faster than interpreted
programs. The advantage of an interpreter, however, is that it does not need
to go through all those already explained processes during which the machine
instructions are generated (this process might be so much time-consuming if
you are compiling a long program), the interpreter on the other hand, can
immediately execute high-level programs. For this reason, interpreters are
sometimes used during the development of a program, when a programmer
wants to add small sections at a time and test them quickly.

There are thousands of different programming languages having been


created, mainly in the computing field. Software is commonly built with 5
programming languages or more.

It is interesting to denote that the programming languages differ from


most other forms of human expression in that they require a greater degree of

4
precision and completeness. When using a natural language to communicate
with other people, human authors and speakers can be ambiguous and make
small errors, and still expect their intent to be understood. However, figuratively
speaking, computers "do exactly what they are told to do", and cannot
"understand" what code the programmer intended to write.

PROGRAMMER

A programmer, developer, dev, coder, or software engineer is a person


who creates computer software. The term computer programmer can refer to
a specialist in one area of computers or to a generalist who writes code for
many kinds of software. One who practices or professes a formal approach to
programming may also be known as a programmer analyst.

A programmer's primary computer language (Assembly, COBOL, C,


C++, C#, Java, Lisp, Python, etc.) is often prefixed to these titles, and those
who work in a web environment often prefix their titles with web.

A range of occupations, including: software developer, web developer,


mobile applications developer, embedded firmware developer, software
engineer, computer scientist, or software analyst, while they do involve
programming, also require a range of other skills. The use of the simple term
programmer for these positions is sometimes considered an insulting or an
underestimate simplification.

HOW MUCH MONEY COULD A PROGRAMMER


MAKE?

The BLS reports the median annual wage for computer programmers
was $79,840 in 2016. So, the best-paid 10 percent in the field made
approximately $130,360 while the lowest-paid 10 percent made about $45,570.
Obviously, the salary of a programmer depends on various conditions like the
occupation, his/her degree, experience and even in the different programming

5
languages that he/she has learned. This is an example of the salary for each
programming language:

Nevertheless, there is not restriction in how much a programmer could


win, for example Sergey Aleynikov, a 40-year-old programmer for Goldman
Sachs Group Inc. wasn't satisfied with the $400,000 per year Goldman Sachs
was paying him. So, he allowed himself to be lured away by another big
financial player, Teza Technologies LLC. But he reportedly downloaded --
illegally -- some proprietary code to take with him, and he was caught.
"Prosecutors say he planned to use the code to help his new employer … build
a high-frequency trading system," Reuters reported from the trial last
November.

And here's the good part: "The prosecutor said that, at Teza, Aleynikov
stood to earn about three times the $400,000 he was paid annually by Goldman
Sachs as one of its highest-paid computer programmers," Reuters reported.
That's 1.2 million.

6
So, there are big corporations out there making millions of dollars on the
backs of computer algorithms, and some of them are willing to pay at least $1.2
million per year to programmers who can code them better than anyone else.

PROGRAMMING EXAMPLE: A WEB PAGE

The programming process to create an interactive website starts writing


the source code in any plane text editor, even in the notepad (Do not use
Microsoft word), as the source code is written in a plain text document (.txt),
even though there are specialized text editors for programming, like Atom,
Sublime text or Visual studio.

At first you have to spell the body of your program, wow is it? It’s using
HTML (Hyper Text Marking Language), this help you to structure the document
data, it has the formulary information and its extension is .html. But before
programming you must understand that HTML IS NOT A PROGRAMMING
LANGUAGE insomuch as HTML doesn’t have interactivity.

7
You can acknowledge an interactive program when you can “interact”
with it, for example clicking buttons like the “sign in” of any social media
website. You must be wondering how I could add “interactivity” to my program.
The answer is with a high-level programming language. For the web pages
JavaScript or PHP are usually used. If you use one of them on your program
spelling commands into your HTML base you will get a dynamic web page.

If you are looking for a way to give to your web page a better look, you
must use CSS (Cascading Style Sheets), it isn’t a programming language
either as HTML. It handles everything that deals whit the HTML’s visual
structure. Its extension is .css.

Finally, who is responsible of interpreting our finished plain text


document (our web page)? Of course, It’s the browser like Google Chrome,
Mozilla Firefox, Opera and others.

THE PUREST INTERACIVE PROGRAMMING


EXAMPLE: THE VIDEO GAMES DEVELOPMENT

In a global way about the meaning of “interactivity”, when someone says


“a video game is so interactive”, is when it presents a map or an environment
with a lot of things to interact, like weapons, doors, objects, and others, even if
they aren’t from the principal objective of the game. Actually, any kind of game
is an interactive one, it’s not necessary to be a so elaborated video game as
GTA V, The Sims 4 or Final Fantasy XV to be acknowledged like that.

The professional game development usually begins with a game design,


which itself has several possible origins. Occasionally the game development
process starts with no clear design in mind, but as a series of experiments. For
example, game designer Will Wright began development of The Sims by
getting programmers to experiment with several ideas.

8
For consoles, the support of the target platform is usually the most
considered factor. In the past, video games for consoles were written almost
exclusively in assembly due to limited resources in terms of both storage and
processing speed.

If you want to program a video game, depending of the platform or


purpose, you must choose the correct programming language. Most AAA PC
and console games use C++. Most 3D game engines are made with C++.

Currently, many games use some kind of “game engine” to power


themselves. The game engine usually supports some kind of scripting
language.

 Unreal Engine is developed in C++, C# and Assembly, and supports


scripting using some languages like C++ and “UnrealScript”. There are
lots of commercial games (XCOM, Mass Effect 1/2/3) developed with
this engine.
 Unity is developed in C, C++ and C#, supporting their own “UnityScript”
language in addition to C++. I have seen many “web games” made with
Unity.

The main reason to use a game engine is to avoid “reinventing the


wheel”, allowing the developer to focus on the gameplay, assets, ideas, etc.
instead of doing the “hard work”. As you see, while those game engines are
made in C or C++ in order to have a better performance, they support one or
several scripting languages to interact with the engine. This makes
programming games easier and - believe me - programming games without a
game engine is no joke.

Indie games tend to be a lot less complex than AAA games so the
language for them can vary e.g: A lot of mobile games tend to be simple so
native languages like Java or Swift are used a lot for Android and iPhone.
HTML5/JavaScript is mostly used for browser games, but I can see web

9
assembly being dominant in this area in the future. Regardless of platform,
games that are very simple and 2D don't need the performance advantage that
comes with C++ so a variety of other languages can be used to make them.

In summary, there is a frame with the most common programming


languages in the industry and their features.

Language Features
C Widely known, widely portable,
numerous APIs, compiles to machine
code
C++ Object-oriented, widely known,
numerous APIs, compiles to machine
code
Java Object-oriented, garbage-collected,
widely portable (via a virtual
machine)
C#, Visual Basic .NET, etc. Object-oriented, garbage-collected,
interfaces with Microsoft products
Objective-C, Swift Object-oriented, interfaces with
Apple products
Lua, Python, JavaScript, Tcl, etc Familiar syntax, easily embedded in
the above languages, often used for
scripting

10
CONCLUSION

Ultimately the common saying “Every Company is a Technology


Company” means that every industry is fundamentally changed by technology,
and business leaders are making it the focal point of their companies and the
heart of these technologies are programming languages. Never have
developers (programmers, software engineers, and others) been more
important to progress, and programming languages are their superpower.

As a result, companies that use technology for competitive advantage


will win in today’s fast-paced business environment where all companies are
becoming tech companies, as technologies become more and more pervasive
across industries and functions. For instance, these companies are always
looking for programmers that are able to satisfice their expectative and could
help them to be in the top of the market share. But this doesn’t only depend on
the skills of each of their employees, because the most of the career of a
programmer is spent working with other people on a team, so in this job the
teamwork is important. That´s why the effective teams can be more effective
than the abilities of all the individuals combined. This is called synergy.

The coding guidelines exist for this reason, they help software
developing teams to write consistent code which is easy to read and
understand for all team members. It doesn’t matter which developer in your
team has written the code you are looking at, it should feel as if you had written
them because it just conforms to your own style. Making so important to
establish coding guidelines in your team.

11
BIBLIOGRAPHY

https://en.wikipedia.org/wiki/Computer_programming

http://interactivepython.org/courselib/static/pythonds/Introduction/WhatIsProgr
amming

https://adtmag.com/articles/2011/05/27/what-highest-paid-programmers-earn

https://en.wikipedia.org/wiki/Game_programming

https://stackify.com/popular-programming-languages-2018/

https://en.wikipedia.org/wiki/Programmer

https://en.wikipedia.org/wiki/Software_enginee

https://www.quora.com/What-computer-language-is-used-to-program-video-
games

https://team-coder.com/establish-coding-guidelines/

https://blogs.thomsonresources.com/answerson/all-compaies-are-tecnology-
corpanies-now/

https://www.webopedia.com

12

You might also like