@currentoor That's been my experience overall: everything I think is going to be "hard" turns out to be surprisingly simple. It's refreshing
@tony.kay have you worked extensively with CLJ(S) before this product?
@currentoor no. My prior gig was Scala, Java before that.
When I started here I knew FP was the way to go, but I was a bit disappointed by the practical day-to-day of Scala. The compiler is soooo slow, the setup is kind of a pain, and the developers tend to fetishize complexity. Has some great ideas, but in practice I was torn.
I was worried about the lack of a static type system when I started using Clojure (thinking about proposing a talk on that for clj west), but after doing some case studies on the kind of code we wanted to write, the "value of values" became apparent.
We originally started out thinking maybe clj on the back-end. Then saw the elegant and useful stuff happening on the front-end.
and as David Nolen puts it: "it was the first time I looked at a way of doing UIs on a browser that didn't make me want to put my eye out"
@tony.kay every word you wrote about scala was my exact experience too
@tony.kay it's very perplexing because on paper it looks like a solid choice of language, at least it checks every box, but in practice you're torn
my progression was C++ -> Clojure -> Scala -> Clojure -> adding Clojurescript
roughly mine as well...but I think I'm older 😉 Basic -> 8-bit assembly -> C -> C++ -> Java -> C++ -> Java -> Scala -> Clojure
Hah nice, i did a bit of visual basic, but yes basic is before my time
8-bit assembly, i didn't even know that existed
x86 architecture began on 16 bit right?
not quite punch cards...commodore 64
did a lot of manually putting numbers into RAM and then saying: OK, run those
boy was C a nice upgrade
hah i guess I can't appreciate how far things have come
C++ was my first language, and clojure is still OOP in some sense
oh man...garbage collection (salivates)
Java was like a god-send in the 90's
and C++ is even faster than clojure for most programs, so it's not a massive leap
i was using smart pointers pretty early on, so once again I probably don't appreciate GC as much as you
smart pointers helped...but you still had library issues, random leaks....bleh. Don't miss it
and compiler errors...people think they have it rough with Clojure
i'm widly more productive with clojure, there is something I miss about C++ that I can't quite put my finger on, but it's certainly not the memory leaks and segfaults
or infinite (compiler) loops on templates
yah nightmare , if you ever read boost library code
yep
boost is exactly what I was thinking
one nice thing about C++ was you were closer to bare mental, whereas with clojure i don't understand what the JVM does
maybe it's just a lack of education, how about you? do you have confidence in the final x86 asm in your mental model
yeah, but the JVM is actually capable of getting closer to the metal in many cases...and in modern architectures no one understands the metal...not even the meta designers 😉
branch prediction, MMU caching, ...
yah, that's the reality these days i guess, but it changes the feeling of being a programmer i think, talking purely psychological now
yes, I agree there...feels less "muscle car" ish
for one thing you felt proud of cryptic code
"wow writing that high performance function, the code is crazy complex, i gotta show my friends" type feeling
dropping down into assembly was a badge of honor
in clojure it's like the opposite
I don't know. I see a lot of ppl gettin' fancy for fancy sake 😉
hah ya, i guess those badges are still available if I want them
in clojure
but more in the "I can write that algorithm in 4 characters"
sort of a "name that tune" of coding
i think mathematics is the new 'assembly' in that sense that JVMs/VMs/virtualization/transpiling are winning and these are all cases where you're trying to solve problems by leveraging a higher level semantic
in my mind it's similar to something mathematics does all the time, e.g. mapping geometry to number theory
any kind of 'mapping'
It's coming full-circle. Math came first, Lisp came (nearly) second...50 years pass...back the to math we knew in the 50's 😉
hah funny how things evolve
Yeah, it fascinates me how far ahead math usually is. Fourier analysis was invented long before we found fun uses for it like audio compression and quantum physics
yes me too, people strong in math make leaps of logic effortlessly that seem brilliant to me
we should probably stop annoying the channel with our Friday banter 😉
back to work 😉
@tony.kay did you study physics?
also I for one enjoyed reading this banter 😄
I enjoyed listening in as well
@currentoor In fact I did. Undergrad. Did graduate work in CS.
@tony.kay oh cool I majored in Physics and CS for also 😄
I hadn’t thought of Fourier transforms for a long while. Brings back memories.
You guys watching the #om or #clojurescript channels?
new cljs dropped with js module support as first-class citizen
our world just got a LOT bigger...or a lot easier, depending on how you look at it
yeah really excited about that
any immediate plans to use extern generation or js module support @tony.kay ?
you mean in Untangled? Or do you mean personally in a project?
just personally
I've been wanting to use some more advanced React charting and visualizations that are not in cljsjs yet
but most of them are in module formats that made it a pain, so I've just been waiting