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

I'm using Clojure for my PhD thesis project, implementing a distributed computing framework for building P2P applications. I've also been creating an audio synthesis and musical live-coding system, available here:

http://project-overtone.org

Clojure has without a doubt been the most eye opening language I've learned in the last 10 years. I highly recommend giving it a try. It has powerful yet incredibly simple to use constructs for dealing with state in a multi-core world, and I think it far surpasses everything else out there today for parallel programming. The centerpiece being a built-in software transactional memory system that enables composable, deadlock free, multi-threaded coordination.

Beyond solid support for concurrency, the standard library provides an elegant set of programming tools that will make you realize how even expressive languages like python and ruby make you jump through lots of unnecessary hoops. In Clojure you represent everything with basic maps, sets and sequences, and the standard library has extensive tools for manipulating these things. (By the way, your code is also available for manipulation with these same tools.)

Macros let you peel away every last bit of boiler plate, and what you realize is that in the end all of programming is just arithmetic, iteration, branching, and assignment. Everything else is just getting in the way of your core logic. I think Clojure lets you get to the center of your problem with the least overhead possible.



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

Search: