0 is it better to start programming with python + mysql or C # + sqlsever?

Source: Internet
Author: User
I am a vocational high school student. I have just come into contact with the concept of programming. The first language I come into contact with is C #. I am studying. The teacher spoke little about it. One and a half hours a day, self-study is very annoying. I can't read boring books. The books are very complicated and I am suffering from no information. I also say it online. NET is not promising. It is restricted by Microsoft. I heard that python is very popular and I want to transfer to python. I am a vocational high school student. I have just come into contact with the concept of programming. The first language I come into contact with is C #. I am studying. The teacher spoke little about it. One and a half hours a day, self-study is very annoying. I can't read boring books. The books are very complicated and I am suffering from no information. I also say it online. NET is not promising. It is restricted by Microsoft. I heard that python is very popular and I want to transfer to python. Reply content: select the language that is most convenient to solve the problem in your current situation.
In any case, pay attention to effectiveness. It is not a good question, but a question about what you need to learn. Python and C # are both good and easy to use, but they have different application scopes. The recommendation subject should first understand their respective characteristics and then decide based on their own situations.

Of course, if you really think that C # is a boring language, do you want to change the subject line? Well, it is really troublesome. Considering the employment situation, it is more reliable to learn Java.

By the way, XML is the core. The more you know, the better ...... My friend, you have a bad question. Do you know what you want to do?

Python + MySQL
C # + SQL Server

Since SQL is mentioned, it is assumed that you want to learn SQL technology, that is, database technology. But what do you want to do with database technology?

Hypothesis:
  1. Webpage: PHP + MySQL/Python + MySQL/http://Asp.Net+ MySQL/Node. js + MySQL
  2. Windows desktop program: C # + SQL Server/VC + SQL Server
  3. Cross-platform programs: Python + MySQL/Java + MySQL/Mono + MySQL, etc.
  4. Cross-platform desktop programs: Python + MySQL/Java + MySQL/C + MySQL, etc.
  5. Mac OS X program: Never touched, never dare to say
So which one are you?

Are you sure you want to write something before finding the appropriate language?

In addition, if you only search for a job, you can search for the most popular programming language on the Internet, because you have no foundation, currently, many languages have Tutorials that are suitable for users with no basic knowledge.

But the reality is:
It is often limited by one language. You must be forced to learn another language.I 'd better study java. I have a good job prospect. Of course, I must learn xml well. This is the foundation of all languages, php + mysql.
Java + mysql
Asp.net + SqlServer
Mono + mysql
All of the above can be used. ==== Update ====
In the comments, @ Wang ruitong not only thought that I was loading, but also "suggested" Why did I not write "Introduction to algorithms"? I have been thinking for a long time and decided to answer this question:

I would probably mention introduction to algorithms and data structures, but I am not. I have considered whether to mention algorithms and data structures, but I have thought about it. If I learned the OS, I would naturally come into contact with many algorithms, so I did not particularly emphasize it.

I think a good software developer (partial Engineering) we should be able to see the code of the advanced language and imagine what the machine commands for running are like, in what order of execution, and the relationship between threads, for example, you can not only compile code with your head, but also run the Code with your head. Is this capability important? If the compiler, language, and operating system are perfect, the abstraction provided by the language should be sufficient to understand the behavior of the program at runtime.

But the real world is not like this. For example, at Microsoft, even application developers should always pay attention to whether a problem may be caused by the following reasons: CPU (hardware problem) the operating system bug, the compiler is not correctly compiled, and the standard library of a language does not correctly implement a function or the runtime mechanism is faulty. If a developer is not familiar with the entire Stack (Technology Stack), he cannot determine the layer at which the problem occurs, so he cannot start. If you have some performance problems and do not know the underlying layer, you do not know where to start or optimize it.

This is the same as debugging network problems: if you do not know how to collaborate between different layers of the Network and various hardware devices, the diagnosis will be impossible. So the learning sequence I listed is basically to let others know from bottom to top how a program runs on a machine.

I did not list the following compilation for two reasons: 1. modern computers rely on digital signals, so I think they can start learning from digital signals at most. 2. the compilation of the following things is very basic, even if you do not know enough, you will have the opportunity to learn about the compilation. I really want to explain what it is worth looking at separately. Maybe it's about the computer composition principle.

If some people (including @ Wang ruitong) still think that I am pretending to be forced, there is no problem. However, in addition to talking to me, please patiently give a serious answer without being forced, help all people who are interested in this issue. If you leave without being forced, it is also a constructive attitude.

==== Original answer ====

I still think that the 0-Based Learning begins with the basic learning. Language is just a tool for you. I used JavaScript, Ruby, Python, Java, and PigLatin in five languages in a three-month project. Really, learning new languages is fast, because the principles are the same. You just learn the syntax and some special usage, and these are all well-learned through search.

I suggest the following learning sequence:
  1. Assembly: this will teach you the underlying programming interface of your computer and learn how to deal with computer hardware;
  2. Operating System: You can use C and Win32 APIs to write small programs, but focus on understanding some concepts of the operating system, such as how a CPU is encapsulated into multiple processes and threads, for network communication, how to read and write files, stack and stack are different.
  3. Language: C ++/C #/Java. Combine the language class libraries to see how they wrap the operating system and then expose it to users using the language in a more friendly way. In addition to basic variables and functions, we also need to learn object-oriented design.
  4. Language-related Framework: Taking C # as an example, http://ASP.NETMVC, WinForm, or WPF. Note! If you want to learn http://ASP.NETMVC. You should also understand the HTTP protocol at least. Learn http://ASP.NET directly without understanding the HTTP protocolMVC is a very unwise behavior.
  5. Databases, XML, and JSON: these are all icing on the cake. If the previous four parts are well learned, they will soon be ready for use. It may take a long time to be efficient and proficient, but it will not become an obstacle for your development.
Finally, I want to emphasize that the basic principle is solid and the language is switched every minute. Because assembly, operating systems, and frameworks exist beyond the language, even if other languages are changed, this knowledge will not change (the framework that serves the same purpose is designed to communicate with each other, such as Rails and http://ASP.NET. MVC ). As for how to break down large-scale projects and design functional modules, these are even more language-independent. Although I usually use C # at most, if I had to use a Ruby project, I could write code in a week. Learning C # is like this, and learning Python is even worse. Illustration: diamond or silver?Production without missing grass

If God put a huge volume of gold in front of you, what is your first reaction?

The normal reaction should be to pick it up immediately.

The questioner now gives us the feeling that it is too heavy to think about the cool look, if it is a large piece of diamond. The heart of the ocean in titani said yes. I heard that the silver machine is very popular now, and it can also detect viruses ......

Popular language C #, the top five in the world, Microsoft's main development language. Easy to learn and easy to use syntax and IDE, a wide range of books and materials. A teacher has a professor every day for one and a half hours, and has enough free time to check materials and exercises. This is a "Heaven" For Every programmer with zero base!

Well, if you don't leave Heaven, you will continue to "I heard that XX is better ......" Right. Python and C # are both easy to learn, but Python is not necessarily simpler.

Please note that after a while, God will take away the gold. Python is just an adhesive and is useless without the module support from other languages. Considering your prospects, we recommend that you learn java, mainly because xml must be well learned. Wishing you a bright future.

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.