When I think about learning programming, I think many people have been surprised at the surprisingly large number of programming languages.
Some people may wonder, "I don't know what programming language
you want, so you can use any programming language." But if you want to
study hard, choose a programming language that suits your purpose.
That is also the key to not being frustrated by learning
programming.
Therefore, this time, we will explain the types and characteristics
of programming languages according to their uses, so please refer to them
when you start learning programming.
Why there are so many different programming languages
- Each programming language has its own specialty
- Each programming language has its own strengths and weaknesses.
For example, it is not suitable for creating website screens in C
language, and detailed embedded programming is not possible in Ruby.
Python is suitable for systems such as IoT and AI (artificial
intelligence) that have become widespread in recent years.
Swift was developed to create Apple's iPhone app (iOS) app.
Programming languages have been developed for the purpose. That's
why there are so many different languages.
Program execution steps are different
Programs are divided into those that can be executed as they are
and those that require compilation (converting to a computer-readable
language).
In other words, there are differences in the steps in which the
program is executed.
These are called the scripting language and the compiler language,
respectively.
The programming language that needs to be compiled is the compiler
language.
Since it is the scripting language that can display the results
more easily, it is the scripting language that makes it easier to start
learning.
Different difficulty of learning
The difficulty of learning varies depending on the programming
language.
For example, if you have a high-level language and dynamically
typed programming language, the program itself is easy to read, and you can
program with almost no attention to details such as data types.
With a scripting language, you can write a program and execute it
immediately, so it is easy to check the results.
In other words, programming languages that meet the above conditions are easier to learn and less difficult to learn.
· There are high and low demands for programming languages
· Each programming language has different market demands.
Programming languages are also in vogue, and popular services
reduce demand.
For example, in the modern IT industry where IoT and AI (artificial
intelligence) are expected, it can be said that there is a high demand for
engineers who can use Python.
Types and characteristics of programming languages for different purposes
Let's take a look at the characteristics of
each programming language by application.
Here, it is introduced as a typical
application. It does not necessarily mean that it can only be used for that
purpose.
If you find a language that interests you,
dig deeper into what you can do in parallel with learning programming.
Languages suitable for website development
First of all, the language you want to
choose when developing a website.
It is used by most websites on the Internet, so it is an essential language for anyone who wants to get involved in web development.
Ruby
Ruby is a programming language suitable for
creating applications that run on the Web, such as homepages.
The program itself is easy to read, and
even beginners can easily understand it.
And if you use a framework called Ruby on
Rails, it is easier to program because it has the functions necessary for web
development.
Since the development environment is only
software installation, there is almost no need for difficult tuning. Also, if
you write a program, you can see the result immediately.
PHP
PHP is a server-side programming language
used for most sites and blogs on the Internet.
To put it simply, the server side is the
back side that is not visible on the website.
There are many development projects, and it
can be said that it is a language you want to learn if you aim to develop a
website.
It is efficient to learn languages such
as CSS and HTML at the same time according to PHP.
JavaScript
JavaScript is also an indispensable
programming language for the operation of websites.
It works to process the data entered on the
browser screen. If HTML is the body of a car, JavaScript is an image of an
engine.
JavaScript is also a language that makes it
easy to feel the progress of learning because you can check the execution as
soon as you write the program.
JavaScript is a programming language used
in the front end. Contrary to the server side, we develop the visible part of
the website.
Server-side development is also possible
with JavaScript using libraries such as Node.js.
There is a lot of demand in web
development, so learning JavaScript is a strong weapon for getting a job as an
IT engineer.
Languages suitable for developing smartphone apps
It is no exaggeration to say that one
smartphone per person now, and its apps are also made in programming languages.
Here, let's look at the languages that are suitable for smartphone application development.
Swift
Swift is a programming language developed
by Apple Inc., which provides iPhones and iPads. It was created to program iOS
apps for use on the iPhone.
Today, it is expanding as a language that
can be used throughout the development of Apple products.
As for the iPad app, Apple has provided an
app for learning Swift, and the learning environment is becoming easier.
It is recommended to use an IDE (Integrated
Development Environment) that has all the necessary functions called Xcode, as
you can smoothly develop with Swift.
Java
Java is one of the most popular programming
languages for many years, and it is possible to develop Android applications.
Java is widely used in web applications and
is a highly versatile programming language that can be used in various
operating systems (Windows, Android, MacOS, etc.).
Therefore, the demand for engineers is also
high.
Since Java is a compiler language, it is
more difficult to learn than scripting languages such as Ruby and PHP.
However, there are plenty of reference
books and information on the Internet, so the learning environment will be
ready soon. A programming language worth the challenge.
Kotlin
Kotlin is a programming language released
in 2011 as a language that is easier and more secure than Java.
If you are a beginner, you can imagine it
as an improved version of Java and there is no big problem.
It is close to the Java grammar and is
officially certified as an Android development language, so it can be said that
it is a programming language that people who want to develop Android
applications want to learn.
Languages suitable for game software development
I think there are many people who want to
become game developers in the future.
Therefore, I would like to be aware of the language "C #".
C #
C # is a language developed by Microsoft
that is used for all kinds of application development.
C # is a language based on Java, so it
incorporates the good parts of Java.
Since C # is often used in games that can be
played on Windows, learning C # is one way for those who are interested in game
development.
A programming language suitable for AI / machine learning
In recent years, the demand for programming languages suitable for AI (artificial intelligence) and machine learning, which are becoming widespread in business and personal life, is increasing year by year.
Python
Python is a popular programming language in
fields such as data analysis, and is currently widely used in systems such as
AI and machine learning.
Python is also used to develop the SNS
(Instagram, YouTube, etc.) that we use.
The program is simple and popular all over
the world.
Programs are usually quirky depending on
the person who programmed them, but one of the features of Python is that it is
easy to read and understand because it is a relatively unified program no
matter who writes it.
It can be said that it is a programming
language that will be in high demand in Japan in the future.
R language
The R language is mainly used for
statistics and processing of huge amounts of data, and is a language
specialized for statistical analysis.
It also has excellent data compatibility,
such as creating graphs and reading CSV files and text-based files.
For those who want to develop related to
statistical analysis, it is a programming language that you want to learn.
A language suitable for the development of embedded systems of IoT
In the future, IoT will connect things around us to the Internet. The language suitable for developing the device is C language.
C language
C language is a programming language
developed in 1972, and it is a language where you can learn the basic idea of
programming.
It is not suitable for developing websites,
but it is highly versatile and suitable for hardware control.
To execute a program, it is necessary to
convert it into a machine language called compilation, but the execution speed
is fast, and it is widely used in OS development and embedded system
development such as home appliances.
The only point is that it is difficult to
learn, but if you can learn C language, you can also learn computer movements
and hardware control.
Since IoT devices communicate and control
the operation of each "thing", C language will be useful for future
IoT development.
Basic knowledge of programming languages
A programming language is simply "a
word for instructing a computer to operate".
First, let's take a look at what a programming language is and what role it plays.
What is a programming language?
A programming language is a language for
writing programs that instruct a computer.
By using a programming language, you can
tell your computer what you want to do.
For example, if you type characters on the
keyboard or click with the mouse on a computer that does not have a program, it
will not respond and will not work.
In order to operate a computer, you have to
put in a program that writes commands such as when you operate the keyboard, it
works like this, and when you operate the mouse, it works like this.
The same applies when you have a personal
computer calculate "1 + 1". I will teach the computer in a
programming language how to calculate and how to display the result on the
screen when it is known.
With this image, a programming language can
be said to be a tool for connecting humans and computers.
The programming language is basically English
The programming language is basically
written in English. However, I don't write long sentences in English, but I
feel like writing commands in English or the alphabet.
It is the same in any programming language,
for example, a program that commands "screen display" is indicated by
English words such as "print".
Many English words are simple, so even
people who are not good at English do not need to be conscious of programming
languages. It's okay if you remember "Is it a word that has that
meaning?"
Of course, at first you may get the
impression that you don't understand the meaning at all when you look at the
program, but rest assured that this can be solved by "getting used
to" the program code.
Grammar is more strictly determined than natural languages such as English
Unlike natural languages such as English,
programming languages have strict grammar and rules.
Therefore, until you get used to it, you
may encounter many errors due to typing mistakes and rule violations.
However, it can be said that it is not
"difficult without freedom" but "easy to remember because it can
be expressed clearly".
Writing sentences that are easy for people
to understand is actually easy and difficult. I often wonder if I like familiar
sentences or solid business sentences.
Sometimes it's easier to understand if you
break the structure of the text.
On the other hand, if you write a
programming language according to the grammar and rules, the computer will
understand it. Compared to natural language, it's rather easy to remember.
A "source" is a file written according to the grammar of a programming language.
A term that often comes up in learning
programming is "source". Source is written in English as
"source" and is translated into Japanese as a source or source of
information.
Speaking of computers, it means "the
original program that runs the computer", and strictly speaking, it is the
program itself.
Even in everyday life, you may have heard
how to use it, such as "Where is the source of that information?"
Even in the computer world, it means the
"original program" for running software.
Two classifications of programming languages
Programming languages can be broadly
classified into two types. That is "low-level language" and
"high-level language".
Knowing the difference between the two will help you choose the programming language you want to learn in the future.
What is the difference between a low-level language and a high-level language?
It's not inferior because it's a low-level
language, and it's not difficult to learn because it's a high-level language.
Low-level languages are close to machine
language, and high-level languages are close to natural language spoken by
humans.
So, if you want to start learning a
programming language, it's easier to learn a high-level language.
About low-level languages
First, let's take a look at the
characteristics and types of low-level languages.
Features of low-level languages
Computers are powered by the on / off of
electric current and are represented by 1 (on) and 0 (off). If you
"visualize" the state in which the computer is operating, you will
only see a list of 1s and 0s.
Low-level languages program instructions
close to the current on / off that this computer can understand.
You don't write 1s and 0s in actual
programming, but you have to program the on and off states in detail.
Low-level language types
There are several types of low-level languages:
· Machine language
· Assembly language Etc.
These languages are written to manipulate
the machine languages 1 and 0 in detail.
For example, when programming the movement
of a human being to grab an object in a low-level language, it is an image that
describes the movement of the hand, the movement of the finger, the angle and
strength of the movement of the finger one by one.
As a result, the number of lines in the
source code is enormous.
About high-level languages
High-level languages have fewer
instructions to write than low-level languages. Programming in a high-level
language creates a program that is easy for humans to read.
Here, let's take a look at its features and
typical programming languages.
Features of high-level languages
High-level languages are close to human
language, so they are (high-level) languages that computers cannot understand
as they are.
Today, most of the languages that come to
mind when we hear programming languages are high-level languages.
For example, if you have a program that
displays the character string "aiueo" on the screen, just write the
code "display" aiueo "on the screen".
Typical high-level language
Typical high-level languages include:
- Python
- Java
- Ruby
- PHP Etc.
These programming languages are easy to
understand because they are close to human natural language.
If you have touched the program just by
touching it, you may be able to understand "what kind of instruction it
is" even if you are not so familiar with it.
In the above-mentioned operation example of
"grabbing a thing", a program written in a high-level language is one
command of "grabbing a thing".
Therefore, the number of lines of source
code is small.
What is the difference between a dynamically typed language and a statically typed language?
There are also two types of programming
languages: dynamically typed languages and statically typed languages.
This distinguishes whether or not
"what kind of data is this data" is a language that must be specified
in the program.
The computer cannot recognize what kind of
data it is going to handle.
Therefore, it is necessary to show the
computer what kind of data to process, such as "integer type" for
calculating numbers and "character string type" for handling
sentences.
Depending on the programming language,
these "type" instructions may or may not be required.
This difference is divided between "dynamically
typed language" and "statically typed language".
What is a dynamically typed language?
A dynamically typed language is a
programming language that does not require a "type" to be specified.
In other words, if it is a program that
calculates numbers, the computer will understand that "this is a
calculation of numbers".
Therefore, when writing a program, there is
no need to bother to write "This is a number".
This eliminates the need to be nervous
about "types" when dealing with data and reduces the amount of
programming.
What is a statically typed language?
A statically typed language is a language
in which a "type" must be specified for each piece of data to be
handled.
Even if you try to calculate "1 +
1" without specifying the data, an error will occur because you do not
understand the meaning of the entered "1".
In a statically typed language, you have to
teach that "1" is "numeric".
When in doubt about the type of programming language to learn
Choosing a programming language is
important when you start learning programming.
If you choose something that is too
confusing (such as a low-level language), you will be frustrated. That said,
even if you choose a high-level language properly, it won't last long.
Once you know what a programming language
is, it's best to set a goal, such as creating an app or website, and decide on
a programming language that suits that goal.