We will introduce the programming languages and other necessary things that ** young ** programmers or ** future programmers will need in the future.
None
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.
Future growth
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.
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 *)
--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)
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!
Program language required in the future
Recommended Posts