Do you think every time you get to re-download an ebook that's free or, in the case of amazon, whisper.net runs itself for free?
Redownload of ebooks, I would suspect is rather cheap, is it even a $.01? Initial sales because of the cost of maintaining a website and building all the visuals might be expensive.
As for the rest of your costs, things like layout are true of ebook or my hardcover. So it doesn't matter those costs have to be in either way. Same thing with the developmental and copyedits.
I agree with you do it all in one language was terrible. The big problem with systems designed in many languages is different languages have different cultures and assumptions. They also go through different cycles. Overtime it can be very difficult to handle such a system as the parts evolve.
.NET for sure uses multiple threads. The system maintains an entire pool of threads. The whole idea of Windows NT kernel was to allow multiple process each having multiple threads.
I meant old-fashioned compiled into assembly, as opposed to the platform neutral bytecode magic that.NET and JAVA use.
OK well then, Windows RT does not need its apps compiled (in the compiled into assembly sense) either. It uses platform neutral bytecode just like Windows 7.NET.
Market differentiation, that's all. They sorely need it, because right now RT offers nothing compelling over and above their competitors. If they could run regular Windows programs - even slowly - it would give them a bullet point that their competition could not match.
It will run Windows Metro programs which the competitors don't have. Right now there aren't many of those. But simultaneously Microsoft is nudging the x86 market towards creating these types of programs. They are also doing a lot for Windows Phone which is forcing the creation of those applications. But they don't want legacy Win32 as their differentiator. The differentiator for Microsoft is ubiquitous computing, the ability to run the same applications on your phone through your laptop with versatile hardware up to desktops. They want Win32 dead because it can't handle ubiquitous anymore than iOS or OSX applications can.
Part of it is one of branding and expectations... the RT in all of the ads has a keyboard either attached or prominently featured. At that point it looks just like a Windows laptop, and it comes from MS, but it can't run Windows! But the $600 version (which is of course not ARM) does run Windows. To the naive consumer, it looks like a ploy to get me to buy the expensive version, since ARM vs ATOM seems like the old Intel vs AMD.
Microsoft has to do a lot to reset expectations. And their communication has been very muddled. For example with Windows 8 (non-RT) it would have been far better if they talked about Desktop as a "legacy interface" to make it clear that desktop was not the core. It would have been far better if touchscreen was mandatory and Windows 7 was still the OS you got on non-touch laptops. And Windows-RT was a terrible name. Metro-LBL (long battery life) would have been far better:
a) making it clear these were metro only devices b) making the big advantage clear
As an aside on Surface Pro the better versions are closer to $1k.
People are not used to having to read Microsoft because unlike Apple it has been years since they've shown leadership. Microsoft is showing leadership again. But they still have very mixed tendencies which are confusing.
As for media, that's not Microsoft's strategy. They don't want to create a "give away the razor make money on the blades" world for hardware since in such a world operating systems are likely to be cheap. Arguably that model is what they did to x86 in the 00s and it is what they trying to pull x86 away from.
And of course it needs to be packaged for Metro. Win8RT doesn't have the Win32 libraries that desktop mode applications depend on. As for you starting from the ground up, as an end user. Yes this is about developers who can easily port (i.e. very much like what Apple offered in your analogy).
I don't personally have much in the way of legacy apps that I need to run, and maybe I'm normal and that's why MS marketing made the decision that they did. But I've definitely heard people grumble about how corporate un-friendly it is
Windows 8 isn't really about business. Microsoft spent the last decade on corporate. They are focusing now on home / small business. And that market doesn't have much in terms of 15 year old software they need to run. Today's brand new WinRT machines using an emulator are substantially slower than an old WinXP box. It just isn't worth it.
As for ARM eventually being fast enough. Maybe by 2017 or so it would be fast enough to run 2001 applications Windows XP application. OK assume that's true. Then in theory if Microsoft so chooses they can toss an emulator on and run Windows XP in some sort of virtual mode on Windows10RT or whatever. That's an easy enough feature to add. But I don't really see the point. I have a Surface Pro. I have the speed to run desktop applications and they still kinda suck. The point of a touch screen laptop is to be able to use the touchscreen. If I wanted a keyboard / mouse application I'd be running it on a more traditional laptop.
Thousands of potential threads. And all of them OSX, Windows, KDE, Gnome. They all utilize tremendous numbers of objects able to operate with implicit parallelism. Generally in terms of execution threads some sort of thread pool is used to match actual CPUs to potential threads. In terms of modern systems using only one thread, look at any of the design of systems books that just ain't true. As for this being the actor model of concurrency. Yes it is. The event driven model's concurrency system was via. actors. The SmallTalk GUI was arguably the most explicit first use of mixing Objects and Events and the Windows designers cited this paradigm rather explicitly. ___
As for literate you aren't answering the question what the point is of the human understanding that limited amount about the program. You are just sort of asserting that limited understanding by a human is useful. That's the point in question. What value is a human's limited understanding in general? And even if it were important why not just use side documentation explicitly designed to achieve this understanding?
I understand the ideas behind it. But I'm not sure why understanding the structure of the program matters much. If it does, throw a few paragraphs in about the structure or include a doc to the side.
I don't understand what relationship 1990s, objects, and implicit parallelism have to do with each other, you'll have to explain it more clearly.
OK. Modern GUIs create a situation where operating systems have huge numbers of tasks lying around. Thousands and thousands of asymmetric potential threads passing messages to one another triggering actions. Some of these are the events triggered by the human others are programs kicking off events for later. Object Oriented programming guaranteed that Objects mostly contained their own independent memory which made this kind of implicit parallelism safe. All the data is bound to an object who owns that data and is manipulated through messaging not directly.
But the complex flow required by an OS managing multiple resources is significantly more difficult than a typical GUI.
A typically GUI OS is a designed to manage multiple resources.
Printing, dust jacket, warehousing and shipping is not 0. It is a substantial cost. Let's say there is $25 hardcover. Store buys it for $16. That $9 is covering cost of sales, cost of warehousing and shipping costs. With an ebook cost of sales could be closer to a $1.
There is another $2 for distribution. That goes to $0.
Now from that $16 about $1.50-2.50 for cover and dust jacket. Another $2.50 for paper and maybe another $.50 or so for stitching. That should all go to $0. So I'm saying that $25 should be $10 for an ebook.
Except it is going up till about 2003. And even then it is mostly higher highs with some offsetting lower lows causing a very slight downtrend. But staying near an absolute top isn't evidence of a collapse.
What do you mean by "pure".NET? Mostly it is a pretty simply recompile if you are avoiding x86 dependencies. As for the technical reason the recompile is required the assembly languages aren't remotely similar between ARM and x86. ARM would have to run an x86 emulator. ARM couldn't run an x86 emulator, because of speed. That's the technical reason.
That I agree with. Ruby is strongly typed with very aggressive and implicit type conversions. Anyway, strongly typed languages are dominant: C++, C#, Java; so it would make sense the alternatives are dynamic. Moreover scripting has always been dynamic.
I can understand the virtues of strongly typed. IMHO dynamic typing works best in programs under 20 lines of code, works OK 20-1000 and starts to fall apart after 1000. Most Ruby programs are under 1000 lines.
Apple was down to 3% for some of that time. Apple's been gaining while Microsoft was getting more flexible. So... that doesn't seem to be the case about a fixed group of mindless people.
Moreover, when Microsoft was growing strongly they often called the plays. A few examples.. -- the shift towards 386 with little focus on the 286 technologies was Microsoft call a play. -- use of cheap cards (ISA and later EISA) vs. the more expensive Micro-channel was Microsoft calling a play. -- the switch towards integration of Office Suites rather than the components being individual and best of breed was Microsoft calling a play.
They have native apps. There is.NET for RT. You just compile from Visual Studio into RT mode. As for Java remember the lawsuit... Microsoft can't do anything. That's totally up to Oracle.
Design by contract is my favorite way of handling interfaces. It really is a good idea.
Literate programming though I'm not sure if I see much point to. There are cool examples like mathematica notebooks but in general even very good implementation like Perl's POD and Haskell's literate mode just don't seem to offer all that much over normative source code. API documentation just doesn't need to be that closely tied to the underlying source and the source documentation just doesn't need to be literate.
As for your 1990s and Objects. I also disagree. Objects were used for implicit parallelism and complex flow of control. No one had flow of controls like a typical GUI to deal with in 1967. Event programming was a hard problem solved well.
As for PC's pushing back languages in general. I'd agree. Same way mobile is doing now by forcing people to think about writing programs to minimize electrical usage they are having to deal with low level details again.
Something not mentioned was Apple pushing the price of ebooks up often by 25%. In general the main reason I haven't switched is that from Amazon used I frequently can get print books much cheaper than the corresponding ebooks. At the time ebooks were surging ebook prices were crashing and there was a huge difference between the ebook and the printed book price. Perhaps, not unreasonably, many people prefer printed books and given a high ebook price there weren't be a cut over.
That graph shows a decade where the temperature is beyond anything seen anywhere else on the chart. Way above the level 15 years ago. And certainly way above 50 or 100 years ago. How does that prove your point?
They already have an RT version of Office. 15-100x slower is a lot. Unless they are running Windows 3.1 apps the ARM is going to be an unpleasant experience.
Exactly. The issue is hardware prices not Microsoft's cut. Microsoft would have to buy the units in bulk themselves, endure the cost of sales and give away the OS to get down to the Fire's costs.
That's not the same problem. First off Power apps didn't run on x86 they ran on an emulator called Rosetta. What they offered was a recompile solution, which is mostly the same thing Microsoft offers. The Rosetta approach wouldn't work because in both cases the CPU they were moving to was faster or of similar speed. ARM is much slower and much less capable than x86.
Your weather may get quite a bit better. There is a good argument to be made that there are huge land masses which will benefit from warmer weather. But that's a different argument than warming isn't happening.
a) They built a damn good web browser, the best out there (i.e. 4.0 and 4.5). b) They built windows only components into that web browsers and thus started moving the web towards a windows only solution c) They then crippled the web and slowed it down for years. d) During that time they developed a huge range of high end enterprise products that tie people to windows based on rich clients.
That was a rather successful strategy. The downside was that it left a hole in home / small business. So now they are adapting once again.
Short of ogg-vorbis (which is a file format I've known exactly one person who gave a shit about), I have yet to encounter a file format not supported in iTunes. And for all I know it supports ogg-vorbis, but since I don't own or want anything in that format, I don't give a damn.
Redownload of ebooks, I would suspect is rather cheap, is it even a $.01? Initial sales because of the cost of maintaining a website and building all the visuals might be expensive.
As for the rest of your costs, things like layout are true of ebook or my hardcover. So it doesn't matter those costs have to be in either way. Same thing with the developmental and copyedits.
I agree with you do it all in one language was terrible. The big problem with systems designed in many languages is different languages have different cultures and assumptions. They also go through different cycles. Overtime it can be very difficult to handle such a system as the parts evolve.
.NET for sure uses multiple threads. The system maintains an entire pool of threads. The whole idea of Windows NT kernel was to allow multiple process each having multiple threads.
OK well then, Windows RT does not need its apps compiled (in the compiled into assembly sense) either. It uses platform neutral bytecode just like Windows 7 .NET.
It will run Windows Metro programs which the competitors don't have. Right now there aren't many of those. But simultaneously Microsoft is nudging the x86 market towards creating these types of programs. They are also doing a lot for Windows Phone which is forcing the creation of those applications. But they don't want legacy Win32 as their differentiator. The differentiator for Microsoft is ubiquitous computing, the ability to run the same applications on your phone through your laptop with versatile hardware up to desktops. They want Win32 dead because it can't handle ubiquitous anymore than iOS or OSX applications can.
Microsoft has to do a lot to reset expectations. And their communication has been very muddled. For example with Windows 8 (non-RT) it would have been far better if they talked about Desktop as a "legacy interface" to make it clear that desktop was not the core. It would have been far better if touchscreen was mandatory and Windows 7 was still the OS you got on non-touch laptops. And Windows-RT was a terrible name. Metro-LBL (long battery life) would have been far better:
a) making it clear these were metro only devices
b) making the big advantage clear
As an aside on Surface Pro the better versions are closer to $1k.
People are not used to having to read Microsoft because unlike Apple it has been years since they've shown leadership. Microsoft is showing leadership again. But they still have very mixed tendencies which are confusing.
The App store. The App store existed for iPod.
As for media, that's not Microsoft's strategy. They don't want to create a "give away the razor make money on the blades" world for hardware since in such a world operating systems are likely to be cheap. Arguably that model is what they did to x86 in the 00s and it is what they trying to pull x86 away from.
I'm not sure you understand what .NET is. There is nothing in Visual Studio every that doesn't need to be compiled. http://upload.wikimedia.org/wikipedia/commons/8/85/Overview_of_the_Common_Language_Infrastructure.svg
In particular if you want to see what parts of the runtime are there: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207212(v=vs.105).aspx
And of course it needs to be packaged for Metro. Win8RT doesn't have the Win32 libraries that desktop mode applications depend on. As for you starting from the ground up, as an end user. Yes this is about developers who can easily port (i.e. very much like what Apple offered in your analogy).
Windows 8 isn't really about business. Microsoft spent the last decade on corporate. They are focusing now on home / small business. And that market doesn't have much in terms of 15 year old software they need to run. Today's brand new WinRT machines using an emulator are substantially slower than an old WinXP box. It just isn't worth it.
As for ARM eventually being fast enough. Maybe by 2017 or so it would be fast enough to run 2001 applications Windows XP application. OK assume that's true. Then in theory if Microsoft so chooses they can toss an emulator on and run Windows XP in some sort of virtual mode on Windows10RT or whatever. That's an easy enough feature to add. But I don't really see the point. I have a Surface Pro. I have the speed to run desktop applications and they still kinda suck. The point of a touch screen laptop is to be able to use the touchscreen. If I wanted a keyboard / mouse application I'd be running it on a more traditional laptop.
Thousands of potential threads. And all of them OSX, Windows, KDE, Gnome. They all utilize tremendous numbers of objects able to operate with implicit parallelism. Generally in terms of execution threads some sort of thread pool is used to match actual CPUs to potential threads. In terms of modern systems using only one thread, look at any of the design of systems books that just ain't true. As for this being the actor model of concurrency. Yes it is. The event driven model's concurrency system was via. actors. The SmallTalk GUI was arguably the most explicit first use of mixing Objects and Events and the Windows designers cited this paradigm rather explicitly.
___
As for literate you aren't answering the question what the point is of the human understanding that limited amount about the program. You are just sort of asserting that limited understanding by a human is useful. That's the point in question. What value is a human's limited understanding in general? And even if it were important why not just use side documentation explicitly designed to achieve this understanding?
I understand the ideas behind it. But I'm not sure why understanding the structure of the program matters much. If it does, throw a few paragraphs in about the structure or include a doc to the side.
OK. Modern GUIs create a situation where operating systems have huge numbers of tasks lying around. Thousands and thousands of asymmetric potential threads passing messages to one another triggering actions. Some of these are the events triggered by the human others are programs kicking off events for later. Object Oriented programming guaranteed that Objects mostly contained their own independent memory which made this kind of implicit parallelism safe. All the data is bound to an object who owns that data and is manipulated through messaging not directly.
A typically GUI OS is a designed to manage multiple resources.
Printing, dust jacket, warehousing and shipping is not 0. It is a substantial cost. Let's say there is $25 hardcover. Store buys it for $16. That $9 is covering cost of sales, cost of warehousing and shipping costs. With an ebook cost of sales could be closer to a $1.
There is another $2 for distribution. That goes to $0.
Now from that $16 about $1.50-2.50 for cover and dust jacket. Another $2.50 for paper and maybe another $.50 or so for stitching. That should all go to $0. So I'm saying that $25 should be $10 for an ebook.
The cost of film is quite a lot incidentally.
Except it is going up till about 2003. And even then it is mostly higher highs with some offsetting lower lows causing a very slight downtrend. But staying near an absolute top isn't evidence of a collapse.
What do you mean by "pure" .NET? Mostly it is a pretty simply recompile if you are avoiding x86 dependencies. As for the technical reason the recompile is required the assembly languages aren't remotely similar between ARM and x86. ARM would have to run an x86 emulator. ARM couldn't run an x86 emulator, because of speed. That's the technical reason.
That I agree with. Ruby is strongly typed with very aggressive and implicit type conversions. Anyway, strongly typed languages are dominant: C++, C#, Java; so it would make sense the alternatives are dynamic. Moreover scripting has always been dynamic.
I can understand the virtues of strongly typed. IMHO dynamic typing works best in programs under 20 lines of code, works OK 20-1000 and starts to fall apart after 1000. Most Ruby programs are under 1000 lines.
Apple was down to 3% for some of that time. Apple's been gaining while Microsoft was getting more flexible. So... that doesn't seem to be the case about a fixed group of mindless people.
Moreover, when Microsoft was growing strongly they often called the plays. A few examples..
-- the shift towards 386 with little focus on the 286 technologies was Microsoft call a play.
-- use of cheap cards (ISA and later EISA) vs. the more expensive Micro-channel was Microsoft calling a play.
-- the switch towards integration of Office Suites rather than the components being individual and best of breed was Microsoft calling a play.
etc...
They have native apps. There is .NET for RT. You just compile from Visual Studio into RT mode. As for Java remember the lawsuit... Microsoft can't do anything. That's totally up to Oracle.
Ruby is actually rather strongly typed. Shell is far more like what you are describing.
Design by contract is my favorite way of handling interfaces. It really is a good idea.
Literate programming though I'm not sure if I see much point to. There are cool examples like mathematica notebooks but in general even very good implementation like Perl's POD and Haskell's literate mode just don't seem to offer all that much over normative source code. API documentation just doesn't need to be that closely tied to the underlying source and the source documentation just doesn't need to be literate.
As for your 1990s and Objects. I also disagree. Objects were used for implicit parallelism and complex flow of control. No one had flow of controls like a typical GUI to deal with in 1967. Event programming was a hard problem solved well.
As for PC's pushing back languages in general. I'd agree. Same way mobile is doing now by forcing people to think about writing programs to minimize electrical usage they are having to deal with low level details again.
There are other expenses besides printing:
shipping, warehousing,
editing, layout, cover design
promotional expenses, incentives,
etc...
Something not mentioned was Apple pushing the price of ebooks up often by 25%. In general the main reason I haven't switched is that from Amazon used I frequently can get print books much cheaper than the corresponding ebooks. At the time ebooks were surging ebook prices were crashing and there was a huge difference between the ebook and the printed book price. Perhaps, not unreasonably, many people prefer printed books and given a high ebook price there weren't be a cut over.
That graph shows a decade where the temperature is beyond anything seen anywhere else on the chart. Way above the level 15 years ago. And certainly way above 50 or 100 years ago. How does that prove your point?
They already have an RT version of Office. 15-100x slower is a lot. Unless they are running Windows 3.1 apps the ARM is going to be an unpleasant experience.
Exactly. The issue is hardware prices not Microsoft's cut. Microsoft would have to buy the units in bulk themselves, endure the cost of sales and give away the OS to get down to the Fire's costs.
That's not the same problem. First off Power apps didn't run on x86 they ran on an emulator called Rosetta. What they offered was a recompile solution, which is mostly the same thing Microsoft offers. The Rosetta approach wouldn't work because in both cases the CPU they were moving to was faster or of similar speed. ARM is much slower and much less capable than x86.
Your weather may get quite a bit better. There is a good argument to be made that there are huge land masses which will benefit from warmer weather. But that's a different argument than warming isn't happening.
Yes and they did three things:
a) They built a damn good web browser, the best out there (i.e. 4.0 and 4.5).
b) They built windows only components into that web browsers and thus started moving the web towards a windows only solution
c) They then crippled the web and slowed it down for years.
d) During that time they developed a huge range of high end enterprise products that tie people to windows based on rich clients.
That was a rather successful strategy. The downside was that it left a hole in home / small business. So now they are adapting once again.
You can resolve that example too: http://www.xiph.org/quicktime/