As the article notes, that's because CPUs are designed to run existing C code fast. You could create an instruction set that provided this control, but it might be a tough sell in a world full of C code.
I think the contradictions are pretty clear: it raises prices, but holdouts sell cheap; it's a shit neighborhood that no one wants to live in because it's too crowded... And the hypothetical boxed-in holdout scenario is…
YIMBYism simultaneously raises prices (presumably for the greedy developers and sellouts) and lowers them (for the noble neighborhood defenders who are forced to sell). Got it.
As a layout and rendering toolkit, the modern web browser is just head and shoulders above everything else in terms of features and ease of use. As problematic as CSS is, getting things in the right place is still…
The built-in version has the big advantage that it integrates well with tools: you can statically determine the target of the reference and jump to it.
Incomplete, not inconsistent; i.e., not everything that is true is provable.
No, fmap is still an explicit operation.
The unspoilt countryside can certainly be pleasant, at least for the few that are well-off retired, or don't need access to an urban center to make a decent living, and don't mind driving an hour to do anything. Start…
He states that H-M is not used because of the lack of reified generics, which is completely irrelevant. (Hint: type systems perform analysis at compile time; "reified generics" means having type arguments available at…
That is exactly what it means.
Do you have any experience with the inverse statement? That is, have you had a good experience with optional types in an enterprise context? I'm curious how many runtime errors persist due to the optionality of the type…
I love doing blind wine tasting, and I do it every time I can get enough people together who are down for it. That said, I think it's easy to draw a hasty conclusion from a very small sample of wines. The thing with…
To be fair, this is a list of everything inherited, not just one level up, but the full transitive closure. All of the Gen* classes arrived with 2.9 when parallel collections were added. Also, the implicits shown are…
This hardly even saves any LOC over the original two versions, and requires the reader to understand these new annotations. This is what happens when programmers get obsessed with some arbitrary notion of "elegance":…
I'm curious what the cost would be of implementing generics by having an (implicit) parameter for the element size. It would certainly be a bit slower than the fully specialized version, but it avoids boxing and doesn't…
These criticisms of exception handling are primarily based on their implementation in C++; they are not issues inherent in exceptions. Exceptions are clearly more problematic when they are bolted-on after the fact to a…
I am highly skeptical that they are actively investigating ways to support generics, or that they are willing to change anything else about the language to support them better. This statement, part of the standard Go…
Yes. Not sure how much I feel like talking about generics and error handling again, but those are the first two reasons. I can respect them wanting error conditions to be explicit, but then they give you no acceptable…
Except that you lose type safety (or write an implementation for every permutation of types..)
And since it's at runtime, strike out the "much of it redundant, requiring a good linker.." bits. Which leaves it sounding pretty good.
You'd really be OK with gcc being 2-3x slower? As much as I love high-level programming, many of the most interesting and important problems are ones where a "small" constant factor is the difference between great and…
I'm not sure what you're getting at with CPS. How do Java's lambda's inhibit CPS? And what do you hope to accomplish with CPS, anyway? I could see you wanting tail-call optimization in order to make CPS useful, but…
Everyone gets confused by this it seems. You can mutate fields in the enclosing class. You can read locals. If you really want to, you can box a local, and then mutate it inside the box. You can't mutate locals…
Incomplete how exactly?
Really? new double[] { 1.0, 2.0 }? Arrays.asList("foo", "bar")? Guava's Map builders? Lambdas are what make operations on data structures convenient in Scala and Clojure, not saving a few characters on the handful of…
As the article notes, that's because CPUs are designed to run existing C code fast. You could create an instruction set that provided this control, but it might be a tough sell in a world full of C code.
I think the contradictions are pretty clear: it raises prices, but holdouts sell cheap; it's a shit neighborhood that no one wants to live in because it's too crowded... And the hypothetical boxed-in holdout scenario is…
YIMBYism simultaneously raises prices (presumably for the greedy developers and sellouts) and lowers them (for the noble neighborhood defenders who are forced to sell). Got it.
As a layout and rendering toolkit, the modern web browser is just head and shoulders above everything else in terms of features and ease of use. As problematic as CSS is, getting things in the right place is still…
The built-in version has the big advantage that it integrates well with tools: you can statically determine the target of the reference and jump to it.
Incomplete, not inconsistent; i.e., not everything that is true is provable.
No, fmap is still an explicit operation.
The unspoilt countryside can certainly be pleasant, at least for the few that are well-off retired, or don't need access to an urban center to make a decent living, and don't mind driving an hour to do anything. Start…
He states that H-M is not used because of the lack of reified generics, which is completely irrelevant. (Hint: type systems perform analysis at compile time; "reified generics" means having type arguments available at…
That is exactly what it means.
Do you have any experience with the inverse statement? That is, have you had a good experience with optional types in an enterprise context? I'm curious how many runtime errors persist due to the optionality of the type…
I love doing blind wine tasting, and I do it every time I can get enough people together who are down for it. That said, I think it's easy to draw a hasty conclusion from a very small sample of wines. The thing with…
To be fair, this is a list of everything inherited, not just one level up, but the full transitive closure. All of the Gen* classes arrived with 2.9 when parallel collections were added. Also, the implicits shown are…
This hardly even saves any LOC over the original two versions, and requires the reader to understand these new annotations. This is what happens when programmers get obsessed with some arbitrary notion of "elegance":…
I'm curious what the cost would be of implementing generics by having an (implicit) parameter for the element size. It would certainly be a bit slower than the fully specialized version, but it avoids boxing and doesn't…
These criticisms of exception handling are primarily based on their implementation in C++; they are not issues inherent in exceptions. Exceptions are clearly more problematic when they are bolted-on after the fact to a…
I am highly skeptical that they are actively investigating ways to support generics, or that they are willing to change anything else about the language to support them better. This statement, part of the standard Go…
Yes. Not sure how much I feel like talking about generics and error handling again, but those are the first two reasons. I can respect them wanting error conditions to be explicit, but then they give you no acceptable…
Except that you lose type safety (or write an implementation for every permutation of types..)
And since it's at runtime, strike out the "much of it redundant, requiring a good linker.." bits. Which leaves it sounding pretty good.
You'd really be OK with gcc being 2-3x slower? As much as I love high-level programming, many of the most interesting and important problems are ones where a "small" constant factor is the difference between great and…
I'm not sure what you're getting at with CPS. How do Java's lambda's inhibit CPS? And what do you hope to accomplish with CPS, anyway? I could see you wanting tail-call optimization in order to make CPS useful, but…
Everyone gets confused by this it seems. You can mutate fields in the enclosing class. You can read locals. If you really want to, you can box a local, and then mutate it inside the box. You can't mutate locals…
Incomplete how exactly?
Really? new double[] { 1.0, 2.0 }? Arrays.asList("foo", "bar")? Guava's Map builders? Lambdas are what make operations on data structures convenient in Scala and Clojure, not saving a few characters on the handful of…