You can code java extremely well just using a text editor (Shock horror!)
The idea you can't, or that you'll be less productive than an IDE user is just idiotic.
What has the language got to do with anything? Yes, java is sometimes verbose, so?
If most of your time is spent typing, you're doing it wrong IMHO, not matter how verbose the language.
Using a good IDE does make you more productive. Taking the java example, most people will accomplish more using IntelliJ-IDEA than Notepad. A good IDE allows you more freedom to explore ideas and experiment faster (especially when doing something like GUI design, debugging using statefull variable inspection, or just learning new features with intellisense/autocomplete), though I'd agree most of your time should be spent thinking than typing.
What magical feature of an IDE "allows you more freedom to explore ideas and experiment faster"?
Most people might write more lines of code or produce more classes in an IDE than text editor in Java, but most people aren't good programmers. Lines of code and number of classes often bear no relationship to productivity.
Essentially though, everyone uses an 'IDE', they just don't call it that... Mine is a text editor, bash shell and browser. All you need...
GUI design is a whole different kettle of fish. But a mockup builder is probably more useful for that.
> What magical feature of an IDE "allows you more freedom to explore ideas and experiment faster"?
Refactoring.
Code completion/validation/formatting (make fewer errors, and reformat external code to suit you).
GUI design (a lot of times you will have to make GUIs, no point in avoiding it).
Code analysis (on-the-fly code analysis and error-detection (syntax, compile, and run-time) = less creep-in errors, easier to spot errors earlier, and less compiles = more productivity).
Performance bottleneck detection.
Testing made easier (simpler an faster to build and do unit/integration/etc. tests)
Framework/Design-Pattern skeletons (got an idea, think pattern X may help, try it out quickly = make a good/bad decision faster).
Teamwork features (version control, changelist management, build management etc. made easier).
Etc. Etc.
Who said anything about more LOC being the/a measure of productivity?
I think it's best to agree to strongly disagree :)
An ex-coworker was arguing how great IDEs are, his comment being "The IDE makes it so you don't have to think"
I think that's the best argument against IDEs I've heard so far.
If we ever meet in person, I'll buy you a beer/coffee/meal, and we can debate such things as in general I'm liking the comments you make on a multitude of topics.
An IDE is just a tool and like any good tool can help those that don't want to think, think less, and for those that do, think more?
The author suggested you should change not only the toolset you use, but also the languages.
That makes it more than a light switch, and will probably interfere with getting work done. Since, you know, many companies have standards about which languages and platforms they stick to.
Firstly, learning more than one programming language will make you a better programmer.
Secondly, you are at liberty to write code in your free time, where you can experiment with whatever language/IDE/OS combinations you deem fit. I'd argue this will also make you a better programmer.
Fine, don't change the language. Keep using the same thing for 10 years until it becomes obsolete and then wonder why you're unemployed (hint: nothing to do with outsourcing).
From the point of view of the average programmer: yes. There are some Lisp jobs available but those are usually taken by the best programmers (as opposed to the ones that look for excuses not to learn new things).
From a quick search on dice here are the number of job listings for lisp, cobol and java.
The idea you can't, or that you'll be less productive than an IDE user is just idiotic.
What has the language got to do with anything? Yes, java is sometimes verbose, so? If most of your time is spent typing, you're doing it wrong IMHO, not matter how verbose the language.