Fork me on GitHub
#clojure-germany
<
2020-09-11
>
Norman Eckstein07:09:40

Nur 196 ppl aus Deutschland? Ist hier jemand aus BaWue ?

3
ordnungswidrig07:09:03

Ich sitz an der Grenze zu BaWue (Neu-Ulm) lol

👍 3
Norman Eckstein07:09:06

Bin Angestellter habe aber seit vielen Jahren eine eigene one-man Show zusÀtzlich.

Norman Eckstein07:09:56

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.

Norman Eckstein08:09:52

Passive income Plattform, nicht direkt ein Markt umwerfendes StartUp

👍 3
javahippie08:09:03

Freiburg, hier 😉

👍 3
javahippie08:09:54

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

👍 3
Norman Eckstein08:09:12

Ok ! 👌:skin-tone-2:

Norman Eckstein08:09:08

Ärgerlich dass ich erst so spĂ€t zu Clojure gefunden habe....

Norman Eckstein08:09:07

Jetzt will ich alles in Clojure entwickeln aber bin noch nicht so weit wie ich gerne wÀre.

javahippie08:09:07

Wie lange entwickelst du schon mit Clojure?

spfeiffer08:09:17

Ich glaube, viele kommen erst frustriert bei Clojure an, nachdem sie Java „durchgespielt“ haben.

synthomat08:09:18

naja so frustrierend ist modernes java ja nicht mehr

javahippie08:09:19

Das kommt drauf an, was man machen muss 😉

javahippie08:09:11

Ich finde Java als Sprache nicht frustrierend, nur die gÀngigen Frameworks und patterns

ordnungswidrig09:09:15

Ich finde alles ohne S-EXP inzwischen frustrierend. Aber vielleicht benutzer ich zuviel Emacs und smartparens. 😛

spfeiffer09:09:51

Mutable state als Default ist frustrierend. Finde ich zumindest. Ich rede nicht von Sprnchfeatures oder syntactic sugar. Ich rede von OOP, Typing, 


spfeiffer09:09:48

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.

spfeiffer09:09:39

Ich denke da Ă€hnlich 😉. Ich mache Java weiterhin fĂŒr Lohn und Brot, und es ist auch OK. Aber „Fun“? Nö.

spfeiffer09:09:51

Aber das mögen Andere anders sehen 😉

javahippie09:09:44

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

javahippie09:09:07

Auf meinem aktuellen Projekt benutze ich Spring, und ich denke eigentlich meistens ĂŒber Spring nach 😄

synthomat10:09:21

das einzige, was mich an der JVM nervt ist, dass es ewig dauert, eine applikation hochzufahren

spfeiffer10:09:14

Das nervt mich z.B. ĂŒberhaupt nicht, weil man das superselten tut.

synthomat10:09:17

du meinst clojure wegen der repl, oder?

spfeiffer15:09:58

Auch, aber nicht nur. Auch in Java. Wie oft muss ich meine Applikation hochfahren Eher selten, oder?

spfeiffer15:09:18

Im Entwicklungszyklus macht „App hochfahren“ doch nur den kleinsten Teil aus, denke ich. Lohnt sich Optimierung da?

spfeiffer15:09:19

Ich lese, verstehe und schreibe Code und Tests deutlich mehr als ich die Applikation starte.

ordnungswidrig10:09:21

@synthomat das ist eher leider eher ein problem mit clojure als mit java.

ordnungswidrig10:09:28

Moderne JVM sind ja superschnell.

ordnungswidrig10:09:45

Aber die ganzen namespaces in clojure zu laden dauert prinzipbedingt.

synthomat10:09:52

ne ich meinte nicht explizit clojure; bei uns dauert es teilweise eine minute, bis eine spring-anwendung hochfÀhrt

synthomat10:09:01

ist vielleicht auch nicht ganz der JVM geschuldet sondern Spring

synthomat10:09:37

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

ordnungswidrig10:09:26

Nun, clojure ist sehr dynamisch zur runtime. Deswegen muß alles beim (require 'xyz) “verdrahtet” werden. so hab ich er verstanden.

ordnungswidrig10:09:03

Also es werden sehr sehr viele class initializers und contructors aufgerufen und darauf sind die VMs wohl nicht so gut optimiert.

ordnungswidrig10:09:36

Graalvm funktioniert fĂŒr native code erzeugung ganz ok, aber bei grĂ¶ĂŸeren Projekten kann es mal 6h(!) dauern bis das compiliert ist. đŸ˜±

javahippie10:09:41

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.

RAMart11:09:10

> 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.

👏 3
👍 3
synthomat11:09:10

was bedeutet hier “klassisch”?

RAMart11:09:15

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.

synthomat11:09:23

na hier, java 1.5 oder so 😄

RAMart11:09:46

Ja, ich denke, da kann man sich drauf einigen. Generics kamen mit 1.5? Oder war's 1.7? :thinking_face:

synthomat11:09:43

1.5 sagt wikipedia und das war 2004

RAMart11:09:34

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.

beders18:09:23

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.