Wrong assumption Windows became popular due to piracy sorry, but it is like that. The office os used to be DOS, Windows then was not bundled it came into the offices over the home piracy when people started to demand Windows... There were other better alternatives there at that time OS/2, Gem, but Windows was the most pirated UI...
You dont have to forget that Nintendo has churned out a load of games the first 1 1/2 years of Wii alsmost every big franchies got a new game. Now only a handful of franchises are left and the development houses need a lot of time to produce even one game for a big franchise.
Nintendo never was strong to introduce a new franchise most of theirs are still from the NES days.
So yes there is a gap, but it is way worse on the DS due to the developer resources being bound by
the WII, and yet under a ton of shovelware there are still 2-3 gems every year really worth looking at even at the DS.
Now we face a gap on the Wii from the Nintendo side, but I am sure there are third party games happily to step in once you find them within the ton of Disney, Animal whatever and quick cash in junk.
Nintendo will step in again, but I think it wont happen before 2009.
Sorry but the xbox 360 cheaper than the wii is the typical Microsoft fraud, and people do not fall for it. What they did was to bring out a hdless edition calling it arcade...
You know how much you can do with an xbox without HD nada...
I rather doubt it it seems to miss a nunchuck connection..
My bet goes more towards a better golf simulation or Wii Music, where you really need a better motion sensing.
I agree with you: Javascript is not technically the best solution to write such an application (for now, let's see when JS2 comes out and will be implemented by all major browsers).
Why?
Because JavaScript doesn't (yet) support classes?
If that is the answer, then with all due respect I thoroughly disagree. JavaScript is an OO language, it just uses differential (or prototype-based) inheritance, rather than class-based inheritance. It's quite possible to write fully featured GUI apps using a language that adopts a differential inheritance model. I did that for many years on the Newton, using NewtonScript.
The Newton OS APIs (object prototypes) that went with NewtonScript worked just fine, and provided a GUI that was in a number of ways more advanced than Cocoa. Gave very decent performance on an extremely limited platform.
Personally I have yet to be convinced of the wisdom of including classes in JavaScript2 - it feels unnecessary to me.
There are two problems in javascript on the language level. The lack of namespaces which caused that every library trying to support namespaces implemented its own mechanism.
The lack of inheritance. Javascript only goes the half way it exposes the method map which is the prototype map, and no it does not support prototype inheritance on language level, it just exposes the map, thats it nothing more. The result has been that every bigger library added its own inheritance mechanism often causing side effects in other libraries.
Exposing the method map is no superior inheritance mechanism it is not inheritance mechanism at all and it is not superior, it falls into an entirely different category of language constructs.
A standardized inheritance mechanism is vital to push the language up to the level needed for bigger programs!
Not sure if an OSS beos really is that much needed anymore Haiku is quite far along the development schedule.
There is not so much anymore which has to be done to reach BEOS state except for bugs and a few apis.
The main issue probably in the long run will be to get more than a handful of drivers up and running to make a usable modern operating system out of it.
BEOS is probably dead but Haiku isnt.
Actually the biggest problem of enforcing conventions over language structures is, that in javascript for example, everyone rolls out his/her own solution to the problem and you end up with incompatible solutions which tackle the problem.
The classical problem is the extension problem and inheritance problem of javascript.
The prototype guys rolled their own mechanisms which then broke unwillingly several other libs which had perfectly correct code, they just did the mistake to iterate over arrays via foreach which was hitchhiked by prototype with added functions.
The same goes for inheritance, having access to a vtbl, construct is good and flexible, rolling your own inheritance solution is not.
In php especially in typo3 and probably other systems many designers got away with it because there was not too much advanced oo in the supporting libs, so adding namespaces, pseudo inheritance (before PHP4) etc... worked to some degree. In javascript it is entirely different namespaces, advanced OO are the norm not the exception and collisons between libraries are a day to day affair.
But still the structures enforced by the lack of certain language features caused a huge mess.
Try to program a plugin for typo3 and you will long for the Win32 api which is a similar mess, due to lack of decent OO in those days.
So sometimes not enforcing structures is not a bad thing but in many ways it can become a mess which is hard to clean up afterwards.
(IE try to argue with the prototype guys to give up the $ operator or the hitching of arrays and other base objects/functions provided by the language, you will get the answer that it is a correctly allowed behavior by the language designers which it is, but it breaks other perfectly correct code)
Actually speaking of php and big systems, I did some heavy typo 3 programming, and I saw the problems which were caused by the simple fact that there were no namespaces. Yes you could do a big system bug look at the mess the entire system (in this case typo3) was in...
It took years almost a decade to get typo3 where it is now, and it is still a mess.
Calling php as the classical example of namespaces are not helping in designing big systems is like a joke.
In the end you even can design big systems even in hex code but that does not mean you should target them with such languages!
The same goes for javascript, therefore I am happy that the newer efforts towards standardizing next versions of javascript try to tackle it.
Btw. as for rails, it works because the basic structures are outlined by the codegens rails has, the programmer is basically pushed on rails:-)
Which means rails enforces certain structures to bypass certain limitations of the underlying language!
Yes, I was aware that they are going to fix things, the main issue here is the browsers which still count for 95% of all javascript usages have to standardize. A plugin for the IE is a no go. Applets would work really fine nowadays they cannot be used due to being a plugin, flash only can be used because everyone has flash on his machine, once Microsoft drops the default flash install on a future windows version flash will go the same way applets did.
Unfortunately standardizing new language versions is one thing, getting the browser vendors to support it another one. (See various things the W3C standardizes)
It sure looks to me like they are taking all the coolest stuff from Python and grafting it onto JavaScript.[1] The result will be a language a lot like Python, but with code blocks wrapped in curly braces and no significant whitespace.
One of the biggest changes will be a class inheritance model much more like Python's. The prototype-based inheritance will still be available, but I for one will be happy to use the new model.
Already, my favorite features from Python have been grafted on to JavaScript, and are available right now in Firefox 2:
Steve Yegge has said that he thinks he knows what the "Next Big Language" will be. I think he is talking about JavaScript, and I think he may be right.
steveha
[1] If you are a fan of some other language, it may look to you like they are grabbing cool things from your language. And far be it from me to argue about which language a feature was "really" borrowed from. Python borrowed much of its cool features from other languages anyway.
Actually having real inheritance and still have the access to the virtual method table was there way before python, I dont think python has a single feature which was not copied from other languages. Even the code block feature which most non python users hate (and therefore not touch the language) was there before one way or the other.
Not sure if there is even one feature which was invented by Python. Maybe one the language fanboys in public forums promoting their language...
Ah no that was invented by the Lisp crowd:-)
Sorry to be that harsh but my stance on ***fill in the language of your choice*** has changed somewhat. The last usable language which really brought new things onto the table was Smalltalk adn that one was invented in the 70s. All others either rehashed old concepts or if they tried to make new things were utterly unusable.
The funny thing is that the scripting language domain is the worst in this regard. Not speaking necessarily of python, basically all newer scripting languages do the same with different syntax and everyone of those languages have their load of fanboys trying to promote their language as newest kid on the table doing fabolous things which smalltalk and others already did in the mid 70s.
Problem with javascript is it looks nice on paper but fails miserably productivitywise in bigger systems. The main issues are, no dedicated namespacing which makes mixing of various libraries a real hell (no worries propotype will fix everything by simple hijacking the dollar operator which then is also used by jquery and others, also it makes huge sense to simply override the array so that other libraries fail....), the other really weak point lies in the way it exposes inheritance. It has semi like class constructs (everything is a function, even classes are functions) and then simply provides the virtual method table. The result was that every library added its own sometimes broken sometimes not but often incompatible way of inheritance to deal with the bigger codebase.
The third and biggest problem is the browsers themselves, javascript most of the times is used in browsers and then you have to program against a central singleton/beast out of hell. The dom tree with behavior different over most browsers.
This singleton is an antipattern in itself, instead of having small page parts which are not influencable by others every code targetted against the page has to rely on this singleton and has to hope that no other code does some modifications which break things. Componentization is a hell in itself in such an environment. There are solutions to the problem but they only work on exactly one browser and leave the others out.
And yes javascript is very Lisp alike with functions being the core of everything if you drill down. It is a functional language in its core which looks like C, but that does not clear up its deficiencies for bigger systems. Sorry for that. I spend 90% of my coding time currently in javascript doing component programming and I really see the problems with it. The academic crowd might cheer, but I always love it when I have to leave javascript land for a while programming in other languages other areas of programming simply are way less painful.
Javascript once things become bigger feels a lot like C++ in the pain it can inflict on the programmer, actually it feels way worse!
Actually I personally saw it always as the weak point javascript of providing class like constructs and no inheritance, instead exposing the virtual method table directly. (Prototype is nothing else)
This basically ended in, colliding namespace constructs, different incompatible inheritance constructs by third party libraries etc... You cannot really design big systems without those two constructs, and javascript exactly is moving into that arena without being properly equipped for it.
In the end javascript is the classical example of a 95% academic language. Looks nice on paper, it is very fast in designing small systems, it is very flexible which makes the academic crowd cheer but fails utterly once you have to design bigger systems because the productivity of the language goes down the toilet due to the fact that vital 5% of the language are missing.
This depends on the point of view, there was a time between 92 and 2000 when implementation inheritance was seen as the goto of the 90s, due to the strong binding of code it provides. The view has changed somewhat, also due to the fact that without implementation inheritance you have to rely on delegation a lot and you get a huge code bloat. To my knowledge the goto still is an antipattern, implementation inheritance never fully made it onto the anti pattern list and again is an accepted pattern among others.
Actually the original alone in the dark was quite good. It had an engine very sophisticated for its time and probably was the first horror game ever to be taken seriously, besides that it did not corner itself into the shooter genre like most modern horror games do but was more along the adventure side. Every enemy you faced basically was deadly and you had to find out ways to kill them by solving puzzles (some could be killed by tradidional means). The series went down afterwards. Technically it stalled by recycling the engine over and over and drifting more towards the action side of things (and hence by adding zombie overkill taking out a lot of the horror elements the first game had).
Have in mind that the series had its first part at the good old i386 days and rating the engine and game years later feels somewhat odd technically.
After a few years of hiatus it was revived on the PS1 with a new engine. Dunno how the Ps1 game was, but given Ataris actions by now I probably will skip the newest installment. It looked more like an action game anyway instead of an adventure game with occasional action like the first part was. Oh well...
Actually according to reports it was like that. Atari did not turn on the activation servers but the console versions didnt need them in the first place, the pc ratings were delivered later on (have in mind we are on the web contents can change on the fly) after the release date.
Either way, a cease and desist letter probably was the stupidest thing Atari could do and I personally think someone in the marketing/legal departement now must have a serious problem keeping his/her job. Bad ratings probably would not have hurt the game as much as the cease and desist letters did, for this game definitely and probably for the rest of the games Atari releases the rest of the year.
It probably by now would be better for Atari to just close the shop down and reopen beginning of next year;-)
Actually Gothic2 is the best of the series, it reminded me on the best of Ultima 7 in so many ways. Every Ultima fan should play Gothic 1 and 2.
Gothic3 basically had the Oblivion syndrome. The bugs aside which the series aways was plagued. G3 simply had the same problem as oblivion doing a big world often ends with a semi boring game because lots of the dense athmosphere is lost by the auto generated parts of the content.
I have yet to see a real world game which achieved this to some degree. Gothic2 did but it was a small world hence everything felt tight. Ultima 7 also managed it in a big world, but that was because the entire world was handcrafted. I agree with Oblivion after being a nice tech demo it stopped working for me, due to being extremely boring.
Well, if you take the word of Benito Mussoni, that
"Fascism should more appropriately be called Corporatism because it is a merger of state and corporate power."
clearly, under GWB if not before, the USA has become a Fascist State. Google up the word plutocracy....
That is the exact word for it.
Depends in number of sales the EU region already has surpassed the USA a few months ago.
If you add reemerging no EU countries like russia, I guess the market is big.
But the localization splits the region apart.
Since Nintendo does not use spoken language too much, my personal guess is most localizations are done during production which is normal for most products not having voice overs. (Recent hacks seem to confirm that), that does not change the problem of having different rating systems for every country and the marketing has to be done separately.
But given the recent weak dollar and that in Europe prices are way higher normally anyway (If you would see what we have to pay here for a PS3 you would start to scream) it probably still is a higher profitable region than the USA currently is.
The situation will reverse probably in a few years when gaming really hits china, but for now Europe or especially the EU is the biggest market!
No it is a common scheme of Nintendo to shaft certain markets in periods of time. Usually it is Europe and Australia. We often get games with a half a year til year delay. SSMB still is not released here while the localization seems to have been done in the original already and only a few bits have to be switched according to some hacking people.
But to the worse, Nintendo uses the localization work as lame excuse for not releasing it. The real reason for this is they have clear release schedules that their titles should not collide with other AAA titles at the same time.
In case of the Wii FIT the USA seems to be the screwed region, it might be that way over here in Europe pay around 140 USD for the same thing which is even a nice surplus if you count out the VAT, but it simply also could be because Nintendo regularily screws its customers in various regions for several reasons.
(Have in mind we had a lot of WIIs in central and Western Europe excluding the UK while other regions had a draught, but those regions got the games which didnt - so we got a WII easily in 2007 but we waited almost a year for excite truck and other games)
Nintendo is rather slow to react to certain situations, the Virtual console still is not fixed regarding newer LCD screens still no scalers to fix the component cable problem on those screens. The WII runs out of storage space and still no reaction to solve it.
This is Nintendo, they sometimes screw up badly, then there is silence, but if there is a reaction then it is excellent, but sometimes they simply ignore the problem in the hope to have it go away over time.
I beg to differ. Few people speak English in Europe, except in a few countries like the Netherlands. You probably just hang around with English speakers only and don't see the reality. Pretty much everyone in central northern and western europe speaks english to some extent.
The only exceptions probably are southern spain, rural france and probably southern italy.
Eastern europe is pretty well equiped, people learn english like crazy there you might get a problem in rural areas but definitely not in cities.
Exactly but that does not resolve that issue that you have to have a more rigorouse testing in place (way more) and that you have to enforce interface contracts a lot more due to the fact that the language does not do it.
The bigger the code the less advantage you get from the many shortcuts scripting languages usually provide and the more you have to do on the testing and contractual side.
You can split many problems apart true, but many you cant to a level that you only have small scripts:-(
However, using modern C++ with tr1, boost, asio etc. I can for example write a stable http server with a fraction of the amount of code necessary in a Java.
Wronge example listening to incoming connections and handling the http protocol is part of the java core api, making a java http server is just a few lines of code from the standardized core lib.
Getting a fast http server out of the box is a different issue however, then you have to deal with java nio, threading etc....
I just wonder how many locs it takes in C++ to imp lement it without having to rely on a load of third party libraries.
The issue for trimming down massively on the C++ syntax is that C++ was so overly complex that no one except excellent programmers even could copy with the language syntax. The Syntax of C++ alone was reason enough that a lot of projects went down the drain. Java is a sane subset of the syntax suitable for real world teams combined of mediocre to good programmers doing really stable huge projects.
Dont get me wrong, but if someone counts the featuritis of C++ as a strength then I must say, this is the wrong horse to follow. It took the compiler vendors almost 10 years to support the standard and to support it bugfree.
If you want to see a sane C object extension language then have a serious look at objective C.
There is a reason why the first successful object models for operating systems came from the objective C side while most C++ operating system object models went down the drain, until Qt came.
Aos for your examples, GIL, java has that integrated it is called Java2d (and the code is from adobe as well in huge parts)
As for boost, the apache commons codehaus etc.. additonally to what you get from the extensive core lib already provides most of it. Only the number crunch and low level OS area is left out, due to Java being used mainly on the server side but you get much more in many areas from the java corelibs and apache libs than boost covers at all in server, language etc... areas.
But I agree boost looks almost like the jdk lib from its coverage.
But back to the language, what I have seen on server side programming, what you can achieve with the Crippled C++ Java in a time and a stability I have yet to see a C++ program doing the same in the same development time with the same uptimes upfront usually the development time in C++ is 10 times longer and the stability 10 times worse.
alternatives were there from the start OS/2 and Gem being the most popular...
Wrong assumption Windows became popular due to piracy sorry, but it is like that. The office os used to be DOS, Windows then was not bundled it came into the offices over the home piracy when people started to demand Windows... There were other better alternatives there at that time OS/2, Gem, but Windows was the most pirated UI...
You dont have to forget that Nintendo has churned out a load of games the first 1 1/2 years of Wii alsmost every big franchies got a new game. Now only a handful of franchises are left and the development houses need a lot of time to produce even one game for a big franchise. Nintendo never was strong to introduce a new franchise most of theirs are still from the NES days. So yes there is a gap, but it is way worse on the DS due to the developer resources being bound by the WII, and yet under a ton of shovelware there are still 2-3 gems every year really worth looking at even at the DS. Now we face a gap on the Wii from the Nintendo side, but I am sure there are third party games happily to step in once you find them within the ton of Disney, Animal whatever and quick cash in junk. Nintendo will step in again, but I think it wont happen before 2009.
Sorry but the xbox 360 cheaper than the wii is the typical Microsoft fraud, and people do not fall for it. What they did was to bring out a hdless edition calling it arcade... You know how much you can do with an xbox without HD nada...
I rather doubt it it seems to miss a nunchuck connection.. My bet goes more towards a better golf simulation or Wii Music, where you really need a better motion sensing.
I agree with you: Javascript is not technically the best solution to write such an application (for now, let's see when JS2 comes out and will be implemented by all major browsers).
Why?
Because JavaScript doesn't (yet) support classes?
If that is the answer, then with all due respect I thoroughly disagree. JavaScript is an OO language, it just uses differential (or prototype-based) inheritance, rather than class-based inheritance. It's quite possible to write fully featured GUI apps using a language that adopts a differential inheritance model. I did that for many years on the Newton, using NewtonScript.
The Newton OS APIs (object prototypes) that went with NewtonScript worked just fine, and provided a GUI that was in a number of ways more advanced than Cocoa. Gave very decent performance on an extremely limited platform.
Personally I have yet to be convinced of the wisdom of including classes in JavaScript2 - it feels unnecessary to me.
There are two problems in javascript on the language level. The lack of namespaces which caused that every library trying to support namespaces implemented its own mechanism. The lack of inheritance. Javascript only goes the half way it exposes the method map which is the prototype map, and no it does not support prototype inheritance on language level, it just exposes the map, thats it nothing more. The result has been that every bigger library added its own inheritance mechanism often causing side effects in other libraries. Exposing the method map is no superior inheritance mechanism it is not inheritance mechanism at all and it is not superior, it falls into an entirely different category of language constructs. A standardized inheritance mechanism is vital to push the language up to the level needed for bigger programs!
Not sure if an OSS beos really is that much needed anymore Haiku is quite far along the development schedule. There is not so much anymore which has to be done to reach BEOS state except for bugs and a few apis. The main issue probably in the long run will be to get more than a handful of drivers up and running to make a usable modern operating system out of it. BEOS is probably dead but Haiku isnt.
Actually the biggest problem of enforcing conventions over language structures is, that in javascript for example, everyone rolls out his/her own solution to the problem and you end up with incompatible solutions which tackle the problem.
The classical problem is the extension problem and inheritance problem of javascript. The prototype guys rolled their own mechanisms which then broke unwillingly several other libs which had perfectly correct code, they just did the mistake to iterate over arrays via foreach which was hitchhiked by prototype with added functions.
The same goes for inheritance, having access to a vtbl, construct is good and flexible, rolling your own inheritance solution is not.
In php especially in typo3 and probably other systems many designers got away with it because there was not too much advanced oo in the supporting libs, so adding namespaces, pseudo inheritance (before PHP4) etc... worked to some degree. In javascript it is entirely different namespaces, advanced OO are the norm not the exception and collisons between libraries are a day to day affair. But still the structures enforced by the lack of certain language features caused a huge mess. Try to program a plugin for typo3 and you will long for the Win32 api which is a similar mess, due to lack of decent OO in those days.
So sometimes not enforcing structures is not a bad thing but in many ways it can become a mess which is hard to clean up afterwards. (IE try to argue with the prototype guys to give up the $ operator or the hitching of arrays and other base objects/functions provided by the language, you will get the answer that it is a correctly allowed behavior by the language designers which it is, but it breaks other perfectly correct code)
Actually speaking of php and big systems, I did some heavy typo 3 programming, and I saw the problems which were caused by the simple fact that there were no namespaces. Yes you could do a big system bug look at the mess the entire system (in this case typo3) was in... It took years almost a decade to get typo3 where it is now, and it is still a mess. Calling php as the classical example of namespaces are not helping in designing big systems is like a joke. In the end you even can design big systems even in hex code but that does not mean you should target them with such languages! The same goes for javascript, therefore I am happy that the newer efforts towards standardizing next versions of javascript try to tackle it. Btw. as for rails, it works because the basic structures are outlined by the codegens rails has, the programmer is basically pushed on rails :-)
Which means rails enforces certain structures to bypass certain limitations of the underlying language!
Yes, I was aware that they are going to fix things, the main issue here is the browsers which still count for 95% of all javascript usages have to standardize. A plugin for the IE is a no go. Applets would work really fine nowadays they cannot be used due to being a plugin, flash only can be used because everyone has flash on his machine, once Microsoft drops the default flash install on a future windows version flash will go the same way applets did. Unfortunately standardizing new language versions is one thing, getting the browser vendors to support it another one. (See various things the W3C standardizes)
Here's an overview of ECMAScript 4, the new version of JavaScript:
http://www.ecmascript.org/es4/spec/overview.pdf
It sure looks to me like they are taking all the coolest stuff from Python and grafting it onto JavaScript.[1] The result will be a language a lot like Python, but with code blocks wrapped in curly braces and no significant whitespace.
One of the biggest changes will be a class inheritance model much more like Python's. The prototype-based inheritance will still be available, but I for one will be happy to use the new model.
Already, my favorite features from Python have been grafted on to JavaScript, and are available right now in Firefox 2:
http://developer.mozilla.org/en/docs/New_in_JavaScript_1.7
Steve Yegge has said that he thinks he knows what the "Next Big Language" will be. I think he is talking about JavaScript, and I think he may be right.
steveha
[1] If you are a fan of some other language, it may look to you like they are grabbing cool things from your language. And far be it from me to argue about which language a feature was "really" borrowed from. Python borrowed much of its cool features from other languages anyway.
Actually having real inheritance and still have the access to the virtual method table was there way before python, I dont think python has a single feature which was not copied from other languages. Even the code block feature which most non python users hate (and therefore not touch the language) was there before one way or the other. Not sure if there is even one feature which was invented by Python. Maybe one the language fanboys in public forums promoting their language... Ah no that was invented by the Lisp crowdThe burning need comes once you move out of the hello workd and 5 liner domain into real systems design... Sorry to say that...
Problem with javascript is it looks nice on paper but fails miserably productivitywise in bigger systems. The main issues are, no dedicated namespacing which makes mixing of various libraries a real hell (no worries propotype will fix everything by simple hijacking the dollar operator which then is also used by jquery and others, also it makes huge sense to simply override the array so that other libraries fail....), the other really weak point lies in the way it exposes inheritance. It has semi like class constructs (everything is a function, even classes are functions) and then simply provides the virtual method table. The result was that every library added its own sometimes broken sometimes not but often incompatible way of inheritance to deal with the bigger codebase.
The third and biggest problem is the browsers themselves, javascript most of the times is used in browsers and then you have to program against a central singleton/beast out of hell. The dom tree with behavior different over most browsers. This singleton is an antipattern in itself, instead of having small page parts which are not influencable by others every code targetted against the page has to rely on this singleton and has to hope that no other code does some modifications which break things. Componentization is a hell in itself in such an environment. There are solutions to the problem but they only work on exactly one browser and leave the others out.
And yes javascript is very Lisp alike with functions being the core of everything if you drill down. It is a functional language in its core which looks like C, but that does not clear up its deficiencies for bigger systems. Sorry for that. I spend 90% of my coding time currently in javascript doing component programming and I really see the problems with it. The academic crowd might cheer, but I always love it when I have to leave javascript land for a while programming in other languages other areas of programming simply are way less painful. Javascript once things become bigger feels a lot like C++ in the pain it can inflict on the programmer, actually it feels way worse!
Actually I personally saw it always as the weak point javascript of providing class like constructs and no inheritance, instead exposing the virtual method table directly. (Prototype is nothing else) This basically ended in, colliding namespace constructs, different incompatible inheritance constructs by third party libraries etc... You cannot really design big systems without those two constructs, and javascript exactly is moving into that arena without being properly equipped for it.
In the end javascript is the classical example of a 95% academic language. Looks nice on paper, it is very fast in designing small systems, it is very flexible which makes the academic crowd cheer but fails utterly once you have to design bigger systems because the productivity of the language goes down the toilet due to the fact that vital 5% of the language are missing.
This depends on the point of view, there was a time between 92 and 2000 when implementation inheritance was seen as the goto of the 90s, due to the strong binding of code it provides. The view has changed somewhat, also due to the fact that without implementation inheritance you have to rely on delegation a lot and you get a huge code bloat. To my knowledge the goto still is an antipattern, implementation inheritance never fully made it onto the anti pattern list and again is an accepted pattern among others.
Actually the original alone in the dark was quite good. It had an engine very sophisticated for its time and probably was the first horror game ever to be taken seriously, besides that it did not corner itself into the shooter genre like most modern horror games do but was more along the adventure side. Every enemy you faced basically was deadly and you had to find out ways to kill them by solving puzzles (some could be killed by tradidional means). The series went down afterwards. Technically it stalled by recycling the engine over and over and drifting more towards the action side of things (and hence by adding zombie overkill taking out a lot of the horror elements the first game had). Have in mind that the series had its first part at the good old i386 days and rating the engine and game years later feels somewhat odd technically. After a few years of hiatus it was revived on the PS1 with a new engine. Dunno how the Ps1 game was, but given Ataris actions by now I probably will skip the newest installment. It looked more like an action game anyway instead of an adventure game with occasional action like the first part was. Oh well...
Actually according to reports it was like that. Atari did not turn on the activation servers but the console versions didnt need them in the first place, the pc ratings were delivered later on (have in mind we are on the web contents can change on the fly) after the release date. Either way, a cease and desist letter probably was the stupidest thing Atari could do and I personally think someone in the marketing/legal departement now must have a serious problem keeping his/her job. Bad ratings probably would not have hurt the game as much as the cease and desist letters did, for this game definitely and probably for the rest of the games Atari releases the rest of the year. It probably by now would be better for Atari to just close the shop down and reopen beginning of next year ;-)
Actually Gothic2 is the best of the series, it reminded me on the best of Ultima 7 in so many ways. Every Ultima fan should play Gothic 1 and 2. Gothic3 basically had the Oblivion syndrome. The bugs aside which the series aways was plagued. G3 simply had the same problem as oblivion doing a big world often ends with a semi boring game because lots of the dense athmosphere is lost by the auto generated parts of the content. I have yet to see a real world game which achieved this to some degree. Gothic2 did but it was a small world hence everything felt tight. Ultima 7 also managed it in a big world, but that was because the entire world was handcrafted. I agree with Oblivion after being a nice tech demo it stopped working for me, due to being extremely boring.
Depends in number of sales the EU region already has surpassed the USA a few months ago. If you add reemerging no EU countries like russia, I guess the market is big. But the localization splits the region apart. Since Nintendo does not use spoken language too much, my personal guess is most localizations are done during production which is normal for most products not having voice overs. (Recent hacks seem to confirm that), that does not change the problem of having different rating systems for every country and the marketing has to be done separately. But given the recent weak dollar and that in Europe prices are way higher normally anyway (If you would see what we have to pay here for a PS3 you would start to scream) it probably still is a higher profitable region than the USA currently is. The situation will reverse probably in a few years when gaming really hits china, but for now Europe or especially the EU is the biggest market!
No it is a common scheme of Nintendo to shaft certain markets in periods of time. Usually it is Europe and Australia. We often get games with a half a year til year delay. SSMB still is not released here while the localization seems to have been done in the original already and only a few bits have to be switched according to some hacking people.
But to the worse, Nintendo uses the localization work as lame excuse for not releasing it. The real reason for this is they have clear release schedules that their titles should not collide with other AAA titles at the same time. In case of the Wii FIT the USA seems to be the screwed region, it might be that way over here in Europe pay around 140 USD for the same thing which is even a nice surplus if you count out the VAT, but it simply also could be because Nintendo regularily screws its customers in various regions for several reasons. (Have in mind we had a lot of WIIs in central and Western Europe excluding the UK while other regions had a draught, but those regions got the games which didnt - so we got a WII easily in 2007 but we waited almost a year for excite truck and other games)
Nintendo is rather slow to react to certain situations, the Virtual console still is not fixed regarding newer LCD screens still no scalers to fix the component cable problem on those screens. The WII runs out of storage space and still no reaction to solve it. This is Nintendo, they sometimes screw up badly, then there is silence, but if there is a reaction then it is excellent, but sometimes they simply ignore the problem in the hope to have it go away over time.
Exactly but that does not resolve that issue that you have to have a more rigorouse testing in place (way more) and that you have to enforce interface contracts a lot more due to the fact that the language does not do it. The bigger the code the less advantage you get from the many shortcuts scripting languages usually provide and the more you have to do on the testing and contractual side. You can split many problems apart true, but many you cant to a level that you only have small scripts :-(
However, using modern C++ with tr1, boost, asio etc. I can for example write a stable http server with a fraction of the amount of code necessary in a Java. Wronge example listening to incoming connections and handling the http protocol is part of the java core api, making a java http server is just a few lines of code from the standardized core lib. Getting a fast http server out of the box is a different issue however, then you have to deal with java nio, threading etc.... I just wonder how many locs it takes in C++ to imp lement it without having to rely on a load of third party libraries.
The issue for trimming down massively on the C++ syntax is that C++ was so overly complex that no one except excellent programmers even could copy with the language syntax. The Syntax of C++ alone was reason enough that a lot of projects went down the drain. Java is a sane subset of the syntax suitable for real world teams combined of mediocre to good programmers doing really stable huge projects. Dont get me wrong, but if someone counts the featuritis of C++ as a strength then I must say, this is the wrong horse to follow. It took the compiler vendors almost 10 years to support the standard and to support it bugfree. If you want to see a sane C object extension language then have a serious look at objective C. There is a reason why the first successful object models for operating systems came from the objective C side while most C++ operating system object models went down the drain, until Qt came. Aos for your examples, GIL, java has that integrated it is called Java2d (and the code is from adobe as well in huge parts) As for boost, the apache commons codehaus etc.. additonally to what you get from the extensive core lib already provides most of it. Only the number crunch and low level OS area is left out, due to Java being used mainly on the server side but you get much more in many areas from the java corelibs and apache libs than boost covers at all in server, language etc... areas. But I agree boost looks almost like the jdk lib from its coverage. But back to the language, what I have seen on server side programming, what you can achieve with the Crippled C++ Java in a time and a stability I have yet to see a C++ program doing the same in the same development time with the same uptimes upfront usually the development time in C++ is 10 times longer and the stability 10 times worse.