I couldn't make out what he said when the host asked him "what is your favourite clojure function?" timestamp 49:58 ... Sounds like he says chillaxed ??? anyone know what he says, this is going to bug me!
Interesting talk. The Java vs Erlang example is a bit unfair though. A second iteration is mostly always going to end up "simpler", since you've already gone through figuring everything out in the first iteration and have a better idea of how everything works. A 1/4 in total lines of code is pretty substantial though. I'd be interested to see the second iteration from the ground up in Java as well.
Java is anything but concise. You'll get a similar level of compression from something like OCaml (Erlang is actually more terse than OCaml); a comparison of Java and OCaml is done in "Why OCaml" by Jane Street.
@@qx-jd9mh The point isn't how much more concise another language is compared to Java. I'm interested in seeing the effect a second iteration of a project in the same language can have on the LOC.
@@AlexZdanov Sure, but still the vast reduction of LoC is coming from using a language that isn't designed like Java, not necessarily a different application architecture. I wouldn't call the Erlang and Java example unfair because of that.
@@qx-jd9mh I agree with you that "vast reduction of LoC [can come] from using a language that isn't designed like Java", I think that is very likely. However, I do think it's still unfair. I don't see a point in arguing though, because "unfair" is a subjective term, and we'd have to go through defining what exactly it means before we could continue, and I just don't care enough to do that.
Ultimately, the amount of lines does not matter. You write code once, and read it a thousand times. You should optimize your code for readability, not for writabiliy. Clojure is easy to write, but hard to understand later. In other words, it sucks.
I'm very new to this. But IMHO Clojure (from standpoint of Test & QA) could be used to reaveal bugs in other languages if bridging is possible. For ex if i can test a C++/Go/Python library through its Protobufs and somehow refer to them through Lazy evaluation and agents of Clojure. I think of what Adam says in 39:th minute.. could decipline enforcement of Clojure turned into something useful? :-)
There are things people don’t (or more likely, won’t) do that are inherently disadvantageous. Sure maybe not a “secret” weapon, but definitely ones people ignore or gloss over.
Adam - that was one of the clearest talks I have heard on the subject. Backing it with real experiences was really good.
Crazy how much your experience tracks with my own.
Engaging, interesting and motivating talk. Well done, Mr. Adam.
Amazing talk
Excellent talk. I'll show this to my colleagues who I'm trying to entice to the FP way.
Excellent talk
Thanks for sharing 👍🏻
In regard to the line of code, can you tell the average line length?
I couldn't make out what he said when the host asked him "what is your favourite clojure function?" timestamp 49:58 ... Sounds like he says chillaxed ??? anyone know what he says, this is going to bug me!
Juxt
Thanks
Nice talk without bullshits.
50:06 I cannot figure out what that function is.
juxt
Interesting talk. The Java vs Erlang example is a bit unfair though. A second iteration is mostly always going to end up "simpler", since you've already gone through figuring everything out in the first iteration and have a better idea of how everything works. A 1/4 in total lines of code is pretty substantial though. I'd be interested to see the second iteration from the ground up in Java as well.
Java is anything but concise. You'll get a similar level of compression from something like OCaml (Erlang is actually more terse than OCaml); a comparison of Java and OCaml is done in "Why OCaml" by Jane Street.
@@qx-jd9mh The point isn't how much more concise another language is compared to Java. I'm interested in seeing the effect a second iteration of a project in the same language can have on the LOC.
@@AlexZdanov Sure, but still the vast reduction of LoC is coming from using a language that isn't designed like Java, not necessarily a different application architecture. I wouldn't call the Erlang and Java example unfair because of that.
@@qx-jd9mh I agree with you that "vast reduction of LoC [can come] from using a language that isn't designed like Java", I think that is very likely. However, I do think it's still unfair. I don't see a point in arguing though, because "unfair" is a subjective term, and we'd have to go through defining what exactly it means before we could continue, and I just don't care enough to do that.
Ultimately, the amount of lines does not matter. You write code once, and read it a thousand times. You should optimize your code for readability, not for writabiliy.
Clojure is easy to write, but hard to understand later. In other words, it sucks.
I'm very new to this. But IMHO Clojure (from standpoint of Test & QA)
could be used to reaveal bugs in other languages if bridging is possible.
For ex if i can test a C++/Go/Python library through its Protobufs and somehow
refer to them through Lazy evaluation and agents of Clojure.
I think of what Adam says in 39:th minute.. could decipline enforcement
of Clojure turned into something useful? :-)
Interesting talk with those IQ Tests.
Isn’t tearing pages out of a book mutating what should be an immutable shared data structure? 😉
I was watching something how did I get here
I hate the secret weapon argument. It sounds cool but is fluff
There are things people don’t (or more likely, won’t) do that are inherently disadvantageous. Sure maybe not a “secret” weapon, but definitely ones people ignore or gloss over.