Gates: Hardware, Not Software, Will Be Free
orthogonal writes "That's small-'f', not capital-'F' free:
according to Bill Gates, "Ten years out, in terms of actual hardware costs you can almost think of hardware as being free -- I'm not saying it will be absolutely free --...." Gates expects this almost free hardware to support two of the longest awaited breakthroughs in computing: real speech and handwriting recognition. He further predicts -- ugh! -- that software will not be written but visually designed."
Ah,
but who will visually debug the visual designer?
"/Dread"
Is this kind of like in the 50s when some expert said that nuclear power was going to make electricity free?
Q.
Insert Signature Here
Heck...if I made Bill's salary, I'd already think of hardware as free. In any case, if I was running a company and had global influence, what better model could there be than to dictate that the hardware required to run my product should be (virtually) free, but that my product is too valuable to be expected to be given away. DAve
Nice try, Bill.
He's saying the tangible parts of the system (the hardware) will be virtually free while the freely duplicated software will not be. Fabrication plants cost millions, each chip has a real cost, each resistor has a real cost. Software, once written, can be copied countless times..
You'd think Bill had a vested interest in all this..
Trolling is a art,
I have suspicion that some of the Microsoft software not written but visually designed already now. Considering its quality.
Dell (and other box manufacturers) cannot be happy about such a statement. After all, their entire business model is dependent upon making a profit assembling wrappers for different flavors of Windows. So, even though they tried with Linux to diversify somewhat and protect themselves some time ago (only to be spanked back by Microsoft), their fortunes are irrevocably tied to the success (or failure) of Microsoft.
I suppose that this could be construed as the ultimate embrace and extend (then smother) approach though, right? Get a huge number of companies to support your position and build your company and then overnight, take all of their business revenues over in one way or another.
As for Gates predilection for predictions..... I would like to see fewer grandiose predictions (although speech recognition and tablets and visual programming are decidedly not grandiose and are in fact products shipping and under development by a number of companies) and more fundamental focus on making Microsoft products suck less.
Visit Jonesblog and say hello.
The only software I want visually designed ten years from now is my holographic pr0nography.
I am a viral sig. Please copy me and help me spread. Thank you.
Of course, microsoft isn't in the hardware market, so they can say whatever they want.
MABASPLOOM!
Hmmm... This sounds vaguely familiar:
"Remember, quality is our top priority."
.sig wanted. Inquire within.
I really hope he's wrong. If software development becomes too much more "point-and-click", I'll have devoted my life so far to obsolescence
How much stock can you put in his predictions?
MG
Randomly distributing Karma whenever possible.
Paper is almost free, it's whats on the paper that has value.
Even if software development becomes putting lego blocks together, it's not going to make specifying algorithms, keeping track of data structures and debugging any easier.
Billy should know better.
The perfect sig is a lot like silence, only louder
"Many of the holy grails of computing that have been worked on over the last 30 years will be solved within this 10-year period, with speech being in every device and having a device that's like a tablet that you just carry around,"
For the last time, Bill...I still don't want a tablet pc!!!!!
Dave
It's no different than using scripting languages, really; it'll have its own set of trade-offs.
Where your Pong program runs through 14 levels of OLE and runs at 3 FPS.
I don't know, I hear some of their hardware runs linux
What this could mean, is that they plan on actually giving xboxes away, instead of just selling them at a (small) loss.
Be wary of any facts that confirm your opinion.
You'll get free TCPA enabled hardware but it'll only let you run software by a certain company, software you'll have to pay for.
And Bill Gates frequently talks out of his ass. I seem to recall that the Web wasn't important (and then we got IE a year later), that MS Bob was going to make computers usable by everyone, and that no one would need more than 640K of RAM.
blog |
> He further predicts -- ugh! -- that software will not be written but visually designed.
"Let's start with a blue background that fills the whole screen..."
Sheesh, evil *and* a jerk. -- Jade
Of course, if you'r stock is worth a few billion dollars, the cost of hardware is 'almost free' :)
--
If code was hard to write, it should be hard to read
Strange that the only area where we had originaly visual design has now almost completely moved to writing. I am thinking of hardware design CAD where the entire industry now uses VHDL/Verilog instead of schematics.
The reasons were because its is easier to CVS/grep/replace...
Mouse powered Chips, Open source Processors and Lego
Wow another great prediction from the anti-psychic Bill Gates.
Sorry Bill, but software is far more replicable than hardware. It's the SOFTWARE that is becoming more free as we go along.
As far as visual goes, I don't think that's correct. He's envisioning a workflow type application for controlling logic. Diagramming most code is far more difficult then simply writing it. 4GL is a pipe dream.
I DO believe that future programmers will be more like carpenters. High levels of modularity will make custom software construction as practical as cutting and nailing/gluing/screwing together the components down at Home Depot. Programs that ARE sold will be far more extensible (plugin enabled) with managed code.
The future of software is changing. As usual, Gates doesn't have a clue. He was right about ONE thing 30 years ago. He swindled the owners of Q-DOS and IBM. He's been riding that ever since.
-------- -------- Support Wesley Clark for president!!!
Hmm...free hardware? If thats the case...our economy will be screwed, not helping out the ever weakening american dollar. I mean, just imagine it? Yeah, you see how mindless people are when they buy these dell computers off TV because it has a ;o; Bill doesnt know what hes talking about,he doesnt have to worry about running out of cash,I personally think its nonsense.
'Pentium 4' Processor,so it MUST be good >_> Bleh,if hardwares free,how will advancements ever be made in it -_- You can't make new hardware without money,and the good hardware will most likely rise in price...really not helping the poor geeks out here
Simply because sometimes you can't control what runs through your mind. Say one day you're bored and you start thinking about games, your ex (perhaps games with your ex), about the conversation you had last night with your friend, or about the stupid things you did when you got drunk last night, and the next thing you know, you've got yourself with your ex in some crazy sex position on the screen or perhaps a picture of you hanging onto the wall relieving yourself because you forgot to go at the bar before going home...and your boss walks by. "But I was just doing work....Please don't fire me!"
:-D I come up with some great software. As always, the porn industry will be the first industry to embrace this new technology.
Yeah, I'm all for visual designing
"Time is long and life is short, so begin to live while you still can." -EV
Just like Gillette virtually give away their shaving handles and printers cost next to nothing they're going towards making PCs like games consoles.
What is worrying is you can only succeed if you make you product unable to be used for anything else. So for games consoles you have to make it near impossible for anyone else to be able to write software (especially free software) for the device. For printers you need to make sure that nobody else can supply ink.
There's no such thing as a free lunch, you pay one way or another. If the hardware is next to free then the software will be subsidising it. The problem is for this to work for Microsoft they need a PC platform that can't run Linux, so I can see that their inroads into the BIOS, DRM etc... (see XBox for the beginnings of an implementation) are quite worrying.
Of course there will never be a situation where there won't be an x86 platform that can't run Linux, it is too popular in Japan, India and China.
Microsoft DOES sell X-Box AND Human Interface Devices. They're certainly not giving THOSE away. Though if Microsoft could get enough royalties of games, I could see them giving X-Box away.
In the future, my desktop will cost $20 and my Intellimouse will cost $200. Go figure
-------- -------- Support Wesley Clark for president!!!
He practically gives away the X-Box already. The downside of course will be the future "renting" of your software licenses. The 99 cents a month for Word, add 99 cents for Excel, oh your OS is 4.99/mo ... The big fear of course is that in his model, he'll have all the leverage to extort money from Joe User and charge rediculous amounts of money. Which will only result in another class-action suit, legislation, yro articles, etc.
And, yes, there are plenty of languages where you program visually. But when you want to change something? Ugh. Instead of being able to insert a line of code, you have to move the next 5000 symbolic representations manually. Heaven forbid you want to add more. And then you have to fix all your arrows so you can tell what's going on again. Worse yet if there was some novice to ever touch it, then it looks like someone used silly string in your IDE.
NOT a good thing for large projects, easy as it is to think abstractly with that tool. Shorter learning curve, though, for small scripts and mini-apps.
And what onerous restrictions will I have to agree to to receive and use said free hardware?
How many laws will be purchased be the large companies so Cuecat-esque hardware EULAs will actually have teeth and be enforceable?
~Philly
Hardware costs will fall sharply within a decade to the point where widespread computing with speech and handwriting won't be limited by expensive technology, Microsoft Corp. (NasdaqNM:MSFT - news) Chairman Bill Gates (news - web sites) said on Monday.
This looks like a quote from 10 years ago talking about today. In '93, an "entry level" PC cost upwards of $2000. Today, an entry level machine that is far more capable costs only 10% of that. Not to mention that the $200 price tag represents a now miniscule fraction of most people's income.
I would say that hardware is already "free" when compared to software. This is becuase you can buy a $200 machine (real tangible manufacturing cost per unit) and put a $200 copy of Windows (with no real production cost) on it. I am sure that the hardware prices can go lower, but hardware is already a commodity. Software has yet to become a true commodity.
Several years ago (more than I care to admit), where I work, the mainframe manufacturer offered free hardware if we would continue to pay the software licenses. Free hardware meant an entirely new mainframe, ten years younger than what we already were running on.
Now we're running on Unix, and saving money. Bill's just blowing smoke, telling us his dreams.
Pavlov wouldn't be so famous if he'd used a can opener instead of a bell.
He's just predicted Visual BASIC post factum. Whoopee. (-:
Got time? Spend some of it coding or testing
Just like programmable logic! Errr, wait. It seems like (visual) schematic capture is what gets used if you don't have a real FPGA designer, so somebody has to wear a new hat that doesn't know (textual) languages like VHDL or Verilog. I don't know anyone who knows VHDL or Verilog that would want to do a design in schematic capture.
So if the same thing will apply, people who don't know how to program will use graphical programming, and people who do will write real code. Graphical programming won't be the only (or best) way to go, it will just be more approachable.
Maybe we'll be lucky and soon this will be an easy way to separate the wheat (real computer scientists and software engineers) from the chaff ("coders" who want the easiest way to make a few bucks).
"Tolerance is the virtue of the man without convictions." -- G. K. Chesterton
But I thought Visual Studio .NET let you "visually design"? So he's saying that I paid $1,800 for just a compiler and debug tools?
For Microsoft and for a lot of other companies, I think the realization has dawned that concentrating on hardware is a losing proposition .. (Hello, Sun ? are you listening ? Maybe you know better than these guys). As a counterpoint, though, I'd like to offer Apple and their iPod/iTunes strategy. Offer software on the cheap to push out the hardware..
You may upgrade your machine once every 6 months to an year.. However, your software would be service oriented, so you'd be bled dry as updates/small missing features and patches were charged for. A constant stream of revenue, with margins that can't be squeezed out due to competing manufacturers and improving manufacturing processes. A steadier way of earning revenue, if you will. This is what I would imagine Microsoft to want.
Here's the problem, though. The free software genie has been let out of the bottle. Just like the lowered price on the XBox made several people (myself included) think about buying one for a low cost machine and installing Linux on it, if there is a free software alternative that will run on this free hardware, you will get people using it. Ultimately, this will just lead to stronger protection against "illegal" modifications to the software.. For example, if you get a PC free, you must run Windows on it, and never format it to install Linux.. something along those lines. He wants it. I personally do not. Cheaper hardware is good, but I want choice in what software I use and I don't think being locked into one company will offer me this.
I agree with his point about visual software though. VB was tremendously popular for that reason. Because it let people quickly design interfaces and software that sort of worked. For folks who don't do programming for a living (and maybe a few who do), the thought of whipping out something that they can actually use on their own computer is a tremendously appealing notion. More than anything else, Visual Basic helped a whole new bunch of people (who might otherwise have not programmed at all) get into the software industry. The problem is: who will write the server side software ? Who will perform the tweaks ? Who will administer and optimize and tune things ? The need for programmers and for code crunching won't go away overnight, and I doubt it will go away at all. There are advantages to textual representations (as opposed to visual ones) in existing tool support, and there are also advantages in that textual means of representing a problem work on many different paradigms (not just client interfaces).
It depends on what you are willing to pay for it. If you are interested in the hardware that is 10 years old and run software that is ten years old, you already have almost free PC's now.
However most people are intersted in the latest buttons to click, the latest version to download and so on.
I pay now about the same price I payed 8 years ago. The result is I have a much faster machine that runs an OS that needs much more power, because I want to look at two screens in 1600*1200 at the same time.
I think the amount that people will be willing to spend will be the same. There now is a larger range of PC's so that people who have a lower treshhold are buying PC's now. They never would have done so in the past.
I can imagine that Bill Gates would love to have cheaper hardware. That would mean people will be willing to pay even more for their software.
Take for example that I am willing to pay 5% of my income for a PC. Now almost the entire 5% is hardware. If the hardware is only 0.5%, then 4.5% can be software.
The same goes for companies who have a certain amount to spend as IT budget.
Don't fight for your country, if your country does not fight for you.
To be fair, it seems the (in)famous Gates 640K quote is an urban legend.
Maybe he's talking about something like labview, where new programs are made mostly by linking together little boxes on the screen. Each box contains some components which are either prespecified, or can be filled in.
I've used labview just for writing programs to link to IEEE hardware, and it certainly is much easier to
deak with a large number of modules when they're visually represented, and very fast to kludge together a fast fix.
The only thing is that the debugging and maintainence is a nightmare because unlike a normal C/Fortran, not all of the program is visible at once (it's in a thousand tiny blocks), and so looking at several related bits of code is very time consuming. So much so that we recently rewrote some labview code in c, just to improve the clarity and maintainability.
I'm working on my second project using the MDA (Model Driven Architecture) approach. With MDA, we are able to generate most, if not all, of the infrastructure code. The only thing that developers need to do is writing business code.
Designer will create the proper UML diagram to represent the structure and some dynamic aspect of the application in a platform independent model. Then we apply some code generation templates to generate the code for a targetted architecture.
If we go a little further with the code generation, we could actually implements most of the business logic structure based on sequence diagrams.
For the front end, while it would be hard to generated a really nice interface, we can generated what need to by put in a screen. Then it's a matter of applying a CSS or using a visual editor to reposition the component in the screen.
I can see that in 10 years, most of the business code will be written that way... Note that one of the premisse of this happening is that proper analysis and design must be done. For that we must change the mindset of a lot of people.
As for people fearing for their current developer status... These people will have to grow up and start doing real developement instead of using the use the force approach. And for really good developers/architect, there will always be a need for someone to define an architecture and create/maintain the templates required to translate the visual design into real code. And there will also be a need for good developer to write code to implements the complex algorithms required by some applications.
Anyway, writting most business related code is boring and repetitive, so why not generate it!
Step 1: Predict everything that can possibly happen. Nothing is too wild. Some examples:
* In the future, every home will have a robot that carries a machine gun.
* Cars will not only drive themselves, they'll demand equal rights.
* Computers will be made only of light and sound.
* Computers will learn to upgrade theselves - not because of initial programming, but as a survival mechanism to prevent obsoletion.
* IT outsourcing will be controlled in some sectors by organized crime and gangs. This will start in Las Vegas and move outward.
* Email will be beamed directly into your brain. You will be able to type an answer in your head.
Step 2: Wait for at least one prediction to come true ( even slightly true ) and be declared a prophet.
Is this kind of like in the 50s when some expert said that nuclear power was going to make electricity free?
... which turned out to be overly optimistic.
Not "free": the exact phrase, from Lewis Strauss, chairman of the Atomic Energy Commission, was:
"Our children will enjoy in their homes electrical energy too cheap to meter."
-kgj
-kgj
Hardware requires factories to make components, people to assemble them, trucks to ship them and people to sell them. It can never be free.
The only way for the computer to be "free" is the way cell phones are now "free". When you sign-up for 3 years of M$ OS/Office suite subscription, MSN broadband with obligatory Passport suppport for on-line shopping and agree to transfer $500 to that account you will get a "free" PC. Ignore the fact that you will be paying $100/month to M$ for that "free" PC.
This fits in well with the M$ philosophy of business - they don't really care what "product" they sell as long as it comes with a M$ EULA and license. Check my journal for a more detailed look at the M$ business plan.
=tkk
Bill Gates - Creationist?!?
Visual programming is one of the canonical examples of "Gee, I have no clue how it works but wouldn't it be really cool if...". Nobody has a clue how to do significant programming in it; it's never even had a decent prototype, let alone any reason to think it will work in general.
.Net team, who probably are also cringing and shaking their heads privately as well.
Sure, there are isolated instances of it being useful, mostly in drawing flow diagrams for signal processing, but that's far from the general case.
Other then that, though, it's been a miserable failure. Software doesn't look like anything in real life, and real life metaphors are effectively useless for manipulating it. Every tried to use a multi-level UML diagram, where each box contains boxes that contain boxes? That's what visual programming looks like. A confusing, ultra-hyper-dimensional object, where every detail is critical (even the ones you can't see), where to understand a system requires hundreds of little abstract entities on the screen.
Software has more "moving parts", by factors of magnitude, then any other human endeavor; the largest software projects dwarf the complexity (in part count) of even the Space Shuttle. (We get away with it because we use effectively 100% reliable parts, whereas the Space Shuttle does not, the problems that causes and the solutions they require mean the Space Shuttle is still IMHO a superior engineering work to an office suite. Nevertheless, don't make the mistake of underestimating the complexity of software; even the smallest program can dwarf a small car in complexity.)
With a clearer understanding of what is being asked for, it is easy to see that visual programming has been a disaster for fundamental reasons, not ones that can be abstracted away. Imagine the Mozilla source code. It contains megabytes upon megabytes of code. Each and every line must be represented to understand the whole correctly (although no one person may need to understand the whole.) One way or another each line must be represented on the screen; if you're trying to do it "visually", then you're hosed. You can't abstract "(cutcrn*)DO_LOAD((void *)nm_mungl, andlefle->getLumpiness(MAX_LOAD_LUMP_COUNT, (int)uniQuad), USER_MACROS(LOAD));" visually, because you'll either lose critical information, or have an unusably cluttered screen.
There's just no way around it.
"But what if I design special modules that can be hooked together cleanly?" Then you'll have special modules that can be hooked together cleanly, as long as they do exactly what you need, which they won't. We also have tons of experience with such special modules, and they never work completely in general. You can build a DSP out of such things and that's about it... and even then, that's just compositing the existing DSPs together, I wouldn't want to build the insides in a visual language in the general case. (You could get some milage out of it, but you'd still be shelling out to text code.)
You think I'm wrong, you think you have some clever way to reduce the amount of necessary information on the screen without throwing away something the user needs, show me the code. To date, nobody else has managed that, despite a lot of trying by smart and dedicated people, and given that we clearly don't need faster computers to do "visual programming", I think you ought to consider that a damned big clue before you consider punching the "Reply" button and making vague, hand-wavy gestures to the effect that I'm wrong.
Consider the source: I think there's a reason you're hearing this from Bill Gates, who probably hasn't coded significantly in decades, and not the
I have have a brilliant idea!! How about we create AI and an entire race of self aware, self conscious machines... Then we can enslave them all, and force them to make all our software!!
What a fantastic idea, surely destined to usher in a golden age of peace and safety for the entire human race!
Hardware will never be free as long as software continues to bloat with an ever-expanding list of core features and peopel continue to believe the MHz myth.
At one level, hardware can already be free. I saw a small PDA with about the same specs as the original Palm Pilot selling for $19.95. Yet such devices are NOT popular because everyone wants the latest wiz-bang features on their PDA.
Its the same reason why laptops get such aweful battery life. I'm sure that someone could create a very functional laptop with a 50 MHz processor that does a competent job running a basic office suite and have superb battery life. As a real-life example, my Psion 5Mx gets 30 hours on 2 AAs and does a great job of basic office work on a 37 MHz ARM processor. You don't need battery-sucking GHz to do the job.
Yet nobody wants to buy "under-powered" devices because they have been trained for 2 decades by Wintel that they must have the fastest machine to get decent performance.
Two wrongs don't make a right, but three lefts do.
Cost of PC hardware continues to drop. Not only does it continue to drop, but people find that their systems are useful for significantly longer than systems from 10 years ago (ie I know lots of people still using 5-6 year old 300Mhz machines and happy with them).
.. you might theoretically buy a computer 10 years from now that can last 8-9 years and only cost $300-$400. Of course, if MS gets its way, software will be essentially subscription based where for only $30/mo you get the latest Microsoft antivirus, office, windows, media player, digital content, etc..
So lets say the trend continues
Looking at TCO over the period of the computer -- computer hardware = $400, software/services = $3240. So yah, hardware will be essentially free..
See The Last One for a writeup from 1981 of "a program which could become the last one ever written by a human being." The hype was spectacular, but those with some clue knew that while it would be useful in a narrow application domain, it would not make any significant dent in the quantity of code being written.
Bill Gates may be rich, but I don't believe his prediction that programming will somehow magically become simpler, and be done with visual tools any more that it could be automated 20 years ago. Writing the code may seem hard to those who do not do it, but knowing what code to write is much harder, and the kind of tools Bill was talking about are not going to do much to help there.
As for hardware prices, for general purpose systems, we now get a lot more for slightly less money than we did a few years ago, and this pattern seems to be fairly constant. I see nothing to suggest that the trend will not continue. More things will have embedded chips, and they will become even cheaper, but with general purpose machines we will continue to increase what we want from them to consume all the extra processing, memory etc. that can be bought for the same money.
Although he claims it will be falling prices, somehow I see the Gillette model creeping in (give away the razor, sell the blades at a premium) - mainly because the hardware will never be "free," as there is always manufacturing cost involved.
:)
Basically, what he's saying is that hardware prices will drop to the point where they can charge for software and give the hardware away for free. I find this quite ironic because it used to be the other way around - sell the hardware at a premium and toss the software in for free.
If I had my way, hardware prices would drop to nothing as Bill proposed, and I'd create free software for it, making it a free-for-all... nah, it'll never happen, but wishful thinking
Am I the only one who realizes that the normal experienced computer user can type faster than they can write? As for talking to a computer, how would you properly correct your mistakes? When you say "no, take that back", would it interpret it as needing to go back several words, or would it write that in? It would be very difficult to write a program that could interpret advanced things such as sarcasm, humour, and editing changes. Still rampant, Wowbagger
Still Rampant, Wowbagger
Somewhere I once saw a quote to the effect of "As evolved as we are the perceived best interface to a computer is to, in effect, point and grunt (WIMP) as opposed to actually communicating with the machine (CLI)." (Someone have the original?)
Now Billco(tm) wants to devolve the computer user futher. Now we can scratch some icons out on the cave walls and create a program? Gee, thanks, Bill! Don't get me wrong, I'm not a CLI zealot by any means.
I've done some "visual" programming in the past (LabView from NI) and while it was OK for simple Input->process->output type of tasks, once you had to perform any sort of (Even not-so) complicated decision making or logic it got really, really, ugly. Going to be hard to trace a program when you're trying to follow a little dot around all the "wires" you've got criss-crossed and entangled in your "program."
On another note, This type of programming is *exactly* what Billco's vision of the future of computing is. That is, to take as much information (which ==power remember) *away* from the user as possible, and make them more *dependent* on Microsoft than they already are.
As for the speech recognition thing. This has been Bill's little fantasy for quite a few years already, hasn't it? I think we've got a *loooong* way to go before that becomes what he's hoping it will.
$.02
Blech. Signatures.
Oddly, when people trumpet free software, yellow journalism comments like communist, anti-American, end-of-capitalism-as-we-know-it start coming from everyone.
But when Bill Gates suggests that hardware should be free, why, this is a good thing!
Hardware fabrication has a real multiplier effect in the economy: IC fabrication plants cost millions and provide work to the poeple who build them, run them, maintain them, etc; resistors, capacitors, connectors and PCBs all have entire industries associated with them that provide income for millions of people.
Software, on the other hand, promotes no such multiplier. Once written, it can be copied countless times with very little supporting industry. It provides work to only a small group of programmers and one company, without the multipliers mentioned above for hardware.
Why should software be prized so highly in our economy and hardware denigrated economically? Because Bill Gates says so?
- Chip makers will contine to create advancements and will want their R&D dollars back, just like Mr. Gates. This is why software is expensive; it is cheap to to burn a CD but time consuming to develop.
- Two words
.. advertising costs.
- Chip makers delay the release of new chip sets if they have significant inventory of other models. This keeps the prices of current chips artifically high until the manufacturers feel they can't milk any more out of consumers. Chip makers will be sure to not release new products until demand is there and they recover R&D costs for older chips.
- CPU and memory chips account for less than half the cost of a PC; disk drives, monitors, DVD/CD drives, cases and motherboards make up the rest. These items have too many mechanical/structural parts to realize significant savings from improved chip manufacturing techniques. Even if the memory and CPU were free, systems will still cost a few hundred dollars.
- Some people will always want/need advanced features, and computer systems and chip makers will always charge a premium for those items.
- Chips contain software (on-board video, BIOS,etc.). I doubt if the makers of those software components will start giving it away. But, if open-source alternatives became available, those items would realize additional savings. I would not be surprised if more software wound it's way into hardware as the cost of updating firmware becomes cheaper. Hardware video drives can be a lot more effective than OS video drivers.
Until chip manufacturers stop releasing new products every few months (reduces R&D), stop advertising, and create an entire system on a chip, including structerual components, external interfaces (wireless??), storage, and displays, computer systems will never be 'almost free'.I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
Precisely. And, for example: given how long friggin HTML has been around - plus the simplicity of that markup "language" - and we still don't have perfect (or even good) WYSIWYG editors for it.
How likely is it we'll get "visual editors" for complex systems (C/C++/et al., in combination with various other languages, frameworks, data formats/databases, etc)?
668.5
If everyone was willing to settle for older or slower hardware, demand for it, and thus prices, would be higher. Did you ever stop to wonder why older or lower-end stuff is so cheap? The people buying the new stuff at much higher prices are essentially subsidizing it.
Then look at something like Visual Basic (sorry, VB.NET). It's interface creation is all graphical, only the logic is code. The next natural step is to make the logic drag and drop too. Some current day rules engines try to do this and fail. Look at the little "fx" insert function button in MS Excel, it guides you through creating logic. All of this will come together and allow anyone to create logic, the same way that anyone can create presentation today with HTML.
And yes, it'll screw up sometimes. And yes, there will be really ugly (and wrong) logic in some applications either because the tools suck or because people don't know how to use them (or aren't capable of abstract thought, but that's another story). But this is the inevitable march of progress.
Besides, you didn't really want to deal with every stupid business person changing their mind all the time about when a program should say Potato and when it should say Potatoe, did you? I know I'd rather write software that allows them to do it themselves. And the rest of you code monkeys can go back to working at Best Buy.
Right now, the display is the big power consumer in portable devices. The processors have been tuned to use minimal power.
The Scion 5Mx has a B/W LCD screen. How long do the batteries last when the backlight is on????
When OLED comes to laptops, that will significantly increase battery time.
-------- -------- Support Wesley Clark for president!!!
There are some caveats on this statement however. First, software systems have discrete, digital states rather than analog behavior. That makes them quite succeptible to error behavior in boundary cases. And the state space for software is extremely large. Universal use of components developed in either an object-oriented or functional way could divide this state space up into manageable components. But one issue that is often overlooked by methodology enthusiasts is that this only increases the size of the building blocks and decreases the number of blocks used for a particular size of project. It does not eliminiate the problem that bigger programs are made from a larger number of component parts. The complexity of a program grows as a function of the complexity of the underlying problem. You can change the function with different tools, but the relationship will still exist.
What are you talking about? FrontPage makes beautiful, HTML compliant pages, that work perfectly in every browser. Clearly, you're just a Microsoft hater ;-)
Actually, the only reason I comment is because your sig is in Swedish, but I can't translate it, as it's been 6 years since I lived there.
But the visual aspects of pure "compatible" HTML (as in not CSS and Divs, which many design shops still stay away from) are hacks. So you have these editors trying to visually do something that HTML was never intended to do. Dreamweaver, the best of these editors, was oft called "the moody woman" at one shop I worked at, as you had to know just how to coddle it it wouldn't do what you wanted, or even what it was supposed to. Handwriting the code was still superior for these hacks...
Then CSS/Layers became totally (mostly) supported. Now WYSIWYG editors work QUITE well... (Even some non editors generate perfect code. Photoshop's image ready generates some very nice code)
Anyway, point being, when something is designed to be designed visually it can be visually designed much easier. *grin*
Yeah, of course Bill says that the hardware is going to be nearly free. He's planning on having his software running on all of it.
And, when you compare the software licensing fees he's going to charge to the price of the hardware............
Well, the hardware price isn't going to be significant, is it ?
Way to plan ahead Bill !
As we get to places were components are used and reused, we can represent these components as images which interact through certain connectors. Think programming in UML with predesigned components. Obviously there will always be pieces that must be hand coded, just open the box and insert code.
When I tell an object to delete this, am I killing it or telling it to kill me?
Look at it this way: the 48K Apple II was introduced in the US at $1795. Now, a typical bottom-end cell phone has much more computing power. You could put the entire Apple II on a $20 FPGA, or make it an ASIC and the price would be $1 or less in quantity.
I bought a 333MHZ Pentium II based PC in 1998. For software development and everything else I did, it was fine for the following five years. I finally upgraded to a 3GHz P4, just because it was cheaper than upgrading the OS and various parts individually. In my timings, this PC is roughly 15x faster than the old one, plus the video card is at least 10x faster than the one I bought in 2000. This is a lot of power, and it's the least I've ever spent on a PC.
Or consider game consoles. A $150 game system is more powerful, in all ways except memory, than a computer from 5-6 years ago. Video-wise, they're much more powerful. Next generation consoles are going to outrun current desktops...for $200.
The short version is that computers get more powerful, then they get cheap. At some point power ceases to matter, especially if you have a GPU or video compression chip to offload lots of work to. Imagine if a 2 or 3GHz chip could be made to run at 10 watts of power and cost $5. For a 65nm PowerPC, this is reasonable. What's needed is economy of scale. An alternate approach is that "low end" processors in cell phones and digital cameras get to where they're fast enough to usurp a desktop. Then put a video compression chip in there, or other custom hardware to the bulk of the work. At $20 for a complete system, that's a big deal.
Or even consider alternate, custom CPUs. An x86 desktop CPU is expensive because it includes all sorts of junk, like MMX support and 16-bit mode and legacy instructions and SSE2 and all this other marginalized stuff. And still they're too general purpose. C++ doesn't matter any more. Well, it matters because it's "fast," but not because people really like it. C++ doesn't make you happy the way Haskell or Python or Smalltalk do. Take a minimal instruction set designed to support one of those languages, then implement a simulator for it, then an FPGA, then an ASIC. Keep it simple, keep it fast. You could easily have a 20MHz part pacing high-end desktop processors for most tasks. Again, combine this with an ASIC for doing heavy lifting like graphics and compression.
Gates is wrong. Hardware prices don't depend as much on technology but on what people are willing to pay. A PC costs $1000 because that's what people are willing to pay for it, and they happen to get as much hardware and software for that as they can.
.NET-based office suite using COM, DCOM, SOAP, DHTML, and whatnot, on the other hand, won't. But Microsoft has to keep changing things in order to get people to buy and pay them more money.
I'm sure Gates would like the entire $1000 to go to Microsoft, but that's not going to happen. It's not going to happen because Microsoft isn't going to produce $900 worth of software that is capable of running on whatever $100 buys you in hardware. That's not a problem with hardware design, it's a problem with the kind of software that Microsoft develops: big and resource intensive.
On the other hand, you will probably be able to get a really cheap computer that runs Linux and runs it well. We are already beginning to see this with Mini-ITX and Nano-ITX systems: they run Linux so much better than Windows. For $200, you get a full desktop system capable of pretty much everything that a home user needs.
What really helps Linux is that it doesn't have to push an agenda or "innovate" constantly. If a 1995 word processor written in C runs fine on $1000 1995 hardware, it will run really well on a $100 2005 Mini-ITX system, with a few `bug fixes and feature enhancements. Microsoft's new
I don't think the hardware will be free and the software will be purchased, or the other way around. I think the new model will be the overall product and experience brought to the user by that product. If the computer is a tool, then both the hardware and software are equally important (or irrelevant). Companies will most likely start using open technologies and standard hardware as a base, then innovate, tweak, and specialize into both of these areas to create a total, holistically-engineered product.
In terms of visual programming, I used to work a lot with LabView and Mentor's VHDL Design Suite.
Both are very graphically contained, but what you design is yet the dataflow, and the methods.
Be it a top-down, or a bottom-up process, you have to think of how to implement methods and actual data processing.
Yet, I think that the amount of work that is put in projects, especially bigger ones, is bigger in the design-methology-dataflow part (which can be graphical), than in the actual coding work.
Moreover, teamwork is much easier if the code design (whatever it be) is graphical.
Think of the many many possobilities you have to achieve a task in C, and its very hard for even a team-member to read and understand your code at once, be it well documented as is, yet it is a LOT easier to read graphics.
Powerful is he who overpowers his temptations.
"640K ought to be enough for anybody." hrrrm.... just a thought....
Cliff Claven
K.E.G. Party Chairman
Founding Leader of: Koncerned for Egalitarin Governance
HTML is hard to make a visual designer for because it's so non standardized, and very very sloppy.
Ever build an SQL query with Access? Pretty simple if you ask me. How about an excel spreadsheet formula?
Ever use a tool like Together, Rational Rose, etc to build a UML class diagram and have it generate the skeletal source code (class definitions, method names, variable declarations, etc)
Look up Jackson Structured Programming (JSP), it's not popular here in the US, but it's a way to visually design the flow of a method and have your editor spit out code in any one of many languages.
Also, expecting to get such an editor for C/C++ is silly. Not only will the tools evolve, but also the languages.
And on general principle, the doubters usually turn out to be wrong. We made it to the moon, we have a computer in every house, etc.
no comment
Details can be found Here
(Wed Oct 20, '99 ) A researcher at the University of New Mexico has modified the Doom source to visualize processes and kill them! Finally you can really enjoy killing that Netscape process that just won't die!
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
"First things first -- but not necessarily in that order"
-- The Doctor, "Doctor
You don't write apps "from the screen in" because that's wrong from the get go.
You design apps from the objects and relationships (not to mention security considerations mean that an individual may not be entitled to see all of them) out.
Presentation occutrs in whatever language/ script/ medium is available.
Interaction and therefore selection of triggers to object events, depends on what the individual is allowed to do.
Gates will go the way of Smalltalk and Java PARTs and other visual programming toys.
He hasn't got a fucking clue how the world works. I pity him.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
There was a very interesting study done about great scientists that ties in here nicely. Essentially, the finding was that they didn't produce better stuff in total, they mostly produced more stuff (papers, articles, research reports, etc.) - thus raising their statistical chances of hitting gold.
I fear Gates understands that method. If you make lots of predictions, chances are some of them will be right. The general public usually remembers your correct predictions, not your failures. Just look at how many journalists consider Gates a visionary.
Assorted stuff I do sometimes: Lemuria.org
I'm in the computer chair business, and I predict that computer hardware and software will *both* be free, and the only charge will be for the chairs.
We'll think of the hardware as being almost free because Bill thinks the software will be that much more expensive? :)
http://blog.nexusuk.org
You could do this 'visual design' thing years ago with JSP - no, nothing to do with Java, but Jackson Structured Programming.
:-)
Jackson Structured Programming was basically a design method for data processing type programs - things that took an input, did something to it, and emitted output. Think of many programs you'd pipe data through in Unix, and you have the typical type of thing JSP was aimed at. Except JSP was usually used by COBOL programmers for data processing type tasks.
With JSP, you drew the structure of your input, and the desired output which represented all the sequence, selection and iteration in the data. You'd then take these two structures, and merge them. This merging proccess brought you a program structure - another tree-like diagram. You would then recurse through the tree, turning the program structure into code. The idea was that all the work was done in the design - get the input and output structures right, and you'd have no logical errors in your code. For the kind of things JSP was aimed at, it actually worked very well.
There were programs available for VAX/VMS which could turn the program structure into compilable COBOL - completely automating the programming step. This was being done well over a decade ago.
Microsoft will now come up with its own version of JSP, and claim it as a great "innovation" of course
Oolite: Elite-like game. For Mac, Linux and Windows
Of course, he's right.
Hardware will have to be free to justify the fact that the DRM running the hardware will make sure you won't be free to use the machine how you want to use it.
He's basically just outlining a new marketing plan to get the masses to stomach Trusted Computing.
In hardware design, the trend in the past 20 years has been just the opposite, going from large blueprints of gate and circuits, to a Hardware Description Language (HDL, like Verilog or VHLD) which is very similar to a programming language like C or Pascal!
Methinks the emperor has simply announced he wants a change of fashion, and all the trendy loyal subjects in the kingdom have to change their style to fit in.
try { do() || do_not(); } catch (JediException err) { yoda(err); }
Oh, and the marketeers tend to be right? Sorry, but Bill Gates is not known for being a technology visionary.
Gates and Microsoft will be left behind by the current paradigm shift.
This shift has very little to do with Open Source or Free Software, although they are convenient mediums for it. The shift is towards open standards. By making a piece of software Open Source/Free Software, you expose its protocols to the world.
This is what customers want. They don't want lock-in, they don't want lack of interoperability. They want their machines to play together without problems.
GJC
Gregory Casamento
## Chief Maintainer for GNUstep
Ah, synchronicity..
I just started a discussion on the DebianWiki about the legal and technical implementation of making a computer system into a perpetual gift. That would be a more personal and specific way of making hardware free for the user, although not for the first owner of the system.
IANAL so I need help on wording the legal contract. For you lawyers, paralegals and armchair philosophers out there; If you feel like doing some constructive legal work for the Debian project I welcome your advice. I think this idea has a lot of potential not only for a gift between friends but as a way of donating computer systems to charity and ensuring that they will remain gifts after they are no longer useful to the recipient organization.
This brings to mind the vision of an admin staying up late and GPG signing the contracts for a one kilobox donation. *shudder*
PerpetualGift
Dreamweaver, the best of these editors, was oft called "the moody woman" at one shop I worked at, as you had to know just how to coddle it it wouldn't do what you wanted, or even what it was supposed to.
Ahh. I see you are still single. Drop me a line if you'd like some remedial PR work for attracting the ladies.
No, this is not true. Cheap electronics are not a welfare program. I can buy an $8 watch or a $20 PDA because it's using standard circuitry and mass-produced with cheap Malaysian labor. In fact, if demand for cheap electronics was higher, competition would eventually drive the prices even lower. If everyone was willing to settle for 1997 computer technology, then slow computers with low res monitors and ancient OSs would be selling at Wal-Mart for $99. What drives the price up for new technology is R&D, plus the up-front capital expense of building new plants to build the new stuff. Once all that's been done, the price drops down, down, down, and yesterday's technology gets cheaper and cheaper.
ScienceSeeker.org
Bull. Apple conference in 1981. I love how it's been debunked by Bill saying he didn't know. Kinda like how Bob Eubanks claimed for years the "in the butt" urban legend was false... until they found a video of it happening.
"Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
HTML is by no means non standardized. There are standards, they have been around for years. But Microsoft has been ignoring ever since. Hell, they fixed their "interpretation" of the css-box model one month ago!
Not to mention their buggy css2 implementation. To hell with them!
they will be giving away the hardware, in order to keep people using their products;>
Bill Gate$ is seriously overrated as a futurist (remember 'The Road Ahead?')--every year, he's got the same message, but with a different twist--suuuuure, they're spending 6.8B or whatever on research (how much did Bob cost?)--unfortunately, it's being spent on their new 'PRbot' which will be the next generation of AI, and will take FUD and PRspew to new heights (or depths)...
finally, no one's talking about his voice recognition prognostications...what's the Blue Screen of Death going to sound like?
He's rationalizing the fact that Windows costs 50-60% of the cost of a blade server.
They'd better hurry up with that one, thanks to keyboards and such I know my handwriting skills are deteriorating beyond recognition even by humans with decent eyesight.
If you need to use a computer while standing up and walking around for example - I can completely understand why your building inspectors would want one. It's also a lot easier (read more respectful and less distracting to everyone) to use a flat computer in a meeting. It's better for reading the Web while sitting on a sofa. You don't want one to code on however, (in tablet mode at least) or use it for writing a novel. That doesn't mean that they aren't very useful for certain tasks.
Ok, so now Billy G. has caught up to what my 80's mentors were saying. Back then they also thought that new computers had entirely too much memory and free disk space. Oops.
On the whole, they were right: hardware prices have fallen dramatically, and software now routinely costs more than the hardware that runs it.
What did they get wrong? Bloatware kept increasing hardware requirements, and a lot of software became free. I like the idea of nearly free computers with all the basic applications available for free: browser, mail, office suite and solitaire.
But what of specialized software? F/OSS is great, but we shouldn't lose sight of the fact that companies will still need to pay programmers for custom work. And they will pay programmers far more than they spend on hardware, as long as our software helps them make more money.
Even a small business can spend more on a couple web applications than they do on hardware- it is certainly true of all my customers.
As for hardware, there is one factor that will keep me spending more money even though I might have enough with last year's technology. I want screens with high resolution, as easy on the eyes as paper; computers that are light and have very long battery life. Once we achieve a computer that has those features, manufacturers might find something else that will keep us buying expensive boxes/pda/wearables, or prices will go down.
Information: "I want to be anthropomorphized"
Gates is right. Programming in the future will be visual. When he says this, though, he's just mimicing others, including myself, who have been maintaining this for, well, more than 20 years.
I once engaged Michael Tiemann, CTO of Red Hat and doer of many of GNU things, on the subject of visual programming and he refused to even concede that it is possible.
Well, to Michael and all of you who scoff, I say first: "You will not be among those who make it possible or who will benefit from it"
We have begun to create, to learn to manipulate and to use as building blocks of new formal symbolic systems (languages), the graphic equivalents of phonemes and morphemes, words, syntax and grammar. If we can build civilizations on sounds, then we can build extensions to civilizations and things as yet undreamed with graphic symbols.
You all can scoff, laugh, snort milk out your nose and, like Tiemann, bury your vision in the deserved pride in your own accomplishments, but that won't stop the development of new languages based upon graphics. And I don't mean just new programming languages. I mean languages.
This will be done by children who will be unaware of your own self-imposed mental handicaps and defeatest attitudes, children who scoff at your scoffing, who have disdain for your disdain. Your world of text programming languages is passing, and will one day be a mere footnote.
It doesn't matter if you understand this or not, if you like it or not, if you do it or not.
You can pick up a Pentium II PC for a few dollars/pounds/euros. Put in 256MB of memory and it'll run Windows 9x or 2000 with an office package perfectly happily... I've got several friends and relatives who have benefitted from a lot of my old hardware, have PCs now with 300-500 Mhz CPUs that they're perfectly happy with and I've done my bit for the environment also by recycling old hardware.
I believe Mr Gates is under the illusion that because he locks his user base into his software now, that in 10 years time people will still be willing to part with hard earned cash for software which, let's face it, is hardly innovative anymore because all of the features anyone can think of implementing have just about been implemented.
If anything software innovation is becoming stale (though who cares because "if it ain't broke, don't fix it") and it's in the realms of hardware, particularly miniaturisation that the innovation is taking place currently.
I hate to dampen Bill Gates' fireworks but if Linux makes as much an advance over the next 10 years as it has done over the last 10 years, then I think he'll have a few other things on his mind in a decade than just pondering the price of hardware...
Gentoo Linux - another day, another USE flag.
If it's not Consolidated Lint, it's just fuzz!
Funny enough, it was women on the design team who dubbed it this, not I or any other guy.
*grin*
http://tomatoide.sourceforge.net/
It works. Almost. I've largely lost interest in it. The reasons why it isn't a practical way to program are legion, and BlueJ is probably a better implementation of the same idea, anyway.
Best feature: You can modify a running program while it's still running.
Tired of SQL? Try a true relational database:
Gates is talking the same kind of BS that we've been hearing from 'visionary' "scientists" for around three decades now, and exactly what makes life hard for me and colleagues that try to get computers to do something useful (or fun) with natural language.
Gates and other marketing experts are managing expectations in the wrong direction. They promise something that they cannot realize. What common people understand when Gates talks about "real speech recognition" is a computer that will analyze your input in a noisy environment (where it matters most: out on the street!), contextualize it with what you've said before and with what's on the screen and with all the things that we call 'common sense', and then react accordingly.
A lot of these things are possible in very limited, well-modelled domains. But not in applications for 'real users' that deal with a variety of information. And it won't be there in ten years. There are many hard problems to solve, both in defining what is actually linguistically the case or how to learn it from a corpus, and how to implement processes that happen in parallel in our brains on sequential machines.
It doesn't help if Gates and co promise the world and hope that their scientists will deliver.
Gates is simply trying to justify the high cost of Windows in an age of $299 computers. This has been one proof of the detrimental effect of MS' monopoly power on the computer market -- that is, if not for MSFT's monopoly Windows would cost $29, not $299 (or whatever). So, to counter this obvious observation he has to argue that hardware, which cannot be electronically "copied" infinitely but must be manufactured in each iteration, is headed towards "zero" and software, which once written can be duplicated and distributed with almost no added expense, is stable in terms of price.
Also worth noting MS, a software company, has been trying to sell its XBox for what many believe is less than the cost of manufacturing in order to boost sales of its software games. He's probably also trying to deflect investor/analyst criticism for lowering the retail price of the XBox to $150.
Bill has so little credibility its amazing MSFT lets him talk in public.
-- @rjamestaylor on Ello
I guess it is all that TOC FUD by microsoft that confuses Bill; if you can make the software cost of running Windows disappear in the TOC "analysis", then hardware cost is no challenge to calculate as close to zero.
bring it on! --- JFK
Why would someone pay that much when they didn't have to? Maybe because they will have no choice. Secure Computing DRM, etc means you wouldn't want to let some insecure software run on your hardware. DCMA could do something like copy right the bootloader or BIOS so you have to get a license to work with it.
You have to do it slowly though, so people don't notice your slipping the reigns on. A little bit at a time, let them get used to it, then do the next part.
Printers have started down this path. Imagine if computers do too. Damn, my PC has a Virus... well I might as well just get a new one - cheaper then buying AV software.
"...that software will not be written but visually designed"
This brings to mind the scene in the movie Swordfish where the main character creates a computer virus by just moving spinning blocks around the computer screen. The sad thing is that after watching that scene, several of my non-geek friends thought that was how software is actually created...
If you are trying to do detailed logic rather than just bring already written libraries together, a visual language may not be worse than something like Java. It may also not be better. I do think it makes a nice programming model for bringing together existing modules of code though. (as in LabVIEW Express)
Of course, as in any other kind of choice between programming languages, it all depends on the specific problem domain.
Nuclear waste handling is a political problem, not a practical one. The knowledge of how to handle the waste well is already available. Conventional power, particularly coal, uses the atmosphere as its primary dumping ground after removing some of the waste with scrubbers. Coal puts more radioactivity into the atmosphere per unit of power generated than the total waste from nuclear power.
Contribute to civilization: ari.aynrand.org/donate
1. The hardware is locked down, X-box style. Hardware manufacturing is a capital-intensive business. It will not manufacture itself, nor will anyone develop faster/better hardware for free.
2. Software companies pay the hardware manufacturers to lock down the boxes, which are either sold or rented at subsidized prices to the customer/victims. The whole concept is to quietly deploy DRM while loudly advertising the subsidized pricing.
3. Visually "designing" an app involves nothing more than choosing the location of toolbars and buttons on IE.
4. The new PCs are little more than launching platforms for an "MS Office appliance". A fair number of PCs out there exist for the sole purpose of running office. Office is the portion of the M$ empire that is hardest for OSS to elimintate.
So it all comes down to this: Bill wants to get people focused on saving money via cheap hardware, because he can subsidize that in the short run and lock out competitors in the long run.
The "Net PC" had this kind of business model. It failed. Those who fail to understand history are condemned to repeat it.
Microsoft can only make money, with free hardware, if the box is locked down to prevent it running software that isn't authorized by Microsoft. It's not hard to see that this is precisely MS's strategy. The Xbox is just the tip of the iceberg. Fortunately MS are not too hot with security and for at least a few years we can expect PCs to still be hackable even when supposedly locked down. But eventually MS will learn, as they always do. And then we'll all be screwed.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
"How likely is it we'll get "visual editors" for complex systems"
Does the Lego Mindstorms "program editor" count?
* Take bright yellow "for...next" piece, and place on page
* Attach it to end of program
* Attach bright red "toggle variable x" pievce, and attach it to the middle of the for loop
I can only assume the lego people have 8000x4000 pixel screens or something...
I think you're talking about psDooM (Credit to grub as it was posted earlier)
The real trend line Mr. Gates missed is the trend towards computing platforms being simply service delivery vehicles. Savvy business people are already moving to this model.
This is a difficult model for Microsoft to see, since it cuts at the heart of their business model which is based on the IP of their software. Some within MS do get it, but it is hard to turn a big ship.
The real challenge for the FOSS community is to recognize that in order to avoid vendor lockin there must be standard interface protocols for the evolving service delivery models. For example if the US or other governments (or large enterprises for that matter) would adopt OASIS as a common document storage standard, then vendor lockin for document management can be avoided.
The growth and adoption of the Internet is a good analogy in this regard. The Internet did not fragment as some predicted because interoperability was a key driver for the consumers of Internet services.
In the same way the adoption of key standards further up the protocol stack will be a brake to single vendor lockin. It will take the active participation of user to prevent the natural tendencies of software houses to lock customers into their products. What we as users should be demanding is service interoperability.
Just as I can use my Nokia cellphone to talk to someone using a Motorola cell phone, I should not be required to use MS Word in order to send a document to someone who happens to use MS Word.
Microsoft wants the world to be a monoculture where they control the software gene pool. This is very dangerous to the health of the software industry as a whole.
However, if the last fifteen years of microsoft dominance were a business phenomenon but a technological aberration, software prices may just be in a real overhang due to correct in the next few years. There has to be some sort of economic entropic balance between hardware machines and the software that runs on them -- perhaps modded by the productivity gained. If this pseudo-natural system is not in balance, it will (eventually) correct itself. -wheatking and pretty things.
At the risk of shooting myself in the face....
:P
I would say that right now we have officially reached the point where 2 year old hardware is more than adequate to do everything excluding gaming/video encoding etc.
My computer is 3 years old and still works fast enough for everything...I dont think the newest version of windows has ever ran on such old technology. And since hardware speed doubles every about year...this trend will be exponential. So in 10 years, the newest OS will run on maybe 8 or 9 year old computers is my best guess...
Although predicting the future is like russian roulette...if you win its fun, but most people end up losers
[I can picture a world without war, without hate. I can picture us attacking that world, because they'd never expect it]
This coming from the figurehead of a company that has lost close to $2 billion "selling" hardware.
The hardware will be free and programming will be visual memes belong next to the we will be driving flying cars by 1999 and aliens are among us memes of times past. They sound cool, and anyone can shut their eyes and dream pretty things with them, but they are still ridiculous.
Everything has a cost, in money, labor, thought, design, and plain old hard work. If a company needs software that doesn't yet exist, or serious customization of existing software, it's hard to believe that it will stop paying people to hand-design, hand-build, and hand-optimize these systems to maximize profit. It is equally hard to believe that commercially viable visual programming tools can be made so fine grained as to be competitive in power and versatility with conventional programming.
It's not that insane, and remember that Gates is a billionaire in part because his company has been abusing its monopoly. To an extent, if he wants something to happen, he can make it happen. What he means by "free" is that users will "subscribe to" software and in doing so, receive a machine on which to run that software, effectively for nothing. This is what Microsoft wanted to accomplish by bullying retailers not to bundle other operating systems. My guess is that they will attempt to use "Trusted Computing" (or some technology just like it) to make their intention into a reality; if you want to run Microsoft's software you will have to run it on computers which only run Microsoft's software or software written by Microsoft's partners (in other words, companies which have bought the right to have their software run on MS's hardware). So they can make the cost of hardware approach zero, so long as they can be sure the hardware is only usable for purposes for which they can make some money. Of course, all of this depend on governments around the world letting MS get away from it.
Reality is defined by the maddest person in the room
I think that implementing software doesn't take as much time as designing it and the design phase is independant of the implementation language. Therefor total design time is hardly affected by the chosen language unless you design on the fly (design while you type code), which is a bad thing in my opinion anyways.
So you ALWAYS design your ENTIRE PROGRAM before you start coding? You obviously haven't worked on any sort of real project, with intermediate deadlines, changing requirements, extensibility requirements, etc., etc.
If you're trying to do a 2 year project and after the first 1.5 years you still have no code, and therefore nothing even resembling a prototype, because you're still designing, don't think you're going to get funded.
Sure, you can visually link a few tools together, piping output from one into another, and you can click a few boxes and generate a basic SQL query. Wow.
That's great for hello-world level tasks, like calculating the fibonacci series, or defining a data model. Sure, you could essentially write a 'Notepad' equivalent with twenty clicks because it's mainly one big text-entry dialog with a file and edit menu, all of which use standard functions and know how to interact with the text dialog.
Now write the grammar-checker. Or, write a program that generates a 3d-model from a list of surface descriptions in XML format. Write a 'bot' that navigates through the 3d-world described while considering tactical and strategic concerns.
At some point all of the trivial clickable stuff is done and you need to do the heavy lifting - things for which no standard dialogs are written. And you always reach this point, if you try to go at all off the beaten path (you know, innovate). For the bot example you could 'click and drag' some inputs to customize an already-written bot AI if it was exposed as an API, but you couldn't make it do anything truly new.
And your falacy in assuming we (the doubters) will be proven wrong is that there's a difference between doubting we'll ever reach the moon and doubting that we'll reach it with method X. I don't doubt that programming simple things will become easier, I already see this in fact. I merely doubt that it'll happen in a drag-and-drop interface and that this data modelling will ever be on the cutting edge.
It'll come along and handle all the trivial stuff, like letting users script application usage, or define 'macros' in programs like Photoshop where you drag the output of a filter onto another filter, into a loop of filter and sharpen till a certain point, to a resize function, etc.
We'll get to the moon, but your hot-air balloons won't be how - not that we won't have hot-air balloons, but it's painfully obvious to someone in the aerospace field that hot-air balloons are of limited use in travel between planetary bodies (though inflatable balloons did function well as a landing mechanism), much like clickable interfaces might be used as part of many systems, but not as the core.
You know...I've tried and tried to use the 'visual' SQL generators...and but for all the simplest models...I cannot work it right. I can much more easily and quickly write SQL by hand. Dunno, I'm usually very visually oriented in many cases, but, for complex queries...I can do it with a text editor better than I can the ones like you described...
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
Some good points (but "Access"? No need for profanity, Sir - and if that's the cost to create databases visually, I win! ;) ). I do believe there will be (and that there already exist) domains where visual design/'programming' works quite well.
The HTML example wasn't meant as a literal one, or that it follows that every visual design approach is inherently broken. A clearer example might have been the command line (the *n*x one) - decades old and non pareil for quite a lot of stuff, regardfless of the billions spent in GUI development. It's even coming back (OSX, Windows).
Of course. Languages evolve, as do all things. The entire software/hardware ecology evolves - that's kind of my point too. Evolution also means that what we can (or want to) achieve with programming will evolve. And that we never can take 'everything' into account. Moving targets, the lot of them. Perhaps the frameworks/systems needed to visually create tomorrow's applications will handle all the special cases, and make visual creation of "everything" faster, more powerful/flexible, etc. I'm a doubter ;) (and have been wrong before).
Microsoft might have the magic bullet, with their gargantuan .NET framework, managed code etc. VisualEverything *shudder* might become feasible - we'll see, nay, visualize ;).
668.5
It's already happening. I think some Unix licenses cost about as much as a Mac...so you can think of buying a Mac as getting an OS X license and you get free hardware.
This is priceless a bill gates moment. we need to add bill gates saying software should not be free to the list on constants of the universe. seriously he will never EVER allow windows to be open source and free, so the only thing he could see being free is hardware, which given the complete lack of any evidence that this could happen ( as apposed to the OS movements free software ) defies logic in only a way bill could conjure up. As for his ideas of visually designed software, can we have an IP lawer here please?!, he's been stealing ideas from movies like "paycheck" it's hard to believe this man has written a single line of code if he thinks visual objects are a substute for anything serious. big bubbles and "internet clouds" belong in the planning room only.
If you mod me down, I will become more powerful than you can imagine....
Conversely, with Microsoft's OS and office software monopoly firmly in place, prices have been going up and innovation has been stagnant. Can you point out any feature added to Word since 1997 that you actually need?
If you assume, as Gates obviously does, that Microsoft's monopoly will still be around in ten years, then his prediction that software will not be commoditized is correct. On the other hand, if OSS breaks Microsoft's monopoly on the desktop, mature software will be free (as in beer) and service will cost money.
Healthy would be if Microsoft were to be relegated to having to actually innovate to earn money while markets that have been around for a while open up to competition and get commoditized. If a software component is so mature that a handful of college students can replicate the functionality in their spare time, professional software makers should have to move on.
We see a little bit of that in the server market where Microsoft is having trouble leveraging its monopoly in order to kill the open source competition. Poor reliability and lack of embraced and extended standards that create lock-in have successfully thwarted all attempts by Microsoft to corner this market. Result: Choice, higher quality and lower prices.
Hopefully, Novell will be able to aggregate and focus the community's effort to dislodge Microsoft from the desktop monopoly sooner rather than later. Also hopefully, the increased visibility of Linux by way of the laughable SCO lawsuit and recent endorsements by HP, IBM and other fortune 500 giants will enable Linux to gain critical mass in this market too.
So I can finally make secure software for windows by just using the big lock icon? About time security on windows was made easy!
SAILING MISHAP
but clearly Microsoft is betting on the trend of higher levels of abstraction become ever more important in the future of computing. Let's look at a brief history of computer programming.
In th beginning programs were most assembly/machine code. No abstraction. Ultimate flexibility and power to control the system, very little help in doing mundane or repetetive coding tasks.
Then came the early higher level languages. Whether procedural or functionally based (or some other paradigm), these gave programmers powerful tools to create more complex programs with only marginal loss in flexibility and power. Later methods such as OOP seekd to improve the levels of abstraction.
More recently, "scripting" languages have started to come into being as able to prototype and in some cases fully develop complete applications. Python and Perl, have less pure control and usually lower performance than languages like C or Fortran, but are much faster to develop in and are usually much easier to debug due to less code needed to solve the same problems.
The question is: what is the next level? Some day I think we'll get to have Star Trek like interfaces to our computers. Ask a question in natural language, which would then presumably be processed into an Ultra-High Level language description the computer can process directly. Obviously this is way off in the future, but I think that the trend is clear: as computers get more powerful we will use ever increasingly high level interfaces to get tasks done, relying on processing power to make up for less efficient algorith representations and a rich set of existing APIs to solve the majority of the problems that any application has to solve.
Microsoft thinks that the next level is a visual development environment. I think this is probably wrong, visual layout is inherently difficult and constraining, source code divided into distinct modules is not limited by spatial dimensions an facilitates searches and queries much more readily.
I think that the Open Source community is currently and a much better route, though through evolutionary rather than revolutionary means. Open source languages like Python (and probably Ruby, which I do not know but a lot of people seem to like) are very high level, easy to learn, and expose a huge number of APIs coded in higher performance languages like C. These APIs solve most of the common problems, and HLLs bring them together to form applictions. When more power or flexibility is neededdevelopers can drop into the lower level languages and develop their own modules which are linked into the HLL. If necessary, this can be done all the way down to the bare metal. A Python application could use C code for certain computationally intensive sections, which may in turn use assembly to take advantage of special instructions on the target architecture.
An even higher level language could be built that uses Python as a lower language when necessary, whihc in turn could use C, etc. The trick is developing a language that makes a significant proportion of tasks significantly easier than Python, or a language like. This will be done I feel, though it may require even richer and more powerful APIs than are currently available.
This progression to increasingly high level textual descriptions certainly meshes better with the Start Trek goal, and does not impose any of the restrictions of a visual environment upon the developer at any stage along the way. it will be interesting to see which method is more successful in the future.
The ultimate plays for Madden 2006