Skip to content

Thoughts on Saleforce

A community dedicated to making Salesforce, it's products, and partners better...

Click to register with for a FREE 30-DAY TRIAL!


Login Form

Lost Password?
No account yet? Register

Why APEX, and why not Java, C#, VB.NET, PHP, Ruby, etc. etc.?

Stuck on the Apex?
Dog Precariously Perched on Apex
Photo by hangdog

I understand from Investor’s Business Daily via SalesforceWatch that’s new secret sauce is a programming language called "Apex."  My question is, "Why create YAPL?" (Yet Another Programming Language)  Why not leverage one of the many excellent programming languages that already exist? 

Why create the need to learn a whole new language when they could have leveraged one that already exists?  After all, most of the functionality is in the class library; why not just create a class library for Java or C#/VB.NET or PHP or Ruby instead of an entire new language?  Or why not buy Delphi for god’s sake?!?

Naybe is just trying to increase revenues by planning to charge for training and certification?!?  There goes me not trusting’s motivations again. Or maybe it is just arrogance and/or delusions of grandeur on their part?

But bottom line this is a foolish strategy. Clearly wants to see more apps developed for AppExchange but going this route means significant increasing the friction required. And as most of the successful Web 2.0 companies have show, the more you reduce friction, the most quickly you are able to harness collective intelligence.

Before I close, let me point out that I founded and then ran for over a decade an Inc 500-recognized company that sold components for Visual Basic and later to .NET developers. I understand programming languages and I can program in more languages than I have fingers (and I’ve got all ten, thank you very much.) I also understand third party markets like AppExchange extremely well as that’s exactly what I focused on; reselling third party components and tools to developers. So I think I have the authority to comment on this. This strategy of launching a new programming language, though they may eventually be able to tuff it out over the long term to make it look successful is, IMO, just plain dumb.

P.S. Even after bitching about this, I’ll probably still learn Apex. Assuming they don’t limit it to just Enterprise and Universal edition customers, DOH!

They hate Professional and Team Edition Customers

Okay, the title of this post is deliberately provacative. And no, I don’t actually think actually hates its Professional Edition and Team Edition customers. But I do think they treat Professional and Team as second class customers whose real needs are not worthy of their consideration.  Let me explain.

By creating three editions: Enterprise, Professional, and Team, and it appears did so for market segmentation which would have been a great strategy.  Companies that provide products and services to meet the needs of different market segments can engender great customer loyalty, and produce excellent profits if they execute well.  But that is not what did.

No, only really cares about it’s Enterprise Edition customers as it’s Professional Edition and Team Edition customers are just afterthoughts. has not really tried to craft solutions that actually meet the needs of smaller companies.

Instead, has simply lopped off features from the Enterprise Edition so that they could charge less and hopefully reach a lesser marketplace.

There are a few features that are as essential to Professional and Team customers as they are to Enterprise yet has decided only Enterprise Edition customers can access those features.

It’s as if BMW sold three levels of cars but only provided seat belts and a hand brake with the most expensive level of car.

What’s more, it’s as if BMW programmed their fuel injection to quit working if you tried to retrofit those features to one of their lesser expensive cars yourself.

In future posts I’ll discuss the features to which I refer, and I’ll also explain why I believe to be incredibly short-sighted because of it.