3 ms·
Clojure inventor Hickey now aims for Android
- thurn 15y agoDidn't know Clojure 1.4 was going to have reader macros. That's awesome, one of the last features I was really missing from Common Lisp.
- snprbob86 15y agoIt's not general reader macros. He's talking about "tagged literals". See http://dev.clojure.org/display/design/Tagged+Literals http://dev.clojure.org/display/design/Tagged+Literals
- calibraxis 15y agoClever attention-grabbing title, based on just 3 or 4 offhand sentences about people optimizing Clojure for Android.
- fpgeek 15y agoPersonally, I'd say misleading rather than clever.
- semisight 15y agoMy first thoughts too. If you go to the dev site (http://dev.clojure.org/display/design/Android+Support http://dev.clojure.org/display/design/Android+Support), however, you'll see that Android support is actually one of their core issues (well, it's under the 'core' list) right now. Not excusing the editor/writer of the article for anything; that was a low trick to get readers.
- billsix 15y agoI am surprised that this article made the front page.
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- wicknicks 15y agoRich Hickey: "It's like traditional databases in being consistent and transactional, and it's like these new databases in being oriented toward flexibility for the application developer. It's bridging those two worlds." Doesn't the CAP theorem [1] say that consistency, availability and partition tolerance cannot be achieved in a single system? How is Datomic giving us consistency, transactions and scalability? What are they sacrificing? How are they getting the 'best of all worlds'? [1] http://en.wikipedia.org/wiki/CAP_theorem http://en.wikipedia.org/wiki/CAP_theorem
- jamii 15y agoAs I understand it, datomic sacrifices write availability by serialising all writes through a single server.
- wicknicks 15y agoWow! That sounds like a huge sacrifice (Unless its a read heavy DB).
- jamii 15y agoNot really. All the writes go through a single server (which can have a hot failover). If you can't talk to that server then you can't write. In theory it should still be able to handle at least the same write load as a traditional db whilst offering more flexible modelling and distributed queries.
- snprbob86 15y agoIn addition to what jamii said, you can also have multiple write servers (called "transactors) and can join data between them. Furthermore, that transactor isn't serving queries, so it can have higher write throughput than a traditional database. Assuming hot failover, it's a perfectly reasonable approach for pretty much all places a traditional SQL database was reasonable before.
- djhworld 15y agoThis isn't really 'Hickey saying Android is then next target for Clojure and is at the forefront of the 'roadmap' for the language. He's just mentioning the work some people have done in the Clojure community to get Clojure running on Android (with performance/startup issues)