[HN Gopher] New Racket Language Website ___________________________________________________________________ New Racket Language Website Author : kamaal Score : 240 points Date : 2020-08-26 15:43 UTC (7 hours ago) (HTM) web link (racket-lang.org) (TXT) w3m dump (racket-lang.org) | benatkin wrote: | If it has a photo where people aren't wearing masks and/or social | distancing, it doesn't feel new to me. | superdisk wrote: | I went to look at the picture and noticed I'm actually in it! | Cool. The pic was taken at RacketCon 2018. | Buttons840 wrote: | Is there still a blog / news section? I don't see a link to | those? | azhenley wrote: | If you click the "Community" tab it is listed. More hidden than | it used to be. | pryelluw wrote: | Its in the footer: https://blog.racket-lang.org/ | discardable_dan wrote: | Compare it to other big language websites, like Kotlin [1] or Go | [2], this page really seems to have a poor signal to noise ratio. | There is a _lot_ of information on this landing page, and a lot | of it is getting in the way. For a language, I want to know (a) | features, (b) documentation / how to learn, (c) community. This | website leads with this, but does so under playful headings | ("jet-fueled") that just lead to more click-through links, and | then immediately, on the _landing page_ , jumps into advanced | features (easy DSLs, IDE support, etc.). 2/3 of this landing page | could be removed, and I suspect it would be a better landing page | for it. | | In addition, it suffers from a poor use of vertical space (you | will see the word "Racket" in a large font with plenty of padding | 4 times on the main page), poor usage and indication of | navigation (it has 4 navbars, which are not apparently navigation | but appear to be "selling points" until your mouse moves over | them, due to their being attached to headings), and poor use of | navigation (reflowing the main page nave when you click on nav | items). Compare this to Kotlin and Go's sites, which state the | name, gives a snappy summary of the language, and then links off | to more information. In the case of Kotlin, which is closer to | Racket's site, it presents immediate links to extensive, example- | driven write-ups about the most-important features on subpages, | uses the remaining of the "first page" space on a "try it now" | box, and then proceeds along vertical space (free in a browser) | to demonstrate the most-important features. | | Finally, a smaller complaint: this website feels like it was made | in Photoshop in the mid-00s, complete with text-image navigation | bars sliced out of tables and drop shadows. I know someone put a | lot of work into making divs look like that, but there are very | good reasons why the industry has moved away from that design. | | 1. https://kotlinlang.org/ | | 2. https://golang.org/ | yomly wrote: | I'm biased, but I clicked through to Kotlin and it didn't have | any mobile friendly media queries - whereas I like the look and | feel of the racket page on my tiny android screen. | didibus wrote: | Same, Kotlin is a huge fail, if you can't get mobile friendly | pages in 2020 it's a complete fail in my book. | kaycebasques wrote: | At first I was going to say "I agree... in 2020 there's no | reason not to have a mobile-friendly docs site... but in my | experience with documentation sites, not many people visit | from mobile devices". However, I just checked web.dev and | developers.google.com/web and our mobile traffic is non- | trivial. | nkrisc wrote: | As a hobbyist and self-taught programmer I (pre-COVID) | spent a lot of time reading documentation on my phone while | commuting home from work. | | I'm very pleased when documentation works well on a mobile | device. | neilv wrote: | In earlier discussion of a draft, a year ago, I looked at a | bunch of examples, and zeroed in on Nim's home page (at the | time) as a possible good example/inspiration for Racket | (especially since I was pushing on a "3 ideas" focus, which, | IIRC, Nim was also doing): | | https://groups.google.com/forum/#!topic/racket-dev/kJciZheDM... | | I think a few pretty ordinary challenges are: | | * Collectively, people think a lot of stuff is important, and | don't want to drop it from the home page. A vicious designer | would step in and cull and massage heavily, ignoring the | screams of pain from most people. (Only in the end, might | people generally agree it was worth the suffering, and then | they'd help beat down anyone who tried to sneak bloat back in, | after the carnage that everyone went through to get there.) | | * The people in charge and doing the work on the site, as a | group, don't have the same ideas of what's important that | professional practitioners do, nor the state of competition. | So, priorities, phrasings, assertions, etc. will sometimes seem | odd. This has come up at least a few times, in various ways, | and might be part of why Racket didn't go mainstream when it | had a better chance. (Though the leadership is not just pure | academics. Just to pick the most prominent example, Prof. | Matthew Flatt, besides the research and domain background, is a | very solid programmer, with some good sense of software | engineering.) | | * As a subset of general visual design, good graphic designers | seem to do many subtle things that us techies don't fully | appreciate. Familiar analogy: a novice software developer not | only isn't yet able to do great work on tricky problems, but | they don't even yet know what great work is, nor are they able | to say what's great and not about some example they see. (The | creators of the new site are mainly programming language and CS | education people, not visual design, not HCI, etc., except | sometimes people like [1].) | | On the upside, if a site for some techie thing looks a bit | homely or awkward in some ways, you know it's at least not a | tech offering driven by marketing, fashion, and funding. :) | | [1] One notable exception in Racket, though I don't know | whether involved with the new site, is Matthew Butterick, as a | diversely multi-skilled person. He did a lot of visual/graphic | design work on other Racket stuff, which you can see by | contrasting the old look of the documentation, with the current | one. Old: http://planet.racket-lang.org/package- | source/neil/roomba.plt... Current: https://docs.racket- | lang.org/roomba/index.html | somezero wrote: | 1/3 of Go's website on my iOS screen, is "Recent news" plus a | random "featured video". For a landing page of a programming | language, This is cartoonishly bad. | overthetop2 wrote: | > made in Photoshop in the mid-00s | | Haha, so true. TBH I didn't care for the previous Racket home | page ... too arty farty. But at least it felt clean and | current. This one, by contrast, feels totally retrograde. I | wonder who made it? Hard for me to imagine a front-end designer | today who would turn in work like this. | | Oh god I just noticed the drop shadows on the menus ... | :facepalm: | rscho wrote: | Maybe you could offer your services to make it better? Since | they're a small open source community, my guess is that they | don't have front-end designers of your calibre. | valbaca wrote: | Looking good! | | potential off-topic but this make me think of this: | | Can one work through SICP using Racket? | vvillena wrote: | There's a #lang sicp in Racket that emulates the Scheme of the | SICP book, with all the functions you need. | kaeland wrote: | I found this SICP guide helpful in terms of choosing which lisp | to work through the book: https://github.com/zv/SICP-guile | Scarbutt wrote: | Yep, will even say is the best enviroment for SICP. | Naac wrote: | I believe this is the source code for the Racket lang website: | https://github.com/racket/racket-lang-org | sillysaurusx wrote: | I'm relieved they didn't change the documentation. Hard to | improve on perfection. https://docs.racket- | lang.org/pkg/index.html | | Also, I chuckled a bit at the "Jet Fueled" tagline. Racket's | green threads operate with a "fuel" which gets consumed over | time, at which point it yields to another thread. I think the | metaphor was a happy accident rather than an intentional nerdy | reference, but still. | nahuel0x wrote: | The engine/fuel terminology is not new, it comes from the 1986 | paper "Abstracting Timed Preemption with Engines" / Christopher | T. Haynes, Daniel P. Friedman: | | ftp://ftp.extreme.indiana.edu/pub/techreports/TR178.pdf | 1f60c wrote: | Did this link just get hugged to death? It's not working for | me... | sillysaurusx wrote: | It works for me, but I've mirrored it here: | https://www.shawwn.com/docs/1986-11-abstracting-timed- | preemp... | sillysaurusx wrote: | I absolutely adore that this link isn't clickable, yet it | works when you copy-paste it into Chrome. | | @dang, here's an updated version of valid-url which will make | the link clickable: (defmemo valid-url (url) | (and (len> url 10) (or (begins url "http://") | (begins url "https://") (begins url | "ftp://")) (~find [in _ #\< #\> #\" #\'] url))) | | I doubt it'll get merged, but you never know. | | It looks like the other change necessary is in the `markdown` | function. It checks: (and (or (litmatch | "http://" s i) (litmatch "https://" s i) | | You'd need to add: (litmatch | "ftp://" s i) | | If you grep the codebase for "https" then it'll reveal any | other functions that need updates, but these are the only two | in arc3.1. | | Of course, the cost-benefit doesn't quite add up here - it's | not like ftp links are too common. But think of the poor | university FTP servers! They'll be forever doomed to copy- | paste-hell unless this is fixed. :-( | the_pwner224 wrote: | Firefox removed FTP support some months ago. Ironically | when I copy paste that link it now prompts me to open it in | Chromium. | jhoechtl wrote: | Works for FF 79, Manjaro Linux | | Maybe it was removed for the Windows build? If so, what a | bad decision, maybe for security reasons? | the_pwner224 wrote: | https://blog.mozilla.org/addons/2020/04/13/what-to- | expect-fo... | | I normally use FF Nightly which explains the difference. | steveklabnik wrote: | We also have "optimization fuel" in Rust, | https://camlorn.net/posts/April%202017/rust-struct-field- | reo... | | Which comes from http://blog.ezyang.com/2011/06/debugging- | compilers-with-opti..., which cites a paper from 93. | look_lookatme wrote: | And don't forget this beautiful book on Racket, | https://beautifulracket.com/ | didip wrote: | It looks great! If I may offer a suggestion, it could use a | "play" section where people can start getting to know the | language right away without installing anything. | gus_massa wrote: | There are a few unofficial sites, for example PasteRack | http://pasterack.org/. (A example of Fibonacci: | http://pasterack.org/pastes/89478 ) | grugagag wrote: | There is also wescheme: https://www.wescheme.org/openEditor | miloandmilk wrote: | Yep it looks great, really crisp - +1 for the play section! | agumonkey wrote: | nice spin on the proglang homepage, 'KISS | hitekker wrote: | A compressed header that looks good on mobile? Wow. | | The rest of the design looks well crafted too. | dependenttypes wrote: | I think that it is quite nice, much better than most most modern | sites (it does not seem to require js for example and it loads | quickly) and I prefer it to the older one. My only is that it | makes poor use of horizontal space - my screen is bigger | horizontally than vertically, so much space goes wasted. In | addition I would suggest offering more examples of sublanguages, | such as of #lang racket/gui which the last site included. | | Anyway, good work! | codazoda wrote: | I didn't sign in too far, but isn't the first line of code on | their landing page a typo? | | (define my-language 'English) | | Looks like it's missing a closing single quote. I suppose it | could be optional. | thomas11 wrote: | The code is correct. That's a Lisp thing called `quote`. | https://docs.racket-lang.org/guide/Pairs__Lists__and_Racket_... | cpill wrote: | Oh boy, what the world needs now: another Clojure. How is it | going to compete with the raging success of that :D | rscho wrote: | ...and if you had a single clue about all that you'd know that | Racket and Clojure are very different and that Racket is a | strong player in the academic world. | vga805 wrote: | If you have nothing productive to say, don't comment. It really | is that simple. | | And Racket is almost a decade older than Clojure. | cek wrote: | My son was required to use Racket in his course work for Computer | Engineering at CalPoly. I had never heard of it before. I recall | one of the profs was involved. We joked that it all sounded like | a racket. | | He's now a rising-star (proud/biased papa here) as an SDE at | Amazon. So maybe it's a good teaching language after all. | rscho wrote: | The community has strong emphasis on teaching. I'm just a | hobbyist, but transitioning from python allowed me to improve | much faster and discover new horizons. | linguae wrote: | I'm also a Cal Poly graduate (computer science) who learned | Racket (called PLT Scheme back when I was a Cal Poly student) | from Professor John Clements (https://www.brinckerhoff.org), | who was involved with PLT Scheme. We used the textbook | Programming Languages: Application and Interpretation, which | can be found at http://cs.brown.edu/courses/cs173/2012/book/. | I'm sorry to say that at the time I took the course, I didn't | appreciate it. I loved coding in C and I thought Scheme was | weird. But after taking programming languages from Professor | Clements, I then took his compilers course. Our first | assignment was to implement a Scheme interpreter in a week. We | were allowed to use any programming language we wanted. Since I | was tired of Scheme, my lab partner and I decided to implement | the interpreter in C++. Big mistake....we spent 40 hours on | that project, building complex class inheritance hierarchies | and not being able to take advantage of many of the features | that made writing an interpreter in Scheme a relative breeze. I | never complained about writing code in Scheme again. | | When I moved on to UC Santa Cruz for grad school, my experience | with Professor Clements' programming languages and compilers | courses made my required graduate programming language course | with type theory expert Cormac Flanagan a relatively smooth | experience; going from Scheme to Haskell wasn't too difficult. | Sometime afterwards I got bit very hard by the programming | languages bug. I'm now working on a side project in Common | Lisp, and interestingly enough, I'm actually teaching a | programming language paradigms course at San Jose State | University this semester where I'll be teaching my students | Scheme, Prolog, and Smalltalk, as well as other goodies such as | the lambda calculus. | | All of this would have not been possible had I not been taught | Scheme and functional programming by Professor John Clements. | If he is reading this, I thank him immensely for the impact his | courses have had on my career. I just wish I had appreciated | the courses back when I took them, but over a decade later, I | strongly appreciate them, and they're among the most valuable | courses I had at Cal Poly. | ska wrote: | Racket is an evolution/rebranding of a scheme variant (Dr | Scheme) - or rather family of them - specifically designed for | pedagogy. It's got a pretty good multiple decade history in | that space, fwiw. | miloandmilk wrote: | I don't use Racket every day - but I use many of the things I | learnt from HTDP every single day. Great language guided by some | very generous people. | chromatin wrote: | Would Racket be an appropriate first language for a thoughtful 11 | year old who has the gift of abstract thought (relatively; we are | not talking Haskell here) ? | codr7 wrote: | I would say Lisp is a fine beginners language, but it all | depends on the teacher. | | One reason why SICP works so well is that the authors are very | passionate about Lisp. K&R accomplishes sort of the same thing | for C. Many languages have these kinds of books. | | I got into Lisp from reading Paul Grahams essays and books. | | One of my younger brothers eventually found his way into | programming heaven via Bash scripts. | | My point is the medium matters less. | rscho wrote: | I'm just a passionate hobbyist, but I'd say yes. The integrated | environment makes it very easy to get started, the package | manager makes using libs trivial and there are DSLs for | basically all programming paradigms under the sun. | | In my opinion, nothing beats it. You even have pictures in the | REPL. | saagarjha wrote: | Perhaps they could come up with something different for the first | header? Because saying "Racket, the Language-Oriented Programming | Language" right after "Racket, the Programming Language" seems a | little too similar. | grok22 wrote: | That seems intentional -- the 2nd header is to highlight that | it has features that help in creating your own language variant | (and is a big-part of it's many strengths). | saagarjha wrote: | Yeah, I think it is-however, it's still strange to have those | two and then the third "Racket, the Ecosystem" that doesn't | seem to fit the pattern. | jakearmitage wrote: | The #lang thing is super interesting. What happens with | conflicts, though? Can I use multiple #lang? What if they have | functions with the same names? | PuercoPop wrote: | You can use multiple #langs, in separate files. The name | collision is unrelated to the #lang of the file. It is handled | by the module system. | submeta wrote: | Beautifully made. Like the font. And how legible it is on mobile | devices. - Learned Scheme and worked through SICP with its | predecessor DrScheme twenty years ago. - Keep up the good work. | MarkyC4 wrote: | portrait tablet/landscape mobile could use some work (it's a | bit squished) | | https://i.imgur.com/KLSZ33H.png https://i.imgur.com/b9HXnfj.png ___________________________________________________________________ (page generated 2020-08-26 23:00 UTC)