Frage

Nach der Entdeckung Clojure ich in den letzten Tagen in sie eingetaucht verbracht haben.

Welche Projekttypen eignen sich für Java über Clojure, umgekehrt, und in Kombination?

Was sind Beispiele für Programme, die Sie nie zuvor Clojure versucht hätte?

War es hilfreich?

Lösung

Clojure eignet sich gut für gleichzeitige Programmierung . Es bietet so wunderbare Werkzeuge für die mit Gewinde als Software Transactional Memory und wandelbar Referenzen handelt.

Als Demo für den Western Mass Entwicklers Group, angefettet Hickey eine Ameisenkolonie Simulation, bei der jede Ameise einen eigenen Thread war und alle Variablen waren unveränderlich. Selbst bei einer sehr großen Anzahl von Threads Dingen hat super funktioniert. Dies ist nicht nur, weil Reiche ein erstaunlicher Programmierer ist, ist es auch, weil er nicht über Sperren zu befürchten hat, während seinen Code zu schreiben. Sie können seine Präsentation auf der Ameisenkolonie Besuche hier .

Andere Tipps

Wenn Sie vorhaben, parallele Programmierung versuchen, dann denke ich Clojure ist viel besser als das, was man von Java erhalten aus dem Kasten heraus. Werfen Sie einen Blick auf diese Präsentation zu sehen, warum:

http://blip.tv/file/812787

I dokumentiert meine ersten 20 Tage mit Clojure auf meinem Blog

http://loufranco.com/blog/files /category-20-days-of-clojure.html

Ich begann mit den SICP Vorträgen und dann ein paralleles Primzahl Sieb eingebaut. Ich habe auch mit Makros rumgespielt.

  

Welche Projekttypen sich dafür eignen, Java über Clojure zu verwenden, vice   kehrt oder in Kombination?

     

Ein Projekt, bei dem ein GUI-Building-Tool   (Wie in Netbeans Matisse) ist   wäre ein Fall erforderlich, wo Java kann   nach wie vor erforderlich. Alles, was getan in   Java kann durchaus in Clojure getan werden   leicht, mit Proxy und gen-Klasse, wenn   benötigt, oder einfach nur den Zugriff auf Java als   benötigt (., doto, neu, etc.). Diese   Clojure Projekte ermöglicht auf einfache Weise nutzen   Java-Bibliotheken oder Legacy-Java-Code.

     

Welche Programme, die Sie nie zuvor Clojure versucht hätte?

     

Bevor ich Clojure gefunden, war ich   ein Projekt betrachten, die erforderlich   JDBC, würde in einem Servlet laufen   Behälter, und ich erwartete ein tun   Viele iterative Entwicklung, weil   es war nicht klar, welche Methoden würde   für die Daten arbeite ich zu analysieren benötigt.   Ich habe es auf Sparflamme, weil ich   haben nicht die Zeit oder die Geduld, für   die Kompilierung debug- deploy-Validierung   Radfahren, dass Java erfordert. Ich habe jetzt   die Anwendung in Clojure geschrieben,   und ich bin sehr erfreut, an der Leichtigkeit   die Änderungen im laufenden Betrieb und Sein   Lage, die Ergebnisse zu prüfen,   sofort. Ganz zu schweigen von der Freude   der Lock-freie Programmierung und wobei   befreit von zu entwickeln, mit (und   Refactoring) Klassenhierarchien.

     

- "Mikem" über die clojure@googlegroups.com Mailingliste

  

Welche Projekttypen eignen sich für Java über Clojure, umgekehrt, und in Kombination?

Wenn Sie einen Rahmen entwickeln wollen, die von Java und Clojure verbraucht werden soll, habe ich festgestellt, die wichtigsten Abstraktionen (Schnittstellen ad Basisklassen) in Java zu schreiben vorzuziehen zu sein über sie in Clojure schreiben (ich finde Clojure die gen-class zu sein etwas mühsam und eher verwenden proxy).

Wenn Sie einen Benutzer von Hibernate oder einem anderen Rahmen sind, die starke Nutzung von Java-Annotationen macht ohne eine programmatische Alternative zu bieten, werden Sie einige Probleme haben, da es nicht trivial ist kommentierten POJOs mit Clojure der Datenstrukturen zu emulieren.

Abgesehen davon habe ich keine Anwendungsfälle erlebt, für die Clojure ist weniger geeignet als Java; Sie haben mit dem Verlust der statischen Typisierung, natürlich fertig zu werden, die zunächst etwas befremdlich empfindet, aber weg zu gehen tendieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top