23 ms·
Data structure + algorithm is a valid way of building large programs. That is basically how Clojure is designed, and it works pretty well for big applications.
by mattmein 4y ago
Data structure + algorithm is a valid way of building large programs. That is basically how Clojure is designed, and it works pretty well for big applications.
Functional programming in aviation:
https://m.youtube.com/watch?v=0x3EIqBrZxw https://m.youtube.com/watch?v=0x3EIqBrZxw
Functional programming in banking:
https://www.finextra.com/newsarticle/36297/nubank-buys-firm-behind-clojure-programming-language https://www.finextra.com/newsarticle/36297/nubank-buys-firm-...
- jcelerier 4y agoCan you show one large-ish GUI software written in Clojure? Something like, idk, Blender, DaVinci Resolve, Unreal Engine...
- RedShift1 4y agoThe problem with that is that (nearly?) every GUI toolkit is object oriented so you can't escape it if you want to write GUI programs.
- ernst_klim 4y ago> The problem with that is that (nearly?) every GUI toolkit is object oriented Except for things like React which are more or less functional reactive programming, but in case of react its stateful. Functional reactive programming exist, and GUI is not obliged to be OO
- jcelerier 4y agoclojure was introduced in 2007, there have been many GUI toolkits that have been implemented entirely from scratch in other languages since then. QML+QtQuick, Dart+Flutter, Nuklear in C, Nana or neoGFX in C++, etc etc
- thom 4y agoThe Defold game engine IDE is written in Clojure, using cljfx, a React-like wrapper around JavaFX: https://defold.com/ https://defold.com/
- jcelerier 4y agolooks very neat, but it doesn't really get more OO than JavaFX, does it ? would you call this code functional & idiomatic in any relevant sense of the term? https://github.com/defold/defold/blob/dev/editor/src/clj/editor/welcome.clj#L416 https://github.com/defold/defold/blob/dev/editor/src/clj/edi...
- thom 4y agoI was mostly supplying an example rather than taking a side in the philosophical argument, to be clear. I’d call that idiomatic Clojure, but I’m a heathen that very much appreciates Clojure being on top of the JVM and offering Java interop. Another big Clojure UI/graphics framework is Quil, which is based on Processing and does an even worse job of hiding it’s imperative/stateful core.
- mattmein 4y agoMy point is that there is nothing about functional programming, specifically the "Data structure + Algorithm" style, that makes it unsuitable for building complex applications like air traffic control system or bank lending system, and it has in fact been used successfully in domains like that. If you are really interesting in this topic, check out the following pages: https://clojure.org/community/success_stories https://clojure.org/community/success_stories https://wiki.haskell.org/Haskell_in_industry https://wiki.haskell.org/Haskell_in_industry