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

Fair point although I feel like Racket deserves credit for the way it builds upon itself. By design it allows you to have the Student Languages that are each iterations upon the previous, and all are valid Racket programs.

As a counter-example you can't do much of anything in Java without introducing class and public-static-void-main-string-args.



I think this still, somewhat, misses the point.

Sure, Racket has facilities to make implementing languages easier (that's the whole point), but that simply makes it _easier_ to implement BSL, etc. I could certainly, with more effort, implement BSL in Java or in any other language: the language that students are using really has nothing to do with the _host_ language. Things are somewhat confused by DrRacket (or, made simpler, depending on your perspective); the IDE is somewhat mixed up with everything else, but again, this functionality can and does exist in other editors: I could implement a mode for my BSL implemented in Java in, say, VS Code, with comparable features to DrRacket.

Or, to take a completely different tack, implement the IDE via the web a la WeScheme or, if you want an actual concrete example of something that isn't Racket hosted, Pyret.


What would be the point of implementing BSL in Java? You'd still have to teach the basics of object oriented programming and all the details of Java's implementation... unless you abstract all that away to the point were you aren't teaching Java anymore. BSL being easy to implement isn't as important as BSL being a useful subset of Racket that's easy for students to understand.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: