Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

once again there's a confusion of static types and performance. A lot of languages are performant and are easier on the eyes | type e.g F#, Ocaml and maybe Golang.

another issue is OOP damaged a lot of people's thinking. Is it a Dog or a Cat or is it an Abstract Animal ? How come the LISPs, and other functional dynamic languages don't need static type declarations. Btw LISP can be fast as C. I will give you a tip: those dynamic languages knew beforehand to separate code from data.

These days they call it Data Oriented Programming. Before not so smart folks like called it dealing with values. Values don't change and easier to deal with negating types.

Python performance sucks, wish there was something better with close to an equivalent community. F# would've been that language but it's treated like a red headed step child by Microsoft.

And one thing about that sucks about Java and by large JVM languages well besides Clojure is the ergonomics to get started. do you use Maven, Gradle ? whereas with python -- python script.py n pip install. Yeah java has javac but you won't find anything that says use the java compiler for simple programs.



I definitely think Clojure is the sweet spot. It isn't easy to learn, but it is extremely simple to architecture things once you get how things are supposed to work. I've done plenty of pure Clojure projects, and am also on a large, heavily-Java-iterop project and Java is great for perf but also Clojure is still extremely fast. Things tend to get wayyy better when you start ripping the Java code out except for where you really need it.


DOP is a great fit for some problems, and useless for others. The same for OOP, they are tools that fit better or worse for a given problem.

And modern Java is great and getting better at DOP/FP.

> do you use Maven, Gradle ?

And my experience is that tooling around java is superb. You just mvn install/gradlew build and it handles dependencies and everything for you.


> How come the LISPs, and other functional dynamic languages don't need static type declarations.

if they really didn't we'd be using operating systems written in LISP instead of C

> Btw LISP can be fast as C. I will give you a tip: those dynamic languages knew beforehand to separate code from data.

ditto


> if they really didn't we'd be using operating systems written in LISP instead of C

Some people live happily inside Emacs. It has become an OS for them.


... but emacs itself is implemented in C: https://github.com/emacs-mirror/emacs/tree/master/src (and I don't think anyone would call the LISP parts of it fast in any meaningful usage of the term - just loading some semi-heavy config can take observable time even on a 2021 computer)


> Btw LISP can be fast as C.

Assuming you're talking about Common Lisp, you definitely need to make heavy use of type declarations and be using a very performant implementation for its speed to be anywhere as fast as C.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: