Sunday, April 26, 2009

Where Is All Six Arrows On Ultimate I

Strike Engineering Languages: Past, Present and Future Oracle buys Sun

writing this post the article thread I've read in dosideas.com. In it, we talk about the skills they should have a programmer for a relevant curriculum in the next five years:
1. One of the "Big 3" (Java,. NET, PHP)
2. Rich Internet Applications (RIA - Rich Internet Applications)
3. Web Development
4. Web Services
5. Human Skills
6. A dynamic programming language and / or functional
7. Agile
8. Domain knowledge
9. "Hygiene" development
10. Mobile Development


From this article, I discussed with some colleagues and I took some conclusions that I want to express here.

I think the article is a little better, given the arbitrariness with which you have chosen to acquire knowledge. In fact, many of these skills are to be taken in the present (I would meet from 9 to 10).

I will focus on point 1, one of the "Big 3" (Java,. NET, PHP). Before talking about "greatness" should be defined the criteria for comparison. If greatness is the demand for programmers in absolute terms (not percentage), if those are the three major languages, no doubt. But they are now. In fact, in 1999, for example, were not, and maybe in five years are not.

In 1999, Java and PHP were at the point you are now Python and Ruby, and. NET does not exist. By then demanded C + +, Oracle Forms, Delphi and Visual Basic. Some people mistakenly think that the demand for Cobol was huge, when it was very similar to what is now Legacy Software and maintenance of critical applications (such as banks). It is true that by then the web-oriented dynamic languages \u200b\u200b(PHP and ASP) experienced very strong growth.

Looking ahead, there are already come a long way thanks to the contributions of the different types of languages \u200b\u200bin the world of software development. I think the future of Python is very promising, as well as recycling points already made good Java, provides simplicity and increased performance of the developers who use this language. Python will grow in proportion to what Google keep betting on him. But I think Ruby will stay on the road for many reasons (stand, complexity, maturity, anarchy ...).

There are people who think that PHP is anarchic and has been widely accepted, but what makes Ruby on PHP? Showed that PHP could be made websites dynamic, multi-platform and free software very easily. What makes Ruby on PHP I've not yet discovered.

Also there are saying that Java is the new Cobol or C + + again, and again I disagree. To some extent that Cobol is the number of applications that have been developed (beyond criticality). In addition, Java code is more maintainable, thanks to the three-tier architecture (although the pattern is independent of language, Cobol applications were developed by mathematicians and physicists who did not know design patterns and other software engineering techniques) being able to even change the GUI leaving business logic and / or domain as layers that can be maintained or not independently. Sincerely

Cobol has never made a big deal. If it were not implemented as a corporate solution for banks, we would agree or not his name.

For C + + revolutionized the graphic above applications. Its object orientation was artificial because of backwards compatibility with C (Ansi C is entirely contained in C + +). Debugging an error because a "pointer crazy, could consume weeks, and that's without mentioning that you were never quite sure that the arrangement would not lead to side effects. Actually the language "pata negra", which is still required in many companies (particularly microelectronics) is the C. Contributions

Java to the world of software development: Java

has not stalled, it has adapted to the Aspect Oriented Programming (beyond object orientation with the Spring framework, for example), and has the broader development community of the world. Java

also includes: desktop applications, web, mobile and services. That is, you can do anything.

If so, we add its contribution to the world of Object Orientation (OO first language was pure and it worked), object persistence (Hibernate, iBatis, JPA), ORM (Hibernate), web services (REST, SOAP with Axis), graphics frameworks (SWT, RCP, AWT, Swing), MVC frameworks (Struts), web frameworks (JSF, Struts, Struts 2), full adaptation to UML , unit testing (JUnit, TestNG), Loge in console (Log4J), two fantastic multilingual free IDEs (Netbeans and Eclipse), and all this multiplatform (transparently to the programmer), we can conclude that the contribution to the world of Java development software is far superior to what he could bring in their day, Cobol, and C + +. Current Market



now 60% of projects we receive are in Java (Web + Mobility). I was surprised see how PHP has grown to 30% in times of crisis. I would like to find an explanation for this growth (perhaps as a consequence of Drupal and Joomla CMS that have achieved a high degree of maturity). However projects. NET has been reduced. This can make sense because of the cost of licenses, and should be mitigated by Mono (open platform for application development. NET), but not be its place finish, although C # I think a very good language.

demand I would like Python, in order to have some time to develop, but currently there is none (in my case, and in Andalusia in general). Future



Within five years there will continue to work for PHP and Java developers.

the developer better trained, more mature, should include several languages \u200b\u200band frameworks, that will give a perspective and a superior experience to master only one language. That has been my personal experience.

I think it will become less important "for what is scheduled, the paradigm that the tendency is Software as a Service (SaaS) - Cloud Computing ( here is a first approximation). I bet on SOA (service oriented architecture), where what matters are the services and interoperability, not the software of the "guts".

0 comments:

Post a Comment