FindThis(needle, haystack):
Then later you come to use this function, you cannot remember whether you made it Findthis(needle, haystack) or FindThis(haystack, needle). (OK so in python you could just name your arguments to avoid the issue but then you might have inconsistent coding styles)
IDEs' have completion of code and descriptions of arguments which makes calling any function trivial. You can go from barely remembering a function name to understanding all the parameters, optional or otherwise, within the time it takes you to type out the function you wanted. It means you don't have to context switch into "documentation" mode.
IDEs can give you:
- code navigation
- code validation as you type
- background compilation for languages with native compilers
- semantic refactoring
- integration with source control and issues trackers, allowing to map source code lines to issues and code history
- WYSIWYG design of user interfaces
- live static analysis while typing
- direct mapping between templates and code behind associated with them
- ...
Automatching parens (parenedit?), rainbow parens if you want, a built in repl, and after your repl is started for the namespace you are currently editing, auto suggest for any namespace in dependency graph. Viewing any included namespace code is simple as a double click - very helpful for learning clojure. Edit the file and after a key combo, your repl has your new function definition.
Counterclockwises workflow is pretty nice. I like it. I don't even have to go to command line to update deps, just edit project file and right click update dependencies. The only thing I use the command line for currently is lein ring server.
Eclipse has the concept of templates which you can define for other content types, but CC's editor isn't enabled to use them. I sort of missed them at first, but didn't after I realized anything I would put into a template should probably be a macro in clojure.