4 ms·
On the other hand, does an IDE add that much value to python and clojure? For Java, I can see the benefits, but given that these scripting languages are much mo
by mapcar 13y ago
On the other hand, does an IDE add that much value to python and clojure? For Java, I can see the benefits, but given that these scripting languages are much more lightweight, that's why emacs/vim do alright for them?
- eterm 13y agoLet's suppose you define a function that searches: 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.
- Fishkins 13y agoI agree this is useful, but I also have autocompletion and popover documentation programming Clojure in Emacs. It often is more work to configure than just using an IDE, but the package manager Emacs recently added has taken a lot of the pain out of it. There are still cases when I use IDEs (certainly for Java), but you can add a lot of that functionality to emacs/vim if you want.
- pjmlp 13y agoIDEs were born from Lisp and Smalltalk environments, both dynamic languages. 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 - ...
- smrtinsert 13y agoI can't speak to a feature to feature comparison, but heres some key features you get with counterclockwise. 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.
- wonginator1221 13y agoI'm a huge fan of vim-fireplace[1] (and almost every other tpope vim plugin). vim-fireplace provides essentially all of the functionality listed above through a lein nREPL connection. [1] https://github.com/tpope/vim-fireplace https://github.com/tpope/vim-fireplace
- LeonidasXIV 13y agoYup, I love fireplace. After a bit of fiddling my Clojure setup was better than my Python setup ever was. But for rainbow parentheses, you need also https://github.com/kien/rainbow_parentheses.vim https://github.com/kien/rainbow_parentheses.vim