While the article is crap, you make some pretty funny assertions too.
Just because Google used C++ does NOT make the central point of the article flawed. Google is not known for reliability, either at the application level or the server level. Take a look at something that requires far more reliability instead, such as large telecom networks. There you will see Erlang and similar languages used, because it's much easier to make a solid and reliable design, and to keep it maintained.
As for age, Erlang hasn't changed that much more than C++ has, in its almost 20 years of existence either.
As for "removing options", any language removes some options from the programmer. If multitude of options is one of the primary criteria of selecting any given language over far more critical concerns, then I question the competence of the person selecting the language. It ties in with software engineering, and how it should be treated like any other engineering discipline.
Stackless is, essentially, junk. Requires way too much overhead, and it's nowhere near fault-tolerant enough. If you want to see a real-world application where it fails for those reasons, just look at EVE Online, their entire glue layer is made up of Stackless Python, and they have ridiculous overheads. Writing that in Erlang would have saved lots of processing power, and even more developer time in the form of design and bug testing.
To give you an indication of just how useful Erlang is, significant parts of the worlds mobile telephony networks are run on Erlang, and many landline telecom networks run on Erlang too.
We're 3 people in this apartment, here in Sweden. No AC, no electrical heating, but electric stove, multiple computers, gaming consoles etc, and we're averaging around 4000kWh/year.
Low-energy lights, the only computers that are constantly on 24/7 are the Via C3/C7's saving a lot of power etc.
That's actually a misconception however. Denmark is incorrectly labelled as part of Scandinavia, even by supposedly reputable sources. Scandinavia is the peninsula named after the mountain range on it, the Scandic mountains. Ever since Sweden kicked Denmark out of their holdings on the peninsula(Including parts of what is now Sweden, and all of Norway), they haven't been part of Scandinavia.
However, it carries a lot of political inertia, especially when people equate the Nordic Countries(Sweden, Denmark, Norway, Finland, Iceland) with Scandinavia.
"One of AMD's contentions is that Intel's compiler is actually written to reduce speed and stability of programs it compiles when said programs are run on AMD processors."
And many of us who actually use the Intel compilers wonder what on earth would make AMD lie through their teeth like that, if they are trying to go for the moral high ground.
For the Athlon 64/Opteron lineups, Intels only competitor for performance and code quality on the C/C++ side is Pathscale. On the Fortran side, it's Pathscale and Portland Group.
For the older Athlons, there's no competition to the Intel C/C++ compilers. Even for the AMD-based clusters I work on, the intel compilers are the recommended ones, and set as default by the admins.
"Maybe I'm just a creature apart from most humans, but I don't get that. "
You've got that right... Humans are first and foremost pack animals. As such, heavy communication is a trait of a normal, healthy human. Excessive seclusion, such as that which your comments show tends to point at a rather unhealthy mental state. If you look at other pack mammals, like monkeys, wolves, dolphins, they share the same traits. Dolphins in particular have a huge amount of idle chatter, as can be witnessed when they are at rest in an area.
Also, you've misunderstood something: Just because YOU don't value the contents of what others discuss does not mean that it is empty. Even by just discussing the subjects they do, they are sharing their mental state etc with each other.
No links to any web site or so. What insight I have comes from a former schoolmate and fellow computer club member who was on the ARB as a non-voting member, and sat in on a number of meetings, and even his own presentation. I'll see if he's willing to talk about it with you
As a little comparison... I live in Sweden, and I recently visited my grandparents, in the little, well, village they live in, up in the north(Around 300 people spread over more than 150 km, and about 100km from the nearest city). Even with that, they have access to ADSL, between 2-24Mb/s, in that area, my grandparents having around 12Mb/s practical. I also had 3.2Mb/s bandwidth for my 3G broadband subscription in most of that area, while in Stockholm I'd have 7.2Mb/s.
A combination of specific implementations of threading and developers who use programming methodologies that were outdated already when the PDP-11 actually reached the market is.
As a comparison, I learned to program properly on the Amiga, and its OS was natively threaded, and the architecture actually encouraged it(Likewise, unlike so many people who grew up with PC's, I also feel at home with programming for something like the PS3 or similar), and therefore I inherently think about how things can be split up, suitable algorithms etc. That's not to say that I always use threads, however.
No, they did not "knowingly misrepresent the capacity", they actually conformed to a standard. SI Prefixes are EXPLICITLY defined as base-10. Just because some shit-for-brains people started applying it to base-2 does not mean it's a correct usage. SI Prefixes are explicitly defined as Base-10, that's the standard, and has been since the 1890's, now start conforming to the bloody standard.
It's quite simple: If you build a stronger, more durable machine, along comes a bigger idiot, deciding to push the machine to its limits, and unfortunately often causing death and/or injury not only to him/herself, but also to others.
"And I don't understand how the Amiga could be easier to get into than the 8-bit Ataris; being a 16/32-bit machine, it was far more complex and had fewer obvious routes to get "into" it."
Wtf?
You never noticed the full hardware specs for the Amiga, that were available from the start, as well as the specs etc for the various API's?
If those aren't obvious, you must be fucking blind.
It is a problem here in Sweden too. Many of the colleges and uni's spend too much time teaching high-level stuff, and just a bare minimum on low-level. So what we get out here is people who need a ton of libraries to get anything done, who believe that Getting It Right The First Time is a waste, it's better to patch early and patch often(Rather anathema to embedded work, don't you think?) and who believe that if something doesn't quite work with the hardware available, you can just get MORE hardware....
And these guys were from KTH:/
Had to spend several hours teaching them about the realities of quite a few embedded projects. Such as the fact that the hardware we were targeting had a limitation of 256kB of RAM, of which 192kB needed to be available for data+processing, so no, you couldn't squeeze SSH+auto-patcher and some other stuff in there. Also, these were supposed to stand outside, in severe temperatures, so there were limits on the hardware itself. And, they were to be placed all over the country, to collect and pre-process weather and climate data. So yeah, we HAD to get it done right the first time... unless they wanted to travel around and handle reflashing manually?
The thing is, the SI prefixes are explicitly defined as base-10 back in the 1890's. Therefore, 1 Mega=1 000 000, 1 Giga=1 000 000 000 etc etc. If you want to truly comply with a worldwide standard, that is what you have to adhere to. The fact that many academic programmers and even professors don't just goes to show that the standards compliance they rave about is just so much lip service.
The Nvidia GPU supports 64-bit floats that are more accurate than ATI's implementation, and have done so since the GF6x00 series came out. As for the number of pipelines, that's largely irrelevant. CPU's don't have 48 pipelines, and FAH works there. So it's most likely a case of the FAH people being sponsored by ATI, and ATI wanting to advertise their so-called flagship product
Well, that's where you're wrong. There are more people who hand-optimize than the academic world cares to admit, since admitting it would also mean admitting that the oh-so-sacred academic practices as well as compiler technology+libraries has some areas where they can't be applied efficiently.
I know that, and I have taken that into account. But, remember that Quake/Quake 2 has QuakeC, which can be used to do a lot of things. But, within days of the release of the source code, cheating clients were released. And it's already happened with the Quake 3 source too. It suggests that there's not a mere coincidence.
Question: Why are Quake/Quake II clients compiled from source distrusted by most of the communities that still play those games, including the competitive scene?
Answer: Because the open sourced code increased the number of cheats exponentially.
Actually, I'd say that academically trained compiler monkeys are just as detrimental, because too few of them are taught how to take various real factors such as hardware into account.
In the real world many fields require optimized programming and lots of low-level knowledge, and high-level languages is just that much useless cruft. Likewise, in some fields, low-level knowledge is just a bonus, and high-level languages and blind trust in the compiler is perfectly fine. The problem is that many academic programmers have put blind faith into high-level languages and "system design". What's needed is flexible programmers who can take both approaches.
Students should be taught how to use them, and under what circumstances, so they actually know the advantages and drawbacks. Anything else is utterly irresponsible. And it explains a lot of crap I see from compiler-trained monkeys coming out of comp.sci >:(
While the article is crap, you make some pretty funny assertions too.
Just because Google used C++ does NOT make the central point of the article flawed. Google is not known for reliability, either at the application level or the server level. Take a look at something that requires far more reliability instead, such as large telecom networks. There you will see Erlang and similar languages used, because it's much easier to make a solid and reliable design, and to keep it maintained.
As for age, Erlang hasn't changed that much more than C++ has, in its almost 20 years of existence either.
As for "removing options", any language removes some options from the programmer. If multitude of options is one of the primary criteria of selecting any given language over far more critical concerns, then I question the competence of the person selecting the language. It ties in with software engineering, and how it should be treated like any other engineering discipline.
Stackless is, essentially, junk. Requires way too much overhead, and it's nowhere near fault-tolerant enough. If you want to see a real-world application where it fails for those reasons, just look at EVE Online, their entire glue layer is made up of Stackless Python, and they have ridiculous overheads. Writing that in Erlang would have saved lots of processing power, and even more developer time in the form of design and bug testing.
To give you an indication of just how useful Erlang is, significant parts of the worlds mobile telephony networks are run on Erlang, and many landline telecom networks run on Erlang too.
Confirmed, Miranda works for me too
Heh, read the headline and went "Wtf?"
We're 3 people in this apartment, here in Sweden. No AC, no electrical heating, but electric stove, multiple computers, gaming consoles etc, and we're averaging around 4000kWh/year.
Low-energy lights, the only computers that are constantly on 24/7 are the Via C3/C7's saving a lot of power etc.
That's actually a misconception however. Denmark is incorrectly labelled as part of Scandinavia, even by supposedly reputable sources. Scandinavia is the peninsula named after the mountain range on it, the Scandic mountains. Ever since Sweden kicked Denmark out of their holdings on the peninsula(Including parts of what is now Sweden, and all of Norway), they haven't been part of Scandinavia.
However, it carries a lot of political inertia, especially when people equate the Nordic Countries(Sweden, Denmark, Norway, Finland, Iceland) with Scandinavia.
"One of AMD's contentions is that Intel's compiler is actually written to reduce speed and stability of programs it compiles when said programs are run on AMD processors."
And many of us who actually use the Intel compilers wonder what on earth would make AMD lie through their teeth like that, if they are trying to go for the moral high ground.
For the Athlon 64/Opteron lineups, Intels only competitor for performance and code quality on the C/C++ side is Pathscale. On the Fortran side, it's Pathscale and Portland Group.
For the older Athlons, there's no competition to the Intel C/C++ compilers. Even for the AMD-based clusters I work on, the intel compilers are the recommended ones, and set as default by the admins.
"Maybe I'm just a creature apart from most humans, but I don't get that. "
You've got that right... Humans are first and foremost pack animals. As such, heavy communication is a trait of a normal, healthy human. Excessive seclusion, such as that which your comments show tends to point at a rather unhealthy mental state. If you look at other pack mammals, like monkeys, wolves, dolphins, they share the same traits. Dolphins in particular have a huge amount of idle chatter, as can be witnessed when they are at rest in an area.
Also, you've misunderstood something: Just because YOU don't value the contents of what others discuss does not mean that it is empty. Even by just discussing the subjects they do, they are sharing their mental state etc with each other.
No links to any web site or so. What insight I have comes from a former schoolmate and fellow computer club member who was on the ARB as a non-voting member, and sat in on a number of meetings, and even his own presentation. I'll see if he's willing to talk about it with you
Actually, there is one company that has actively stalled and effectively sabotaged a lot of OpenGL development: ATI
As a little comparison... I live in Sweden, and I recently visited my grandparents, in the little, well, village they live in, up in the north(Around 300 people spread over more than 150 km, and about 100km from the nearest city). Even with that, they have access to ADSL, between 2-24Mb/s, in that area, my grandparents having around 12Mb/s practical. I also had 3.2Mb/s bandwidth for my 3G broadband subscription in most of that area, while in Stockholm I'd have 7.2Mb/s.
A combination of specific implementations of threading and developers who use programming methodologies that were outdated already when the PDP-11 actually reached the market is.
As a comparison, I learned to program properly on the Amiga, and its OS was natively threaded, and the architecture actually encouraged it(Likewise, unlike so many people who grew up with PC's, I also feel at home with programming for something like the PS3 or similar), and therefore I inherently think about how things can be split up, suitable algorithms etc. That's not to say that I always use threads, however.
No, they did not "knowingly misrepresent the capacity", they actually conformed to a standard. SI Prefixes are EXPLICITLY defined as base-10. Just because some shit-for-brains people started applying it to base-2 does not mean it's a correct usage. SI Prefixes are explicitly defined as Base-10, that's the standard, and has been since the 1890's, now start conforming to the bloody standard.
No, it's not silly.
The networking world, and the storage manufacturers, actually comply with a standard, namely SI prefixes being EXPLICITYLY defined as base-10.
Standards compliance, pure and simple
It's quite simple: If you build a stronger, more durable machine, along comes a bigger idiot, deciding to push the machine to its limits, and unfortunately often causing death and/or injury not only to him/herself, but also to others.
"And I don't understand how the Amiga could be easier to get into than the 8-bit Ataris; being a 16/32-bit machine, it was far more complex and had fewer obvious routes to get "into" it."
Wtf?
You never noticed the full hardware specs for the Amiga, that were available from the start, as well as the specs etc for the various API's?
If those aren't obvious, you must be fucking blind.
Yeah, I didn't say ours was extreme in how constrained it was. I just gave an example I ran into recently
It is a problem here in Sweden too. Many of the colleges and uni's spend too much time teaching high-level stuff, and just a bare minimum on low-level. So what we get out here is people who need a ton of libraries to get anything done, who believe that Getting It Right The First Time is a waste, it's better to patch early and patch often(Rather anathema to embedded work, don't you think?) and who believe that if something doesn't quite work with the hardware available, you can just get MORE hardware....
:/
And these guys were from KTH
Had to spend several hours teaching them about the realities of quite a few embedded projects. Such as the fact that the hardware we were targeting had a limitation of 256kB of RAM, of which 192kB needed to be available for data+processing, so no, you couldn't squeeze SSH+auto-patcher and some other stuff in there. Also, these were supposed to stand outside, in severe temperatures, so there were limits on the hardware itself. And, they were to be placed all over the country, to collect and pre-process weather and climate data. So yeah, we HAD to get it done right the first time... unless they wanted to travel around and handle reflashing manually?
The thing is, the SI prefixes are explicitly defined as base-10 back in the 1890's. Therefore, 1 Mega=1 000 000, 1 Giga=1 000 000 000 etc etc. If you want to truly comply with a worldwide standard, that is what you have to adhere to. The fact that many academic programmers and even professors don't just goes to show that the standards compliance they rave about is just so much lip service.
The Nvidia GPU supports 64-bit floats that are more accurate than ATI's implementation, and have done so since the GF6x00 series came out. As for the number of pipelines, that's largely irrelevant. CPU's don't have 48 pipelines, and FAH works there. So it's most likely a case of the FAH people being sponsored by ATI, and ATI wanting to advertise their so-called flagship product
Well, that's where you're wrong. There are more people who hand-optimize than the academic world cares to admit, since admitting it would also mean admitting that the oh-so-sacred academic practices as well as compiler technology+libraries has some areas where they can't be applied efficiently.
I know that, and I have taken that into account. But, remember that Quake/Quake 2 has QuakeC, which can be used to do a lot of things. But, within days of the release of the source code, cheating clients were released. And it's already happened with the Quake 3 source too. It suggests that there's not a mere coincidence.
Question: Why are Quake/Quake II clients compiled from source distrusted by most of the communities that still play those games, including the competitive scene?
Answer: Because the open sourced code increased the number of cheats exponentially.
Actually, I'd say that academically trained compiler monkeys are just as detrimental, because too few of them are taught how to take various real factors such as hardware into account.
In the real world many fields require optimized programming and lots of low-level knowledge, and high-level languages is just that much useless cruft. Likewise, in some fields, low-level knowledge is just a bonus, and high-level languages and blind trust in the compiler is perfectly fine. The problem is that many academic programmers have put blind faith into high-level languages and "system design". What's needed is flexible programmers who can take both approaches.
Wrong!
Students should be taught how to use them, and under what circumstances, so they actually know the advantages and drawbacks. Anything else is utterly irresponsible. And it explains a lot of crap I see from compiler-trained monkeys coming out of comp.sci >:(
And then you throw a somewhat complex and not-so-parallell problem on the Blue Gene, and practical efficiency drops down to somewhere around 15%.