Sometimes that leads them to embrace standards, contribute to the open source community, etc. Sometimes it leads them to lock down products because they trust themselves more than others to ensure the overall quality of the platform
I feel like I already read somewhere about a large multinational embracing standards and stuff, but I'm not sure:)
Jokes aside, I think that this kind of behaviour shows how top dog companies are all alike.
I believe that the increasing popularity of Android is extremely important for Linux. Instead of being "an alternative to X", where X is either Windows or OSX, Android is just, well, Android. It has a clear identity of its own and is not so often depicted as the competitor or the alternative. In this sense Android has the same strong identity as Linux in LAMP installations: it performs excellently the function it is intended for, rather than "playing catch-up" with something else and this is key to its importante, fame and success.
...in the near future. This means that all Windows (Windows Phone 7, whatever success the platform will actually have) -based development is going to happen in Silverlight. Now WPF/SL is not such a bad platform, Reactive Extensions are a very advanced application of computer science (http://lambda-the-ultimate.org/node/3687) that is quite powerful once one learns how to use it, and the dependency property mechanism gives is very flexible and allows to move lots of trivial logic in the page markup rather than in the callbacks code.
So if one is interested in building an application that can be ported to WP7 and moved between the cloud and the client with relative ease, then Silverlight is an excellent choice. For web-only applications Flash is so much supported that it would be crazy not to go with it, unless the computational weight of Flash becomes a problem: then the often ligter Silverlight might be a better choice.
Personally that is exactly the reason why I fear Apple far more than MS...
Android is pretty neat, both technologically and philosophically. But Apple platforms, whew, they give me the shivers: a model that is too closed up feels like it is a real danger.
Deconstructive psychology based on folder names? Are you high?
Look, I am not trapped in a MS shop. I *am* a MS shop. I know this may not be the smartest thing to say here on/., but it's true. Do I care about MS? Nope. Do I care about Apple? Nope. Do I care about Linux? Same as above. I *just work* in technology. I have a wife and kids to support and some knowledge that I can sell as a consultant or in the form of products. I already know a lot about MS graphics stack (I learned to program with DirectX 8/9) and so XNA was the natural progression. Should MS suddenly disappear, I would move to OGL and other platforms without so much as thinking it twice. Software is no religion, and there are far more relevant things in life than which IDE best defines you as a person.
There is a degree of censorship far lower than Apple's. The only apps that are exluded are those that would not be appropriate in the hands of a kid or illegal. Explicit sex, ultra-violence, copyrighted materials are forbidden. The rest is ok.
I do believe that the Windows philosophy (do what you want as long as it's on our platform) will be kept essentially intact on WP7.
I'm afraid that is not correct. The very same XNA code can be recompiled (that is the only additional step: you do not run the same binary but rather the same source) for each platform. After you have done that, the code simply keeps working. Graphics, input, audio, etc. keep working.
There are a few considerations though. Input devices that make no sense on a platform keep returning no input. Most devs will use #define and #if to comment out those pieces of code that would uselessly poll input devices that are sure to be absent on each platform; also, usually input is abstracted away by a separate component. Graphics capabilities vary quite a bit between the platforms. XNA 4.0 defines two profiles, Reach and HiDef, which support different sets of graphics capabilities (of course Reach HiDef); by using Reach, the code is *guaranteed* to recompile and work for all three devices.
So yes, XNA works "write once, _recompile_ and run anywhere"
That is an interesting POV. I do not know if at the time of the Asus prototypes (quite a while back, I believe) the facebook integration was as good.
WP7 will be very strong in three areas: social networking (Facebook contacts are integrated in one's contacts seamlessly, and you can add a tile for any Friend you want), mail (managing multiple gmail accounts is really a breeze, with a tile per account: I was impressed by the ease, since I am handicapped with smartphones) and semi-hardcore gaming (hardware + XBox Live).
As a generic smartphone, passable is a good description: nothing good enough and nothing bad enough to be noticeable.
Those are not finished games, the menus are custom (no Silverlight libraries: it's all XNA) and there is no loading screen; hence the lag.
Also, pardon me but "better visuals" means crap. It's all about polygon count, framerate, textures resolution, shaders.
You are entirely right, but it also depends on how much you need to invest. Last year I taught at a University in Italy in a Videogame Development Master Degree. The topic of my lessons was XNA (no WP7, since there was not even a rumor yet). When this WP7 thing came out I contacted a few of my ex-students and offered them a few weeks of development assited by me for a few indie games (sudoku is one, there's also solitary and stuff like that). The cost is very little given that these guys (and the other people I am developing WP7 games with) already knew how to code in XNA.
I agree. But, those 500,000 apps are a bit the point, aren't they?
On one hand you have lots of users and lots of devs competing for attention on a well-established platform.
On the other hand, you have a giant that will probably invest millions in marketing to capture users that (at least in the beginning) a few developers will have plenty of to share.
The way I see it, entering the WP7 Marketplace arena now is a gamble: it could be a gold mine or it could be a splash in a sewer. Who knows?
There is another important thing I believe. Independent game devs have very few options: the PC is very crowded, and getting your title on Steam or some other DD platform is hard and even then you have lots of competition. Consoles are very closed (XBLA publishes very few titles, and XBLIG does not sell as it could).
WP7 might be a good platform for indie game devs, in that the dev tools are simple (huge C++ codebases of professional devs are useless), 3d capabilities are respectable but limited enough that a professional developer cannot make titles that look so much better than indie titles (you can only do so much with that polygon budget) and in general the playing field is very much leveled in favor of the indie dev. Pro devs do have some advantages in terms of integration to the Live! platform: leaderboards, friends, etc.
That is a definite possibility; until now, I am pretty satisfied with the non-gaming bits. The phone does tend to "work as expected", which is very important for a consumer device.
My feeling is that it will be a decent phone, a good application platform (Silverlight is a Good Thing when you are a developer on a tight budget) and an excellent gaming platform (XNA is very mature). Kind of like a well-made crossover between an iPhone and a PSP, which both have excellent features, but with Android-esque user/developer freedom.
This said, even though I work with these things I cannot understand why we are apparently going backwards with cellphone technology. We went from big and bulky with shitty battery to smaller and with better batteries and then AGAIN to big, bulky and with shitty battery...At least companies like AKAI (AKMF01) are here to save technological progress:)
I have received a WP7 prototype device, being an XNA professional developer.
I have to admit I have always considered games on phones *much* beneath any interest from a self respecting developer.
The experience of developing for this platform though has completely changed my mind: it is powerful (I mean REALLY powerful, the kind of 3D scenes one does not expect to see on the phone) the dev tools are very good, the compatibility between Windows, XBox 360 and WP7 is exactly as compatibility should be. The standard phone functions work out of the box (the facebook/gmail contacts integration is pretty neat) and in general the experience feels pleasantly iPhonesque.
After seeing and testing the actual device I have quadrupled my company's development efforts for WP7: it might be a force to be reckoned with.
Maybe nobody cares, but here (http://cid-24c55844373f9e74.office.live.com/browse.aspx/.Public) are two videos of two of my games in action; the sudoku is unimpressive, but the 3D space battle is a completely different matter:)
Re:Asynchronous and self modifying code.
on
Programming Clojure
·
· Score: 0
You are missing a big chunk of functional programming: functions as data. The ability to treat functions as data means that you can pass them around, generating code that is very similar to OO virtual methods: so much so that a struct of functions ({'a -> 'b, 'b -> 'c}) could be easily seen as no more than an interface or an abstract class.
I don't really think VB.Net, Java or Python can be dubbed as "watered down, obscure platforms".
On a side note, trying to teach abstract reasoning without declarative (logic/functional) programming sounds a tad contradictory...
The idea is that functional languages tend to exclude by construction certain classes of bugs which are more easily created when writing apparently innocent imperative code.
This is especially believed when dealing with more "unusual" domains such as parallel/concurrent programs.
So the "F for FUN" should be encountered more often than the "F for FUXX":)
The tessellation stages of the pipeline are quite an important addition, in that they are the first attempt to truly standardize parametric surfaces for videogames. http://msdn.microsoft.com/en-us/library/dd835170.aspx
The XBox 360 uses a modified version of DX9 featuring tessellator units. This means that the XBox 360 is closer to DX 11 than it is to DX 9 or DX 10...
Does nobody know/use Word 2007 or Word 2010 math mode? You type ALT+= and math mode starts: there you can either explore your way with the GUI (highlighting an option also shows the corresponding keyword or start typing right away in a very Latex-y format. Of course you can add your own keywords; in a functional programming course I redefined \lambda to \l and \Gamma to \g since the symbol appeared almost everywhere.
It's like immediate Latex+explorable GUI...
And the 25% of us on the top end know that natural phenomena (including intelligence) has a normal distribution in which average and median coincide because of simmetry.
In Office 2007 the Ribbon can be toggled with CTRL-F1 (great for a netbook when you stop using the menu and go back to the main work area). Supposedly this will be possible in FF too: whenever you need to access a menu you show the Ribbon which is quite rich and visual, and as soon as you are done it just minimizes automatically...
Without discussing the relative merits of Open/Closed source,
are we so sure of the importance of computer code? I mean, code
is important and all, but undocumented and poorly written code is
worth very little. Explaining, documenting, even proving the idea
(beyond having it) behind a certain computer program is the real
science, while the code is more like the experiment, the "mere"
execution of a theory. This doesn't change the fact that writing
good and working code is often quite difficult...
Sometimes that leads them to embrace standards, contribute to the open source community, etc. Sometimes it leads them to lock down products because they trust themselves more than others to ensure the overall quality of the platform
I feel like I already read somewhere about a large multinational embracing standards and stuff, but I'm not sure :)
Jokes aside, I think that this kind of behaviour shows how top dog companies are all alike.
I believe that the increasing popularity of Android is extremely important for Linux. Instead of being "an alternative to X", where X is either Windows or OSX, Android is just, well, Android. It has a clear identity of its own and is not so often depicted as the competitor or the alternative. In this sense Android has the same strong identity as Linux in LAMP installations: it performs excellently the function it is intended for, rather than "playing catch-up" with something else and this is key to its importante, fame and success.
...in the near future. This means that all Windows (Windows Phone 7, whatever success the platform will actually have) -based development is going to happen in Silverlight. Now WPF/SL is not such a bad platform, Reactive Extensions are a very advanced application of computer science (http://lambda-the-ultimate.org/node/3687) that is quite powerful once one learns how to use it, and the dependency property mechanism gives is very flexible and allows to move lots of trivial logic in the page markup rather than in the callbacks code.
So if one is interested in building an application that can be ported to WP7 and moved between the cloud and the client with relative ease, then Silverlight is an excellent choice. For web-only applications Flash is so much supported that it would be crazy not to go with it, unless the computational weight of Flash becomes a problem: then the often ligter Silverlight might be a better choice.
Personally that is exactly the reason why I fear Apple far more than MS...
Android is pretty neat, both technologically and philosophically. But Apple platforms, whew, they give me the shivers: a model that is too closed up feels like it is a real danger.
Deconstructive psychology based on folder names? Are you high?
/., but it's true. Do I care about MS? Nope. Do I care about Apple? Nope. Do I care about Linux? Same as above. I *just work* in technology. I have a wife and kids to support and some knowledge that I can sell as a consultant or in the form of products. I already know a lot about MS graphics stack (I learned to program with DirectX 8/9) and so XNA was the natural progression. Should MS suddenly disappear, I would move to OGL and other platforms without so much as thinking it twice. Software is no religion, and there are far more relevant things in life than which IDE best defines you as a person.
Look, I am not trapped in a MS shop. I *am* a MS shop. I know this may not be the smartest thing to say here on
There is a degree of censorship far lower than Apple's. The only apps that are exluded are those that would not be appropriate in the hands of a kid or illegal. Explicit sex, ultra-violence, copyrighted materials are forbidden. The rest is ok. I do believe that the Windows philosophy (do what you want as long as it's on our platform) will be kept essentially intact on WP7.
I'm afraid that is not correct. The very same XNA code can be recompiled (that is the only additional step: you do not run the same binary but rather the same source) for each platform. After you have done that, the code simply keeps working. Graphics, input, audio, etc. keep working.
There are a few considerations though. Input devices that make no sense on a platform keep returning no input. Most devs will use #define and #if to comment out those pieces of code that would uselessly poll input devices that are sure to be absent on each platform; also, usually input is abstracted away by a separate component. Graphics capabilities vary quite a bit between the platforms. XNA 4.0 defines two profiles, Reach and HiDef, which support different sets of graphics capabilities (of course Reach HiDef); by using Reach, the code is *guaranteed* to recompile and work for all three devices.
So yes, XNA works "write once, _recompile_ and run anywhere"
That is an interesting POV. I do not know if at the time of the Asus prototypes (quite a while back, I believe) the facebook integration was as good. WP7 will be very strong in three areas: social networking (Facebook contacts are integrated in one's contacts seamlessly, and you can add a tile for any Friend you want), mail (managing multiple gmail accounts is really a breeze, with a tile per account: I was impressed by the ease, since I am handicapped with smartphones) and semi-hardcore gaming (hardware + XBox Live). As a generic smartphone, passable is a good description: nothing good enough and nothing bad enough to be noticeable.
Those are not finished games, the menus are custom (no Silverlight libraries: it's all XNA) and there is no loading screen; hence the lag. Also, pardon me but "better visuals" means crap. It's all about polygon count, framerate, textures resolution, shaders.
You are entirely right, but it also depends on how much you need to invest. Last year I taught at a University in Italy in a Videogame Development Master Degree. The topic of my lessons was XNA (no WP7, since there was not even a rumor yet). When this WP7 thing came out I contacted a few of my ex-students and offered them a few weeks of development assited by me for a few indie games (sudoku is one, there's also solitary and stuff like that). The cost is very little given that these guys (and the other people I am developing WP7 games with) already knew how to code in XNA.
I agree. But, those 500,000 apps are a bit the point, aren't they? On one hand you have lots of users and lots of devs competing for attention on a well-established platform. On the other hand, you have a giant that will probably invest millions in marketing to capture users that (at least in the beginning) a few developers will have plenty of to share. The way I see it, entering the WP7 Marketplace arena now is a gamble: it could be a gold mine or it could be a splash in a sewer. Who knows?
There is another important thing I believe. Independent game devs have very few options: the PC is very crowded, and getting your title on Steam or some other DD platform is hard and even then you have lots of competition. Consoles are very closed (XBLA publishes very few titles, and XBLIG does not sell as it could). WP7 might be a good platform for indie game devs, in that the dev tools are simple (huge C++ codebases of professional devs are useless), 3d capabilities are respectable but limited enough that a professional developer cannot make titles that look so much better than indie titles (you can only do so much with that polygon budget) and in general the playing field is very much leveled in favor of the indie dev. Pro devs do have some advantages in terms of integration to the Live! platform: leaderboards, friends, etc.
That is a definite possibility; until now, I am pretty satisfied with the non-gaming bits. The phone does tend to "work as expected", which is very important for a consumer device. My feeling is that it will be a decent phone, a good application platform (Silverlight is a Good Thing when you are a developer on a tight budget) and an excellent gaming platform (XNA is very mature). Kind of like a well-made crossover between an iPhone and a PSP, which both have excellent features, but with Android-esque user/developer freedom. This said, even though I work with these things I cannot understand why we are apparently going backwards with cellphone technology. We went from big and bulky with shitty battery to smaller and with better batteries and then AGAIN to big, bulky and with shitty battery...At least companies like AKAI (AKMF01) are here to save technological progress :)
I have received a WP7 prototype device, being an XNA professional developer.
I have to admit I have always considered games on phones *much* beneath any interest from a self respecting developer.
The experience of developing for this platform though has completely changed my mind: it is powerful (I mean REALLY powerful, the kind of 3D scenes one does not expect to see on the phone) the dev tools are very good, the compatibility between Windows, XBox 360 and WP7 is exactly as compatibility should be. The standard phone functions work out of the box (the facebook/gmail contacts integration is pretty neat) and in general the experience feels pleasantly iPhonesque.
After seeing and testing the actual device I have quadrupled my company's development efforts for WP7: it might be a force to be reckoned with.
Maybe nobody cares, but here (http://cid-24c55844373f9e74.office.live.com/browse.aspx/.Public) are two videos of two of my games in action; the sudoku is unimpressive, but the 3D space battle is a completely different matter :)
You are missing a big chunk of functional programming: functions as data. The ability to treat functions as data means that you can pass them around, generating code that is very similar to OO virtual methods: so much so that a struct of functions ({'a -> 'b, 'b -> 'c}) could be easily seen as no more than an interface or an abstract class.
I don't really think VB.Net, Java or Python can be dubbed as "watered down, obscure platforms". On a side note, trying to teach abstract reasoning without declarative (logic/functional) programming sounds a tad contradictory...
The idea is that functional languages tend to exclude by construction certain classes of bugs which are more easily created when writing apparently innocent imperative code. This is especially believed when dealing with more "unusual" domains such as parallel/concurrent programs. So the "F for FUN" should be encountered more often than the "F for FUXX" :)
The tessellation stages of the pipeline are quite an important addition, in that they are the first attempt to truly standardize parametric surfaces for videogames. http://msdn.microsoft.com/en-us/library/dd835170.aspx
The XBox 360 uses a modified version of DX9 featuring tessellator units. This means that the XBox 360 is closer to DX 11 than it is to DX 9 or DX 10...
Does nobody know/use Word 2007 or Word 2010 math mode? You type ALT+= and math mode starts: there you can either explore your way with the GUI (highlighting an option also shows the corresponding keyword or start typing right away in a very Latex-y format. Of course you can add your own keywords; in a functional programming course I redefined \lambda to \l and \Gamma to \g since the symbol appeared almost everywhere. It's like immediate Latex+explorable GUI...
And the 25% of us on the top end know that natural phenomena (including intelligence) has a normal distribution in which average and median coincide because of simmetry.
In Office 2007 the Ribbon can be toggled with CTRL-F1 (great for a netbook when you stop using the menu and go back to the main work area). Supposedly this will be possible in FF too: whenever you need to access a menu you show the Ribbon which is quite rich and visual, and as soon as you are done it just minimizes automatically...
This sounds awfully like the way Prolog works...
Like we not caring young people are used to do, we'll just wait for you guys to grow old enough and finally die, finally taking the 70s with you...
Without discussing the relative merits of Open/Closed source, are we so sure of the importance of computer code? I mean, code is important and all, but undocumented and poorly written code is worth very little. Explaining, documenting, even proving the idea (beyond having it) behind a certain computer program is the real science, while the code is more like the experiment, the "mere" execution of a theory. This doesn't change the fact that writing good and working code is often quite difficult...