Nur 196 ppl aus Deutschland? Ist hier jemand aus BaWue ?
@ordnungswidrig & @javahippie sorry late reply.
Ich sitz an der Grenze zu BaWue (Neu-Ulm) lol
Bin Angestellter habe aber seit vielen Jahren eine eigene one-man Show zusÀtzlich.
Ich und ein Freund wollen ein side project starten nebenbei und wir suchen eventuell noch jemand der/die sich auch etwas zusÀtzlich aufbauen möchte.
Passive income Plattform, nicht direkt ein Markt umwerfendes StartUp
Freiburg, hier đ
Also wir können gerne mal ĂŒber das Thema GrĂŒndung usw quatschen, aber momentan bin ich voll mit meinen eigenen Sachen beschĂ€ftigt, da brauche ich den Fokus
Ok ! đ:skin-tone-2:
Ărgerlich dass ich erst so spĂ€t zu Clojure gefunden habe....
Jetzt will ich alles in Clojure entwickeln aber bin noch nicht so weit wie ich gerne wÀre.
Wie lange entwickelst du schon mit Clojure?
Ich glaube, viele kommen erst frustriert bei Clojure an, nachdem sie Java âdurchgespieltâ haben.
naja so frustrierend ist modernes java ja nicht mehr
Das kommt drauf an, was man machen muss đ
Ich finde Java als Sprache nicht frustrierend, nur die gÀngigen Frameworks und patterns
Ich finde alles ohne S-EXP inzwischen frustrierend. Aber vielleicht benutzer ich zuviel Emacs und smartparens. đ
Mutable state als Default ist frustrierend. Finde ich zumindest. Ich rede nicht von Sprnchfeatures oder syntactic sugar. Ich rede von OOP, Typing, âŠ
Rich Hickey sagte doch selbst mal in einem seiner Talks, nach X Jahren Java hĂ€tte Clojure ihm die Freude an Softwareentwicklung zurĂŒck gegeben.
Ich denke da Ă€hnlich đ. Ich mache Java weiterhin fĂŒr Lohn und Brot, und es ist auch OK. Aber âFunâ? Nö.
Aber das mögen Andere anders sehen đ
Wir haben uns tatsĂ€chlich fĂŒr unser âStartupâ aus zwei GrĂŒnden fĂŒr Clojure entschieden: 1. âSpaĂâ, 2. âProduktivitĂ€tâ. Ich bin da ganz bei David Heinemeier Hansson, erst mal sollte eine Sprache auch motivieren, mit ihr arbeiten zu wollen, und da sind es 100 Punkte. Die ProduktivitĂ€t merken wir momentan enorm, wir denken stark ĂŒber unsere Probleme nach, und wie wir sie lösen, weniger ĂŒber das drumherum
Auf meinem aktuellen Projekt benutze ich Spring, und ich denke eigentlich meistens ĂŒber Spring nach đ
das einzige, was mich an der JVM nervt ist, dass es ewig dauert, eine applikation hochzufahren
@synthomat das ist eher leider eher ein problem mit clojure als mit java.
Moderne JVM sind ja superschnell.
Aber die ganzen namespaces in clojure zu laden dauert prinzipbedingt.
ne ich meinte nicht explizit clojure; bei uns dauert es teilweise eine minute, bis eine spring-anwendung hochfÀhrt
ist vielleicht auch nicht ganz der JVM geschuldet sondern Spring
warum dauertâs in clojure eigentlich so lang, die namespaces zu laden? Hab hier bisher nur hobbyprojekte in clj gebaut, da ist die startup time noch in ordnung
Nun, clojure ist sehr dynamisch zur runtime. Deswegen muĂ alles beim (require 'xyz)
âverdrahtetâ werden. so hab ich er verstanden.
Also es werden sehr sehr viele class initializers und contructors aufgerufen und darauf sind die VMs wohl nicht so gut optimiert.
Graalvm funktioniert fĂŒr native code erzeugung ganz ok, aber bei gröĂeren Projekten kann es mal 6h(!) dauern bis das compiliert ist. đ±
Das ist tatsĂ€chlich die Schuld von Spring, dem Container oder der Applikation đ Eine Spring Boot Applikation fĂ€hrt nackt in 2-3 Sekunden hoch. Eventuell hilft euch Class Data Sharing? Hab das die Woche fĂŒr mich entdeckt.
Das nervt mich z.B. ĂŒberhaupt nicht, weil man das superselten tut.
du meinst clojure wegen der repl, oder?
> naja so frustrierend ist modernes java ja nicht mehr Wir bilden seit 20 Jahren aus. Modernes Java (und auch modernes C#) sind trotzdem frustrierend, denn 1. Hoch- und vor allem Berufsschulen lehren eher... sagen wir mal: die klassischen Varianten. Die Unterlagen werden einfach nicht modernisiert. Da mĂŒssen wir uns der RealitĂ€t stellen. 2. Alle Nachwuchsprogrammierer mĂŒssen noch beides lernen, denn sie werden mit beidem konfrontiert werden. 3. Trifft modernes Java / C# auf klassisches, knirscht es. Paradigmen und Schnittstellen sind nunmal nicht kompatibel. Bedeutet mehr Glue-Code. 4. Punkt 3 sorgt dafĂŒr, dass Java / C# weiterhin keine guten Sprachen fĂŒr Agile SE sind, weil frĂŒh getroffene Entscheidungen spĂ€ter unnötig hohe Strafen mit sich bringen.
was bedeutet hier âklassischâ?
altes java?
Was bedeutet "alt"? đ
Mit "klassisch" wollte ich alles vor Streams und Lambda benennen, in C# vor LINQ und IEnumerable
. Als Beispiel.
Klassisch bedeutet fĂŒr mich auch for (...)
statt Iteratoren.
na hier, java 1.5 oder so đ
Ja, ich denke, da kann man sich drauf einigen. Generics kamen mit 1.5? Oder war's 1.7? :thinking_face:
1.5 sagt wikipedia und das war 2004
Jo. Passt. Wenn wir suchen, finden wir bestimmt noch genug verbreitete und weiterhin in Nutzung befindliche Bibliotheken, die noch mit Object
+ Cast Pattern an Stelle von Generics arbeiten.
Auch, aber nicht nur. Auch in Java. Wie oft muss ich meine Applikation hochfahren Eher selten, oder?
Im Entwicklungszyklus macht âApp hochfahrenâ doch nur den kleinsten Teil aus, denke ich. Lohnt sich Optimierung da?
Ich lese, verstehe und schreibe Code und Tests deutlich mehr als ich die Applikation starte.
was Ladezeiten angeht: Eine gröĂere nicht aot-kompilierte Clojure-Anwendung kann auch ganz schön lange brauchen zum Hochfahren (> 10s). Aber netterweise fahre ich dir nur alle paar Tage mal hoch, daher ist Startup-Performance nicht wirklich entscheidend.