Tag Archives: programming

Platform vs. Stairform

It’s probably fair to say anyone working in software knows a term called platform. It’s a term borrowed from transportation industry, where a raised and flat space on which passengers trains in a station. In software, it means something you can leverage, either an environment for running your software or a development library for building your applications.

Like many things in software, platform has never had a clear definition. Different people basically have their own versions of definitions. That is not necessarily a bad thing – at least it helped

Posted in Software Development | Also tagged , | Leave a comment

Programmable Data Centers: Next Big Thing in IT?

As cloud computing gains momentum, more mega data centers are constructed or to be constructed. You can find cool videos on how companies like Google, Microsoft build and run their state-of-the-art data centers.

In these data centers, computers/storage/switches are packed and wired inside containers in factory before being shipped to a data center. After hooking up power, networking, and cooling, a container of servers are ready to go. These advances have

Posted in Cloud Computing, Virtualization | Also tagged , | Leave a comment

Three Stages To Master Programmers

While everyone can learn and practice programming, it’s hard to find a good software engineer, even harder to find a great one. My definition of a great software engineer is someone who can solve real world problems with software expertise, not someone who can only write code, or someone who can only talk about architecture on paper, or someone who complicates real world problems.

Yes, we can all learn programming related concepts, languages, tools, and etc. But how to use them effectively on a business problem is really a test stone for anyone. It’s important to study textbooks, learn from others; even more so to

Posted in Software Development | Also tagged | Leave a comment

In Praise of Static Methods

In object-oriented programming, static methods are the methods that are defined with static keyword. They don’t have access to non-static instance variables. This very limitation can be an easy cure for many programming pitfalls I’ve seen over the years.

  • A static methods prevents you from using instance variables for passing information around, for example, as parameters to or as result from it. As a general rule, you should not define an instance variable if it’s not an intrinsic property of a class or type. It may seem obvious,
Posted in Software Development | Also tagged , , | Leave a comment

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

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. 

Posted in Software Development | Also tagged , | 2 Responses

    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.