4 ms·
All pretty different languages. Haskell and OCaml are both functional programming languages (well OCaml has OO support as well) that have a REPL, interpreter,
by 3rdAccount 8y ago
All pretty different languages.
Haskell and OCaml are both functional programming languages (well OCaml has OO support as well) that have a REPL, interpreter, and native code compiler. They have decently sized communities considering that they are mainly academic languages although Haskell is starting to see industry use at some big name companies like Facebook. OCaml is maintained by the French national lab INRIA and is extremely popular at the fintech firm Jane Street. OCaml inspired much of the syntax of F# (.NET functional programming language). Haskell takes functional programming to the extreme and has a lot of academic jargon (Monads) that can turn off beginners. Scala is like OCaml in that it has support for both OO & FP, but it runs on the JVM and you can use Java libraries. I think both Haskell and Scala have excellent concurrency support. I forget which one uses STM. OCaml has been supposed to be getting multi-core functionality for a long time I think. These three languages are all pretty standard business languages that you could build a business out of. The fact that Scala can use the JVM is super super nice as a lot of Haskell and OCaml libraries are not something I would trust in production. FPComplete is a consultancy for helping firms use Haskell commercially.
Nim is a language with Python like syntax that transpiles (or compiles) its source code to C or JavaScript and then uses those compilers to get really fast code and an executable to distribute. It is still pre 1.0, but it has the option to use or not use garbage collection. A pretty cool language. It can be used for fairly high level projects where Python might normally be used, all the way to OS and video game work with some effort. Rust is mainly meant to replace C++ (closer to D than Nim, but they do overlap some). Rust uses the LLVM compiler and is being used at Mozilla. It currently has had a lot of hype for awhile. It is supposed to be a really safe language. The syntax is a mix of imperative, OO, and FP in my opinion. It is quite fast. Lastly Shen is a research language from Mark Tarver (wrote the bipolar lisp programmer essay). Last time I looked it focused on theorem proving and ran on top of another lisp (can't remember, but maybe Racket or Common Lisp). It used to have a pretty odd license, but I think it's been fixed for awhile. It has built in support for prolog functionality like some other lisps which is cool. He also has taken time to write some libraries which let you use Tk for GUI, which is also neat. I wish I had time to check it out.
Lisps are kind of like the ultimate dynamic languages, while Haskell is like the ultimate static language. Lisp has more flexibility, but the Haskell compiler will catch a lot of bugs.
- ghosthamlet 8y agoThanks for your detailed explain. I forgot the wonderful D language. Can you give Some compare on their type system detail? Thanks.
- pjmlp 8y agoD is more like an improved C++ with GC. The type system is quite similar to C++'s one, just that the language has better support for meta-programming, modules, packages and explicit notion of unsafe code (system in D speak). Code generation at compile time is done via compile time code execution, templates or plain replacement. It has a GC, but like all GC enabled systems programming languages, has mechanisms to control its execution, forbid its use in performance critical sections (@nogc attribute) or just manually allocate memory via stack, globals or plain OS calls.
- gaius 8y agoextremely popular at the fintech firm Jane Street I don’t know if I’d describe JS as a fintech. Their technology is not their product that you can buy, it exists to power their real business, which is prop trading.
- HelloNurse 8y agoAs far as Jane Street develops or commissions software, it is fintech software. Who cares if it isn't their end product?
- gaius 8y agoIn that case every bank, insurance company, etc in the world is ”fintech” and the term is meaningless
- 3rdAccount 8y agoTrue to a degree, but most would say there is a difference between standard bank "x" and a company that has billions in trades going through it. A fine lined distinction though. Most banks don't have lots of people writing complex algorithms for their day to day job.