It's a question of where to focus your attention. Consider the explore/exploit trade-off. Boring tech may be a little, well, boring, but that means you get to spend your limited decision-making capacity on solving your…
The web has killed desktop apps. I use linux, but I don't buy software on any platform besides games. I think it makes sense for professional productivity apps, like CAD stuff. I don't think basic desktop apps are worth…
The easy and dangerous way is to mount your entire hard drive inside virtualbox. Follow instructions here: https://www.virtualbox.org/manual/ch09.html#rawdisk The issue occurs when you for example accidentally boot…
There is an alternative that I have found quite useful. Create a Dualboot situation for normal linux work but set up a VM in your windows host that points to your bootloader and linux partition. Now you have the best of…
Just a hunch, LLVM uses Static-Single-Assignment, which is just that, saving every single variable change.
I'm not sure what you mean. Lines of code is an objective measure. How meaningful that might actually be, well, that's subjective.
There are objective measures. There aren't necessarily 'absolute' ones. Lisp is relatively more concise than C or Java for the same tasks. Java is relatively safer than C for the same tasks.
I really like this comment. But I bet some folks gloss over a particular point of importance. For me, there's a huge advantage in literally using tree-paper, either for code-reading, designing, taking notes, what have…
Very strange to have a programmer culture that is afraid of thinking about performance. It's treated like a hobgoblin.
the practical difference between lists and seqs is laziness (details like chunking, too).
This is somewhat irrational critique, clojure was an opportunity to start fresh and graft a concurrency-focused lisp onto a pervasive runtime, not to reimplement ABCL. It fills a need. I was always somewhat halfway…
Maybe I'm a bit of a masochist, but it's not that hard to read the compiled output, especially when you have a decent mental model of what it should be. It doesn't look like idiomatic javascript, but the structure is…
What makes the right level of abstraction right? Seems like the units of abstraction have to be amenable to application (analogy), but rightness is fluid. If you have a turing machine, it might make more sense to write…
My interpretation: javascript is slowly catching up to the rest of the world. It's reach both makes it a lingua franca and slows it down. Maybe one day it will be suitable for real programming, if people who complain…
People prefer this incremental series of hacks to the existential despair of being faced with a cohesive system, say a lisp machine. :-)
I think at least the criticism of immutability and FP resulted from taking concepts to extremes. I made a point to address lock-in of different aspects of clojure in my post. I think if you're mutating deeply nested…
FWIW, I agree, I would love to see an expert talk about real tradeoffs, both abstractly and in regards to clojure. I'm just kinda piecing it together from what I think Rich was thinking, what I've picked up from JoC,…
Yes, having to understand the details and implications of clojure's compilation was definitely painful, but the implementing code is accessible. There's always going to be some performance bottlenecks, I guess I'm more…
even with productive languages, there is such a thing as 'idiomatic'.. (I say to myself as I munge some legacy clojure)... I still prefer to work on old clojure code than new java code after a year and a half with it,…
Real people have jobs writing clojure. I can't speak for Rust.
Macros will eventually be in core JS, see: http://disnetdev.com/blog/2012/10/14/hygienic-macros-for-jav... and http://brendaneich.github.com/Strange-Loop-2012/#/40 http://www.infoq.com/presentations/State-JavaScript
yes and no. Yes, because the example is a novel language feature in other languages that would be very difficult to implement. No, because these sorts of things are easy only when code is data, like lists, which is a…
I think the counter-argument is this: We have control over the amount of real reasoning we can do about our code. The hassle of the real can be minimized. For example, I like clojure, and there are real benefits to…
The real world is crappy, and we're depending on these academic types to free us from the drollness of it, because we don't all have time to invent an STM. If I wanted to write CRUD apps all day and say that's…
AOT already means something to clojurists. It means removing the extra runtime compilation phase of .clj into classfiles. The JIT is what the JVM does, which still occurs just like before.
It's a question of where to focus your attention. Consider the explore/exploit trade-off. Boring tech may be a little, well, boring, but that means you get to spend your limited decision-making capacity on solving your…
The web has killed desktop apps. I use linux, but I don't buy software on any platform besides games. I think it makes sense for professional productivity apps, like CAD stuff. I don't think basic desktop apps are worth…
The easy and dangerous way is to mount your entire hard drive inside virtualbox. Follow instructions here: https://www.virtualbox.org/manual/ch09.html#rawdisk The issue occurs when you for example accidentally boot…
There is an alternative that I have found quite useful. Create a Dualboot situation for normal linux work but set up a VM in your windows host that points to your bootloader and linux partition. Now you have the best of…
Just a hunch, LLVM uses Static-Single-Assignment, which is just that, saving every single variable change.
I'm not sure what you mean. Lines of code is an objective measure. How meaningful that might actually be, well, that's subjective.
There are objective measures. There aren't necessarily 'absolute' ones. Lisp is relatively more concise than C or Java for the same tasks. Java is relatively safer than C for the same tasks.
I really like this comment. But I bet some folks gloss over a particular point of importance. For me, there's a huge advantage in literally using tree-paper, either for code-reading, designing, taking notes, what have…
Very strange to have a programmer culture that is afraid of thinking about performance. It's treated like a hobgoblin.
the practical difference between lists and seqs is laziness (details like chunking, too).
This is somewhat irrational critique, clojure was an opportunity to start fresh and graft a concurrency-focused lisp onto a pervasive runtime, not to reimplement ABCL. It fills a need. I was always somewhat halfway…
Maybe I'm a bit of a masochist, but it's not that hard to read the compiled output, especially when you have a decent mental model of what it should be. It doesn't look like idiomatic javascript, but the structure is…
What makes the right level of abstraction right? Seems like the units of abstraction have to be amenable to application (analogy), but rightness is fluid. If you have a turing machine, it might make more sense to write…
My interpretation: javascript is slowly catching up to the rest of the world. It's reach both makes it a lingua franca and slows it down. Maybe one day it will be suitable for real programming, if people who complain…
People prefer this incremental series of hacks to the existential despair of being faced with a cohesive system, say a lisp machine. :-)
I think at least the criticism of immutability and FP resulted from taking concepts to extremes. I made a point to address lock-in of different aspects of clojure in my post. I think if you're mutating deeply nested…
FWIW, I agree, I would love to see an expert talk about real tradeoffs, both abstractly and in regards to clojure. I'm just kinda piecing it together from what I think Rich was thinking, what I've picked up from JoC,…
Yes, having to understand the details and implications of clojure's compilation was definitely painful, but the implementing code is accessible. There's always going to be some performance bottlenecks, I guess I'm more…
even with productive languages, there is such a thing as 'idiomatic'.. (I say to myself as I munge some legacy clojure)... I still prefer to work on old clojure code than new java code after a year and a half with it,…
Real people have jobs writing clojure. I can't speak for Rust.
Macros will eventually be in core JS, see: http://disnetdev.com/blog/2012/10/14/hygienic-macros-for-jav... and http://brendaneich.github.com/Strange-Loop-2012/#/40 http://www.infoq.com/presentations/State-JavaScript
yes and no. Yes, because the example is a novel language feature in other languages that would be very difficult to implement. No, because these sorts of things are easy only when code is data, like lists, which is a…
I think the counter-argument is this: We have control over the amount of real reasoning we can do about our code. The hassle of the real can be minimized. For example, I like clojure, and there are real benefits to…
The real world is crappy, and we're depending on these academic types to free us from the drollness of it, because we don't all have time to invent an STM. If I wanted to write CRUD apps all day and say that's…
AOT already means something to clojurists. It means removing the extra runtime compilation phase of .clj into classfiles. The JIT is what the JVM does, which still occurs just like before.