Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I would like to know about people's experience of working with APEX and the SalesForce.com platform, was it easy to work with? How similar to Java and C# is it? What did you like? What don't you like? Would you recommend it? Do you think cloud computing has a long term successful future?

My reason for asking is that I am currently looking at a new position which involves working with APEX on the SalesForce.com platform. The position interests me but I just want to try and understand what I might be signing up for with regards the languages/platform as it is completely different from what I have worked with before.

I have seen lots of videos/blog posts online (mainly from the recent Dreamforce event) and they obviously are very positive but I was just after some experiences from developers, both positive and negative.

I find cloud computing a very interesting idea, but I am very new to the subject. The position I am looking at offers a fantastic opportunity but I was just after some opinions on APEX and the platform as I have no real world experience just what I have seen from the online videos.

I guess ultimately what I am asking is:

  • Are APEX and the SalesForce.com platform good to get involved in? Is development on the Force.com just a "career dead end"?

  • Is cloud computing just a fad? Or does it have a long term future?

Apologies in advance if this is the wrong place to ask such a question.

Thanks

share|improve this question

closed as not constructive by Jarrod Roberson, ChrisF May 24 '12 at 14:30

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Website hosts have existed for zillion years, but are were never stated as Cloud Computing. :P .... I guess other than hosting, there is nothing to cloud computing in real world. –  Pankaj Upadhyay Sep 19 '11 at 13:06
    
@Pankaj zillion years? More like 20. –  LarsTech Sep 19 '11 at 15:12
    
@ Digger:Did you take the job or not?If yes are you satisfied?If not why not?I am asking because I am interested in a similar position –  user10326 Dec 24 '11 at 17:50
    
@user10326: No as I found that their were too many limits on what you could do. But, I would say think about what you want to do and make your own decision. I decided I wanted more freedom when developing solutions, you might not. Let us know what you decide, cheers. –  Scott Sellers Dec 28 '11 at 9:09
    
@user10326 see some of the comments from the accepted answer below. I found them to be quite true (re: dead end) as I looked around. But that was just my opinion, yours might be different –  Scott Sellers Dec 28 '11 at 13:46
show 4 more comments

3 Answers 3

up vote 4 down vote accepted

Since you asked about Salesforce and Apex specifically, I'll give you my opinion on it.

I have developed an application using Apex on the Force.com platform and found the tools and provided libraries lacking. Their implementation of the MVC paradigm is more like ASP.Net Code Behind than anything else.

They are slow to add new features for developer and instead are trying to turn Salesforce into some sort of social networking platform.

I think as a CRM, it is excellent, but as a platform for developing cloud based applications, it stops making sense for anything other than relatively basic data capture/reporting style apps.

As a developer, I can't help but think it's a career dead end.

That said, their REST API is nice enough and dealing with that will get you exposure to OAuth, JSON and all of that. I certainly enjoyed writing code related to that more than the core Force.com app.

share|improve this answer
    
thank you for your comments, very helpful –  Scott Sellers Sep 19 '11 at 16:37
    
Just a quick question, why a career dead end? Because they are slow to add new development features? –  Scott Sellers Sep 19 '11 at 16:55
    
It could be a career dead end because you would be locking your development experience into a very specific platform that isn't transferable to other applications. –  Ken Liu Sep 19 '11 at 18:02
    
@KenLiu - I see your point but surely programming skills, techniques and practices are more important that the language or platform. A good programmer picks the right tool for the job because they know MANY tools. –  Scott Sellers Sep 19 '11 at 18:25
    
You are correct, Digger and I certainly aspire to know as much as I can about everything but vendor lockin, incomplete libraries, and limited features and tools will put you at a disadvantage in the long term in my opinion. I should add btw, that I'm in favour of PaaS type services made available via Amazon or MS's cloud offering. I think the advantage of the the cloud applications, buzzword that it may be is being able to access your stuff from everywhere via any device you can think of –  Colonel Panic Sep 19 '11 at 19:15
show 1 more comment

"Cloud Computing" is a bit of a marketing buzz word and not properly defined. Each specific implimentation has its own plus and minus points.

share|improve this answer
1  
Cloud computing is not a marketing buzz. It an actual, quite cool concept, for computing and SaaS. The problem is that it has been slightly distorted, and mislabel by some as just hosted virtualized servers. –  AJC Sep 19 '11 at 13:50
1  
@AJC, Enlighten us please with a reference article that details the differences between hosted virtualized servers and the cloud. –  maple_shaft Sep 19 '11 at 14:01
    
@maple_shaft: Depends on the platform. In the case of Azure, it's being termed PaaS (Platform-aaS) mostly because of what it offers in the realm of queues, table storage, blob storage, the appfrabic, the CDN and a some of the "behind-the-scenes" platform specific things that support the SLA (ie. fault zones, upgrade zones, etc.). Very different. –  Steve Evers Sep 19 '11 at 16:55
    
@SnOrfus exactly my point. Its not clearly defined. –  Tom Squires Sep 19 '11 at 17:02
    
@TomSquires Certainly, I +1'd. –  Steve Evers Sep 19 '11 at 17:36
show 2 more comments

Cloud computing is very expensive, very limited and over-hyped, IMHO, the only good thing about it is that you can accommodate an unexpected demand. So if someone DOS your web page, you can fire up more instances than the bot-net has, and the site will still be available.

Otherwise:

  • automation is as hard as in local cluster
  • you still need a sane system administrators
  • lightning takes down clouds just like any other solution
  • your information is stored at the 3rd party
  • expenses are higher over 1 year period
  • hardware is more limited
  • capabilities are limited by the platform

I think best solution is local farm with fail-over/scaling to cloud on unexpected demand.

share|improve this answer
    
+1, That is an interesting concept about using the Cloud as the fail/over peak demand solution. Do you have any references or articles on the subject that you can share? –  maple_shaft Sep 19 '11 at 11:09
    
I don't think you know what it takes to actually operate your own farm, otherwise you wouldn't say it is more expensive to operate on the cloud. The costs of servers, back-up servers, maintenance, and don't forget, a cooled server room with a fireproof door. Plus a lot more that I am forgetting. Cloud services are not cheap, but if balanced correctly, they are the cheapest option (If you don't mind the whole data-stored-offsite thing. Which to me is the biggest draw back). I do agree that the best solution is a combination of the two... –  AJC Sep 19 '11 at 13:38
1  
@AJC well that depends if your business really needs servers with a fireproof door, retina-scanned access, and to be under a mountain. If so, then yeah, local farms are expensive. If your server is Bob's old PC stuck on the back shelf, not so much. –  Philip Sep 19 '11 at 14:08
    
@AJC, Google "server farm vs. collocation vs. cloud" You'll find plenty of comparisons, and cloud is always the costliest. Even if you order brand new hardware from Dell. It's not like you don't need maintenance in the cloud by the way. They all, clouds, fail and have worse reliability than collocation facilities so far, by an order. –  Coder Sep 19 '11 at 14:23
1  
Actually, I am working with a cloud solution right now, and I'm shocked about the bills and limitations of the service. The customers where I suggested dedicated off the shelf hardware, have been happy for 5 years and the servers themselves were less than 1k bucks, one time purchase, including licenses. Google started with off the shelf hardware, and if I'm not mistaken, SO is also running on dedicated hardware. –  Coder Sep 19 '11 at 20:51
show 5 more comments

Not the answer you're looking for? Browse other questions tagged or ask your own question.