Python is said to have a low learning cost. I thought about it, but I settled on the following.
--For beginners who care about learning costs, go to a lightweight language ――The more beginners, the more you should decide in the direction you want to make ――If you want to do machine learning, Python looks good --If not, go to another suitable language
I will explain it lazily below.
I think that the learning cost is based on the premise that "beginners start programming". It's not like thinking about someone who has already programmed in another language. Experienced people can do what they want without worrying about costs, and they should have that kind of power.
However, if you think at the level of a serious beginner (if you have never typed a command, typing is also your index finger), do you feel that the cost of another learning is high and the result is low purity? (But when considering this, lower purity may be more accurate)
And I think that those who care about learning costs are those who have a rough idea of the direction, but have not decided what they want to make. If you want to get rid of the kernel, I think you're starting to make it without worrying about learning costs, so I don't expect it.
There was such information. It's rough, but I used it as a reference when thinking about what to think about this time.
-Three reasons programming beginners should start Python -Thorough comparison of 10 popular program languages in 2016! Annual income, job offers, and learning difficulty -[Thorough comparison] 10 recommended programming languages for beginners
--Simple grammar --General purpose --Slow execution speed --Minor in Japan
I will consider the following.
Easy is important for beginners. Some people say that the amount of code is small, but beginners spend time understanding rather than typing. With fewer lines of code and fewer variables when doing the same thing, beginners have less to remember and can spend more energy understanding. This is about the same for lightweight languages.
The point is that the syntax is easy to read. Anyway, I get angry about indentation later, so I think it's good to force indentation. There is also a feature that there is no case, but if you use case in another language after getting started with Python, you will feel that it is the most convenient, so getting started with Python will increase the enjoyment later.
Summary: ** Lightweight language if you care about learning costs **
Beginners don't have to worry about this. There is no big difference if it is entered in a script language and is made by a beginner.
Rather, in terms of choosing what to make, it would be bad for beginners to make something with an insanely long execution time from a learning point of view. I don't think it's fun unless you make something, but understanding the basic syntax is unavoidable, so the priority is to make small things and understand how they work. Don't just patchwork from different places to implement difficult things and end up looking at the screen.
Summary: ** Don't worry **
It is written in various articles that it can be used for anything, so it is recommended for people who have not decided what they want to do, but I wonder if this is the case. ** Learning a program when you don't have what you want to make is a pretty terrible story **. The usual flow is to have something you want to do and choose a language that suits it (like PHP because you want to do the WEB). You should definitely learn the basic syntax, but it will not be usable by itself. Even if you only learn English grammar, you don't feel like you can speak English.
However, if you have a lot of libraries and you have decided what you want to do like mathematics, machine learning, raspberry pi, WEB, there is potential to accept it.
Summary: ** If you have something you want to do, you can do it in Python **
Really? It feels like that, but it's minor compared to other major languages. Minor is fatal. I don't know how to find out what I don't understand, the beginner's self-study doesn't go well, and no one can tell me if I try to ask someone. You can learn the basic syntax just by searching on the net. If you use a service that allows you to learn programming online, you can learn enough. However, I think it is a little difficult for beginners to realize what they want to make. Machine learning is relatively full of information, so if you want to do machine learning, it would be good (there are various theories).
I personally feel that there aren't many study sessions, and as of 2016, I can't beat Perl, PHP, and JS, which are the same lightweight languages. I feel that it is not often used at work. For those who want to do WEB apps and those who want to make smartphone apps, I think that it is more fun to learn by going to another language quietly. Also, I heard rumors that it is used in educational institutions, but it has nothing to do with beginners who are trying to choose a language.
As an aside, if you can take it as an opportunity to learn English and respond positively, this is very efficient. It may be efficient to work hard in English from the beginning, as any language will eventually require the ability to work in English. If you don't understand English, there is also the question of whether it is the cost of learning programming.
Summary: ** Best for machine learning **
How is it? I think it's better and more fun to do someday, but I'm wondering if it's the best way to get started. Aside from the nature of the language, the harmful effects of historic languages are ** the wisdom of wonderful ancestors is stored, and at the same time, loose information is also stored **, which is indistinguishable to beginners. In other words, the learning cost is high. On the contrary, Python has the advantage that it has relatively little information.
The compilation language is certainly quick when it starts working, but it's painful until it finishes compiling. I think it is a tough learning cost for beginners. Grammar also has a lot to do, and even beginners have to spend energy on things that they do not understand. If you're starting from now on, I think lightweight languages are fine.
Summary: ** C and Java will be postponed, and if you want to do it someday, let's do it **
For some reason, it is often mentioned as a comparison target, so I will consider it. These are essential skills for those who want to do the WEB. Some say that there are quite a few tools that you don't have to do, but it's for those who know. So, if you want to do WEB, let's learn HTML first. But that's not about the cost of learning programming, is it? Paying the cost of learning HTML does not reduce the cost of learning other programming languages.
Summary: ** Not applicable to the story of learning costs **
――Lightweight language is easy for beginners, let's be gentle --Speed doesn't matter to beginners ――It's hard if you don't think based on what you want to do --You can do anything with Python ――But it's easier to learn in a suitable language --Python for machine learning ――It's actually quite difficult to have a lot of information
So, for those who choose a programming language to learn at a learning cost, I think it is better to do it in a lightweight language after adjusting to what you want to do to some extent.
Recommended Posts