Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ok, so to state the obvious, if you don't turn to racket for "programming language research" why do you use the language at all?


One reason is that it has one of the best cross platform native gui solutions out there. It exists because the research side was focused on teaching programming and needed a solution that their students could just install. There is a bit of a learning curve, but once you're over the hump it is just a pleasure to work with. See also things like https://docs.racket-lang.org/gui-easy/index.html.


> One reason is that it has one of the best cross platform native gui solutions out there.

I'm always a bit skeptical of these statements. How does it define "native"? Does it use gtk/libadwaita on Gnome and Qt on KDE? What about windows, does it use Win32, WPF, WinUI2 or WinUI3, all of which could be considered "native"? What about platform-dependent layouts?


How one defines "native GUI" is very simple: it uses the native widgets of the desktop OS, rather than custom-painting its own onto a pixel-level canvas. Buttons, input fields, lists/combos, context menus, the file picker dialog, what have you, are from the host system.


it's not that simple on windows, at least: https://raphlinus.github.io/rust/gui/2022/07/15/next-dozen-g...


It's GTK on Linux, win32 on Windows, and Cocoa on macOS.


Is it still a wrapper over wxwidgets?


No, it binds to the frameworks I mentioned above directly.


Word!


As a Clojure developer who did write some Racket, there is a satisfying purity to Scheme (at least to me).


I guess one can think of Clojure as a very Scheme-affine Lisp. Which is not surprising since Scheme was a kind of distilled iteration of Common Lisp as a common denominator.

Are there any Schemes which are as "Batteries included" as Clojure with broad and deep library support? (I think Racket has quite good support!)


This is a wonderful answer!

I return to my main calling: figuring out why people use PLT scheme without an academic incentive. There must be an answer here somewhere....


Is this a joke or why don't you think they answered the question?


[flagged]


This is just getting more confusing.


amen



Ergonomics. It's extremely easy to use, especially in the GUI department. Generally, many things are super easy to use but not always top performance. Other things (macros) are truly exceptionally powerful, but rather complicated.

So, industry-grade customer-facing code? Not its focus, maybe not. But incredibly easy internal tools? Sure!


>It's extremely easy to use, especially in the GUI department.

You mean it's easy to build GUI desktop apps with Racket?


It becomes very limited quite quickly though. One quickly has to move to the pasteboard editor functionality, where you basically have to recreate everything yourself in a canvas, as the normal buttons and other graphical elements are not supported inside a canvas since they are native OS widgets.

I started trying to build a complex enough GUI and just quit. There are bugs and the documentation is extremely terse. You have to rely on blog posts by one developer who has sorted it all out, but it's still really difficult to get an explicit handle on the concepts and functionality. Very, very few people use the pasteboard editor for complex things or even simple things. You'll be forging a path of your own for sure.


The common sentiment is "if it's not used in DrRacket, you'll likely be on your own". That's more of a limitation due to the small community than a testament to the GUI framework quality itself, IMO.


I found several bugs in the framework and gave up.


Yes


it's also a lovely general-purpose language, very pleasant to use.


The same reason people use Haskell outside of 'programming language research', too, perhaps?


A lisp with a lot of features built in (websites, guis, etc)




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: