9 ms·
I'm glad I got the chance to read this article. As a relative newcomer to computing (and I'd like to assert that just about 90% of HN are relative newcomers), I
by hardwaresofton 12y ago
I'm glad I got the chance to read this article. As a relative newcomer to computing (and I'd like to assert that just about 90% of HN are relative newcomers), I value the input of an old fogey "telling it like it is" (how he thinks it is, more accurately).
I don't do much systems programming, but mean to do more, and I'm a little disappointed that what I thought was a good approach at a systems language (golang) is met with such derision by him (who seems to truly have systems experience), but I'm excited to read some of his more technical articles and find why that is the case.
While I take his opinions (as that's what they are) with salt, I think he's definitely got a point saying that the industry has become cozy/complacent. Many of the interesting things that everyone is re-discovering/clamouring about today has been around since the 50s/60s/70s -- I can never shake the feeling that I can never shake the feeling that I could be doing something more ambitious, more revolutionary on pretty much every project I work on, but maybe that's just me.
- enneff 12y agoA big mistake for a newcomer to any field is to put too much stock into people's opinions, particularly those that are put disrespectfully. It's a common technique among the programming crowd to vocally disparage other people to make yourself seem smarter than you are. This article is one of those.
- hardwaresofton 12y agoDefinitely true, but for someone to be this mournful about the state of the industry is usually indicative of at least a LITTLE problem. I'm acutely aware that it's his personal opinion, I am aware of the pitfalls of bashing-culture (I've fallen into it many times when looking at legacy code), and I didn't uninstall linux and switch to illumos. In this case, I think he has a point (though he states it pretty extremely). At the very least, it's refreshing to read an article every once in a while that isn't simply praising the established platforms of today, or pointing out a small shortcoming (usually that the author fixed and decided to make a blogpost about). I'm currently reading his golang post to see why he thinks this way and if he makes any solid points there that sit well with me, but I value the dissent to popular zeitgeist (not so much how disrespectful he was about it).
- enneff 12y agoDon't get me wrong; there is a lot wrong with the computing world. I just don't think this surly rant does much to illuminate the issues. There's a lot wrong with his post on Go. It's not even worth reading.
- hardwaresofton 12y agoYep... You were right, the golang post barely made any good points -- it was more about toolchain implementation rather than the language...
- the_why_of_y 12y agoThis post? What specifically do you think is wrong with it? http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/ http://dtrace.org/blogs/wesolows/2014/12/29/golang-is-trash/ Its basic point is that you should be using the "gccgo" implementation of Go, not the "gc" one which is badly NIH'ed. He refrains from pointing out any of the obvious issues with the Go language itself since that is not his area of expertise, so if you're coming from a language background then you won't find the post interesting.
- enneff 12y agoI come from the background of working on the Go project for five years. He really doesn't see the trade offs we made when choosing to base the core Go implementation on the plan 9 tool chain, and seems oblivious to the work already done to alleviate some of his complaints. A poorly researched article with no actual insight at best. At worst, a thinly veiled personal attack against the Go authors.
- justin66 12y agoRuss Cox posted a detailed but not comprehensive response here: https://news.ycombinator.com/item?id=8817990 https://news.ycombinator.com/item?id=8817990 HN pretty much ignored it. Perhaps because it wasn't angry or ranty.
- frowaway001 12y agoSays the Golang dude. Pot. Kettle. Black.
- enneff 12y agoShow me an example of me disrespectfully disparaging other people's work. I'll wait.
- __david__ 12y ago> I don't do much systems programming, but mean to do more, and I'm a little disappointed that what I thought was a good approach at a systems language (golang) is met with such derision by him… His golang article was aimed at the low-level compiler implementation, not at the language itself. In particular, he thought that gccgo was the right way to implement the language since it builds on top of existing infrastructure and doesn't try to reinvent it (poorly, in his opinion).
- tytso 12y agoAn alternate explanation of his frustation/bitterness is that the way the market forces have worked out, there hasn't been a good business case to create a new "systems company" or do ground breaking new systems work. About a decade ago, before ZFS was announced, I participated in an company-wide investigation about whether there was a viable business case to invest in new file system features. There was very large number of very experienced technical people involved: distinguished engineers that had far more experience at the company than I, business executives, etc. We explored a large number of file system enhancements, how much effort doing this development would cost, estimates of how many customers would cause customers to switch from their existing Legacy Unix systems, etc. The result of this exploration was the decision that there was no valid business case to add new features at the file system level, as opposed to other layers of the storage stack (i.e., storage arrays, enterprise databases, etc.) After this company-wide technical study was completed, I stopped doing any ext4 work as part of my day job; it was no longer my primary job responsibility (although to be fair my employer did let me do some ext4 work on the side during business hours, so long as it didn't interfere with my primary work), and it remained that way until I started working at Google to deploy ext4 across all of Google's production servers. Anyway, going back to my pre-Google days, there was some concern about whether the conclusions of this study was valid after Sun announced ZFS and started using it in their marketing and started pushing it in social media. This resulted in a behind-the-scenes effort to launch btrfs, but the various companies involved never did assign enough headcount so it would be successful. And despite these concerns, Solaris didn't really seem to gain significant market share versus Linux and other proprietary Linux systems. In fact, the opposite was true. Perhaps this means that Sun was brave where other companies feared to tread --- but given that (a) various ex-Sun employees have stated that there was a lot of Solaris engineering work was done before consulting the marketing or sales "tribes", and (b) ultimately, Sun wasn't able to succeed in the marketplace --- leads me to propose that maybe pouring all of that engineering effort into ZFS and dtrace (while both are amazing technologies, I will be the first to acknowledge) --- perhaps wasn't a good product/market fit, and that a VC who looked at things from a very cold-hearted profit and loss perspective would have never allowed a lot of the Solaris engineering work to go on as long as it had unless there was a demonstrated way it could be somehow monetized. These days, when I try to propose new ext4 work that will actually be supported by company resources (as opposed to hobby work that gets done for fun in off-hours), I have to take into account how much headcount (if any) I can get assigned, and there are often some very hard deadlines which mean that I have to make some compromises in the technical design. Of course, I try to make sure the "minimum viable product" is extensible enough that I can later on go back and try to make it better, but this is a very different way of doing systems engineering compared to some of the histories that I've seen in presentations about ZFS and Dtrace --- where some of the former Solaris engineers were proud that they didn't ask permission or get authorization from management before committing very large amounts of engineering resources, and proud of the fact that they were striving first for technical perfection. Some former Sun engineers have in the past said some very disdainful comments about Linux: "By amateurs, for amateurs". This ignores the fact that most of the Linux engineers are in fact paid to work on Linux; but at the same time, it's also true that many of us who are paid to work on Linux have to respect real world economic considerations (which sometimes conflict with technical excellence for the sake of technical excellence) --- and very often the work to make things better than the minimum necessary to make a feature freeze deadline is in fact done because we are amateurs in the original greek sense of the word --- as a lover of the art. But if that means that "amateurs" have been able to make an OS like Linux become widely used and at this point, has at least an order of magnitude more paid engineers working on it compared to Solaris/Open Solaris, which is considered by ex-Sun engineers a "professional" OS, it is perhaps not that surprising that someone such as the OP feel the bitterness and frustration which was in that blog entry.