Live data from Hacker News

What's worked in Computer Science: 1999 vs. 2015 (2015)

danluu.com

31–40 of 155 posts

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#31
I wish this was updated for 2024

His RISC being “No” most would agree is somewhat incorrect though it seemed correct back in 2015.

But it kinda goes to show how these yes/maybe/no things can evolve unexpectedly over time and not be to taken as gospel that will stand the test of time.

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#32

Interesting how much has changed since 2015. Apple's M chips have made RISC is a clear yes now. Rust has a pretty fancy type system. Not Haskell-fancy but still. Functional programming is pretty much an expected feature now.

> Apple's M chips have made RISC is a clear yes now.

ARM is not a pure RISC architecture (even though its instruction set is somewhat inspired by those ideas behind RISC that stood the test of time).

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#33
post #19
post #6

Fascinating about how ARM has made tremendous strides in the “high end” market since 2015. I would argue that I would categorize RISC as a “yes” with its absolute dominance on mobile and now moving into data center not to mention all the embedded use cases.

I think the battle between RISC and CISC is overshadowed by the battle between non-x86 and x86. On average are new designs more RISC than CISC? I don't know but that's different from numbers of chips of a certain type sold. RISC showed what you could do with a clean sheet and the battle has really been about whether we can afford the cost of changing to a new instruction set just because it's better by a bit.

>> by the battle between non-x86 and x86.

68000 -> PowerPC -> x86 -> arm

Apple has been through 4 architectures in 30 years. Given enough money and tyranny (as in "were doing this" kind of leadership, vs committee) its apparently not that terrible.

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#34

I'd say that " pure Functional programming" has become a no. But "Functional programming approach" has been subsumed into existing programming languages, e.g. records in Java. You get most of the benefit of FP while keeping all of the other good stuf from an imperative language.

I'd agree with this and add that pattern matching and functional interfaces are additional examples of tools from the FP toolbox being subsumed into existing programming languages.

Pure functional programming seems tempting. In small projects it can produce beautiful, readable code. In large projects I've only seen it result in messes, and I still haven't decided whether that's due to limitations of functional purity, due to the team (and myself) misusing features that we don't understand, or both.

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#35

Interesting how much has changed since 2015. Apple's M chips have made RISC is a clear yes now. Rust has a pretty fancy type system. Not Haskell-fancy but still. Functional programming is pretty much an expected feature now.

> Apple's M chips have made RISC is a clear yes now. ARM is not a pure RISC architecture (even though its instruction set is somewhat inspired by those ideas behind RISC that stood the test of time).

What counts as "pure RISC"?

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#36
post #5

Fancy type systems have come a long way since then. (TypeScript, for example.)

TS really stands out as amazing. It’s realized a lot of the promise of strong typing.

I agree that TypeScript is quite amazing. And that it's indeed improved the programs created that run in the browser or on `node`.

However, I wanted to point out something that I think often gets overlooked when folks talk about TypeScript. I'd argue that TS has realized it for the web programming masses, who usually don't have any computer science education and thus are unaware of computing fundamentals such as types. TS hasn't realized the promise of strong typing only because it has been quite late to the game, so to speak.

I do think I understand where you're coming from. Web programmers are the largest group of programming-related professionals. Bringing CS wins to this large group absolutely does bring the largest gains and impact to industry.

There have been many programming languages created decades before TypeScript that have realized the promise of strong typing. Unfortunately, I think this road took too long. Collectively, people have known about these ideas since John Backus's 1977 Turing Award Lecture [1] -- "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs"

Anyways, I digress. Hopefully this was insightful! Have a great day :)

[1] https://dl.acm.org/doi/pdf/10.1145/359576.359579

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#37

I would like to suggest that the classical taxonomy of RISC/CISC dichotomy is basically non-existent nowadays -- namely because both sides have influenced each other. It is well known that CISC has taken a lot of inspirations from RISC designs (such as having a lot more registers in x64), and RISC designs also taken some inspirations from CISC (such as having SIMD/vectorization units). In other words, the line betwee…

A 20,000 gate minimal RISC-V RV32E controller CPU isn't going to use μops. In 2024, RISC-V has turned that 2015 No into an unqualified Yes even if the microarchitecture of more complex OOO RISC-V systems resemble the microarchitectures of similarly complex x86 and ARM CPUs.

Re: What's worked in Computer Science: 1999 vs. 2015 (2015)

#38
post #5

Fancy type systems have come a long way since then. (TypeScript, for example.)

TS really stands out as amazing. It’s realized a lot of the promise of strong typing.

How so? It looks a lot like a less-rich Java, whose type system has existed for literally decades. In fact, the generics syntax and type erasure was directly influenced by Java.
Post reply on HN