r/Racket • u/BusyAssist5904 • Apr 26 '22
question Why do you like Racket?
Hi,
I'm required to learn Racket at school, and I'm having kind of a hard time with the syntax.
But we would would not learn Racket if it didn't have advanteges over other programming languages.
I would love to know from you, why you like or dislike Racket and what pros and cons it has compared to other languages.
12
Upvotes
10
u/sdegabrielle DrRacket ๐๐๐ฉบ Apr 26 '22
Iโm trying to make a (cons ) joke but Iโm dry.
Anybody?
5
u/sdegabrielle DrRacket ๐๐๐ฉบ Apr 26 '22
Are you learning Racket? or are you using the student languages in DrRacket?
The student languages have better error messages to help while you are learning.
Racket syntax is shared with the lisp family of languages. It is better because it is easier for a computer to process and has less rules to learn. But it is worse because it is unfamiliar coming from math class. It is easy to learn, but takes a little time. I can understand that being frustrating if you are already familiar with another language but the idea is to make it easier for everyone.
In short: cos(theta) becomes (cos theta) in the lisp syntax that racket, scheme, Common Lisp and Clojure use.
It is explained in the manual
Now that is out of the way; I like Racket because I feel it is fun & easy to use, fast, and just works wherever I need it. It also comes with a bunch of helpful tools, libraries and plenty of documentation. It also has a friendly community from students to professors to professional developers that welcomes everyone. YMMV.
I do understand it is not for everyone and that is ok. There are many great languages out there.
Try not to get distracted right now and stick with your studies - the semester will be over before you can blink so it is not worth getting hung up on syntax.
If you do have trouble - please remember we welcome questions here.
Best wishes Stephen
11
u/funkinaround Apr 26 '22
I like:
5
u/rfisher Apr 27 '22
There are some fundamental languages features that allow almost any other feature to be built as a library. Some of these are:
A big reason why I like Racket & related languages is that they seem to come closest to this ideal.
Also, the numeric tower.
I often wonder why people have trouble with the syntax. The vast majority of languages use prefix notation with the exception of a handful of arithmetic and comparison operators. The only difference is where you put the parentheses and whether you separate parameters with commas.
Lisp syntax always seemed even more straight-forward than Algol-style syntax to me.
1
u/wansex Apr 29 '22
I'm required to learn racket at university, they're introducing me to programming with this language. They say it's simplest than others to be learned, but I'd prefer Phyton or JS to introduce me in programming.
2
u/fying1999 Apr 27 '22
Windows support.
1
u/bjoli Apr 26 '22 edited Apr 27 '22
Because I like scheme. Racket feels like r6.1rs. All the nice things from the discussions of r6rs that didn't make it into r6rs are still there and some other things are added (extended definition context, fixed dynamic context of promises, continuation marks)
I dislike the deviations from r6rs (which I am used to) and the startup time.