[JAVA] A programming language that young people will need in the future

We will introduce the programming languages and other necessary things that ** young ** programmers or ** future programmers will need in the future.

This is a must-have programming language

None

If you force me, something I like

Any language is fine nowadays. You can study a new language when you need it, or when you want to study, a language you like or a language that is easy to make.

What is required of young programmers

Future growth

The most important thing is how much you can grow in the future

It may sound psychological, but it requires ** motivation **. This is because we focus on how much we can grow in the future and contribute to the company. Of course, those who have barely touched a programming language while saying "I'm motivated!" Are * motivated scams *. You are required to show it in action.


Recommended language

The story changes a little from here. I will loosely introduce the languages and technologies that I personally recommend.

Ruby It is a dynamically typed language and is also called a scripting language. Ruby is widely used in the web industry (especially ventures). It is recommended as the first language for beginners because it is easy to write and there are many Japanese materials because Japanese are the creators. However, in essence, skilled programmers are looking for fun and freedom to play, and writers are required to be sensible. In Ruby, metaprogramming is easy to write, and I think it is also a language that recommends writing metaprogramming.

When you think of Ruby in general, you'll probably hear the term Ruby on Rails (commonly known as Rails), but it's like a framework, a 3D printer. Don't confuse it with Ruby, as all you need is how to use it and the blueprints will do the rest. (If you pursue Ruby on Rails, you will need more and more technology, but I will omit it here.)

Java It's a statically typed language that you can sit down and write. Java has been used worldwide for a long time and is still an active language. Therefore, it is still very popular in the field where orders and long-term stable operation are required. However, it tends to be disliked in the web industry these days. The first reason is that, unlike languages such as Ruby and Python, the amount of writing is redundant. In this language, the object-oriented part is easy to study. This is because it is necessary to write the parts that are omitted in Ruby etc. by yourself in order to write it so firmly that it is redundant. By the way, I don't know how many times it's said, but Java and JavaScript are ** completely different languages !!!!! ** The writing method, execution method, behavior, etc. are completely different. It's as different as India and Indonesia. There is an article detailing the differences, so if you want to know clearly, please see here. If you want to know more about how to write JavaScript, you can search for ECMAScript because the names are not similar.

Go It is a language that can be simply written in a statically typed language. Go was created by Google and already has a simple specification. In the future, the specifications will not change significantly and you can use it with confidence. The good points of Go are that the specifications are simple, the speed is fast, it can be written concisely compared to Java etc., and parallel processing is wonderful. However, although it is object-oriented, it does not cover all object-oriented to simplify the specification. I don't think it's suitable for learning object orientation. Recently, it has begun to be used a lot in the field, so I think there is no loss in learning.

Scala It is a statically typed language that combines object orientation and functional programming with just the right amount of salt. In Scala, the type part is very important and it is a very difficult language for beginners to learn. However, the idea of functional type may be different once you touch it. Development using Scala requires a long construction period. However, it is possible to write very safe and stable software because it is tied up tightly due to the constraint of type. (I also think that it is a very suitable language when adopting development methods such as * DDD *)

(Bonus) List of languages that I feel are often used

--C / C ++ (embedded system, competitive programming) --Java (software that requires maintenance and stability) --C # (Visual C # for Windows apps, Xamarin for smartphone apps, etc.) --Kotlin (Web app, smartphone app) --Ruby (web application) --Python (machine learning, web application) --PHP (Maintenance, Web App) --JavaScript [& TypeScript](Web application, smartphone application with React Native) --Go (CLI tool, web application) --Scala (web app) --Swift (iPhone app) --SQL (DB operation) --Shell system (Makefile such as Bash for operating with CUI)

Summary

For the time being, let's make what you want to make and learn what you want to learn! For beginners * Reinventing the wheel * Welcome! It's important to actually act!

reference

Program language required in the future

Recommended Posts

A programming language that young people will need in the future
A programming language that protects the people from NHK
Start SQLite in a programming language
The most sought after programming language in 2020
Draw graphs in the programming language Julia
Create a BOT that displays the number of infected people in the new corona
It seems that a new lottery with a total score will start in the sports lottery,
A server that returns the number of people in front of the camera with bottle.py and OpenCV
[Python] Programming to find the number of a in a character string that repeats a specified number of times.
VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
A Python program in "A book that gently teaches difficult programming"
A note for embedding the scripting language in a bash script
Note 2 for embedding the scripting language in a bash script
A word that I was interested in as a programming beginner
Is there a bias in the numbers that appear in the Fibonacci numbers?
A memorandum that you will often use in Python's Selenium
Programming language in "Hello World"
A story that verified whether the number of coronas is really increasing rapidly among young people
Play a sound in Python assuming that the keyboard is a piano keyboard
I made a program that solves the spot the difference in seconds
A timer (ticker) that can be used in the field (can be used anywhere)
A function that measures the processing time of a method in python
Read the config file in Go language! Introducing a simple sample
The story that inheritance behavior is quite different in each language
Create a bot that posts the number of people positive for the new coronavirus in Tokyo to Slack
A story about creating a program that will increase the number of Instagram followers from 0 to 700 in a week
Programming to fight in the world ~ 5-5,5-6
Programming to fight in the world 5-3
Activity record in the programming circle
Programming to fight in the world-Chapter 4
Switch the language displayed in Django 1.9
Programming to fight in the world ~ 5-2
Guidelines for reincarnating in the world of linux programming development (C / C ++ language)
A program that will slowly recover the economy from any news headline
Estimate the probability that a coin will appear on the table using MCMC
What is a C language library? What is the information that is open to the public?