4 ms·
Yes, I agree. I've spent many hours working in both C# and Java and using JetBrains products to help me shape the code. But C# and Java weren't designed from t
by charlieflowers 13y ago
Yes, I agree. I've spent many hours working in both C# and Java and using JetBrains products to help me shape the code.
But C# and Java weren't designed from the ground up around the primary goal of being amenable to such programmatic refactoring. So there are limits on what you can programmatically refactor.
But our industry has reached a point where "rearranging" large bases of working code might be a bigger, harder, and more important job than originally developing that code. So perhaps the most important characteristic of a programming language is its "refactorability."
(Update - I think this sums it up: Would you consider working in a clunkier programming language if you knew that it offered 10X more "refactorability" than the other languages you were considering?)
Anyway, thanks for the comment.
- vanderZwan 13y ago> Would you consider working in a clunkier programming language if you knew that it offered 10X more "refactorability" than the other languages you were considering? I'd have a hard time believing that a more clunky language would be a more refactorable language.
- charlieflowers 13y agoHa ha, good point. Probably not. But take Lisp's homoiconicity as an example. Some people regard it as less desirable syntax, and yet even a subset of people who feel that way still find that the macro system makes it worth it. So, would you accept certain trade-offs in your programming language if it greatly magnified the programmatic refactorability of your code?
- vanderZwan 13y agoWell, in my case my projects are never that large - I'm just a designer who does small high-fidelity prototypes and lets people who are supposed to be more capable do the large scale implementations. So "being easy to make quick-and-dirty hack from scratch with" is more important for me. Also, have you tried Julia? It's homoiconic but looks more like Python. Haven't seen any refactoring tools for it though.