Live data from Hacker News

The Bozo Event Horizon

blogs.law.harvard.edu

101–106 of 106 posts

Re: The Bozo Event Horizon

#101
post #41

Earlier quoted context omitted.

Go read Project Oberon , including the code, and realize why Java makes many people sad.

Thanks for the recommendation! Anything particular section I ought to pay especially close attention to? Also, let me stipulate that Java really does make me sad. It's just that in the realm of sad-making, I discovered new depths.

No particular section, it's the entirety of what the book shows that's remarkable: "This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and understood as a whole. In order to become confronted with all aspects, problems, design decisions and details, the authors not only conceived but also programmed the entire system described in this book, and more."

Also, if you think that JVMs and JIT'ing compilers are cool, take a look at Michael Franz's PhD thesis at ETHZ: "Code-Generation On-the-Fly A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor. It forms the basis of an implementation, in which the process of code generation is deferred until the time of loading. At that point, native code is created on-the-fly by a code-generating loader. The process of loading with dynamic code-generation is so fast that it requires little more time than the input of equivalent native code from a disk storage medium."

Talk about "roads not taken". :(

Re: The Bozo Event Horizon

#102
post #56

A constrained elite does seem useful within an organization. I like the idea of distinguishing those engineers who go above and beyond and really create something new. However it can also become a gerontocracy easily and can limit the adoption of innovative ideas in the long run. The problem I have with these sorts of social structures is that it assumes that one person out of a hundred is some how "gifted." After re…

This reminds me of part of an essay PG wrote (context: it was intended for high school students, but seems relevant): "People who've done great things tend to seem as if they were a race apart. And most biographies only exaggerate this illusion, partly due to the worshipful attitude biographers inevitably sink into, and partly because, knowing how the story ends, they can't help streamlining the plot till it seems li…

I find this extraordinarily encouraging. If doing great work does not require some innate Einsteinness, then I am not automatically precluded from doing so due to my genetics. It means having the natural technical skills of John von Neumann is not necessary to do great things. This is an extremely comforting thought.

Re: The Bozo Event Horizon

#103

Earlier quoted context omitted.

Thanks for the recommendation! Anything particular section I ought to pay especially close attention to? Also, let me stipulate that Java really does make me sad. It's just that in the realm of sad-making, I discovered new depths.

No particular section, it's the entirety of what the book shows that's remarkable: "This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and und…

I think I see what you're saying. And that actually sounds right up my alley, truth be told. That characterization reminds me a little bit of Plan9.

I say it's up my alley because lately I've been paying particular attention to folks like Rob Pike and Rich Hickey. (I'm sure there are more.) I am not sure they'd agree with this characterization, but they're both part of a movement to simplify programming, especially by cutting out excess and complexity.

Go is an example of a more straightforward, modern C, complete with strong concurrency primitives, first class functions, duck-typed interfaces, abundant literals, etc. I'm still learning about Clojure but I started looking at it after watching Simple Made Easy and The Value of Values, both of which espouse a somewhat different form of simplicity. Still, I think it's animated by a similar line of thinking, that we as a profession are hurting ourselves unduly by building so many systems we struggle to understand and/or maintain, and one way in which we do it is through both the technology we use and the way in which we use it.

The JVM/JIT bit might go over my head, but I'll be sure to check that out, as well.

Re: The Bozo Event Horizon

#104
post #81

Earlier quoted context omitted.

Man, I'm sort of with you. In the last few years, I've spent time in a variety of languages --- Python, Ruby, JS, Java, and lately Go and Haskell --- and Java just seemed completely terrible: bureaucratic, staid, and just plain mediocre by many standards. Then I started reading a lot of C++. And I mean no disrespect to the many brilliant people who use and enjoy C++, but it wasn't until then that I really got why Jav…

> bureaucratic, staid, and just plain mediocre by many standards. Josh Bloch called it a "blue collar" language: a language for building things, not for looking smart.

Yeah. And as above I'm kinda sorta with you. People tend to criticize Go along similar lines, that it's not particularly innovative, and my reaction is similar. It's not meant to make you look smart or blow your socks off or whatever; it's meant to help you be productive in no small part by being very, very straightforward.

As such, I'd actually criticize Java for not being simple enough. It's well and good to be staid, but excessive bureaucracy is problematic. Arrays are thoroughly un-idiomatic in Java. Exceptions play hell with attempts at control-flow analysis. Lack of type inference increases repetition. The language is embarrassingly devoid of literals. Pick your poison, really.

And people should feel free to disagree, but I don't think such as type inference, literals, or multiple return values are anything particularly flashy. If anything, they tend to make code simpler and/or cleaner.

Re: The Bozo Event Horizon

#106
post #53

Earlier quoted context omitted.

Such people do exist. Notch, creator of Minecraft, is a good example. The guy virtually developed it himself. I'm currently developing a game myself and I can tell you, it is a lot of work. At minimum I would say the guy is at least 10 times more productive than the average developer/engineer.

Oh, I'm not disputing they exist, more just pointing out that it's kind of momentarily depressing thinking that the devs who actually affect change and do noteworthy things are 100 times more awesome than you'll ever be.

Not 100 times more than you'll ever be; just 100 times more than you now. This could be a comforting (or at least natural) fact because it means that you too (if you believe that desire and work is the determining factor) can improve your skills many times over than where you are now.
Post reply on HN