Sorry, but you have no clue. You are speaking of ponds or oceans and there you normally don't need fluid dynamics, you need some form of wave mechanics. I just took GPU Gems 1 (from 2004) from my shelf and looked it up to make sure. Uru: Ages Beyond Myth already used a much more elaborate approach. It simulates the long waves as Gerstner waves and maps a normal map onto the resulting geometry giving the appearance of small ripples. So basically it uses a normal mapped height field, quite far from a "plane".
For bigger structures, like the ocean, you can use a tiled ocean patch. The usual way to do that in CG is to create a field of fourier coefficients matching an equation (sorry, forgot the name of it and I am too lazy to skim through that paper again, if you are interested search for 'ocean waves' and 'Tessendorf' and you should find some course notes from SIGGRAPH). The biggest problem is the inverse fourier transform needed, for an acceptably large wave patch it is quite costly. But as it is periodic in time you could in theory do some parameter matching and render the complete waves on the vertex shader of a GPU (I can't tell you if a game does it like that, but I wouldn't be too surprised). This technique was developed for the movie Titanic quite some years ago.
German law does not have the Safe Harbor provision. It works a bit differently, pure access providers (like ISPs) are not responsible for the transported data. What is called Media Services by the law is responsible, if a copyright holder contacts them they have to take the data down. Now the problem is to decide what is an access provider and what a media service. The rules are, let's say strange. So depending on what the judge decides is the case with Rapidshare they have to take it down or not. I think they will have to take it down. On the license I am not sure.
Also this is just a temporary injunction and also only the first instance. So I guess we will have to wait and see what comes out at the end.
Finally the GEMA is not really the equivalent of RIAA, that would be the German section of the IFPI (as far as I know). The GEMA is Gesellschaft für musikalische Aufführungs- und mechanische Vervielfältigungsrechte, it is an organization which collects fees on public performances of music (and if it is 'Happy Birthday' in a public setting), from radio and TV stations, from Web radio and also from sales of blanks and then distributes those fees to artists (or to be correct, mostly the MI).
When a method works well, there is not really a need for something else, it will only be used when it is superior. So what would those alternatives be, that are cheaper overall?
A submarine robot repairing on site is probably not possible (I have problems believing it would be able to fuse the fibers), so you only could use it to more quickly find the cable and perhaps make it easier to get the hook onto it as you can see what you are doing. But honestly, how much faster would it be, I guess a hook and the cable for it can just be tossed into the water, an expensive robot probably would take a bit longer to reach the ground. And it probably has limitations on the depth it can operate. Additionally I am quite sure they don't just drive out there and plow the sea bed, they probably have a very good idea where the cable is supposed to be. And don't forget, to find a very long cable is much simpler than finding a wreck. I don't have to find a particular piece, any piece before and after the break is ok, as I can just pull the part up and then follow it, no need to exactly grab the end.
Also the strong winds and high waves probably would make fusing the cables very hard as well, even if they could bring up the cable. So the only thing 'old fashioned' I can see is, that they use a hook. The rest is probably quite up to date and the hook is simply the easiest, most reliable and cheapest way. Why use expensive technology if something simple is perfectly adequate?
Ah, you don't know iDefense Business model, I see. They have paying customers which get the vulnerability descriptions and exploits first, while the contacted company tries to fix the flaw. After some time it is released to the public. So they directly earn money from those flaws and so have an interest to get flaws made available to them exclusively. They aren't the only ones doing business like that.
To be honest I fear the whole world knows about that. And probably in many parts of the world it was completely ridiculous, so we laughed about that. One of the more common comments was "I have seen better ones". If I remember correctly it was even in the main evening news here.
Also American Football may not be big here, but it is still played and some people watch the transmissions of the Super Bowl. Also the winner normally gets a small blurb in the news, as does the Indie 500 and similar.
AFAIR not for smoking. Our drug laws have been made a bit more liberal, so small amounts of pot for personal use (don't ask me the details, never was that interested) are allowed. So if you would exceed those amounts and get caught you get prosecuted. But prosecution of criminal acts done abroad are limited. I am no lawyer so I probable don't even know if it is complete, but I think it is limited to child porn (or abuse).
There is a second class of offenses, crimes against humanity can be prosecuted if the country they were committed or the country of residence of the one who committed them won't prosecute them. And there it doesn't matter where the crime was committed or if any German was taking part (either active or passive). E.g. Donald Rumsfeld was accused of being a War Criminal. That was quickly closed (but had to acted upon by the attorney), because irrespective of what many people seem to think, the US are not a country without law and we therefore have to trust it will do what it deems lawful.
This kind of law is also not so uncommon, I know that at least Belgium has a similar law.
The reason people use general databases is not because they think it's the ultimate in performance, it's because it's already written, already debugged, and -- most importantly -- programmer time is expensive, and hardware is cheap.
There is another reason I believe to be even more important: I doubt I could beat a good engine when the job at hand leaves the very specific, narrow area and it moves further and further into the area where the engines are good, the generic usage pattern. So I would for example build a special engine for the search feature of a large forum, because there I have very special needs. For example I could do the adding of data offline (I don't think it has a big impact, if the search is updated once per hour or perhaps even once per day) and so don't need any locking, which will make the thing a bit faster. Also I can predict the access patterns quite well and so select a good data layout and how to do the indexes.
But building a special database for essential parts of an application seems quite risky to me. My first question would be how you plan to do a consistent backup, the second how you guarantee integrity. Sorry, but performance is useless if your application can't do a rollback after a problem or produces the problems by creating inconsistencies. So partitioning the space might be a terrible decision, which could prove fatal once you truly need your backups.
I guess it is the usual problem in programming, knowing when to leave the high level and the support libraries and start to roll your own.
It wasn't child abuse, but child pornography. And that is defined in Germany as sexually explicit pictures of underage (16 years or lower) children. And the German definition of "sexually explicit" is quite a bit different from the US one. E.g. something more "explicit" as Miss Jacksons "Wardrobe Malfunction" is aired here in commercials, in afternoon Anime shows.
But yes, it doesn't feel very good to have been searched like this, as my CCs were probably also under those being looked over. But it looks ok, the search criterium was quite narrow. Broad searches are not allowed by German privacy law.
The children are likely not German, so they're not protecting the german children.
The servers are not in Germany, so they are not policing they're own internet.
They are telling people what they cannot do.
German law on child pornography is universial, as long as a German is involved, it is the business of the attorney. So a German tourist fucking a little girl somewhere on holiday can be prosecuted in Germany. The law was changed like this after it showed that especially Thailand would not do anything to protect its own children. So the law was changed to be able to do something about it here (yes, I am German).
Therefore it is completely irrelevant, if the child was German or if the server was located in Germany. All what is relevant was that Germans were buying child porn, something which is very clearly forbidden here. Also what the headline doesn't tell, there are 20 teachers under the suspects and quite a lot of repeat offenders.
I am not happy about this either, as my credit cards were probably among those that were checked. But it really seems as if everything was done to the letter of the law. The law enforcment officers never saw the CC records, the CC companies were doing the searches for an exact sum, to a fishy Phillipene billing company in a two month time frame. Sadly the trail stopps at the billing company for now, because much better than going after the buyers would have been to get the sellers.
But to repeat, according to German law it is completely irrelevant where the child was, where the pictures were made and where the servers are located. And I think it was a good idea to change the law like this, because honestly I don't see why child porn from a German child should be prosecuted differently.
I know Smalltalk and Objective-C and yes, it is like Smalltalk. It's not exactly like Smalltalk, but it has a dynamic dispatch object runtime based on selectors which is more similar to Smalltalk's runtime than, say, C++'s virtual dispatch tables, and message-passing syntax which is similar to Smalltalk as well.
Well, let's see what I missed:
No unary and binary selectors, so no way to define a new numerical type like complex
No way to influence the type coercion on numerical types, so you can't define a new complex type where e.g. double automatically converts itself to a complex when necessary (yes, Smalltalk can do that)
Static typing clutter allowed in selectors (and already used by the base runtime, so can't be evaded). Something like test: (int) aVal is just plain ugly and breaks dynamic semantics.
No block contexts, so no way to create new control structures like do:
Native types not part of the dynamic system, so if you want the full power you have to define your own integer type, which is even slower as Smalltalks
Somehow I don't see the "is basically like smalltalk" if most of the really cool core features of Smalltalk are missing. Also one of the best aids in Smalltalk development is the environment which won't compile code if there is no selector with the signature you tried to use and could show you all classes implementing a certain selector. And the debugger allowing to stop, change the code and resume operation. Compared to that the compile cycle of ObjC is that of a static language without the abilities to catch the same problems a statically typed language can catch.
Objective-C looks pretty much like what you'd expect if you tried to cram Smalltalk's object model into a C-like language, which in fact is the case: Brad Cox consciously designed Objective-C with Smalltalk as its role model (as opposed to the more Simula-inspired C++).
Hmm, Simula's class model has single inheritance, no data hiding (public, protected, private) and no overloading. C++ has multiple inheritance, virtual inheritance (the same base class appearing multiple times is only included once in the data layout), data hiding with the three keywords plus a way to break it (friend) and overloading. Also Simula had no operators, no constructor or destructor. To me ObjC's class model is exactly that of Simula. The only thing they differ in is that Simula uses Algol function syntax and ObjC Smalltalk selector syntax. So I really don't see that the class model differs. The object model of all three is basically the same: an opaque reference to an object (ref in ObjC, pointer and reference in C++, forgot what it was called in Simula (haven't used it in the last 15 years) and in Smalltalk it has no name as the references are the only type of the system) you can send messages/call functions on which does polymorphic dispatch. In the dynamically typed languages basically looking if a matching selector exists in the target, in the statically typed languages statically designated by the inheritance relationship. So for me they differ the most in the method dispatch and that is exactly to be expected.
There's a few design decisions that seem wrong at this point (checked exceptions for example). But, thinking that because a language is 'harder' immediately makes it 'better' is not the way to go. I don't think this is the point you're making, but some people seem to think that way.
There are a lot of design decisions which are outright terrible in C++. The behaviour of objects and the native C-arrays is completely broken (most people don't know the exact rules there) and there are a lot of strange things (multiple virtual inheritance and constructors is another very surprising thing). I fear no language you can actually use is free from those things. C++ just has a particular bad way of being taught, people start with C, learn the terrible way to do array and string manipulation the C way and then use that in C++ where there are much better ways.
And no, implicitely harder does not mean better, I am not even sure languages should or can be ranked. It all depends on what you want to do. I for example am writing a raytracer in my spare time and I guess we agree that Java wouldn't be a good choice and Smalltalk would be terrible. As always it depends on the use what is best. But I do think that Bjarne Stroustrup is right when he says that C++ needs experienced developers. It is a very powerful language and its more esoteric stuff (like templates and multiple inheritance) can be used for very powerful abstractions. But they need experience and knowledge and most importantly the knowledge when not to use them.
Oh noes. Sorry, but I wasn't sure on the translation any more. The official German translation is actually Lichtschwert meaning light sword. And if you give me some more time, I will find an even better excuse.
What kind of language would have resulted from passing variables of type int by value and objects by reference? Sorry, but I don't think I would want to program in that.
But that is exactly what Java does. I thought it sounded bad at first too, but it works really well.
I never used Java (tried it a bit and intend to use it soon), but that sounds terrible. I don't like special cases in languages. In C++ you decide for yourself if you want to pass by value or by reference. I agree, that there are not a lot of cases where pass by value (or let's call it what it really is, pass by copying) on objects makes sense and is a sure way to make a very slow program. So you just get used to the habit of writing the const& behind the type. Or if it needs to be changeable only &. So basically it is just syntactic sugar, but I really prefer it the way it is.
As I said, it has its place in a few specialised areas, but it's not the general purpose tool it one was. It just seems like Bjarne can't really see that.
Hmm, I know of parts of OSes (Windows), device drivers, Office, UIs (e.g. KDE), Games and a lot of other stuff being written in C++. Seems quite general purpose, to me at least.
You know what is even funny about the parent you answered to? He could have brought up a very good point.
SONY couldn't even manage to produce enough hardware to deliver to Europe. Being a European myself I even can understand it, consoles never were as popular here as in Japan or the US. But after the first delay (remember when the PS3 originally was to ship?) SONY promised to bring the PS3 out in all three markets at the same time, so for us it was actually moved forward, because the original date of shipment was in March 2007. Now they moved it back breaking another promise. They even presold it for December in Summer and now some kids won't get their console for Christmas.
There really must be bad problems to produce this beast. What they now managed is to anger their European customers even more, drove some to buy another box (or can you imagine parents giving their kids a coupon instead of a toy?) and showed just how hard it is for them to produce the hardware.
Does anybody really anticipate it will change fast? I don't and that means they will loose a lot of revenue, because until they can sell in volume (or even start selling here) the price of XBox 360 will have dropped even more making the PS3 look even more expensive or giving SONY even bigger negative cash for each sell.
I don't see those problems for Nintendo, their problem is to get enough good games which only work with the Wiimote. If they don't manage that, they will probably make some money, but will probably stay in third place. I at their position would try to get a license for some Star Wars game, imagine all the people who would love to swing their wiimote as substitute for a laser sword. They could even opt to make a special edition of the controller shaped like a laser sword. Honest, how many people would run out to get it (and the box and the game)?
One example would be pass by value, which at the time seemed like the safest default for parameter passing (the thinking was probably to avoid unintentional side effects).
No, the reason is very simple, C++ was to be compatible to C and C uses pass by value as default. What kind of language would have resulted from passing variables of type int by value and objects by reference? Sorry, but I don't think I would want to program in that.
Yet to read these articles, it's almost like he still thinks that C++ is the top language, and anyone who's not using it is just a poorer programmer who can't handle the power.
And I always thought that was what the Java developers said, that they made the language simpler by removing the confusing parts from C++ which are rarely needed. By simple reasoning you get exactly what Bjarne Stroustrup said, no? C++ is more powerful but also much easier to get wrong. So it needs better and more experienced developers (which it rarely gets and that is in large part why C++ is blamed so often). Is it so hard to accept that there might be languages which are "better" (I don't even know, if harder and needing more experienced programmers is "better") in some way or other?
And the three Smalltalk books describing it are even more pages than the C++ book, so obviously ObjC is inferior to both? What a stupid way to compare programming languages.
ObjC is a language which has a core with a static type system, which is somewhat weak because of the ease of casts and on top of that a language with a dynamic type system. So basically you have the worst of two worlds. It is neither as efficient as C/C++ nor as elegant as Smalltalk. And yes, C++ is multiparadigm, structured if you basically use the C core, object-oriented when you use the class system and generic when you program with templates. ObjC is also multiparadigm, structured and object-oriented, but dynamic typing doesn't need generics, so it has no concept for it.
And sorry, but the learning speed of a language is not determined by the number of symbols. Without the supporting libs you can't do anything in either and I doubt you learnt the OpenStep libs in a day. The same is true of C++ and expecially Smalltalk. That language is so small that its syntax graph fits on two pages of the first Smalltalk book. So by your reasoning you should use Smalltalk, why don't you?
Please understand me right. I don't like ObjC as you obviously don't like C++. I have my reasons and you yours. But I really, really dislike the claim of ObjC being "basically C + Smalltalk" because that is simply not true. And I have programmed in all four languages, C, Smalltalk, ObjC and C++, although the least amount in ObjC because I heard the claim "it is like Smalltalk" (which I already knew at the time before trying ObjC) and was very disappointed, no, it is not like Smalltalk. Interestingly I never heard someone claim it who also knows Smalltalk.
Well, considering the track record of AI, I think we are already a bit late to start designing Web 3.0. This way it will in 10 years be able to do, eh, something?
Sorry, but you have no clue. You are speaking of ponds or oceans and there you normally don't need fluid dynamics, you need some form of wave mechanics. I just took GPU Gems 1 (from 2004) from my shelf and looked it up to make sure. Uru: Ages Beyond Myth already used a much more elaborate approach. It simulates the long waves as Gerstner waves and maps a normal map onto the resulting geometry giving the appearance of small ripples. So basically it uses a normal mapped height field, quite far from a "plane".
For bigger structures, like the ocean, you can use a tiled ocean patch. The usual way to do that in CG is to create a field of fourier coefficients matching an equation (sorry, forgot the name of it and I am too lazy to skim through that paper again, if you are interested search for 'ocean waves' and 'Tessendorf' and you should find some course notes from SIGGRAPH). The biggest problem is the inverse fourier transform needed, for an acceptably large wave patch it is quite costly. But as it is periodic in time you could in theory do some parameter matching and render the complete waves on the vertex shader of a GPU (I can't tell you if a game does it like that, but I wouldn't be too surprised). This technique was developed for the movie Titanic quite some years ago.
German law does not have the Safe Harbor provision. It works a bit differently, pure access providers (like ISPs) are not responsible for the transported data. What is called Media Services by the law is responsible, if a copyright holder contacts them they have to take the data down. Now the problem is to decide what is an access provider and what a media service. The rules are, let's say strange. So depending on what the judge decides is the case with Rapidshare they have to take it down or not. I think they will have to take it down. On the license I am not sure.
Also this is just a temporary injunction and also only the first instance. So I guess we will have to wait and see what comes out at the end.
Finally the GEMA is not really the equivalent of RIAA, that would be the German section of the IFPI (as far as I know). The GEMA is Gesellschaft für musikalische Aufführungs- und mechanische Vervielfältigungsrechte, it is an organization which collects fees on public performances of music (and if it is 'Happy Birthday' in a public setting), from radio and TV stations, from Web radio and also from sales of blanks and then distributes those fees to artists (or to be correct, mostly the MI).
When a method works well, there is not really a need for something else, it will only be used when it is superior. So what would those alternatives be, that are cheaper overall?
A submarine robot repairing on site is probably not possible (I have problems believing it would be able to fuse the fibers), so you only could use it to more quickly find the cable and perhaps make it easier to get the hook onto it as you can see what you are doing. But honestly, how much faster would it be, I guess a hook and the cable for it can just be tossed into the water, an expensive robot probably would take a bit longer to reach the ground. And it probably has limitations on the depth it can operate. Additionally I am quite sure they don't just drive out there and plow the sea bed, they probably have a very good idea where the cable is supposed to be. And don't forget, to find a very long cable is much simpler than finding a wreck. I don't have to find a particular piece, any piece before and after the break is ok, as I can just pull the part up and then follow it, no need to exactly grab the end.
Also the strong winds and high waves probably would make fusing the cables very hard as well, even if they could bring up the cable. So the only thing 'old fashioned' I can see is, that they use a hook. The rest is probably quite up to date and the hook is simply the easiest, most reliable and cheapest way. Why use expensive technology if something simple is perfectly adequate?
Ah, you don't know iDefense Business model, I see. They have paying customers which get the vulnerability descriptions and exploits first, while the contacted company tries to fix the flaw. After some time it is released to the public. So they directly earn money from those flaws and so have an interest to get flaws made available to them exclusively. They aren't the only ones doing business like that.
To be honest I fear the whole world knows about that. And probably in many parts of the world it was completely ridiculous, so we laughed about that. One of the more common comments was "I have seen better ones". If I remember correctly it was even in the main evening news here.
Also American Football may not be big here, but it is still played and some people watch the transmissions of the Super Bowl. Also the winner normally gets a small blurb in the news, as does the Indie 500 and similar.
AFAIR not for smoking. Our drug laws have been made a bit more liberal, so small amounts of pot for personal use (don't ask me the details, never was that interested) are allowed. So if you would exceed those amounts and get caught you get prosecuted. But prosecution of criminal acts done abroad are limited. I am no lawyer so I probable don't even know if it is complete, but I think it is limited to child porn (or abuse).
There is a second class of offenses, crimes against humanity can be prosecuted if the country they were committed or the country of residence of the one who committed them won't prosecute them. And there it doesn't matter where the crime was committed or if any German was taking part (either active or passive). E.g. Donald Rumsfeld was accused of being a War Criminal. That was quickly closed (but had to acted upon by the attorney), because irrespective of what many people seem to think, the US are not a country without law and we therefore have to trust it will do what it deems lawful.
This kind of law is also not so uncommon, I know that at least Belgium has a similar law.
There is another reason I believe to be even more important: I doubt I could beat a good engine when the job at hand leaves the very specific, narrow area and it moves further and further into the area where the engines are good, the generic usage pattern. So I would for example build a special engine for the search feature of a large forum, because there I have very special needs. For example I could do the adding of data offline (I don't think it has a big impact, if the search is updated once per hour or perhaps even once per day) and so don't need any locking, which will make the thing a bit faster. Also I can predict the access patterns quite well and so select a good data layout and how to do the indexes.
But building a special database for essential parts of an application seems quite risky to me. My first question would be how you plan to do a consistent backup, the second how you guarantee integrity. Sorry, but performance is useless if your application can't do a rollback after a problem or produces the problems by creating inconsistencies. So partitioning the space might be a terrible decision, which could prove fatal once you truly need your backups.
I guess it is the usual problem in programming, knowing when to leave the high level and the support libraries and start to roll your own.
It wasn't child abuse, but child pornography. And that is defined in Germany as sexually explicit pictures of underage (16 years or lower) children. And the German definition of "sexually explicit" is quite a bit different from the US one. E.g. something more "explicit" as Miss Jacksons "Wardrobe Malfunction" is aired here in commercials, in afternoon Anime shows.
But yes, it doesn't feel very good to have been searched like this, as my CCs were probably also under those being looked over. But it looks ok, the search criterium was quite narrow. Broad searches are not allowed by German privacy law.
German law on child pornography is universial, as long as a German is involved, it is the business of the attorney. So a German tourist fucking a little girl somewhere on holiday can be prosecuted in Germany. The law was changed like this after it showed that especially Thailand would not do anything to protect its own children. So the law was changed to be able to do something about it here (yes, I am German).
Therefore it is completely irrelevant, if the child was German or if the server was located in Germany. All what is relevant was that Germans were buying child porn, something which is very clearly forbidden here. Also what the headline doesn't tell, there are 20 teachers under the suspects and quite a lot of repeat offenders.
I am not happy about this either, as my credit cards were probably among those that were checked. But it really seems as if everything was done to the letter of the law. The law enforcment officers never saw the CC records, the CC companies were doing the searches for an exact sum, to a fishy Phillipene billing company in a two month time frame. Sadly the trail stopps at the billing company for now, because much better than going after the buyers would have been to get the sellers.
But to repeat, according to German law it is completely irrelevant where the child was, where the pictures were made and where the servers are located. And I think it was a good idea to change the law like this, because honestly I don't see why child porn from a German child should be prosecuted differently.
Well, let's see what I missed:
- No unary and binary selectors, so no way to define a new numerical type like complex
- No way to influence the type coercion on numerical types, so you can't define a new complex type where e.g. double automatically converts itself to a complex when necessary (yes, Smalltalk can do that)
- Static typing clutter allowed in selectors (and already used by the base runtime, so can't be evaded). Something like test: (int) aVal is just plain ugly and breaks dynamic semantics.
- No block contexts, so no way to create new control structures like do:
- Native types not part of the dynamic system, so if you want the full power you have to define your own integer type, which is even slower as Smalltalks
Somehow I don't see the "is basically like smalltalk" if most of the really cool core features of Smalltalk are missing. Also one of the best aids in Smalltalk development is the environment which won't compile code if there is no selector with the signature you tried to use and could show you all classes implementing a certain selector. And the debugger allowing to stop, change the code and resume operation. Compared to that the compile cycle of ObjC is that of a static language without the abilities to catch the same problems a statically typed language can catch.Hmm, Simula's class model has single inheritance, no data hiding (public, protected, private) and no overloading. C++ has multiple inheritance, virtual inheritance (the same base class appearing multiple times is only included once in the data layout), data hiding with the three keywords plus a way to break it (friend) and overloading. Also Simula had no operators, no constructor or destructor. To me ObjC's class model is exactly that of Simula. The only thing they differ in is that Simula uses Algol function syntax and ObjC Smalltalk selector syntax. So I really don't see that the class model differs. The object model of all three is basically the same: an opaque reference to an object (ref in ObjC, pointer and reference in C++, forgot what it was called in Simula (haven't used it in the last 15 years) and in Smalltalk it has no name as the references are the only type of the system) you can send messages/call functions on which does polymorphic dispatch. In the dynamically typed languages basically looking if a matching selector exists in the target, in the statically typed languages statically designated by the inheritance relationship. So for me they differ the most in the method dispatch and that is exactly to be expected.
There are a lot of design decisions which are outright terrible in C++. The behaviour of objects and the native C-arrays is completely broken (most people don't know the exact rules there) and there are a lot of strange things (multiple virtual inheritance and constructors is another very surprising thing). I fear no language you can actually use is free from those things. C++ just has a particular bad way of being taught, people start with C, learn the terrible way to do array and string manipulation the C way and then use that in C++ where there are much better ways.
And no, implicitely harder does not mean better, I am not even sure languages should or can be ranked. It all depends on what you want to do. I for example am writing a raytracer in my spare time and I guess we agree that Java wouldn't be a good choice and Smalltalk would be terrible. As always it depends on the use what is best. But I do think that Bjarne Stroustrup is right when he says that C++ needs experienced developers. It is a very powerful language and its more esoteric stuff (like templates and multiple inheritance) can be used for very powerful abstractions. But they need experience and knowledge and most importantly the knowledge when not to use them.
Oh noes. Sorry, but I wasn't sure on the translation any more. The official German translation is actually Lichtschwert meaning light sword. And if you give me some more time, I will find an even better excuse.
Hmm, I know of parts of OSes (Windows), device drivers, Office, UIs (e.g. KDE), Games and a lot of other stuff being written in C++. Seems quite general purpose, to me at least.
You know what is even funny about the parent you answered to? He could have brought up a very good point.
SONY couldn't even manage to produce enough hardware to deliver to Europe. Being a European myself I even can understand it, consoles never were as popular here as in Japan or the US. But after the first delay (remember when the PS3 originally was to ship?) SONY promised to bring the PS3 out in all three markets at the same time, so for us it was actually moved forward, because the original date of shipment was in March 2007. Now they moved it back breaking another promise. They even presold it for December in Summer and now some kids won't get their console for Christmas.
There really must be bad problems to produce this beast. What they now managed is to anger their European customers even more, drove some to buy another box (or can you imagine parents giving their kids a coupon instead of a toy?) and showed just how hard it is for them to produce the hardware.
Does anybody really anticipate it will change fast? I don't and that means they will loose a lot of revenue, because until they can sell in volume (or even start selling here) the price of XBox 360 will have dropped even more making the PS3 look even more expensive or giving SONY even bigger negative cash for each sell.
I don't see those problems for Nintendo, their problem is to get enough good games which only work with the Wiimote. If they don't manage that, they will probably make some money, but will probably stay in third place. I at their position would try to get a license for some Star Wars game, imagine all the people who would love to swing their wiimote as substitute for a laser sword. They could even opt to make a special edition of the controller shaped like a laser sword. Honest, how many people would run out to get it (and the box and the game)?
No, the reason is very simple, C++ was to be compatible to C and C uses pass by value as default. What kind of language would have resulted from passing variables of type int by value and objects by reference? Sorry, but I don't think I would want to program in that.
And I always thought that was what the Java developers said, that they made the language simpler by removing the confusing parts from C++ which are rarely needed. By simple reasoning you get exactly what Bjarne Stroustrup said, no? C++ is more powerful but also much easier to get wrong. So it needs better and more experienced developers (which it rarely gets and that is in large part why C++ is blamed so often). Is it so hard to accept that there might be languages which are "better" (I don't even know, if harder and needing more experienced programmers is "better") in some way or other?
And the three Smalltalk books describing it are even more pages than the C++ book, so obviously ObjC is inferior to both? What a stupid way to compare programming languages.
ObjC is a language which has a core with a static type system, which is somewhat weak because of the ease of casts and on top of that a language with a dynamic type system. So basically you have the worst of two worlds. It is neither as efficient as C/C++ nor as elegant as Smalltalk. And yes, C++ is multiparadigm, structured if you basically use the C core, object-oriented when you use the class system and generic when you program with templates. ObjC is also multiparadigm, structured and object-oriented, but dynamic typing doesn't need generics, so it has no concept for it.
And sorry, but the learning speed of a language is not determined by the number of symbols. Without the supporting libs you can't do anything in either and I doubt you learnt the OpenStep libs in a day. The same is true of C++ and expecially Smalltalk. That language is so small that its syntax graph fits on two pages of the first Smalltalk book. So by your reasoning you should use Smalltalk, why don't you?
Please understand me right. I don't like ObjC as you obviously don't like C++. I have my reasons and you yours. But I really, really dislike the claim of ObjC being "basically C + Smalltalk" because that is simply not true. And I have programmed in all four languages, C, Smalltalk, ObjC and C++, although the least amount in ObjC because I heard the claim "it is like Smalltalk" (which I already knew at the time before trying ObjC) and was very disappointed, no, it is not like Smalltalk. Interestingly I never heard someone claim it who also knows Smalltalk.
Well, considering the track record of AI, I think we are already a bit late to start designing Web 3.0. This way it will in 10 years be able to do, eh, something?