Hacker News new | past | comments | ask | show | jobs | submit login
Racket Language – New website design (racket-lang.org)
123 points by Learn2win on Dec 23, 2016 | hide | past | favorite | 40 comments



I don't want to be that guy, but I think the design needs work. Especially since the title is saying "has a new design". I wonder what it used to look like. It looks like a nice piece of technology, but like the other guy said, the website is too busy and I don't know where to look at. It took me a minute to find the github link. It's almost like it's hidden purposely.

Also the "Books" section is kind of misleading and made me think they're taking credit for something that they didn't do. After taking a look at the page for a while finally realized it's like scheme/lisp, and the books section kind of makes sense, but still it's still very confusing.

This may be too harsh but the design almost reminds me of those parking websites that make money off of adsense. Hope they put some more effort into the design so the website can actually do the language more justice.


I don't think it's as bad as a domain parking web site, but there are some serious problems with it.

- The line drawings make it look like this is a charting library. Perhaps they have some mysterious symbolism, but to me it looks like the brief here was "differentiate these six main headings with... something". The "something" they ended up with is pretty devoid of value.

- Obviously, as others have said, the tagline does little to explain what Racket is. (cf. Rust's web site, which does a great job with this, even though it's incredibly minimal and has almost no design.)

- The code samples are low-contrast until clicked, and not really all that engaging even when clicked.

- The various links in the page go to all kinds of different sites, some under racket-lang.org and many not. The ones that are under racket-lang.org (with the exception of the blog) look absolutely nothing like racket-lang.org itself, and even have a different logo!


I'm looking at it from a 4" phone, so it might 'look busy' from a bigger device? I don't know.

This design IS a huge improvement from what they used to have. Giving short code snippets along with explanations and links with proper organization (remember, I'm looking at it on a phone) per category. But most importantly, it loaded fast and everything I looked at worked. Something that doesn't happen with a lot of 'better' designed websites featured on HN.


I think that if they took the fancy graphics and swapped it with what you see when you hover over and maybe put some code snippets above the fold it would solve some of those problems.


You __are__ that guy. The design is cool and this is the best looking lisp site IMHO.


I like it & it certainly better than their previous effort, but the point regarding "charting library" is valid, imo. If I didn't know what Racket was, that would be my immediate impression as well.


Not that this design is bad, I think Guile's site is fantastic. https://www.gnu.org/software/guile/


Wow! It truly is. I wanted to make a snarky comment about ivory tower Lisps but the Guile site is awesome: down to Earth, practical and relatable.


IMO, the "only show text + links on hover" thing needs to go. If you absolutely must do something like this, please use faded-but-visible text instead of completely hiding it.

(It's also really annoying on mobile where you have to actively tap to show the links.)

EDIT: Reasoning: Does this page contain the information I need? I can't tell without apparently hovering over everything. (Plus, if I hover away from one of the 'graphs' it's easy to forget what was on there.)


Right, I nearly missed the fact that there were links - if my mouse pointer hadn't passed over one of the fields while going to the "close tab" button.


Right you are. It's the old interaction design adage, "put the knowledge in the world, not in the brain".


x1000. You can't use hover because of mobile.


Feel like I'm the only one here who likes the site. I really like it. Just hope it works on mobile too where you can't hover.


"Solve problems. Make languages."

That basically sums up my problem learning Racket. "What is Racket the language? What language am I supposed to learn? What language am I supposed to use in production code? Will one language be compatible with another?

I got lost reading Racket document. One section talk about a class syntax of a language. Another talk about some other stuff that never utilize a class. What am I supposed to do with this?

I don't want to learn languages, I want to solve my problem.


> I don't want to learn languages, I want to solve my problem.

The more languages you learn, the more problems become trivial. Well, if you're just doing imperative languages, you're not liable to learn much new stuff, but... learn O'Caml[1] and Haskell and you'll be all the richer (and more worried!) for it.

One particular aspect of Racket that is truly amazing is the modularized language support for macros. One would generally insert a caveat here, but I do think they are actually "best in breed" at the moment -- even going so far as: http://www.ccs.neu.edu/home/stchang/popl2017/

EDIT: Just wanted to add, because I'm a "state your effects" weenie: http://lambda-the-ultimate.org/node/5401

[1] Mostly because Functors. (No, not the Category Theory Functors.)


> I don't want to learn languages, I want to solve my problem.

I think the idea is that there is one good approach to solve a given problem (eg: use class to do the GUI code, use match to traverse some xml, use thread for async io instead of an event loop approach).


It's not Racket per se. Any lisps and even FP to an extent are like that. The notion of "language" is distilled to bits of recursive evaluation patterns (which make me believe [never tested this claim though] they are all compatibly-nestable), that you can adapt.

I just read the same sentence about Forth. There's almost no language, the principles are exposed, you make them what you need instead of pushing information flow into ad-hoc data structures as many people do in other languages (IMHO).

Maybe it's too alienating unless you've spent a few years on these languages.


I had exactly the same experience a few years ago. Now a few years later, more of the Racket documentation makes sense, but many parts are still outside of my background understanding. I still have to trade-off the frustration of not understanding for convenient access to all the documentation. Because Racket's documentation is so good, it's easy to navigate to a subject that's over my head.

I agree there is a problem with 'Racket'.

'Racket' can mean an ecosystem distributed with batteries included. It can mean the language referred to by #lang racket at the top of a source file. And 'Racket' can mean any one of several other languages shipped in the distribution.

Racket the language (aka #lang racket) is a useful general purpose programming language. When #lang racket programs address complex problems they tend to become more complex. When #lang racket programs implement sophisticated procedures, they tend to become more sophisticated. Python, Ruby, C, etc. are similar in that respect. The Racket documentation reflects this. There are parts that are simple and self contained. There are parts that are at the edge of programming language design. And they're all in one place.


I've had the same issues navigating their documentation. About 10 months ago I attempted to write a reddit scraper using Racket. I started out reading their "net/http-client" library and had to turn to the /r/racket subreddit to find out that the "net/url" library was what I wanted. I'd love to see some simple directory that relates development intention with a library: "Web Scraping, JSON parsing => net/url".


The docs are the only part I go to, and they look the same (not a bad thing, because they were always beautiful).

Felleisen and and his group have been working on Racket for a long time, and it shows. I think PG's Arc even runs on top of it.

Only gripe I can register is that they have gone full-speed-ahead on the DSL/metaprogramming aspect which kind of works against the language. See Tarver's "The Bipolar Lisp Programmer," or Alan Kay's quote: "Lisp isn't a language, it's a building material."


> I think PG's Arc even runs on top of it.

That so? Then what's the actual use-case for Arc again? It's a Lisp, Racket is a Lisp, hence a Lisp running on another Lisp? "Lisps all the way up"? ---well that's not unconsistent with the target audience I'm sure ;)


The case for and against Arc is the same as for any other programming language: Does the syntactic sugar over the Turing Tarpit make the task at hand easier or harder. None of which is to suggest that I typically see anyone making a strong case for Arc these days.

I mean if anyone really was actually making any kind of case for Arc, they'd probably start with organizing it and promoting it in ways that would facilitate its inclusion as just another language in the batteries included distributions of Racket.


That's great, but it doesn't really seem to tell me anything at all about what it is.

From what I saw, it looks like a site that helps you make a variety of line drawings. Next time I need to make some line graphs, I'll check it out.


Worth a read, or at the very least a look: https://en.wikipedia.org/wiki/Racket_(programming_language)


Thanks.

To the creator of this site:

Take into consideration the commonality between all of these:

https://www.python.org/

https://golang.org/

https://www.rust-lang.org/

https://dlang.org/

http://elm-lang.org/

http://plt-scheme.org/

Each of these language homepages clearly explains that they are introducing a programming language. This new racket-lang.org page doesn't. It has a huge impact on what users will think when they load the page.

The PLT Scheme homepage is leagues better than the new Racket one because it tells me exactly what it is for. Don't let yourselves go backwards.


https://www.rust-lang.org/ is the best example. There is a code example, clear links to documentation and source, a concise description, easy to see links to most common places. Very, very good.


The re-design was done by Matthew Butterick [0].

IMHO it looks nice and modern, and quite readable thanks to the great typography, but there are some fair issues raised here. So I opened an issue to let them know about it [1].

[0]: https://github.com/racket/racket-lang-org/pull/28

[1]: https://github.com/racket/racket-lang-org/issues/31


Matthew Butterick is an obvious choice for the Racket website. He did a great job.


I personally love it, it's light, just enough graphics, linear enough but not too long. Action button nicely placed.


Wow. This is the best looking lisp site so far. It is even responsive! Keep up the good work!


Good design, but I think there should be bit more info about the project upfront at the top. It took me significant time to figure what Racket is.


The design is ok. The interactions need some tweaks. The cursor should change to finger pointer on mouseover on code snippet. Probably it's better to highlight code snippet on mouseover before expanding it on click.

The other issue is all the links lead to pages with really old design. Hope this will get fixed too eventually.


I feel really uncomfortable with this site. I got lost and just after some time I realized where each thing is placed.


the redesign seems to have impacted the PLT Redex site at:

https://redex.racket-lang.org/

I am trying to read the model part of the set of scopes paper and running it in PLT Redex, but it seems to be unavailable currently.


I have no idea what's going on on this website.


The website is fine I guess. What's more distracting is the lisp-like language. The parentheses are just too much. I guess I'm not one naturally inclined to functional languages.


It's racket, you can change the syntax at runtime if you so desire. (But if you learn to use the IDE the parens don't matter.)


Oh I didn't know that that's pretty cool then


is DrRacket the IDE? If so, is there more to it than the REPL with the simple text editor above it?


A lot more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: