views:

138

answers:

6

What languages are best suited to small, 1-3 person software development teams? Obviously, something like Java is more aimed at enterprise; what's the best fit for small teams?

Nothing too dynamicky/slow (e.g., PHP).

EDIT: Okay, so maybe this wasn't the smartest question ever. But just answering with "it doesn't really make a difference" would be great—this question was a genuine one; I was indeed under the impression that different languages were suited to different team sizes.

+8  A: 

Go with what you know.

John Boker
also, i've been drinking, so this may not be the best answer ;)
John Boker
@John - +1 for the drinking disclaimer.
rockinthesixstring
@John - might be best to not answer; this is not a real question. :)
Heath Hunnicutt
@heath, i disagree, this is a real question, just not a question suited for SO. (you have no idea how hard it was to type this)
John Boker
@John, no man, I think he answered himself in the OP -- Nothing too dynamicky/slow (e.g. PHP) is the answer to the question. It's a rubrick.
Heath Hunnicutt
PHP isnt slow, how many users we talkin here.
John Boker
drinking makes me want to program something.
John Boker
John, I'm gonna join you and have a drink. There are far too many bitchy people commenting this late at night.
rockinthesixstring
@rockinthesixstring the more the merrier, rum 'n coke is my drink of choice.
John Boker
12 year Scotch - straight up.
rockinthesixstring
+2  A: 

I like @John's answer "go with what you know". I personally feel that true serious OO languages are far superior to scripted languages, but other than that... use the right tool for the job.

rockinthesixstring
OO languages are better suited to diferent situations than scripted languages.
Russell
Let me rephrase. Object Oriented VS Interpreted. I feel (personal opinion here) that interpreted languages can't hold a candle to serious Object Oriented languages (even in smaller applications). The higher level of separation alone allows for easier manageability.
rockinthesixstring
+1 because you like my answer :) not a bad answer either.
John Boker
Please define "true OO languages". (Hint: you're almost certainly going to give a bad definition.)
JUST MY correct OPINION
Think about the separation of concerns in Rails or .NET MVC. I can't get that nice level of separation in asp/php if I tried. I never said "true" I said "serious".
rockinthesixstring
@rockin - Ruby is seriously OO, and is also interpreted :)
bedwyr
"I personally feel that **true** OO languages ..." Am I tripping or is that a direct quote?
JUST MY correct OPINION
feisty bunch. I'm sorry for offending the scripting gods. I corrected myself in the comment starting with "Let me rephrase" and I also said it's my "personal opinion". Ignorant? maybe... but the time I've wasted on inferior languages has contributed to my ignorance... My opinion... .NET is King.
rockinthesixstring
+2  A: 

I don't think the size of the development team should determine the choice of language. You should probably choose your language based on at least one of the following:

  • Project requirements
  • Available tools/frameworks/etc.
  • Team's familiarity with the language

Rockinthesixstring said it more succinctly: use the right tool for the job.

Eric Dennis
+2  A: 

The language you use should be considered by what you are familiar with and the solution. For example, will your solutions be large and scalable? Or smaller applications? What integration may be required?

Russell
+3  A: 

Obviously huh? I completely disagreee wth your initial premises here. You use the language that best fits the problem at hand - or what you know best. Team size has little or no say on it. Who's paying you probably has much more to do with it :)

Michael Dorgan
+3  A: 

I think you're asking the wrong question entirely. Whatever language you use should not depend on the size of your team; I've seen several small teams (3-5 people) implement very impressive JavaEE applications. I've also seen large task forces using Perl and Python.

What are you designing, and which language best suits your needs?? You already specified 2 potential requirements: no dynamism and speed -- what other requirements do you have? Does your application include string-parsing? If so, you might need a language with decent Regular Expression support. Will your application run on more than one architecture? If so, you might consider Java (please, no comments about whether or not this is a good idea -- I'm simply making a point). Are you concerned with memory management? These are questions you need to consider when picking a language; the size of your team will not have much bearing on your decision.

Ultimately, the language is simply a means to an end -- it's a tool (as @rockin mentioned). It's up to you and your team to decide what tools you know, their strengths and weaknesses per your project requirements, and how they might best serve your purposes.

bedwyr
good points....
aharon