More and more "simple" Java

Source: Internet
Author: User

java,20 years old. Since I wrote the first line of Java code, so far has been more than 10 years, seeing java--this year just found their own growth direction of the ignorant teenager, grow into now well-deserved industry king. It already has the world's largest developer community, as well as an unrivalled ecosystem. This also means that any application using Java has a strong industry support without worrying about being alone.

Collapse's "standard"

I have just become a Java programmer, or a savage age, what encouraged themselves to have food and clothing, although open source has a spark, but the attitude of most enterprises, not my race, its heart will be different. I still remember my first official Java program is to implement an SMTP server.

I wrote it all the way from Socketapi, first realizing the rough SMTP protocol, and then implementing our application protocol. While this approach is good for individuals to understand the knowledge system from the bottom up, everyone is making wheels from scratch, and for engineering development, it's just a waste of time.

It is also the era of Java enterprise development of the big line. With the sun, the tree grew up, which almost means that the original Java is the Sun sales server attached to the giveaway. and the ability to pay for these servers is almost always a big business with no money. Sun also looked at these gold owners, vigorously pushing the "complex" enterprise-class standards, the famous Java EE. In that era, write Java programs do not write EJB, do not talk about a few distributed transactions, you are embarrassed to say that you are doing Java programs. Almost mainstream voices are talking about the complexities of enterprise development, expanding the boundaries of imagination, and it seems that every Java programmer is confronted with one of the most complex problems in the world. Even if the application is just a simple management system, or just to do the message forwarding, we need to be an expensive application server, write only to deploy to the above to run the EJB, because this is the official recommendation, only this is true, only to do so is called enterprise-class.

Once on a business trip, close to work, I found a bug in the program. In fact, our program is an EJB written in accordance with the official recommendation, and can only be run if deployed to an application server. My debugging scenario is to add some print statements and then deploy them to the application server, looking at the results of the output, plus some other statements, and then deploying, and so forth. At that time, we used a Sun application server, only use its publishing tools to package the application, and then upload the hundreds of trillion program to the server, each time the upload will be at least more than 10 minutes. Finally, I fixed the problem, only modified a line of code, the problem solved, but the time has been more than nine o'clock in the evening, three hours of time is mostly waiting for the deployment of waste.

I don't think my favorite software development should be meaningless consumption, there must be something wrong. The surrounding people can not give me the answer, I only to search online, so I know agile, know the open source, know the software design, also know that there are a bunch of Java programmers in the world of official claims dissatisfaction. During that time, I was crazy to cram a variety of software development knowledge, I increasingly feel that "simple" development should be the true nature of software development.

That time coincided with the evolution of the concept of software development, Springframework, Hibernate and other now in the impact of Java Programmer Framework has just started, enterprise-level development "WITHOUTEJB" concept of a fledgling. Programmers tortured by the Java EE Development model have discussed the pros and cons of a variety of approaches. At that time, I also began to lead the project, so I was clumsy to practice these new ideas. The first version of Springframework I used was 0.8, and I started using the design to isolate database access, trying to kick the EJB out of my project, trying to do all the development tests locally, and using as few application servers as possible. Now, I really want to thank my project manager, then trust me, let me go toss.

Fortunately, not too long, most Java programmers keep pace with the forerunners, so we see more people embracing open source ideas, exploring agility, and SSH (Spring, struts, and hibernate) as the industry's mainstream. The so-called official standards have lost credibility, coupled with the rise of open source servers such as JBoss, Tomcat, those who rely on the sale of application servers in the year the big profits of the manufacturers began to wither, with WebLogic Bea early refuge in the ORACLE,IBM WebSphere has become a thing of the past, The most unfortunate is the most official sun, born in Java, but not the money to earn Java, now also become part of Oracle.

"Simple" forward

A drama of dust settled, the history of the wheel has never stopped. Today's Java is what it looks like today, because more new ideas are still being hit.

With the rise of the Internet, Web development has become the mainstream of industry development. Originally Java Programmer's Day is quite good, the development standard gradually establishes, each kind of development frame also gradually consummates, the various tools also progressively enriches. But this time, a framework of rails turned out and everyone saw how to write a blog in 15 minutes. And 15 minutes is not enough. The Java programmer writes the XML configuration file. The advent of new ideas, let Java programmers begin to re-understand Java development. We have indeed come out of the unwieldy of the Java EE. But with new targets for comparison, Java development is still a long way off. Java programmers continue to work hard to explore how to use the JAVA5 to bring us the grammatical transformation, research how to use Java to implement some dynamic language effects, research to enhance the expression of Java programs. Today, we have more choices, and even in many ways we have completely said goodbye to XML. Select a library, the implementation of the function is only part of the reason, and the expression has become an important reference factor.

As more and more people develop the web, someone suddenly comes up and says, "You're doing it wrong, this guy is one of the designers of the HTTP protocol, royfielding." Later, as we all know, the restful architecture began to rise. In the same year, the technology that was called Ajax was more and more people realized the dynamic effect of the Web page. Ajax and restful services were found to be a perfect match for the people. Backstage to provide services, the front desk to provide a showcase, an emerging career with the rise, it called front-end programmers. This is a great thing for Java programmers, and we no longer have to write Sibuxiang html with freemarker, velocity, or JSP, so you can focus on what you do best. Another beauty of this combination is that the developers are increasingly using JSON as the bearer of the front-end communication protocol, and the way it is thrown into the history of Mitchellsays is called WebService, and it is the XML-based thing that a big company pushes forward. To know that the base object that sends the AJAX request is called "XMLHttpRequest", the influence of the big can be seen.

The rise of multicore has allowed programmers to explore how to write parallel code, research, and find that many good programming ideas come from a programming paradigm called functional programming. The stuff that had been shelved by pragmatic programmers was picked up again. The more you study, the more you feel that functional programming is a good thing, but Java does not provide native support for functional programming. As a result, people shouted in the Java language to add support, while their own hands-on simulation of functional programming, for reference to functional programming concept. Both of these things came to an end, and today we have Java8 lambda, and for those who use previous versions of Java, guava can also be part of the fun of functional programming. While not a complete functional programming support, for most people who are accustomed to using traditional Java, these support can already make Java more elegant than before.

When interviewed by C + + 's father Bjarnestroustrup, how to look at the simplicity of Java, his answer is that time is not long enough. The master's view is indeed long-term. Compared to when I first started Java, today's Java can be said to have turned upside down, and, I believe, such changes will continue, Java8 power has not yet fully played, JAVA9 is already on the road. Thankfully, this change is making development more and more simple, and the life of Java programmers is getting easier.

Author profile: Zheng more than 10 years of experience in the programmer, Duke Selection award winning works Moco founder, former ThoughtWorks chief consultant, entrepreneurial tide of fresh people, currently engaged in the field of intelligent hardware, is committed to simplifying the development of intelligent hardware. He has published several times in various media, lectured at various technical conferences, shared his understanding of software development, was particularly willing to absorb new knowledge, and was willing to chat with people about software development.

More and more "simple" Java

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.