This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Five Lines of Code and have Christian Clausen on-line!
See this thread for details.
Win a copy of Five Lines of Code this week in the OO, Patterns, UML and Refactoring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Racket language

 
Ranch Hand
Posts: 1907
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've used it in the Coursera Programming Languages course - it was one of the languages we used there.

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.
 
Arjun Shastry
Ranch Hand
Posts: 1907
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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!
 
Arjun Shastry
Ranch Hand
Posts: 1907
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Chris.
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.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
    Bookmark Topic Watch Topic
  • New Topic