A good programmer cannot bind himself to a language , You can't define yourself as JAVA The programmer ,C# The programmer , wait . There is no difference in language , Only applicable scenarios . Good programmers , You should learn a new language soon , And the ability to solve practical problems . In my 20 years of programming career , More than once , Because of the project , Learn the basic grammar of a language in a day or two , Then edge Google Function and library usage , While completing the project , And then the experience of putting aside the project after it is completed .
But the order of learning is traceable , We can choose the language we want to learn according to different degrees of importance , Now let's talk about C#、C++、Java、Python The priority of learning four languages .
As a 20 Years old programmer to answer .
1998 graduation , Now, I will make my own business IT company , Still like to write code .
Working for so many years , The languages used in formal projects are :Pascal/Delphi,dBase/FoxBase,FoxPro,VB,VBScript,JavaScript,COBOL,C/C++,Lua,Java,C#, Of various databases SQL.
The first thing I learned was Pascal, In the University, I study data structures , After graduation delphi Wrote a little project , And never used it again .
dBase/FoxBase It is also taught when learning database in school , After graduation, I used FoxPro, I also did a small project , The back is basically useless .
VB/VBScript As the main language , from 1998 Used in 2002 year , Yes , At that time to do ASP. Also used VB It has been written with a certain scale EXE Project . So far, the book in the bookcase 《VB5 SATINE 》 Still bless a place .VB It's really easy to do rapid development . But I haven't seen it at all . That's not VB 了 .
because Web Development is basically never interrupted ,JavaScript Have been with me until now .
COBOL When I was working in a Japanese outsourcing company , Received a project of Nomura Securities in Japan , was COBOL, then , As the head of the new technology R & D department , I will not let you down . Learning while doing projects , Throw it away when you're done .
C I learned it from the beginning of programming , Use a little off and on ,2003 When I was working on a bank project in , use IBM minicomputer ,Tuxedo middleware , Then you can only use C/C++ Language programming ( At that time, banks were not very receptive Java). Then start your own business , To play , use OpenGL Made a game engine , Cross platform , Write once ,Windows、Android、iOS You can run .C++ Written . Tried it in the middle Lua, Wrote two games , I think the ability to control the program is better than C Far from the , Gave up .
The last is Java and C# This pair of Gemini , It takes the longest time , Have done the most projects .C# It's from 2001 Year begins ,beta I started to learn . Remember the first project was 2002 year 6、7 Look like the moon , At that time, the company took over a larger one Web project , I was going to use ASP It's done , As a result, I was just learning C#, Then he looked at it and said yes 10 The official version will be released in January ( Time is probably like that , Years have gone by , Memory is a little vague ), Then rely on yourself as the project leader , Plus the boss doesn't know the technology , Just decide to use C# To do it . When the project is finished, it will be 10 month , A few days before the project goes online , Microsoft has released the official version ASP.Net1.0, The project went online with no risk . Now think about the feeling of death . If Microsoft puts .Net The release time of the official version is postponed by one month , It's hard to imagine what the boss would do to me .
Java It's almost like C# At the same time , And keep doing it , from EJB Achieve SSH, Until then Android. When I was young , The energy of study is exuberant , And then I thought C# and Java It doesn't seem so bad .
PHP seen , Never used .Python seen , Never used . also Ruby, seen , Never used . When I say yes, I probably mean that I have written Hello World, But I haven't done any projects .
I really like writing programs , So there's something new , They like to use it for a run .
Then talk about the view of programming .
First , In my submission , There is no difference in language , There are only application scenarios . As a technical decision maker , Get any project , The first consideration is , Not how to do , But with what . If you get one Web project , In my submission , In many cases ,JSP、PHP、 even to the extent that Node.js They are basically equivalent , Should be able to complete the development of the project well , Choose what technology development , Look at your own resource endowments and specific situations . If a group of brothers are engaged in Java Of , Of course JSP ah , If all my younger brothers do C#, Of course. . Of course , Unless the project has special requirements , such as , If Party A is a bank , That probably won't work , If it is a project with a client , Of course C#+WinForm ah , If it's Android , Of course Java ah .
secondly , As a good programmer , Should be able to speak at least three languages , In this way, you can fully accept the styles of different languages , More importantly, you will pay attention to the discussion of different technology communities , broaden one's horizon , You will have a deeper understanding of the nature of programming , And then you think , Any language is the same . I often tell the technical personnel of the company , Use Java Programming ideas to write C# Code for . This is reflected in the styles of different technology communities . stay Java Our community , You can see more pairs of patterns 、 Discussion of the framework , While Microsoft pays attention to the mode and framework of its own things , But it seems that I prefer to make a pile of family buckets for you , Let you do rapid development .
Third , Feelings of various languages , The best and most fulfilling thing to write about is C, The feeling that everything is under control is wonderful . But my company doesn't have C/C++ The programmer , Because the company doesn't play games anymore , I have at least 5 Not in years C 了 . My favorite is C#, I adore Andrew ,C# The syntax and mechanism of is really well designed : Generic 、delegate/event、Attribute、Lamda expression 、 Functional programming , I always feel that the design of this language gives people a special delicate beauty , It can satisfy all my imagination of a good language . since .Net Core in the future , Cross platform is not a problem . relative Java Come on , I prefer C#. Of course , I will not reject Java Of , Just do Java Can make money .
Fourth , I think data structure is really important , If you want to be a master . In school , We must study this course over and over again . Of course , If you just want to do Web Development , Writing web pages , When I didn't say .
Last , For computer majors , In my submission , In the university is to lay a good foundation . Language is really not difficult , The programming ideas of all languages are imaginative , In fact, the grammar is similar , Nothing more than a sequential structure 、 Loop structure 、 Branching structure . Don't worry too much about application development , These things are actually very fast to learn . What matters is the foundation .C Language is a must , Learn from good examples C, Let you understand the principle of computer ( data structure 、 register 、 Memory 、 Hard disk read / write, etc ) Have a deeper understanding of . then , In order to work , Science Java, Science C#. data structure 、 Courses like compiling principles , When you work longer , Start writing the schema 、 When you start performance optimization , You will find it particularly useful . Of course , The first simple development tasks basically don't need . however , Programmers who don't want to be masters , Of course not a good programmer , Is that so? ?
also , In fact, I really recommend , As a programmer ,C# It is necessary to learn , Not because I personally like C#, Because , actually , According to my habit , In the process of doing the project , I often write some gadgets , And these gadgets , Most of the time, of course, it is written as exe La , therefore , I usually choose to use C# To write .
The above is a job 20 The words of an old programmer for years , According to his answer , To sort their time to learn .
Source of the article : The Internet The copyright belongs to the original author
The above is not for commercial purposes , If it involves intellectual property , Please contact Xiaobian , We will deal with it immediately