Re:Writing a Vi-like Graphics Editor in Racket
by minikomi on Wednesday May 15, 2013 @08:57AM
(#5711615)
Very cool thread which definitely piqued my interest. Do you have a blog or a github repository somewhere online? I've had a try building a simple racket web app following the documentation online, and found it fun but went no further. The docs for the language are wonderful though.
If you do write or have written more about your experiences, please let me know .. my username at gmail . com
Re:Writing a Vi-like Graphics Editor in Racket
by moron4hire on Wednesday May 15, 2013 @09:13AM
(#5711694)
I'm lobbying very, very hard to get our code open sourced, but it's going to take some convincing. I do, however, have one Racket project on GitHub right now, though I haven't touched it in a while and it is very simple:
https://github.com/capnmidnight/philly_mud
I don't really blog that much, and when I do it's not usually about programming. Maybe I should...
Re:Writing a Vi-like Graphics Editor in Racket
by minikomi on Wednesday May 15, 2013 @09:46AM
(#5711882)
Good luck! Let me know if you do write more.
Re:Writing a Vi-like Graphics Editor in Racket
by moron4hire on Wednesday May 15, 2013 @09:52PM
(#5716417)
Follow me on Tumblr, then! http://moron4hire.tumblr.com
or G+: https://plus.google.com/u/0/100282968888030008096/posts
The posts will show up on Tumblr and get linked on G+, but I'm not a huge fan of Tumblr's dashboard system.
I did try to go with Clojure at first, but found the entire ecosystem to be very haphazard. I already knew that Racket was easy to install and easy to use, so when I started running into trouble with getting Clojure to run on Windows and Linux (it seems it is super easy if you're on OS X, but eff that noise). Also, there was no one setup with Clojure. It was clear that Clojure without Leiningen was half a product, and I consider Leiningen to be a terrible piece of software.
As for learning resources for Clojure, that was another area where I felt like Racket won out. The Racket community is very, very friendly and extremely knowledgable, and the documentation at racket-lang.org is (mostly) extremely good. The sections on macros and continuations seems like they were written by someone with intimate mathematical knowledge of the issues, but not a lot of understanding of what beginners go through, but there are other sites (Scribble-based, even!) that do a better job of explaining the features.
And yeah, I didn't want to be tied to the JVM. Clojure ends up slightly slower than raw Java because of the need to emulate certain Lispy features, and years of Java AND C# development have given a very poor opinion of the JVM. Sure, there are more libraries available, but just how many do you need? There are some holes in Racket's library ecosystem, but it's been fun trying to fill them in and I think it's a site better scenario than having 15 different ORMs to choose from, and none of them are very good.
With Clojure, I had to install a JVM, then Clojure, then Leiningen, then plugins for Vim or Emacs or whatever, then a dozen and a half dependencies for the web framework, a lot of which are still in beta, have interface-breaking changes, and the documentation hasn't kept up. It was a nightmare of poorly executed distribution, something that drives me up a wall.
With Racket, you install Racket. It has other dependencies that it needs, but it handles it because it has a real installer. You can use Vim or Emacs if you want, but you don't have to right away. You import web-based dependencies in almost the exact same way you import standard libraries. In fact, you can even do it in the same require statement: