I yet have to see a successful, big Java/C# project that withstands the test of time and built with a team of just a few engineers.
Yes. Clojure is just a tool. A programming language. Just like Emacs Lisp. And Emacs Lisp from a technical point of view is one of the worst programming languages you can think of:
- It has no static types
- Has no namespaces
- Until recently it didn't even have lexical scoping
- Its execution time is painfully slow
- It's a Lisp. The syntax of which many engineers describe as "harder to read"
- Majority of Emacs-lisp packages (like over 95%) don't even have any kind of automated tests
You pick just any kind of programming language with these traits and sooner or later any significant project would be buried under its own weight and would have to be re-written in a different, more modern language. Like I said before: "Emacs ecosystem defies any logic - it shouldn't work at all, yet it does."
Modern programming languages emphasize the need for IDEs with extensive re-factoring/re-structuring tools. Lisps somehow for decades didn't really require them. The only thing they need is structural editing tools and even that is an optional gimmick.
You ever thought about why no-one successfully was able to replicate and re-build a fully-featured clone of Org-mode outside of Emacs? There were several attempts, all of them are pretty lame (compared to one written in emacs-lisp).
You ever thought why every single attempt to re-write Emacs or create "a killer of Emacs" was unsuccessful?
I understand your skepticism. And I'm not selling this as some sort of "universal truth", I'm just telling you from my own experience. I am not one of those Lisper zealots who learned it years ago, I discovered it fairly recently. I avoided Lisp for a very long time. I've seen big projects in many PLs - ranging from Turbo Pascal/Delphi to Java, Python, etc. And I've seen big and really badly structured, extremely messy Clojure codebases.
There's something about Lisp that makes it extremely suitable to create big, malleable systems that can grow indefinitely. Something that I somehow never experienced with other languages.
I yet have to see a successful, big Java/C# project that withstands the test of time and built with a team of just a few engineers.
Yes. Clojure is just a tool. A programming language. Just like Emacs Lisp. And Emacs Lisp from a technical point of view is one of the worst programming languages you can think of:
- It has no static types
- Has no namespaces
- Until recently it didn't even have lexical scoping
- Its execution time is painfully slow
- It's a Lisp. The syntax of which many engineers describe as "harder to read"
- Majority of Emacs-lisp packages (like over 95%) don't even have any kind of automated tests
You pick just any kind of programming language with these traits and sooner or later any significant project would be buried under its own weight and would have to be re-written in a different, more modern language. Like I said before: "Emacs ecosystem defies any logic - it shouldn't work at all, yet it does."
Modern programming languages emphasize the need for IDEs with extensive re-factoring/re-structuring tools. Lisps somehow for decades didn't really require them. The only thing they need is structural editing tools and even that is an optional gimmick.
You ever thought about why no-one successfully was able to replicate and re-build a fully-featured clone of Org-mode outside of Emacs? There were several attempts, all of them are pretty lame (compared to one written in emacs-lisp).
You ever thought why every single attempt to re-write Emacs or create "a killer of Emacs" was unsuccessful?
I understand your skepticism. And I'm not selling this as some sort of "universal truth", I'm just telling you from my own experience. I am not one of those Lisper zealots who learned it years ago, I discovered it fairly recently. I avoided Lisp for a very long time. I've seen big projects in many PLs - ranging from Turbo Pascal/Delphi to Java, Python, etc. And I've seen big and really badly structured, extremely messy Clojure codebases.
There's something about Lisp that makes it extremely suitable to create big, malleable systems that can grow indefinitely. Something that I somehow never experienced with other languages.