Was Steve Yegge Right?(regularlyexpressed.com)
regularlyexpressed.com
Was Steve Yegge Right?
http://regularlyexpressed.com/was-steve-yegge-right/
28 comments
I think he's actually somewhat correct about multi-threaded programming, at least in some areas. Multi-threading works (aside from all the problems Yegge mentions) when you're dealing with multiple cores in a single box, but it doesn't scale at all well across a distributed system. As a counter-example, Map-Reduce has exploded since Yegge's post, as a way to get practical parallel speedups for certain kinds of tasks, without even having to think about race conditions, deadlocks, etc. Now Map-Reduce isn't useful for all the same problems as multi-threading, so one isn't going to replace the other, but it's just an example of an area where the multi-threading paradigm fails.
Totally agree. "out of favor" != "gone".
Distributed, message/actor models have exploded. There are better options to multithreading now. Only niches (often front end ui something) need multithreading.
Distributed, message/actor models have exploded. There are better options to multithreading now. Only niches (often front end ui something) need multithreading.
Depending on what you meen by multithreading. Is multithreading when you use threads (and locks) directly or if your using multible threads in your programm in some way.
Acctully using threads probebly went back because of Actor Framworks, better understanding off developers, STM ....
Acctully using threads probebly went back because of Actor Framworks, better understanding off developers, STM ....
Multithreading is certainly popular to pee on these days. It requires a fairly high level of understanding of how your data flows to get right, and languages do not help you out in that mechanism.
So CSP-based models have gained a lot of popularity, as a way to kludge around it and get most of the benefit (but shared memory is still a property of threading I don't see emergent in the CSP approaches currently).
So CSP-based models have gained a lot of popularity, as a way to kludge around it and get most of the benefit (but shared memory is still a property of threading I don't see emergent in the CSP approaches currently).
To the extent that multithreading is popular to pee on, it's precisely because of the shared memory, or more accurately, the shared mutable variables. There's a lot of interesting concurrency solutions being developed, but it looks to me that shared mutable variables aren't going to be in any of them, so don't hold your breath waiting for them to come back. (The video at [1] is interesting overview of all the various Haskell solutions, which is interesting beyond just Haskell as an overview of a variety of concurrency approaches.)
[1]: http://skillsmatter.com/podcast/scala/talk-by-haskell-expert...
[1]: http://skillsmatter.com/podcast/scala/talk-by-haskell-expert...
Shared memory can give strong performance advantages that the alternatives don't have. You pay for this in implementation complexity. Each can decide how much he or she wants to pay.
The price could be lowered by some trivially better support functions. Why for example C++0x doesn't have lockless concurrent containers in the standard library is beyond me.
The price could be lowered by some trivially better support functions. Why for example C++0x doesn't have lockless concurrent containers in the standard library is beyond me.
agreed. see also redis, node.js et al.
evented is the new threaded.
"Prediction #1: XML databases will surpass relational databases in popularity by 2011."
WRONG.
Aren't we capable of calling "false" statements "false" anymore? I can't believe that the author defended this prediction.
I'm sure you can twist the words "popular", "database", and "XML" around enough to try to make some argument that he was almost right. But if you read the full original prediction it's even more clear that he was as wrong as it is possible to be in a prediction.
WRONG.
Aren't we capable of calling "false" statements "false" anymore? I can't believe that the author defended this prediction.
I'm sure you can twist the words "popular", "database", and "XML" around enough to try to make some argument that he was almost right. But if you read the full original prediction it's even more clear that he was as wrong as it is possible to be in a prediction.
It seems instead of XML databases, we're seeing JSON databases. True that they're far from surpassing or even nearing relational databases in popularity. Rleatoipnal databases are rather fundamental software, and there is such a vast amount of code and habits related to their use, that the prediction that they will be 'surpassed' buy something else only 6-7 years out is rather brash.
"It seems instead of XML databases, we're seeing JSON databases."
Even that one grain of truth doesn't hold up if you read his original prediction. He was talking about pretty XML-specific stuff like XPath and XQuery, and even things like DTDs and Schemas; so schema-less document stores just don't fit Yegge's story.
I don't have anything against Yegge for making such a prediction, and I'm sure he's not all that concerned that he was wrong. However, I don't think the author is being intellectually honest when he tries to twist it into a "partially right", and I do have something against that.
Even that one grain of truth doesn't hold up if you read his original prediction. He was talking about pretty XML-specific stuff like XPath and XQuery, and even things like DTDs and Schemas; so schema-less document stores just don't fit Yegge's story.
I don't have anything against Yegge for making such a prediction, and I'm sure he's not all that concerned that he was wrong. However, I don't think the author is being intellectually honest when he tries to twist it into a "partially right", and I do have something against that.
Spot on. At least half of these predictions are from marginally passable to blatantly wrong, with #1 and #5 taking the cake. Clojure's "emergence" as the language du jour in HN's echo chamber doesn't put Lisp "in the top 10 most popular programming languages", not even close.
Prediction #8: Someday I will voluntarily pay Google for one of their services.
Pretty close; there have been recent signs of this. Appengine is switching to a stricter payment plan. Google Apps for domain reduced their free user limit to 10. A lot of free API's are shutting down and some new ones require billing (Prediction, Storage, Search).
Although, in his particular case, it's Google paying him for his services...
Pretty close; there have been recent signs of this. Appengine is switching to a stricter payment plan. Google Apps for domain reduced their free user limit to 10. A lot of free API's are shutting down and some new ones require billing (Prediction, Storage, Search).
Although, in his particular case, it's Google paying him for his services...
Some things like the online photo albums have pretty low limits (1G storage). If I end up paying it will probably be for that. Despite having my own web-server, the link-in to my Android phone is huge convenience factor.
Steve Yegge is always right; unfortunately, sometimes he's right too early. This was the case with his game, Wyvern, which was a something akin to a beautifully retro meeting of Nethack and Everquest... with a client for the Sharp Zaurus.
If it'd been iPhone, it would have taken off. It was just way too early.
If it'd been iPhone, it would have taken off. It was just way too early.
"Steve Yegge is always right; unfortunately, sometimes he's right too early."
What year do you think XML databases will take over?
What year do you think XML databases will take over?
I believe the point he's making (which I don't nessecarily agree with) is that he's right about the changes in direction, but he tries to estimate the result in the context of what currently exists.
So for example, he got it right that mobile games would be big, but they were big on iOS which didn't exist at the time he tried to make use of it.
Nd he was right that relational databases would decline. At at the time not relational meant XML. He couldn't predict the NoSQL of today, because that just didn't exist.
Personally, I think that argument is just retroactively applying meanings that weren't there, however.
So for example, he got it right that mobile games would be big, but they were big on iOS which didn't exist at the time he tried to make use of it.
Nd he was right that relational databases would decline. At at the time not relational meant XML. He couldn't predict the NoSQL of today, because that just didn't exist.
Personally, I think that argument is just retroactively applying meanings that weren't there, however.
#7: The mobile/wireless/handheld market is still at least 5 years out.
This was written in 2004. iPhone App Store launched July 2008. Pretty good prediction.
Overall interesting to read these and see how many of them he nailed.
This was written in 2004. iPhone App Store launched July 2008. Pretty good prediction.
Overall interesting to read these and see how many of them he nailed.
Concerning "Prediction #4": I have the impression that the author of the article look at the global Java market share whereas Steve Yegge speaks of the market share of java on the jvm.
The global Java market share has never been above 50%. Moreover, the author combines achieving 4 and 5.
"Prediction #10: In five years’ time, most programmers will still be average."
Just remember, half the population is below average intelligence.
Just remember, half the population is below average intelligence.
[deleted]
I enjoyed the article; a bit fluffy, but fun. However, oversee.net? The thing that comes to mind directly is "overseer", in the southern slaveocracy sense. (I say this as one who grew up in the southern US.) What an unfortunate name!
Really, you get "southern slaveocracy" from "oversee"? Oversee just means to watch over, to monitor.
Edit: Seriously, do a search on the term "oversee". It's a common term and it's related to slavery the same way "driver" is, which is to say basically not at all.
http://www.google.com/search?q=oversee
Edit: Seriously, do a search on the term "oversee". It's a common term and it's related to slavery the same way "driver" is, which is to say basically not at all.
http://www.google.com/search?q=oversee
Really, I do. "Oversee" can be used in a sentence as a verb without the connotation. But when I see "oversee.net" -- the noun -- I think "overseer", and "overseer" is not a word that I can hear without thinking "slavery".
I don't get the slavery connection from "overseer", either. That's still a common term, and not closely tied to slavery. It just means someone who oversees, a manager/supervisor/foreman. Dictionaries (the ones I checked at least) don't even mention slavery, though I did notice a lot of slavery-related "related searches" on dictionary.com.
Obviously what you see is what you see, so you're not wrong, but I think the connection isn't something most people would see.
Obviously what you see is what you see, so you're not wrong, but I think the connection isn't something most people would see.
[deleted]