News for hackers. Stuff that matters.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by minalecs on Wednesday August 19, 2009 @11:28AM (#772885)
This is an awesome post, would love to see more overview and analysis like this from more of the YC companies. Good stuff.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by dschobel on Wednesday August 19, 2009 @01:05PM (#773105)
I sent it to all my functional programming fancying friends who are working at big anonymous corporations in ten year old codebases of OO code and their response was equal parts despair and envy.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by bradfordcross on Thursday August 20, 2009 @01:51AM (#774511)
I prefer a functional to an imperative style, but IMO, let's not bash OO too badly. :-)

I think the kind of message-centric OO that Alan Kay was talking about was very different from what we see in practice today.

Likewise, if you read "The Art of Meta-object Protocol" there are some deep insights about the configurability and power you get whan you have pre and post hooks into everything in the system. MOP systems are very powerful.

It is also nice to have the implicit "this," "self" or "message recipient" that you don't have to pass around all the time into the same family of functions (methods.)

The kind of typical "enterprise java" code that you see in the wild is what I call "class-oriented programming" - using classes as containers for procedural code. This is at the extreme end of crappiness for the imperative world.

If you go back to the initial spirit of OO, and combine that together with techniques like constructor injection with good citizenship, lots of immutable value objects, and polymorphic strategies, you get a style of OO that is more friendly with FP. It still isn't that delightful in verbose languages like java, but is a lot better than the norm.

The problem is that not a lot of people deeply grok OO in this way and you don't run into projects using this style often.

But let's not bash OO, let's learn from the cool stuff and throw out the garbage.

Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by greentree on Thursday August 20, 2009 @09:58AM (#775032)
"If you go back to the initial spirit of OO, and combine that together with techniques like constructor injection with good citizenship, lots of immutable value objects, and polymorphic strategies, you get a style of OO that is more friendly with FP. It still isn't that delightful in verbose languages like java, but is a lot better than the norm."

Any references for this style of development? Have you written about your development/architecture practices anywhere?

Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by onewland on Wednesday August 19, 2009 @02:39PM (#773409)
I resemble this remark.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by dschobel on Wednesday August 19, 2009 @05:01PM (#773763)
If only there were places where you could work with cool tech and have stability as well.

sigh

Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by icey on Wednesday August 19, 2009 @05:08PM (#773774)
You can use anything you want for personal tools, right?

Like, if you know you're going to have to sanitize a ton of data, couldn't you use anything you wanted?

Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by onewland on Monday August 31, 2009 @10:50AM (#796006)
Actually, I just did this in Ruby (I'm the grandparent post). Still, I'd love to use Scheme/Lisp/Haskell all day.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by alain94040 on Wednesday August 19, 2009 @08:13PM (#774151)
If it's stable, by definition it won't remain cool for long.

That's why what you ask for doesn't exist.

Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by gcheong on Wednesday August 19, 2009 @10:59PM (#774333)
I'm also interested in hearing about how the idea to create something like this came to them.
Re:How FlightCaster (YC S09) was built (RoR + JVM + Clojure ... by bradfordcross on Thursday August 20, 2009 @01:37AM (#774499)
The idea for Flightcaster is pain-driven. :-)