Racket is LISP family language- http://www.racket-lang.org/ Anybody has experience in this language ? From the site, it is used learning programming.
Do you know any small/big systems developed in Racket ? or companies using Racket?
I've also used Scheme long ago (in 1990, first year of university); Racket is more or less evolved from Scheme.
I don't know any company that uses this for serious business projects, and I doubt there are many. Still, it's an interesting language to look at, especially if you want to learn the concepts of functional programming.
Thanks. I am thinking of learning between Ocaml,Racket and Erlang. Erlang looks easy in syntax to start with and of course used in production(at least WhatsApp!) mainly in messaging apps. Racket/Lisp appear strong on games/AI etc?
Well, you're obviously looking at functional programming (FP), but these languages each have a different approach to FP.
OCaml is very similar to F#, the functional programming language that seems to be gaining popularity in Microsoft-land. So if you're thinking of learning an ML-based language, you might want to go for F# as the tools and learning materials may be better and it's something that is certainly being used commercially in industry. Like other ML-based languages, F# is a statically typed, strongly functional programming language, so it's a good way to learn about functional programming in a type-safe environment on the .NET platform.
Racket was designed primarily as a teaching language, but I've never heard of anybody using it in real-world systems. However, it would give you an introduction to Lisp and functional programming. Alternatively, Clojure is a Lisp-based language for the JVM that is used in industry e.g. here are some Clojure "success stories". As with F# on .NET, you have the advantage of a mature and powerful eco-system with Clojure on the JVM e.g. inter-operation with existing Java code libraries. There are some great books and learning materials for Clojure e.g. this free online course. Tools are not bad e.g. there is an Eclipse plugin, plus the innovative Lighttable editor, but hard-core Clojurists often seem to use Emacs. Clojure is another strongly functional programming language, but it's dynamically typed, so it's a good way to learn about a different approach to functional programming on the JVM.
Erlang is a mature, dynamic, functional programming language, invented at the Ericsson telecommunications company and originally designed for concurrency and reliability. One of its famous features is a message-based approach to concurrency (instead of threads), which is the inspiration for actor-based systems like Scala's Akka library. As you say, people are certainly using Erlang, but I don't know how many or what for. My impression is that it's kind of a narrow niche, but I may be wrong. There's an online tutorial Learn you some Erlang that might give you a good head start.
Anyway, it depends on what you're looking for, and it's always good to learn new stuff, so good luck and have fun!
No more Blub for me, thank you, Vicar.
posted 5 years ago
I have already started learning Erlang. I was specifically interested in non-JVM languages. Clojure is definitely good but not sure how it works for cpu intensive work.Erlang with NIF(natively implemented functions) looks promising to me.