For people who are almost 0 basic, is it appropriate to learn Python programming directly?

Source: Internet
Author: User
I hear Python is very simple and easy to learn.

Reply content:

First declare: My introductory language is C.

I'm in favor of Python as Introductory Language
    1. The grammar is simple and clear. The first language, in fact, is the grammar +flow control, and Python's syntax is simple, the code readability is high, easy to get started.
    2. Python's philosophy is "to do one thing should only be the best way", for beginners to standardize their own learning is very helpful, but also to help beginners to read other people's code (compared to Perl code can not see)
    3. Develop a good habit. Python's rigorous code requirements, especially indentation (indentation), are helpful for beginners to develop good code habits.
    4. Python's grammatical design is very good (reverse example PHP), the idea is more modern, you can quickly understand some modern programming language ideas.
    5. Python is still the traditional class-based OO (compared to JavaScript based on prototype OO), and Java,c#,ruby, like the public. It's also more appropriate to learn design pattern from Python.
    6. Python's built-in data structures are clear and easy to use (c provides a little bit less, PHP's slightly messy), while the library is more, excellent code a lot (compared to PHP has a lot of bad code, misleading new).
    7. Python has a lot of free books (in English) and can find a lot of information to chew on. At the same time (foreign) community relatively concentrated, there are problems can be asked to the master.
    8. Python is widely used in other fields, such as scientific computing, and Python is suitable for learning a language as a tool.


Talk about DisadvantagesPut
    1. Syntax: This is a double-edged sword, although the Python syntax introduction elegant, but then to learn C, it is likely to appear to forget ";" And so on (I haven't tried it myself, guess).
    2. Limited domestic applications: Although Python has been sought after, especially abroad, but at home, the application is still limited, purely by python to eat more difficult than c/php.
    3. Dynamic (dynamic-typed): Doing development of course dynamic language is very comfortable, but if you are learning a dynamic language, you will probably ignore some of the foundation.
    4. Versions: 2.7 and 3.0 are incompatible and may cause some confusion for beginners.


Thought for a long while to think of such a point of weakness, overall advantages > disadvantages. Very suitable, for reasons or something I will not say more, the internet is everywhere.

I'll tell you the truth: all the girls in the lab, when I was reading, learned Python. As a true 0 foundation, I began to learn python in the early 2012 with the courage of ignorance.

The biggest mistake I made was to choose the language and not choose what I wanted to do. At that time, learn Python's hard-to-go and a book of more than 600 pages, confused did not say, or nothing. Yes, especially the book, and most of the things on it don't know what it's made of.

And then the matter is done.

This year, whim, is not able to do a website to play. Then the Django Book, read a few chapters, enlightened, previously looked at more than 600 pages a night to understand more than half.

For my little white, Python's simplicity is an obstacle.

It is highly recommended that you decide what to do and what to learn. The only problem is that you start with Python and then use it to get acquainted with C + +, you may have a conflict ... Like people walking out of their comfort zone

And the first to undergo the baptism of C + + and then come into contact with Python will feel into a brand new world, cool a B Our school undergraduate program introduction (Teach not programming people programming) is using Python.
It is said that because Python's syntax is simpler and more concise, beginners are not bound by something very detailed (grammar, etc.), making it easier for them to understand many concepts and larger things in programming.

That course looks like three hours a week and lasts four months. By 3.5 months, you can write small projects (the first three items are more like script, and the last project is to design and write a text-based game, involving Tkinter, very interesting). There are many students studying finance, actuarial, biology and even art, so it is easy to learn.

But because Python syntax is simple, so many concepts are not yet. So it is advisable to master Python for a while to start Java.

Our school sophomore software programming something, is java. Then the next semester to learn the computer system is Linux, and C.

I suggest Python--> Java--> C + + Although I learned from C all the way, and now eat C this bowl of rice. But I also think that starting with Python is a good choice.
Analysis of computer problems, the pursuit is the top down, and gradually refinement. And our daily teaching is generally used in the C→c++→java is the opposite, making people heavy details and light frame, in unnecessary places do too much entanglement.
PS: Stanford Computer Engineering is now starting with Java, perhaps one day, the course will start from Python/ruby/perl/groovy. Python is relatively easy to learn and easier to get started with. To get started quickly, you can do this in the following ways:
1. Find your own interests, such as: you want to make a small game, well, with this as the goal to study the Python GUI
2. Do more examples, the importance of practical programming I don't have to say it.
3. Find a good Python learning community and group, and exchange learning experience with netizens to explore the problems encountered. By the way to you recommend a few:
Pythontab:python Chinese developer Community Portal The best Python Chinese website;
Basic Python Tutorial | Python Tutorials | Getting Started with Python
/ http bbs.pythontab.com The Python forum says it's easy to learn, and C # is no more difficult to learn than Python.
And getting started with the. NET platform is a bit less.

But to learn Python you can get in touch with some programming thinking outside of C #.
-------------------------------------------------
Above is an off-topic.

Whether you have a foundation or not, it is appropriate to learn Python directly. I learned it first in C #, about a year later in Python. I think learning python first will give you a better understanding of the programming thing.
1) Python's code is very close to human language and reads like a poem.
2) Python data structure is enough for beginners to use, the GC mechanism is also relatively perfect.
3) Python can be used to build C/s applications and B/s applications, one-time learning, two-sided use.
4) A large number of open-source Python libraries can be used to write a variety of short applications, reducing the frustration of beginners, in addition, the open Source Library is also the best textbooks.
Wait a minute ... etc...
In short, I recommend that beginners learn Python first, then consider C #, a door in Java, and finally learn c\c++. Of course, there are a lot of computer professionals who will oppose this route and consider it to be the cart before the horse. Right. But not the bestChoose. It is recommended to learn from C.
Python seems simple, but Python's simplicity is not as simple as C, and Python's simplicity is to wrap up complex things and give learners a seemingly simple feeling. The downside is that you can actually do things with it, but when you touch more concepts, you'll find a lot to learn, some of them there. such as wrappers, such as lazy evaluation, such as yield.
The Python language is so easy to use, but it is recommended to learn C and then learn the FP language before you begin to enjoy Python.
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.