untangled

NEW CHANNEL: #fulcro
tony.kay 2017-01-27T00:53:55.002567Z

@currentoor That's been my experience overall: everything I think is going to be "hard" turns out to be surprisingly simple. It's refreshing

currentoor 2017-01-27T01:47:04.002568Z

@tony.kay have you worked extensively with CLJ(S) before this product?

tony.kay 2017-01-27T01:49:51.002569Z

@currentoor no. My prior gig was Scala, Java before that.

tony.kay 2017-01-27T01:51:19.002570Z

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.

tony.kay 2017-01-27T01:52:09.002571Z

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.

tony.kay 2017-01-27T01:53:19.002572Z

We originally started out thinking maybe clj on the back-end. Then saw the elegant and useful stuff happening on the front-end.

tony.kay 2017-01-27T01:53:50.002573Z

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"

2017-01-27T18:43:36.002582Z

@tony.kay every word you wrote about scala was my exact experience too

2017-01-27T18:44:01.002583Z

@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

2017-01-27T18:46:14.002586Z

my progression was C++ -> Clojure -> Scala -> Clojure -> adding Clojurescript

tony.kay 2017-01-27T18:57:09.002587Z

roughly mine as well...but I think I'm older 😉 Basic -> 8-bit assembly -> C -> C++ -> Java -> C++ -> Java -> Scala -> Clojure

2017-01-27T20:15:03.002592Z

Hah nice, i did a bit of visual basic, but yes basic is before my time

2017-01-27T20:15:17.002593Z

8-bit assembly, i didn't even know that existed

2017-01-27T20:16:08.002594Z

x86 architecture began on 16 bit right?

tony.kay 2017-01-27T20:16:52.002595Z

not quite punch cards...commodore 64

tony.kay 2017-01-27T20:17:55.002596Z

did a lot of manually putting numbers into RAM and then saying: OK, run those

tony.kay 2017-01-27T20:18:27.002597Z

boy was C a nice upgrade

2017-01-27T20:18:36.002598Z

hah i guess I can't appreciate how far things have come

2017-01-27T20:18:55.002599Z

C++ was my first language, and clojure is still OOP in some sense

tony.kay 2017-01-27T20:18:59.002600Z

oh man...garbage collection (salivates)

tony.kay 2017-01-27T20:19:13.002601Z

Java was like a god-send in the 90's

2017-01-27T20:19:22.002602Z

and C++ is even faster than clojure for most programs, so it's not a massive leap

2017-01-27T20:19:48.002603Z

i was using smart pointers pretty early on, so once again I probably don't appreciate GC as much as you

tony.kay 2017-01-27T20:20:21.002604Z

smart pointers helped...but you still had library issues, random leaks....bleh. Don't miss it

tony.kay 2017-01-27T20:20:59.002605Z

and compiler errors...people think they have it rough with Clojure

2017-01-27T20:21:01.002606Z

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

tony.kay 2017-01-27T20:21:14.002607Z

or infinite (compiler) loops on templates

2017-01-27T20:21:25.002609Z

yah nightmare , if you ever read boost library code

tony.kay 2017-01-27T20:21:30.002610Z

yep

tony.kay 2017-01-27T20:21:37.002611Z

boost is exactly what I was thinking

2017-01-27T20:22:04.002612Z

one nice thing about C++ was you were closer to bare mental, whereas with clojure i don't understand what the JVM does

2017-01-27T20:22:16.002613Z

maybe it's just a lack of education, how about you? do you have confidence in the final x86 asm in your mental model

tony.kay 2017-01-27T20:22:46.002615Z

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 😉

tony.kay 2017-01-27T20:22:59.002616Z

branch prediction, MMU caching, ...

2017-01-27T20:23:27.002618Z

yah, that's the reality these days i guess, but it changes the feeling of being a programmer i think, talking purely psychological now

tony.kay 2017-01-27T20:23:43.002619Z

yes, I agree there...feels less "muscle car" ish

2017-01-27T20:24:30.002620Z

for one thing you felt proud of cryptic code

2017-01-27T20:25:07.002621Z

"wow writing that high performance function, the code is crazy complex, i gotta show my friends" type feeling

2017-01-27T20:25:29.002622Z

dropping down into assembly was a badge of honor

2017-01-27T20:25:33.002623Z

in clojure it's like the opposite

tony.kay 2017-01-27T20:26:11.002624Z

I don't know. I see a lot of ppl gettin' fancy for fancy sake 😉

2017-01-27T20:26:43.002625Z

hah ya, i guess those badges are still available if I want them

2017-01-27T20:26:47.002626Z

in clojure

tony.kay 2017-01-27T20:27:05.002627Z

but more in the "I can write that algorithm in 4 characters"

tony.kay 2017-01-27T20:27:15.002628Z

sort of a "name that tune" of coding

2017-01-27T20:29:52.002629Z

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

2017-01-27T20:30:24.002630Z

in my mind it's similar to something mathematics does all the time, e.g. mapping geometry to number theory

2017-01-27T20:30:38.002631Z

any kind of 'mapping'

tony.kay 2017-01-27T20:30:54.002632Z

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 😉

2017-01-27T20:31:19.002633Z

hah funny how things evolve

tony.kay 2017-01-27T20:31:35.002634Z

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

2017-01-27T20:33:18.002636Z

yes me too, people strong in math make leaps of logic effortlessly that seem brilliant to me

tony.kay 2017-01-27T20:33:38.002637Z

we should probably stop annoying the channel with our Friday banter 😉

2017-01-27T20:33:56.002638Z

back to work 😉

currentoor 2017-01-27T21:32:36.002639Z

@tony.kay did you study physics?

currentoor 2017-01-27T21:32:55.002640Z

also I for one enjoyed reading this banter 😄

monjohn 2017-01-27T22:07:45.002641Z

I enjoyed listening in as well

tony.kay 2017-01-27T22:34:38.002642Z

@currentoor In fact I did. Undergrad. Did graduate work in CS.

currentoor 2017-01-27T23:17:37.002643Z

@tony.kay oh cool I majored in Physics and CS for also 😄

currentoor 2017-01-27T23:18:28.002644Z

I hadn’t thought of Fourier transforms for a long while. Brings back memories.

tony.kay 2017-01-27T23:20:10.002645Z

You guys watching the #om or #clojurescript channels?

tony.kay 2017-01-27T23:20:24.002646Z

new cljs dropped with js module support as first-class citizen

6
tony.kay 2017-01-27T23:20:46.002647Z

our world just got a LOT bigger...or a lot easier, depending on how you look at it

2017-01-27T23:26:44.002648Z

yeah really excited about that

2017-01-27T23:27:01.002649Z

any immediate plans to use extern generation or js module support @tony.kay ?

tony.kay 2017-01-27T23:29:55.002650Z

you mean in Untangled? Or do you mean personally in a project?

2017-01-27T23:34:58.002651Z

just personally

tony.kay 2017-01-27T23:56:44.002652Z

I've been wanting to use some more advanced React charting and visualizations that are not in cljsjs yet

tony.kay 2017-01-27T23:57:09.002653Z

but most of them are in module formats that made it a pain, so I've just been waiting