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

Is your team hiring?


We're a team of 6 programmers, 3 of which code Typed Racket. We all started here as Rails devs and got tired of it. I'm always pushing to invest time in research for better solutions and our team seems to be open to that (after weeks of discussion, though - we're no heaven). Typed Racket is the solution we found after surveying the field. Our management has recently told us they believe we're now a good-sized team given the projects we have to maintain. If it gets out of hand I'll be glad to know that there are people we can hire to work with these technologies. We're based in NYC.


Since you don't have any contact info in your profile, I'd love to talk to you about your use of Typed Racket, and whether there's anything you can tell us about how to improve it. Feel free to email me at samth@cs.indiana.edu

Always happy to hear of people using my software. :)


We've talked a bunch on IRC - thanks for making my life easier. :)


How are you liking Racket instead of Rails? I'm assuming you're using it for web development.

I was a Rails dev that moved to Clojure and I don't know much about Racket at all, but how is the library situation? Of course in Clojure if I ever need something I can count on being able to find it in Java and interop with it.


To be fair and not to mischaracterize the situation, I have been programming in lisp for at least 5 years in personal projects, so it's not like I had to learn it now and I also did not convert from Ruby to lisp.

I never liked Rails. I don't like anything that focuses on files, because in my mind the fact that code needs to be saved in the filesystem is simply incidental, so no code should rely on that fact; but Rails builds on top of that, telling you where to put your code (folder structure), taking control from you over what code sees what code (MVC), giving you command-line tools to use when it could simply provide functions at a REPL (gems, migrations, tests), etc. It simply doesn't get it at all.

In my opinion, a framework (loosely speaking) that solves only the easy problems (how to organize code) is pointless. But something like an FRP library that allows me to do GUI by focusing on how I want to transform data, and liberating me from thinking about events and callbacks - THAT to me is something that solves a hard problem.

So to answer your first question, I'm happy not to need to touch Rails again - right now I only need to look at it, rewrite it in Racket, and delete it.

Racket is a much nicer system than Clojure, it has immensely intelligent people behind it, the documentation is stellar (unbelievably so, in my opinion), there are libraries for everything you can imagine and more (like an FRP library). It also does native GUI everywhere, effortlessly. For things it lacks, it is easy to write an FFI.

I would never touch Java nor trust any library written in Java. The more I code the more I distrust code that relies on mutability. I haven't reached 100% pure code yet but I work towards that goal, not away from it.

EDIT: Yes, I am using Racket for a webapp that connects to a database and perform general CRUD operations.


I would like to hear more about your reasons for choosing Racket over Clojure.


Clojure is Java. I fundamentally disagree with everything Java. Java is also clunky. The environment that needs to be installed and maintained for Clojure is a lot more complex and subdivided than the one for Racket (which is an all-in-one batteries-included deal). I believe Clojure might be a good option for those coming from Java, if they want to breathe a little, but if I'm already free, it would be a step backwards for me. Racket is a true Scheme (regardless of whether they like being called that).

Also, I already knew Scheme and its simplicity is very appealing to me. If there's a feature lacking, I can implement it. Not true for Clojure, which lacks several important foundational features (TCO, continuations...).

Why would you choose Clojure over Racket? (I'd only be interested in hearing the reasons someone that isn't a Java programmer would have).


I was under the impression that Clojure has been designed around immutability, and Racket not so much... ?


But it sits on top of mutable Java libraries.




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

Search: