Why is the first programming language of foreign science usually python or Java, and the majority of our country is C?

Source: Internet
Author: User
Dacity has two-door programming introductory Lesson: Intro to Programming in Java
Introduction to Programming

and introduction to Computer science, which uses Python.
Intro to Computer science Class Online (CS101)

I've never seen a foreign school. The first programming class is in C language, but the domestic is basically C (including myself)
In addition to the Udacity,coursera,edx, there are a lot of programming lessons, mostly in Java or Python.
I have completely followed Stanford's programming methodology, very good, with Java

I guess:
Because C is hard to write ... Beginners do not need to do all day pointers, memory allocation of these, if used in Python teaching I think my interest will be much larger, fear mood will weaken a lot. Walk the Detour Miss Youth, rectification C language ruin people tireless ...

Reply content:

By writing a semicolon to not write a semicolon easily, by not indenting to indentation difficult. CMU, Caltech, Cornell are also used in Python ...

Yes, although C's syntax is straightforward, it's a headache to have to manage memory yourself.
and Java syntax is too cumbersome, such as you to compare Java and Python with List/array code number ...

In my opinion, Python is the best intro to CS language in these three.
At the beginner stage you can't appreciate the power of C and Java, but you can appreciate the simplicity of Python.
About C, the efficiency of allocating memory reasonably should be taught at least after the intro course and then another algorithm.
The novice may be segfault to learn at first.
Also, OOP is difficult to teach in C.
As for Java, its true strength is the versatility of a team-friendly development/program (a JVM can run on what platform).
The novice will pay too much attention to the grammar and cannot comprehend the main points of intro to CS.

For those who really want to learn, in fact, my advice is:
The first lesson is taught with Racket/scheme + SICP.
Then learn python.
After that, Java,c is free.

If you're not so serious, you can get started with Python. It's just better to focus a little bit on functional programming in Python, about lambda and the like.
The personal point of view is that FP wants to learn early and broaden its horizons.
and intro in the course of recursion and other knowledge points, the individual believes that only with the FP can fully reflect its elegance.
Python, though, is very well-represented. I must be the C language of rectification invented by the Chinese to master the core technology.
----------------------
/*哎呀,别顶了各位,我都不好意思了。因为python和java这种高级语言更加用以上手。现代编程课程主要教的是数据类型,变量作用范围,逻辑,条件,循环,这是面向过程阶段的。还有面向对象阶段的继承,多态,抽象等特性都能很好满足。并且它跨平台,容易出产品。如果你用C系,尤其是在linux下,你需要care的和特定语言相关的细节太多,不是老学究或者是系统工程师,在入门阶段了解太多意义不大。*/
LZ investigated ...
At least I majored in a freshman in Java, plus some basic courses (may involve C, but very few will not teach C alone)
Moreover, the undergraduate four-year complete and language-related course only java,c/c++ will be covered in many courses. Domestic education system is too rubbish, mainly by self-study, feel python is more suitable for getting started. Make people feel fulfilled. C language after learning, after learning Python code will write very beautiful. It is easy to learn and to be a bigger project. Don't like Microsoft I think there is nothing wrong with China doing this.
Reason
Sentence: Not to learn C, no words

A little more: because C is "intermediate language", can be down, there is a simple low-order performance model (object model), for hardware and software professional students are good. Learning C is more conducive to learning hardware, learning basic software. Learning Python/java and so on "solve the problem" is more beneficial.
Two different ways of thinking. "Want to learn", should, also will learn several languages. "Don't want to learn", it doesn't matter which one to learn. Because the first course in foreign countries is the introduction of computer, the important concept of the program, not speak the language, need is less language traps, easy to get started, simple grammar, rich features, can be used to describe the concept. Python has exactly the above characteristics.

Domestic introductory class is really speaking grammar, For,while Grammar can speak a few lessons (here if from the perspective of abstract algebra is good, and timely introduction of invariant, pre-conditions, post-conditions. )

C is better suited for a brief introduction to the System programming course, and then used for systems programming, similar to the cs61c of the CMU and UCB in the software. It is a waste to start a separate class to calculate the number of daffodils.

Hide one.
The first program class for freshman year in the fall semester
Is that Python is not c.

C is clearly better than Java, Python, the introduction of the language, because it can be "computer composition principle", "Operating system Principle", "algorithm", "compiling principle" of the courses closely combined. Java, python So simple things self-study is the computer science students learn C language actually become backward and low-level sign?
Do not want to learn to do other things.
  • 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.