Job Recruitment Website - Job seeking and recruitment - What software do you mainly use to do programs now?
What software do you mainly use to do programs now?
The most popular languages last year are the same as in previous years, and they remain: Java, C, C, PHP and Basic. It is impossible for the top languages to change in just one or two years. Which of these five languages does not occupy the position of Top5 for more than five or ten years? It is estimated that this situation will remain in 29, with these languages taking the lead.
but C# is already pushing BASIC fast, and it may be in the top five in two years. The rise of C# and the decline of BASIC, to some extent, reflect that Microsoft VB programmers are switching to C# language. C# is gradually accumulating the energy to compete with Java.
in 29, the most important programming language news should be C .. X of Cx is finally set to 9, and this standard will be launched in 29. After ten years of accumulated experience, many existing shortcomings of C will be improved in this standard, which is worth our expectation.
Thanks to Google's strong endorsement, Python has made small gains in recent years, and now it has become the first choice for general scripting languages. The rise of Python has made Perl hard to regain its splendor, and the trend of both is quite obvious. And at the end of 28, the long-awaited Python3. was finally released.
nowadays, we live in the era of the Web, and the back end of the Web may be a hundred schools of thought (Java, PHP,. NET,), but the front end of the Web is still JavaScript. Although there are many criticisms of JavaScript language, the importance of JavaScript will continue to rise.
for Delphi, I admit that I was wrong in the past and thought it would continue to hit the bottom, but 28 was obviously a year when Delphi was embraced by the masses again. Delphi used to have many expert users and even threatened VisualBasic, but in the past few years, after the emergence of Java and. NET, and after Web applications swept the world, Delphi was obviously marginalized. External troubles and internal troubles (internal changes in Borland Company) make the situation of Delphi quite bad, and even the original documents can't be found. After Borland cut out CodeGear from the development tools department, and then CodeGear was bought by Embarcadero, Delphi seems to be getting better gradually, but it is still too early to say that it is clear.
If Delphi has bottomed out, it is Ruby that has suffered the opposite. Recently, the recruitment of Ruby has been greatly reduced. It is normal for a language that has soared too fast to see a slight drop in demand. Ruby should still be a slow rising pattern in the long run.
This year has been a bumper year for Lua, and its visibility has greatly increased. Besides being used in game software development, it has also been adopted by some important commercial software vendors (such as Adobe). I am optimistic about Lua, because no other language can match it in the field of embedded language.
speaking of Adobe, after the launch of AIR this year, it seems that the popularity of the market has not yet risen, so the official language of Adobe is still full of ups and downs. I hope it will perform better in 29.
Erlang performed well in 28, and continued to rise slowly. Groovy and Scala, two languages on the Java platform, have also attracted attention. To some extent, these new languages also echo the reality of functionalprogramming and the rise of dynamic languages.
according to the data of Net in January 29, the market share of Apple computers has reached 9.63%, and the sales figures of iPhone in the past year and a half are quite eye-catching. Influenced by it, Objective-C, the official language for developing MacOS application software, has also made great gains and attracted more and more attention. I couldn't afford Apple's notebook, or I would have started learning Objective-C long ago.
I noticed that a strange language suddenly appeared in the past year, called Alice. Alice is a 3D animation production environment, which is suitable for assisting storytelling. The reason why this language is called Alice is not related to the story of "Alice Alice'sAdventuresinWonderland".
Let me introduce the REBOL language with a little selfishness here. According to the current development progress, 29 will be the year when REBOL3. will be released. I hope everyone will pay more attention to this language. You can go to my REBOLOGY blog (.blogspot) to see its dynamics.
after analyzing the key languages, on the whole, we will find that dynamic languages and functional languages are becoming more and more popular. I am from C, C to Java, C#, and then to Erlang and REBOL. The language I use is more and more dynamic and functional programming.
popularity of dynamic languages
As dynamic languages are becoming more and more popular,. NET and Java have noticed this phenomenon, trying to make it easier to integrate dynamic languages into their own platforms. DaVinciMachine in Java camp and DLR(DynamicLanguageRunti-me) in Microsoft are all products of this trend. We can expect that in the near future, dynamic languages will develop more vigorously.
the power of dynamic languages may be far beyond your imagination. Here are some common dynamic languages: D, JavaScript, Erlang, Groovy, Lisp, Lua, Objective-C, Perl, PHP, Python, Ruby, Scala, Smalltalk, Tcl and VBScript.
what is the charm of dynamic language? Because dynamic languages can do things that static languages can't do in a simpler way. It is difficult for me to introduce the characteristics of dynamic language in a few words, and the definition of dynamic language seems to be different, which is worth writing a special article to introduce.
functional languages are emerging
In addition to dynamic languages, functional languages are also a trend, and even Microsoft has introduced F#. In the middle of last year, I gave two lectures on F# at Microsoft in Taiwan Province, and the audience was quite large, which showed that everyone was quite curious about this kind of programming technology.
functional programming (FP) has not appeared in the mainstream commercial software world for a long time, and the real reason why FP is unacceptable may be "execution efficiency". Traditionally, the efficiency of functional programming languages is indeed worse than that of imperative programming languages, which is intolerable in commercial systems. But this reason has changed. Today, we have a new measure: "simplicity" and "rapid development" are more important than other factors, because the complexity of software has reached an unbearable level, and the competition in the IT industry is much fiercer than before.
If you want to be "simple" and "quick to develop", you need to use higher-order abstraction, so functional programming is more suitable for the current development environment than imperative programming. With the progress of hardware in recent years, the efficiency of functional programming is no longer a big problem; Even due to the progress of compilation technology, the execution speed of functional programming languages is no longer Amon Wu.
with the development of hardware in recent years, the situation seems to be reversed 18 degrees in favor of FP: the popularity of multi-CPU, multi-core, HyperThreading hardware architecture and the popularity of distributed computing, which is simply an environment specially created to nourish FP reproduction.
However, it is not difficult for most programmers to switch from OO or procere programming to FP.
Language United Nations
When a system is relatively large, it is very common to use mixed language programming, because:
Every language has a suitable time to use, and a large system can be divided into multiple subsystems or modules, each subsystem has different characteristics and is suitable for using different languages.
when developing large-scale systems, the number of developers increases. Everyone tends to use their own familiar language and tools.
in my own example, based on the above considerations, my planned system uses C, C#, REBOL and Lua at the same time, and Erlang may be added in the future. We use C for system programming (dealing with low-level parts related to the operating system), C# for cross-platform servers (Erlang will be considered in the future), REBOL for parsers and compilers, and Lua for internal scripting languages. Every language has its own place.
another advantage of using mixed language development is that programmers can use whatever they are good at. It takes a long time to master a language. We can't ask our team's programmers to use a language that I am familiar with. We can settle for the second best and let them use the language that they are most familiar with, as long as the developed things meet our regulations.
it is absolutely feasible to use mixed language development, as long as the modules are properly cut, the interfaces are clearly defined and the architecture design is correct. This is my experience.
however, please note that mixing multiple languages may make maintenance more difficult. Trouble comes when the person who developed a module leaves his job and no one else knows the language he used at the beginning.
When developing a system with multiple languages, it is possible to face the problem of impedance between languages, just as there will be different cultural barriers between different countries. A good system design should take this into account, reduce the contact points between modules and try to minimize the impedance between languages.
My suggestion
If you want to cultivate an all-round UN dream development team, My suggestion is to gather the following language talents:
C: Develop system
C: Develop COM and traditional Microsoft technology
C#: Develop modern Microsoft technology
PHP: Develop Web backend
JavaScript: Develop Web frontend
Objective-C: Develop Mac or iPh-one
.
- Related articles
- I would like to ask which hotels are cheaper in Taicheng, Taishan City? It is best to bring the price, room environment and location. Thank you for your help.
- How about Shuyang Liangyuan Automobile Sales and Service Co., Ltd.?
- Which city does Chahe Town belong to?
- The establishment of Shanghai Li Technology Co., Ltd. will become an ideal headquarters.
- Which brand is good for silk thread cutting?
- Linyi Jiaxing Fruit Wholesale Market Address
- What is the future for my children after graduating from technical school? Can I be employed directly?
- Announcement on Recruitment of Staff in Some Units in Dongyang City, Zhejiang Province in 2009
- How many times do institutions in Jiangsu Province recruit a year?
- What's the telephone number of Chongqing Changxing Industrial Co., Ltd.?