[JAVA] Recommended programming language

20200225 Added.

Premise of this article

Recently, I often read recommended articles about programming languages, so I thought I'd write it myself. By the way, I am an SE who has been working for SES small and medium-sized SIer for about 4 years. I mostly play around with the server side. I would like to write as much as I know about the WEB industry. (Please correct if you say something wrong)

I would like you to read it on the premise of the following. ・ Basically I will focus on the languages I have touched. Just because it doesn't exist doesn't mean it's a bad language. ・ I would like to recommend mainly two points, "ease of learning" and "demand after learning".

JavaScript (Ease of learning: 6-8 points, Demand after learning: 9 points)

A language mainly used to add movement on the screen side Recently, it has been used for server processing, etc., and I think that the difficulty of learning will increase if you learn including that. It depends on whether you mainly work on the front desk or the server, but I think that it is a language that is worth learning at least with html and css. (I will not touch on html and css this time, but let's be able to read at least)

20200225 postscript

At the time of writing this, I knew only about jQuery, but I feel that JS is still active because the FW switches quickly. Angular, React ... If you learn FW-based without knowing native JS, you will feel like you are studying a different language each time, so studying from the basics of JS will make it easier later.

PHP (Ease of learning: 8 points, Demand after learning: 8 points)

Probably the most recommended language for inexperienced working people who want to find a job as soon as possible It is an easy-to-wear language because it is not difficult as a language, there are abundant teaching materials, and it is easy to create deliverables. Also, since it is the most used language for WEB companies, it is highly practical if there is no resistance to finding employment in small and medium-sized companies in the metropolitan area. (In rural areas, the number of WEB companies themselves is small, so it may not be evaluated if you try to go to SIer)

Java (Ease of learning: 6 points, Demand after learning: 7 points)

Contrary to PHP, the most used language in the SIer industry Since it is an old language, there is a lot of information for learning, but it is harder to make deliverables than PHP. I feel that engineers are often older even if the language is upgraded. I don't really like statically typed languages, but there are many benefits ... ~~ Looking at the number of job offers, it's a downhill language, so it may not be very good to learn it without any experience from now on. ~~ However, since there are many large-scale systems made in Java, the work related to renovation will not disappear, and it is recommended for those who are thinking of getting a job at SIer. (I don't recommend getting a job at SIer lol)

20200225 postscript

By developing Java with Springboot, I feel that problems such as the development environment, which had been a weak point until now, have been cleared to some extent. Considering that it is also used on some websites, it is expensive and I think it is a language that can be easily crushed. As I wrote before, the drawback is that we can't really see the future of Java.

C language (ease of learning: 5 points, demand after learning: 4 points)

Languages mainly used in the embedded industry (may be used for some other components of WEB systems) Embedded systems also require knowledge of hardware, so if you can only code in C, it is not OK, so I think that it will not be directly linked to employment. Also, as the language is more difficult, there is a high possibility that you will be frustrated if you try first without knowing programming. However, if you are studying only the script language, you will be able to touch the systematic parts that you will not touch, so I think that it is possible for students to use it as a study material. I also did C when I was a student, and I feel that it helped me learn other languages after that.

C # (Ease of learning: 6 points, demand after learning 6 points)

The difficulty of learning is about the same as Java In my industry, it is used in .net web system development Looking at the number of job offers, it is less than Java. However, it seems that it is being used for game development and application development due to the influence of Microsoft, which recently provides the development environment Visual Studio. It may be a language that will be used more widely in the future.

Python (Ease of learning: 8 points, demand after learning 5 points)

Language used for machine learning (also used for web development) As a feature, I think it is an easy-to-understand description method. On the other hand, the processing itself is not so fast (it is very slow), so it is unknown how far it will be used. Those who are interested in machine learning should study a little. But how many people will be involved in the development of AI or something like that in Japan? Learning Python itself is easy, but machine learning, which is mainly used, requires advanced mathematics knowledge, so it is very difficult to understand that as well.

Other languages I don't know much about

Swift A language that is almost indispensable for iOS application development (Isn't Object-C used now?) It's a must if you're interested in developing iOS apps, but you probably won't need it if you're not involved. I touched it a little when it just appeared, but I have a strong impression that it is difficult for me personally. Is it easier to use because it is used for application development? I may check it later and add it.

Ruby Languages used by web companies equal to or better than PHP Since I use a framework called Ruby on Rail almost fixedly, I think that I can even learn about the framework. (Is it unavoidable?) If you are thinking of getting a job at a web company, I think it is a language that is in high demand.

GO language

A language that has begun to replace the role that C has played in WEB systems until now. It was easier to understand than C. For those who can only do PHP, the hurdle may be a little high. Since it is a language developed by Google in the world, will demand increase in the future? I think. Personally, the subtleties of the language stand out, so I refrain from touching it deeply.

Finally

I think it's better to be able to use multiple languages than to become very familiar with one language (at the gold or platinum level in terms of qualifications) in this era. By learning multiple languages, you can see the difference as if it was like this in A but it was like this in B, and you will deepen your understanding of both languages. (If you don't use it, you'll forget it and it's hard to get messed up.) Also, when learning multiple languages, I think you should acquire dynamic and static languages at an early stage. If you join a web company, even if you can use PHP and Ruby for work reasons, both are dynamic languages, so another static language For example, I think you should learn Go language.

Recommended Posts

Recommended programming language
Popular programming language ranking
About the programming language Crystal
Recommended learning method for programming beginners
Open source programming language zig summary
Object-oriented programming