Live data from Hacker News

Why Go? Use Racket

cxwangyi.wordpress.com

21–30 of 59 posts

Re: Why Go? Use Racket

#21
post #20

Racket's website ( http://racket-lang.org/ ) has an "explain" button by the code snippet. Is the existence of such a button perhaps a statement about the quality of the syntax?

No, it's a statement that the developers of Racket care about explaining how things work.

Re: Why Go? Use Racket

#22
I'm inclined to disagree about the distinction between pointers and values being explicit, and how that is bad - I think it might be the right decision in an imperative language that tries to be performant in a straightforward way (as opposed to language that tries to be performant by relying on compiler optimizations - that might work for certain languages). It allows you to be aware and more careful about indirection and memory layout, which obviously can buy you a lot with regards to performance.

It certainly seems like the more lower-hanging fruit than what the usual advice for getting a fast programming language is - make memory management explicit/manual (though it seems that if you have pervasive manual memory management, you end up with a clear and explicit distinction between values and pointers to values anyway).

Re: Why Go? Use Racket

#23
post #20

Racket's website ( http://racket-lang.org/ ) has an "explain" button by the code snippet. Is the existence of such a button perhaps a statement about the quality of the syntax?

Did you even read what pops up when you hit that explain button?

  Sending email

  #lang racket ; Sending email from racket
  (require net/sendmail)
  (sleep (* (- (* 60 4) 15) 60)) ; 4h - 15m
  (send-mail-message
   (getenv "EMAIL") "Parking meter alert!"
   (list (getenv "EMAIL")) null null
   '("Time to go out and move your car."))

> "Racket comes with plenty of libraries."

> "To run the example, install Racket, start DrRacket, paste the example program into the top area in DrRacket, and click the Run button. Alternatively, save the program to a file and run racket on the file."

That section of the landing page is meant for people who have not been exposed to Racket before. It is meant to sell those people on the expressiveness/power of the language. The explain button is meant to explain exactly what that code snippet is meant to be demonstrating. Very few of those seem to touch on syntax at all.

It seems insane to me that somebody could spin user-consciousness on a language's website as as indicative of a low-quality language.

Re: Why Go? Use Racket

#26
The blog post is a couple of years old, so it's probably worth noting that PLaneT[1], mentioned by the author, has been superseded by a new Packages[2] system. PLaneT is still operating, however, and libraries hosted there can be installed with raco[3].

[1] http://planet.racket-lang.org/

[2] http://pkgs.racket-lang.org/

[3] http://docs.racket-lang.org/raco/index.html?q=

Re: Why Go? Use Racket

#27
post #15

It's a chicken and egg problem, but the real reason for me to use Go vs Racket is that learning the former will further my career significantly, while latter won't at all. Sad, but true.

It depends. Learning Racket and the design methodology taught by Felleisen, et al. could help you become a better programmer in general, and thus significantly further your career.

How to Design Programs, Second Edition

http://www.ccs.neu.edu/home/matthias/HtDP2e/

Re: Why Go? Use Racket

#28
post #15

It's a chicken and egg problem, but the real reason for me to use Go vs Racket is that learning the former will further my career significantly, while latter won't at all. Sad, but true.

It depends. Learning Racket and the design methodology taught by Felleisen, et al. could help you become a better programmer in general , and thus significantly further your career. How to Design Programs, Second Edition http://www.ccs.neu.edu/home/matthias/HtDP2e/

I'd certainly be much more likely to hire someone who had worked through How To Design Programs

Re: Why Go? Use Racket

#29
post #24

Author thinks Go's select statement has any resemblance to with epoll and kqueue. Didn't read further.

That's too bad, because you missed the brilliant ending to the post, in which the author answers the question posed in the title:

> P.S. As noted in [link], Racket programs build and run much slower than Go programs.

Re: Why Go? Use Racket

#30
post #19
post #6

Earlier quoted context omitted.

There are many valid criticisms of go, but the one presented in this article make no sense. Or maybe only make sense if you're a huge dynamic languages fan and can't stomach static typing. Personally, as someone who used to be a huge fan of dynamic languages like Python, I've sobered up as I've grown older and had to fight with large python and JavaScript code bases. A compiler that is fast with clear error messages…

If using dynamic typing like Python's is being drunk, then at least Go is like being tipsy - not quite sober, but quite functioning.

Only if you make a habit of using reflection (you shouldn't). Otherwise it's designated driver all the way.
Post reply on HN