Development processes & which language?

What type of development are you interested in? There are huge, complex methods like RUP that apply to massive applications. There are methods like agile which can be applied to projects of various sizes. There are methods that include organizational policy like CMM, etc. It’s big (and very lucrative) field if you become an expert.

What is your interest?

I’ll respond this question at a higher level.

My answer is “Get a programmer who understand how to evaluate good coding”

Many people focuses on “how fast” but forget about “how stable” the application is.

I rather get a programmer who emphasizes about automated testing.

This is my wild guess but many programmers do not have automated test cases when they build their application. Probably, manually testing it, fix it, and check in the code. This fix could easily break other part of the code.

Maybe the question should be what’s the best language for automated “testing” capability.

Try asking PHP programmers, “Do you write automated test cases?” I’m sure not many will respond “Yes” or may wonder what “automated testing” is.

Just as many Java or .NET programmers would admit they’re not doing test-driven development. It’s just one methodology used by a relative minority no matter what language you look at.

Software engineering is a huge and evolving discipline. You can spend 7 or 8 years in college studying it if you’d like. If you want to understand the development process, you might actually look up the course website for a design methodology course and see what textbook they’re using.

TDD and automated tests arent necessarily exclusive either. Some companies do run automated QA testing to test business logic, but it could be done post development. TDD on the other hand is for producing solid designs and is done from the start, whether or not it leads to successful QA results is another thing.

anyway, to answer the OP. The language you choose should be something you will want to be using in the future, and well into the future at that. Someone mentioned amazon still using perl as a case for perl being a decent platform. I disagree there. Ebay and Amazon are stuck with perl because moving to anything else would be a monstrously expensive exercise, and as the adage goes, if it aint broke, dont fix it. Given that there are better suited frameworks available now, perl or any other older language seems like a poor choice.

for a company that sounds like its about to enter the enterprise market in a middleware capacity id strongly be recommending Java or .NET based solutions. simply because integrating with non web systems will be alot easier when the time comes. Not to mention capacity planning, load balancing, multi instance deployments, application threading, etc. Stuff youre definitely not going to get much exposure to with RoR, perl or even PHP

I’d say the next step for the OP is to hire a consultant that can help guide the development of a product roadmap that extends beyond the next 3 - 6 months. Where are you going to be in a year, 3 years, 5 years. What are your expected technology needs, markets, etc going to be at these time periods?

dont make the mistake of writing the application poorly the first time, and then thinking you can upgrade or rebuild it later. if its for serious business, you will be using your chosen stack for a long time.

personally, the stack i’ve chosen to see my company into the next 5 years of product dev is apache/tomcat app servers, terracotta clusters, spring java framework, hibernate persistence framework and postgres for the data store.
This came after a year of research, lots of phone calls to the product teams and some decent future planning. In five years time, it will be interesting to see if it was a terrible mistake or not to run with this stack.

[ot]

Given that there are better suited frameworks available now, perl or any other older language seems like a poor choice.

The age of the language matters? Java is only two or three years younger than Perl! Perl is modern and being actively developed. It’s not like it’s some dead old language with no frameworks.

Perl4 has been gone for a long, long time.[/ot]

I think there’s a lot more to it than you seem to be expecting. I might recommend taking a course in web application design if you are serious about it.

If you don’t have the time to attend a course you won’t have the time required for the continued learning that the industry requires.

If I were you, I would keep the following in mind:

  1. Pick experts/professionals for app development.

  2. Focus on engineering and project management practices the dev team follows. I would be interested if they follow best practices of the software industry or not.

  3. Picking a technology is an investment. Out of dynamic language I find PHP5 and Python to be mature options when compared to Ruby. Between Java and .Net I would tilt towards Java but they both are good options.

To add to my previous comment, if your client application, forms, build products etc. is quite complex you might want to get a RIA developed in Adobe Flex or AJAX and have it work with a RESTful or SOAP based web service.

The most obvious advantage here would be that of a better user experience and usability which the server side platform could be anything as long as they conform to REST / SOAP standards. I’d personally recommend Adobe Flex as it lets you extend your app as a desktop app without too many impediments.