Re:Diminishing returns of static typing
by dkersten on Monday October 02, 2017 @12:15PM
(#15385067)
For me, what I miss when using dynamic languages is good, solid refactoring tools that can inline functions/methods, rename across source files, etc. In my experience, in both Python and Clojure, the refactoring tools simply don't come close to those of languages like C++, C# and Java. And I say this as a major Clojure fanboy...
[ Parent
| on HN ]
Re:Diminishing returns of static typing
by joncampbelldev on Monday October 02, 2017 @03:03PM
(#15386846)
Namespaced keywords can really help with refactoring your domain model.
Usually I use normal keywords for throwaway or glue code, but anything important (my actual domain entities) will be namespaced, allowing (relatively) pain free refactoring.
Cursive has a few good refactoring tools/shortcuts, but I would also like to see extract/inline/move for functions.
Re:Diminishing returns of static typing
by dkersten on Tuesday October 03, 2017 @04:49AM
(#15391057)
I'm not saying that I don't have facilities or tools (clj-refactor) to do refactoring, just that they are, in my opinion and experience, not as good or full featured as in the mainstream static languages (and this experience seems to translate between other dynamic languages, eg, Python: I have refactoring tools, but they're not as good as what I can do in, say, Java).
Its not a huge problem, just something I miss from the static languages.