Category: Software Development

Top 20 Most Popular Programming Languages

By Steve Jin, April 30, 2010

If you are a software engineer, you might have known Tiobe popularity index of programming languages. The index is updated on monthly basis. The following table shows the top 20 most popular languages this month.

The index caught many people’s attention this month because C regained its No.1 position. Java, used to be No. 1 for years, dropped to No. 2. Although percentage wise Java is still very close to C, the declining of Java popularity can be eye-catching.

There could be many interpretations on the result, not the least of which is that Java is now owned by Oracle due to its recent acquisition of Sun. The explanation of Tiobe is as follows,

So the main reason for C’s number 1 position is not C’s uprise, but the decline of its competitor Java. Java has a long-term downward trend. It is losing ground to other languages running on the JVM. An example of such a language is JavaFX script that is now approaching the top 20.

In the application development, Java is still clearly the dominant programming language. The JVM languages like Scala (not in top 20 yet, but very promising) definitely worths watching.

Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

What The CTO Wants YOU to Know?

By Steve Jin, April 27, 2010

I just read a book by Ram Charan What The CEO Wants You to Know? Using Business Acumen to understand how your company really works. Having grown up in India, the author has earned D.B.A and M.B.A from Harvard Business School, and has taught at Harvard and Northwestern.

In the book, Ram coined a new term “business acumen” to describe the fundamental capabilities for business success. He claims, “Every business is the same inside, cutting through to cash margin, velocity, growth, and customers.”

Here are more quotes from the book:

When you come down to it, the business is very simple. There are universal laws of business that apply whether you sell fruit from a stand or are running a Fortune 500 company. Successful business leaders know them. They have what I call business acumen – the ability to understand the building blocks of how a one person operation or a very big business makes money. You, too, may learn the fundamentals of cash, margin, velocity, return on investment, growth, and customers.

You can develop your own business acumen. While these ideas may sound complex, they are not. Think more about your best teacher in a subject like chemistry. Once you understand that the atom was made up of protons, electrons, and neutrons, you then had the fundamentals to solve any problem in chemistry. I want to show you that it’s the same with business . When you know the fundamentals, you can “get” the basics for how any business works.

This made me think what the CTO wants you to know, and what “technical acumen” is. Here is my paraphrased version: Read more »

Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Software Engineering: Do We Need Yet Another Theory?

By Steve Jin, April 17, 2010

Today I read a blog by Martin Fowler, the author of the famous Refactoring: Improving the Design of Existing Code and other books. The blog explained why he declined the invitation to be part of the SEMAT (Software Engineering Method and Theory) initiative by Ivar Jacobson, Bertrand Meyer, and Richard Soley. Ivar Jacobson is known for his contribution to the UML, together with Grady Booch and James Rumbaugh. All of them worked for Rational Software, now part of IBM, which I was part of from year 2000 to 2005.

Martin added his rationale for his declining:

…From here I got the distinct impression that the central thrust of the initiative is to create a software meta-method-kernel – essentially a set of common process elements for software developments that you can rigorously compose into a method for your own project. Read more »

Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Two Opposite Trends in Java Programming: Which Should You Go With?

By Steve Jin, March 24, 2010

Java is a static typing language, meaning you have to define a type before you can use it and the compiler checks the types for you. Some people like the static typing and others don’t. People like it would like even more into the language. Some others would prefer less typing. The rest don’t have strong opinions and are OK with both.

In the last several years, we actually see two opposite trends in Java programming: stronger typing and weaker typing. This blog analyzes in depth why these two trends happened and what do they mean for you.  Read more »

Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Top 10 Best Practices Architecting Applications for VMware Cloud (part 4)

By Steve Jin, March 22, 2010

This 4th and last part contains best practice No.7 ~ 10. To be notified for future posts, feel free to subscribe to this feed, and follow me at Twitter.

#7 Levarage vApp

vApp is a new addition to vSphere. It’s essentially a group of VMs that work together as a solution. You can manage them as a basic unit like a VM. It provides you higher level granularity for resource allocation and management.

This is an ideal container for your application if you have multiple virtual machines involved. They may or may not form a cluster, but are bundled together for a same goal.

The vApps are not only easily managed by the vSphere, but also imported and export as a bundle. Therefore you can easily move it without worrying what should be included while copying it.

VMware provides tools like VMware Studio using which you can create and configure vApps easily. The VMware Studio has Web based console, customization and build engine, build process automation with CLI (command line interface).

Other alternatives include: Read more »

Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Page 2 of 71234567

OfficeFolders theme by Themocracy