The story of low learning costs for Python

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.

Premise

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.

Confirmation contents

First I tried google

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

List of Python features

--Simple grammar --General purpose --Slow execution speed --Minor in Japan

I will consider the following.

Simple grammar

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 **

Execution speed is slow

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 **

General purpose

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 **

Minor in Japan

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 does it compare to C and Java?

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 **

How does it compare to HTML / CSS?

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 **

Summary

――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

The story of low learning costs for Python
Image processing? The story of starting Python for
The story of Python and the story of NaN
The story of making Python an exe
Learning notes from the beginning of Python 1
The story of manipulating python global variables
Pandas of the beginner, by the beginner, for the beginner [Python]
The story of blackjack A processing (python)
Learning notes from the beginning of Python 2
The story of making a standard driver for db with python.
The story of doing deep learning with TPU
Upgrade the Azure Machine Learning SDK for Python
the zen of Python
[Example of Python improvement] What is the recommended learning site for Python beginners?
The story of sys.path.append ()
The story of reading HSPICE data in Python
Code for checking the operation of Python Matplotlib
Python learning memo for machine learning by Chainer until the end of Chapter 2
Basic story of inheritance in Python (for beginners)
Align the number of samples between classes of data for machine learning with Python
The story of Python without increment and decrement operators.
The story of FileNotFound in Python open () mode ='w'
Techniques for understanding the basis of deep learning decisions
Summary of the basic flow of machine learning with Python
The story of automatic language conversion of TypeScript / JavaScript / Python
The story of building Zabbix 4.4
Towards the retirement of Python2
Learning flow for Python beginners
[Apache] The story of prefork
Python learning plan for AI learning
About the ease of Python
Checkio's recommendation for learning Python
About the features of Python
The Power of Pandas: Python
The first step of machine learning ~ For those who want to implement with python ~
[Note] The story of setting up the SDK for Python of Azure IoT Hub on Linux
The story of implementing the popular Facebook Messenger Bot with python
Check the operation of Python for .NET in each environment
The story of how the Python bottle worked on Sakura Internet
The result of Java engineers learning machine learning in Python www
The story of introducing jedi (python auto-completion package) to emacs
Consideration for Python decorators of the type that passes variables
The story of rubyist struggling with python :: Dict data with pycall
[Python] The biggest weakness / disadvantage of Google Colaboratory [For beginners]
[Python] Tensorflow 2.0 did not support Python 3.8, so the story of downgrading Python
Google search for the last line of the file in Python
What kind of environment should people who are learning Python for the first time build?
[Python] The stumbling block of import
First Python 3 ~ The beginning of repetition ~
The story of participating in AtCoder
Python: Application of supervised learning (regression)
Web teaching materials for learning Python
Existence from the viewpoint of Python
pyenv-change the python version of virtualenv
Change the Python version of Homebrew
<For beginners> python library <For machine learning>
The story of the "hole" in the file
[Python] Understanding the potential_field_planning of Python Robotics
Review of the basics of Python (FizzBuzz)
See python for the first time
What is the python underscore (_) for?