views:

80

answers:

7

I am curious whether other developers believe the quality of their programming language or their development tools is more important.

Please consider your answer with regard to both productivity and daily enjoyment of work.

+2  A: 

quality of programing language make things easy. quality of development tools make development faster.

yogs
*quality of programing language make things easy?* what things?
ktaylorjohn
For example templates/generics remove the need for casting things again and again (like you have to in Java or C).
Lothar
So [Java doesn't have generics](http://download.oracle.com/javase/tutorial/java/generics/index.html) then? Not that it matters, mind you. Generics and templates are bolt-on attachments for inexpressive type systems. A decent type system removes most-to-all of the need for generics. A decent macro system (hint: C and C++ do not have a decent one) takes care of the rest of the cases.
JUST MY correct OPINION
quality means· Ease of learning· Ease of understanding· Speed of development· Help with enforcement of correct code· Performance of compiled code· Supported platform environments· Portability· Fit-for-purposereference http://msdn.microsoft.com/en-us/library/cc168615.aspx
yogs
A: 

In terms of solving problems, then the right language for the problem at hand is the most important.

In terms of working with the chosen language on a daily basis, a good idea well suited to it is just as important.

Realistically these are two different questions. and can be drawn up like this:

crap language + crap IDE = Totally hate my job.

crap language or crap IDE = I can survive, but would rather be doing something else.

Great language and IDE = I love my job :-)

Derek Clarkson
+2  A: 

I'd call fool the one who thinks that an IDE is more important than a language.

After all, I recognize the urge of productivity many have (programmers, companies and researchers too) and the will to optimize their time to the microsecond with the best array of shortcuts by lessening the number of mouse movements (just have a look at some 'call for productivity tips' questions here at SO).

And In the end, I cannot turn my eyes from the fact that a good, well structured IDE can make your (time consuming)job less painful.

But we are called to solve problems daily, I'd like to think a good programmer to be language agnostic, and in consequence IDE agnostic.

rano
+1  A: 

I typically work on large projects, so I would definitely favor a decent IDE with refactoring, searching, comparing etc. The way I see it, if the IDE is good enough it can alleviate some of the language's shortcomings.

E.g. Java is very verbose, but since Eclipse's ctrl+space always seems to know what I mean (especially if you tweak it with custom templates) I usually only have to type a few letters and let the IDE sort out the rest.

Martin
Yeah, IDEs are great for saving typing in verbose languages, but code is read more often than it's written. They don't save you from having to read tons of syntactic noise, which is the other, arguably bigger downside to excessive verbosity.
dsimcha
+1  A: 

This question is based on a logical fallacy with even the slightest whiff of a second. Off the top of my head:

  • The term "more important" is highly subjective. What's important to you may not be important to me. (As a hint, I don't use IDEs, generally, because none of them adequately support the breadth of languages I like to use.)
  • There may be other things even more important. For example for quickly getting something up, running and to market it might be the availability of libraries that is king. (<flamebait>I can't think of any other reason why Java is so omnipresent.</flamebait>)
  • It could be that you actually need a balance of language and tools support. The greatest language in the world, after all, won't be of much use if your only tool for using it is ed. Conversely having the greatest IDE in the world won't make it meaningfully easier to write software by pure, hand-assembled octal PDP-8 opcodes.

There's probably more ways to object to the question, but I think you have the idea?

JUST MY correct OPINION
The question was intended to spark discussion with the goal of (hopefully) exposing myself and other readers to additional points of view. Thanks for pointing to an additional axis of consideration, namely library availability. In general I consider that as part of "the language", but your point is still very well taken.
ChrisH
A: 

I say, the most important thing these days is to have a well-designed library that plays well with the language. It saves a lot of time, have the functionallity that you need without have to do it yourselves.
"When I was young"...
Home-made string classses, make-your-own arrays. c interfaces with LPCSTR, error codes...
Not everything was better before.

Gorgen
+1  A: 

I realize more and more that productivity and daily enjoyment is totally dependent of the development process model. This is IMHO the reason why no programming language or IDE has any serious productive advantage when project reaches a certain level of complexity.

I laugh at the people who say that python makes you 10x more productive then any other languages when you have to visit 5 meetings and fill out 20 forms to get the permission to change this damned single 20 line function.

Lothar
I'm sure you're exaggerating, but is this **really** the way it works in big companies? If so, it's no wonder so many enterprisey programmers suck so bad: They never get to actually program.
dsimcha
It's more the problem of changing old code in security sensible areas like avionics. In normal companies it's not so bad.
Lothar