Earlier quoted context omitted.
I don't think the main problem with operator overloading is "abuse"; I think it's that there's absolutely no way to know what a given clause of code might mean , even if the overloading has been defined by excellent coders.
I think it has more to do with expected outcomes. It's hard to argue that a + operator on a string or matrix class is a bad idea, because the outcome is intuitively obvious. For the other extreme see boost spirit for C++, which I'm sure was written by excellent coders.
Steve Yegge: Notes from the Mystery Machine Bus
171–180 of 186 posts
Re: Steve Yegge: Notes from the Mystery Machine Bus
#172Earlier quoted context omitted.
This is essentially what I commented on G+ and what I came here to say. A programmer who does not understand the tradeoffs of liberalism vs conservatism as Yegge defines them is not a good engineer. At best they might be talented at doing things a very specific way, sort of like a designer whose stuff all looks the same and is often inappropriate for the job at hand. Such a person is more an artist than a designer, a…
Actually, I'm pretty sure you could make a good case for log processing in Haskell. There are some businesses with lots of log data, containing any number of dimensions along which you might legitimately want to slice and dice, with their formats and schemas changing over time. Haskell's type checking is really good at catching the type of bugs that tend to crawl out of this kind of application, and its speed is a go…
Re: Steve Yegge: Notes from the Mystery Machine Bus
#173Earlier quoted context omitted.
> I mean his reframing is "dangerous"? Seriously? Who is in "danger"? And in danger of what? Danger of breaking down rational discourse and forward progress by reframing the debate in terms that leave no room for rational discourse. He's not discussing cost/benefits or reasoned analysis; he takes those as a given and attempts to recast engineering discussion as a political left vs right, with all the emotional baggag…
Would you be happier if he'd used different words? If, instead of talking about "politics" between "liberals" and "conservatives", he had made the same post about "differences in taste" between "caution-focused" and "momentum-focused" programmers? Because, you know, he could have said it that way, and it would have made as much sense, while probably being a hell of a lot less controversial -- but it would be the same…
There aren't just two 'sides', and the qualities proposed by Yegge can not be ascribed to just two sides. Different words would have made the post less insidious, but no less disingenious and intellectually stunted.
Re: Steve Yegge: Notes from the Mystery Machine Bus
#174I first noticed something like this, though I draw the lines differently, in the 1980s. What's interesting is that there has been a shift over the years to where "programming" has come ot have a strong ideological bias to only one type. The types I noticed then I call Cowboys and Architects. These are just terms I'm using for convenience, not meant as pejoratives. Cowboys are now more common: Some programmers write a…
The only definition I personally find plausible is by Jonathan Alexander ("Codermetrics")
"Architects
Coders designated as “architects” are usually the more experienced members of the team. Their assignments may differ from other coders, with a higher percentage of complex tasks, including design tasks. They may also be expected to spend more time guiding and assisting other team members, to ensure that the software is well-designed and high-quality."
I think that I am architect-type programmer. I'm doing a lot of exploratory work but I'm not "sitting weeks without writing any code" - I'm writing prototypes. In my company the worst crap is born by our "thinkers". It is also well-specified crap.
Re: Steve Yegge: Notes from the Mystery Machine Bus
#175As Yegge mentioned in his post, this is a bit of an oversimplification. As a simple illustration, choosing a statically typed language like Java over Python is certainly a conservative trait. But then choosing Python over Haskell is exactly the same, just with the whole difference translated towards the liberal end of the spectrum. Put another way, it's the political liberals who came up with OSHA (I hope--I'm somewh…
I would probably place C# as significantly more "liberal" than Java Only if you look at these languages in isolation from their virtual machines and operating systems on top of which they run, also disregarding the communities around them. Java as a language is more conservative, definitely, but the Java ecosystem is definitely more liberal. As proof, compare Java's open-source community with .NET. Or compare the mat…
>>Or compare the maturity of alternative JVM languages I will not list Scala, Clojure and IronRuby, but IronPython is very mature. And: F#.
F# in my opinion is more mature than Scala.
Re: Steve Yegge: Notes from the Mystery Machine Bus
#176Re: Steve Yegge: Notes from the Mystery Machine Bus
#177As much as some commenters are (weirdly?) railing against this classification scheme I think the underlying idea that software conservatism is about risk aversion is essentially accurate. Perhaps another way of framing this is to ask the question: are you optimizing for the best case or the worst case? This ultimately is a form of risk management. And I'm not talking in the algorithmic sense, meaning complexity expre…
Yegge took a massive shit on technical discourse, and if not countered, the ramifications thereof could be felt for years . His influence is disproportional to his value, and I am extremely disappointed to see anyone here taking his emotional arguments seriously. Unless firmly censured, I expect to see Yegge's ridiculous viral meme of "liberal vs. conservative" spread and repeated by inexperienced developers indefini…
Re: Steve Yegge: Notes from the Mystery Machine Bus
#178I think I'm a software libertarian. If you like dynamic typing and can write good, legible code in a language like Python or Lisp, do it. If you like static typing, knock yourself out. If you want to use an IDE, go for it. If you want to use emacs, do it. Hell, if you like object-oriented programming, try it out. I think 95% of "object-oriented" programming (as currently practiced) is junk, but the other 5% is legiti…
Re: Steve Yegge: Notes from the Mystery Machine Bus
#179As much as some commenters are (weirdly?) railing against this classification scheme I think the underlying idea that software conservatism is about risk aversion is essentially accurate. Perhaps another way of framing this is to ask the question: are you optimizing for the best case or the worst case? This ultimately is a form of risk management. And I'm not talking in the algorithmic sense, meaning complexity expre…
On the other hand Python culture is ridiculously more conservative than Ruby culture.
Re: Steve Yegge: Notes from the Mystery Machine Bus
#180Earlier quoted context omitted.
Yegge took a massive shit on technical discourse, and if not countered, the ramifications thereof could be felt for years . His influence is disproportional to his value, and I am extremely disappointed to see anyone here taking his emotional arguments seriously. Unless firmly censured, I expect to see Yegge's ridiculous viral meme of "liberal vs. conservative" spread and repeated by inexperienced developers indefini…
I basically agree with you but: > I expect to see Yegge's ridiculous viral meme of "liberal vs. conservative" spread and repeated by inexperienced developers indefinitely. It's worse than that. Just look at this thread. I'd say most HNers aren't inexperienced developers, and yet they seem to be taking Yegge's sophistry seriously. And I don't think his post necessarily "makes people dumber" for having read it. That's…
Bullshit. To the latter half, I mean, not the former. HN sees posts of more or less this type (the "make an essentially meaningless metaphor and see how far we can push it" type) quite often, plays with it for at most a couple weeks, and then forgets it ever happens. The "taking [it] seriously" you see here is likely to be that case again: HNers like playing around with basically any classification that anyone presents (cf. the math/corn post where even I felt compelled to throw in a quick comment) and then moving on to the next classification system someone presents. It doesn't mean they're going to now make all of their life decisions based on the classification of the week; it's just a bit of harmless fun.
Now, it's true that sometimes this does spread and gets to really silly levels but I see no reason to suspect that this is going to be in that camp rather than the "harmless fun" area.