WPF (Windows presentation foundation), it seems like new layers just keep coming in and the older one is going out before I can even finish my GDI "tetris game" in assembly. What kind of future will it hold for win asm programmers? :lol
Like fashion... it will turn a full circle within 15-20 years.
The presentation will be different, but it will be the Same Old Shi..t
:bg
My first dx9 asm program, I had coded a small include file for setting up a dx screen, draw loop and a few vertex buffers, but the time I had my program set up, a new version of direct was shipped. I couldn't even render a single frame before another direct was shipped.
I wonder what microsoft programmers eat for breakfast.
Quote from: zemtex on December 17, 2011, 10:03:20 PM
My first dx9 asm program, I had coded a small include file for setting up a dx screen, draw loop and a few vertex buffers, but the time I had my program set up, a new version of direct was shipped. I couldn't even render a single frame before another direct was shipped.
I wonder what microsoft programmers eat for breakfast.
:lol Are you serious? Theyr programming syle is that bad?
Assembly programming is becoming increasingly irrelevant, even now it is little more than a platform to call libraries few of which are written in assembly and a good compiler can outperform an average assembly language programmer. That trend will continue until the use of assembly is relegated to older OSes running on older machines. Microsoft long ago decided to move away from the procedural model toward the class based object model of programming, something which assembly is not well suited for but we trudge along in anyway even though other languages handle it more elegantly. Even the class based model may be short lived as research into NLP (Natural Language Programming) moves forward, then the programmer will not even need any knowledge of objects or classes or even the most rudimentary programming skills to write a viable program. Anyone who can describe, in natural English (or other languages), what they want the computer to do will be able to write a program. It's still a ways off, but I expect that eventually we will see languages that process natural speech and build applications from that that are adaptive enough to allow the "programmer" to clarify and expand the functionality at need.
In my opinion that's the way it should be, a person should be able to instruct his computer to perform a task without having to have any knowledge about how it goes about it and the computer should be capable of extrapolating what is required to meet the needs of the user. I can't wait until I can have a conversation with my computer in which I can explain what I need it to do, it asks a few questions then sets about building the application.
And before anyone starts spouting the old "they have predicted assemblers death many times but it has never happened" stuff, it represents only a fraction of a percent of programming languages in use today and that number inexorably shrinks every year. I love assembly language, its my programming language of choice but it doesn't make me blind to the overall trend.
that would really suck all the fun out of it
i write in assembler because it is a fun and interesting challenge :U
Its interesting to think about may happen down the line. I read an article recently about facebook's new just in time compiler for php, which i think we will see more of in future. I can envisage a blending of the virtual machine with just in time compilers so they can be ran on any platform. And with the whole gadget/widget/app model that has come about recently with smartphones and tablets, i think this will spur this on.
Scripting of some sort will still be needed in future to drive the data models and application logic, perhaps will the likes of HTML5 and other conventions sitting on the top of the whole process, but as donkey said, the interface to all this in the future may well be the likes of apples siri voice technology or something similar that is expanded to provide that support and allow the just in time compilation and execution of an app that is defined by common tasks, providing the programmer a simple extension of their own logic. The NLP idea does make sense as a lot of programmers that use multiple languages probably already start designing with a pseudo code, and the NLP would be an evolution of this.
So i agree that the lower level stuff will most likely become less viable to use to implement in the various api layers that are adapted as we move towards this new future. But its still fun to program is asm :D
I remember when I lear C++ it was so complicated, and there is lot of thing I need to remember, assember is pretty straight forward, it was just the instruction that are too much, so it is looks complicated, but after I get the logic, it was so easy.
QuoteIn my opinion that's the way it should be, a person should be able to instruct his computer to perform a task without having to have any knowledge...
No doubt resulting in a further separation between those who understand how things work, and those who don't, and an erosion of basic metacognition skills.
Assembler usage has been shrinking for a while, and the area's requiring high proficiency rather niche.
The trick is to know a lot of different languages, and when is the appropriate time to use each, or to look for other alternatives. People that know only one trick will just apply it to everything regardless of appropriateness, and will be left obsolete when everyone else moves onto something better or different.
Keep expanding your horizons and learn new things.
Consider where Microsoft is going with OS and Platforms.
Consider where their competition is going, and the more fractured landscape that is appearing now Microsoft isn't the only viable platform.
Quote from: zemtex
I wonder what microsoft programmers eat for breakfast.
Supposedly their own dog food.
Quote from: clive on December 18, 2011, 02:56:22 AM
No doubt resulting in a further separation between those who understand how things work, and those who don't, and an erosion of basic metacognition skills.
Isn't that the whole point of computers in the first place, to perform tasks for you that you are unable due to knowledge or time to perform yourself ? I mean that's why we have them in the first place, I can only hope that we reach the goal of removing the need for any technical knowledge at all. The level of separation from the hardware grows every year because that's the end product that was promised by computers, it was never that everyone could understand the myriad combinations of Boolean gates, we were promised that we could ask it a question and get an answer.
Unfortunately I have to admit that Edgar is right. The trend is going that direction.
However, Microsoft will continue to hate the word "legacy". In most enterprises, small or big, you will find a suite of self-coded products for doing production-critical things. Go into a travel agency, and look at their screen. Often enough, you still see a green-on-black DOS screen with cryptic info. That is stone age, but it lives side by side with speech recognition. And guess which of them works better, in the eyes of the share holder?
I have a dozen little helpers that make my life easier, some of them programmed in GfaBasic (defunct but mine works fine), others in MasmBasic. They do exactly what I need, and efficiently. Of course, I could get tidier interfaces with Visual Basic, and I have a pile of code in VBA, too. But I hate that object-oriented stuff, I want it straight.
The niche of assembler is shrinking, no doubt. But somebody has to write those fantastic C compilers, and my suspicion is that somebody still knows how to write assembler code. Folks, it is Sunday morning, nobody around in the Forum, except me, one new member, and
72 Guests.
Ever noticed how little time it takes to see your posts in Google? They treat this site as if it was CNN :bg
QuoteThe future of windowss assembly programming
www.masm32.com/board/index.php?PHPSESSID...board=6;...
You +1'd this publicly. Undo
12 posts - 8 authors - Last post: yesterday
... new member, and 72 Guests. Ever noticed how little time it takes to see your posts in Google? They treat this site as if it was CNN BigGrin ...
:bg
I have been hearing "Oh Woe Is Me" about assembler programming for a very long time, in about 1994 Microsoft was telling us it was no longer needed yet 6 years later its part of VC/VS again, I wonder why ?
Is assembler specialised ? YES.
Is it a main stream language ? NO.
Will it ever be in any real hurry ? NO.
Does it appeal to the great unwashed ? NO.
Is it useful ? haha, depends on if you can write it or not.
If you can write it, is it useful ? Only you can tell and that is if it does the job for you.
Is assembler a "hobby" language ? If that is how you choose to write it.
Is assembler a "professional" language ? If that is how you choose to write it.
RE: bad assembler is slower than good (whatever), bad (whatever) is slower that good (whatever), you don't need to add assembler into the equation.
You will know when assembler language is no longer useful when Microsoft no longer need it, for all of the HOO HAA they still throw enough resource at it to keep it more or less up to date.
Would it be wise to hold your breath waiting for assembler programming to die off ? probably not. :P
My own approach is that an assembler is like having a specialised spanner in your toolbox, if you need a hammer you don't reach for a specialised spanner but vice versa, if you need a specialised spanner, don't waste your time trying to hit it with a hammer.
I think it's interesting that for ml64 they went back to the basics, not much higher level stuff.
Really though, what is ml used for now? Drivers I guess, but what else significant?
Assembler will be around for a long time because what you input is your output, no interpretation (except for high-level .IFs etc., but they are usually simple).
Even if Microsoft drop it, there are plenty more around, and let's face it - Windows programming is all about calling APIs to do the work.
Maybe COM and stuff make it harder but you can translate C code to asm, the other way is a lot harder. Someone needs to know the low level.
Quote from: donkey on December 18, 2011, 03:40:05 AM
Isn't that the whole point of computers in the first place, to perform tasks for you that you are unable due to knowledge or time to perform yourself ? I mean that's why we have them in the first place, I can only hope that we reach the goal of removing the need for any technical knowledge at all.
I hope that the requirement for humans to think and learn is never removed.... The very fact that there is a lack of jobs when there are so many such achievements unaspired to, so many linguistic concepts unknown by so many, shows a distinct lack of substance to the human race.... My life is about more than just ASM but I fell there is a responsibility for future generations to understand just how the AI works.... After all this is the POLITICS of the future!!!! Unfortunately I think the capitalist system misunderstands the term 'information is money' far too often.
Quote from: jj2007 on December 18, 2011, 07:23:01 AM
Unfortunately I have to admit that Edgar is right. The trend is going that direction.
I guess my thing is that I don't see this as unfortunate at all, its a natural progression of the original intent of computers. It is the goal we all reach for even when we write applications, to make them intuitive and easy for the user to perform complex tasks without the necessity of understanding how those tasks are performed. I think that to do this on the hardware and OS level will be a great advance, it will free the user of the need of specialized knowledge and begin an era of computer use that we can only imagine right now. We can already see the first steps of this trend on the hardware level, SSE, virtualization and encryption are now supported in instruction sets, how long until speech recognition is no longer primarily software based ?
The future of OS development is in managed environments like Singularity and COSMOS, the era of the programmer having ultimate control over the machine is closing because it was abused by hackers and malware writers. Soon the desktop OS will be nothing more than a collection JIT modules running on a virtual machine that are inaccessible to languages like assembler except at the OS building and compiler writing level.
Quote from: sinsi on December 18, 2011, 09:11:25 AM
I think it's interesting that for ml64 they went back to the basics, not much higher level stuff.
Really though, what is ml used for now? Drivers I guess, but what else significant?
Assembler will be around for a long time because what you input is your output, no interpretation (except for high-level .IFs etc., but they are usually simple).
Even if Microsoft drop it, there are plenty more around, and let's face it - Windows programming is all about calling APIs to do the work.
Maybe COM and stuff make it harder but you can translate C code to asm, the other way is a lot harder. Someone needs to know the low level.
COM is pretty much dead now except as an interop layer exposed by .NET managed classes and many of those are not even bothering to implement COM. You can look at GDI+ as an example of this, the majority of the functionality of GDI+ isn't even exposed outside of the managed environment. The same appears true for much of Windows 8 and the Metro UI, there is only limited programability through COM and virtually none at all using the flat API.
I can not tell you folks how many times in the past near 30 years I have seen this question be asked. I don't see assembly disappearing anytime soon it will always have a following. But its not were the money is. If your intent is making money as I am (though my days of working full time are ending soon) then you best learn the markup languages, html, css and javascript. From pc's to handhelds running web based applications is where the future is headed. As stated I believe assembly will always draw that crowd of folks who want more, who want a better understand of how the machine works and we bunch of obsessive nerds are not going away anytime soon. :bg
Quote from: donkey on December 18, 2011, 03:40:05 AM
Isn't that the whole point of computers in the first place, to perform tasks for you that you are unable due to knowledge or time to perform yourself ? I mean that's why we have them in the first place, I can only hope that we reach the goal of removing the need for any technical knowledge at all. The level of separation from the hardware grows every year because that's the end product that was promised by computers, it was never that everyone could understand the myriad combinations of Boolean gates, we were promised that we could ask it a question and get an answer.
Hi Edgar,
It's true that computers are invented to accomplish difficult, heavy, boring and repetitious tasks. That should be the philosophy. Just have a look at the Linux world. The people there they are always inclined to complicate even the most elementary tasks. For me, it's amazing to see how they can argue on installing Firefox. Probably, this should be never a problem for a Windows user as you download the installation package and double clic it to start the installation. This should be an easy task for Win users. On the other hand, linux users especially the experienced ones would advise you to install Firefox using the command-line. Now, why not to download the installation package and double click it? The link below is about installing Firefox on Ubuntu and the command-line method is explained. The text is followed by 30 comments and it's all about installing Firefox :dazzled: Ubuntu is supposed to be user friendly but even the community of this OS would encourage you to learn every sort of command-line tricks even for basic tasks :
http://www.ubuntugeek.com/how-to-install-firefox-8-on-ubuntu-using-ppa.html
Hi Vortex,
And you wonder why this happens:
(http://santafemusicscene.net/LinuxJournal/LinuxMarketShare/linux-desktop-share.png)
The comments you read from the Linux guys generally blame its flat growth in the desktop market on the lack of marketing or the predatory practices of Microsoft but that just emphasizes the fact that they just don't get it. Linux distros make way too many exaggerated assumptions about how tech savvy their users are and focus on those users. If they'd spend a little less time trolling websites to post their evangelical views of their OS and more time actually developing something the average user could handle they might one day be as innovative and polished as Microsoft and Apple.
I've been lurking on this site for quite some time due to my nostalgia concerning assembly programming. Debug output is the closest to assembly code I've come in the past 5-6 years or so but I still long for it sometimes when programming in c. As for assembly programming, for general purpose code it's certainly disappeared if it ever really had a place, for specalized code it still has a strong niche where performance really counts. Hand optimized simd code in video encoders such as x264 still wipes the floor of what the best performing compilers can achieve unless you guide them step by step with sse insintrics, but even then the hand optimized assembly code remains faster. For general purpose code however, writing in assembly is hardly efficient as the difference in performance achieved by an assembly expert will not make that much difference and the compilers or today will easily beat a non-expert assembly programmer.
Also, compilers keep improving and newer optimization techniques further lowers the gap between the assembly expert and the compiler. One of the more interesting optimizations of later years is the profile guided optimization, where you compile in two stages, first once followed by running the code at which stage the compiler logs tons of runtime information concerning loop unrolling, branch prediction, cache locality etc. Then you compile it again a final time at which point the compiler uses all this gathered runtime data to optimize the code much more efficiently.
However, as always is the case with translating code from the original language (assembly) to another language something is lost in that translation and in assembly vs high-level it's control. When you program in assembly there is no room for interpretation, it's 'what you write is what you get', when you program in higher level programs there is a layer of interpretation which often forces the programmer to use special keywords/methods to get the compiler to generate really efficent code, like static, const, restrict, aliasing, insintrics in c for example.
I'll always find assembly elegant in it's pure logic and powerful due to it's control, however it's demands alot more from the programmer both in knowledge and time which is why (I assume) there are so few projects written entirely in assembly. I think it will remain somewhat strong in that extreme performance hotspot niche for quite some time yet, but eventually compiler heuristics will catch up and regulate assembly code to inline asm for kernels/drivers low level cpu/io instructions. Still it's inspiring seeing all you guys still coding away and despite no longer programming in assembly I still come here periodically to get my fix, there's something soothing about a beautiful piece of assembly code that no high-level language code can provide :)
Hi Ghostly,
Low level control is no longer a definitive reason to choose assembly, newer supersets of C# like Spec# and Sing# give you low level control while at the same time functioning within a managed environment. Outside of bootstraps and perhaps interrupt handlers there is little use for assembly language in future OS design, as a matter of fact many of the OSes on the planning tables do not even allow assembly language to be used. "Windows Midori" which will be based on Singularity is the vision that Microsoft currently has for the future of Windows and will be almost completely written in managed code with even the kernel written in C#.
But have heart, Singularity is nowhere near ready for widespread release, assembly as a developer tool still has a few years left.
I have to disagree with you on the managed code OS'es, they're a dead end which will not see production use. There's a reason Microsoft dumped singularity on academia. Midori is vaporware in my book. The reason is that there's no real world demand for a managed code OS, it's typical academia/RD vs real world needs. Instead of Microsoft pushing a managed code environment for Windows 8 code we get WinRT, which is a native code runtime. Certainly you can utilize the runtime from managed code, but again native C++ is the first class citizen, despite all the talk of Windows going all managed code userland all the way back from the pre-Vista days.
I find some humour in the near endless life of the Windows API, we have had DDE, OLE, COM, DOT.NOT etc ..... but the old API keeps slugging away. it is not as if Microsoft would not like to fully get rid of it but the lessons of Vista did hit the mark and backwards compatibility will be with us for as long as Microsoft want to sell operating systems. Managed code is little more than an updated version of QBASIC and while it is reasonably powerful if you can find the right function to do your task, it lacks the flexibility and low level grunt of C++ for designing new and different things. If you have the right set of libraries C is still a viable option for some tasks but nothing compares in terms of binary code to a fully fledged assembler.
The action is not in boot disks or the odd bit of high performance code but in the near absolute freedom of architecture when writing binary code. It is a skill based language and usually the longer you have worked in it, the better you get at it in much the same way as the earlier generation of C programmers kept getting better.
I tend to hear trolling like this from people who are in their post-assembler phase, they may have written it once but have shifted their mindset to higher level languages but suffer nostalgia about the low level control. As usual people who need it will keep writing what they need in assembler and this goes for Microsoft as well, they don't fund the upgrades of MASM for reasons of nostalgia, they keep updating it because they have a use for it. ML64 may be a pig to use but it will do the job they need it for in the same tradition that MASM has always had, a bad mannered old pig that you must know well that does not hold your hot little hand and save you from your mistakes.
One thing I have been thinking about for a while is a chip based OS(pretty much a VERY basic OS) that would be hard wired in your system..any actual improvement would be software based. One reason I concidered this is,if your system got slammed by outside effects,or if the software system just crapped on you is you would still have a basic ability to boot up from the chip and from there fix the software side.
One might actully run a virtual system through the chip OS for one thing.
Actully I think what most people want from a Computer is something like what the phone is now,just pick it up and use it with no knowledge needed or wanted. IBM is pridicting within 5 years mind control of all devices..And from my following the tech trends,that is probubly close to becoming the future. Dumbing down all tech is it seems the future.
Quote from: hutch-- on December 20, 2011, 12:39:43 AM
I find some humour in the near endless life of the Windows API, we have had DDE, OLE, COM, DOT.NOT etc ..... but the old API keeps slugging away. it is not as if Microsoft would not like to fully get rid of it but the lessons of Vista did hit the mark and backwards compatibility will be with us for as long as Microsoft want to sell operating systems.
Within a virtual machine, Windows 7 gave us the preview of that in XP-mode. If it doesn't run in Win7 then you'll just have to either live with it or run it in VM ware. The same was done with OSX on the Mac, break compatibility but allow older style programs to run within a VM without regard to whether they are efficient or not. The API as a set of functions will probably never go away however, The legacy API will eventually migrate to XML based redirects of the API to managed code. Any new API functionality is generally exposed to a managed environment with only passing consideration given to unmanaged interoperability.
I do like the fact that anyone who presents a not so rosy opinion of the future of OS development are labelled "trolls" and are in their "post assembler phase". Nice to have a discussion under such circumstances though I am far from in my "post assembler phase" I do have some programs where I have to use other languages for as the features I need are not accessible from assembly at all. But I do bend over backwards trying to find a way to do it in assembly first and only turn to C# et al as a last resort, I have demonstrated how to access many of the interop layers that were thought inaccessible here and will continue to attempt an assembly solution before anything else.
:bg
You tend to get replies like this from trolling on a topic that has 15 to 20 years lead time on it. We heard it in 1990 and earlier, then we were told it was no longer needed in 1995, then DDE was the smart technology, OLE was going to make everything else redundant, then COM was the saviour of the universe until DOT.NOT hit the deck.
RE: Crosby Still Nash and Young Deja Vu.
And it seems, arrrrr bin here before,
Ooooo oooooo and it make me wonder, what goin' on etc .... :P
Quote from: Ghostly on December 18, 2011, 08:46:53 PM
there are so few projects written entirely in assembly.
There are many big projects written in asm. Tons of operating systems are written in asm. Here is one of them, called Kolibri OS written in Fasm.
(http://upload.wikimedia.org/wikipedia/commons/f/f2/KolibriOS.png)
Here is another one called Menuet, written in Fasm.
(http://upload.wikimedia.org/wikipedia/commons/6/6a/Menuet.png)
What a pity MSoft developers did a better job that many years ago... Now Bill cannot abandon his money base can he. :bg
I really don't know why he bothers, and should have rather stuck to the working formula with better apps.
:8)
Hey Zemtex.. I didn't even know about those OSs. An old dog and learn new tricks every day.
I'll have a look at those. :U
On the homepage of Menuet you can see they are playing Quake on it he-he
Quote from: zemtex on December 20, 2011, 09:28:57 AM
There are many big projects written in asm. Tons of operating systems are written in asm. Here is one of them, called Kolibri OS written in Fasm.
Hmm, I don't think menuet, kolibri, solar OS (am I missing any more?) translates to 'tons'. Apart from these OS'es which certainly counts as large projects I guess there's some assemblers written in asm which also fit's the bill. But those are still very few projects, compare that to projects written in a language like C (which ironically is called low-level these days by the script-kiddies and Java, C#-style programmers) and the amount of assembly projects are absolutely miniscule by comparison.
Quote from: zemtex on December 20, 2011, 09:28:57 AM
On the homepage of Menuet you can see they are playing Quake on it he-he
Which is a game written in 99.9% C with a tiny bit of floating point math in assembly for the performance critical parts, same goes for Quake 2 and Quake 3 (although there it's vectorized simd assembly iirc). This is how I see the current state and foreseeable future of asm, as a way to cram the most out of a performance hot spot while having the rest of the code in a high-level language. Granted, I don't have the skill/speed in assembly development these days for it to ever be practical for me to write a whole project in assembly code which may tint my view of things, but given the small amount of full assembly based projects out there it seems there are few who are capable of this.
Meanwhile I see assembly code continue to be employed in performance critical code, most of the encoder/decoders out there contain hand optimized assembly to get the best possible performance, compressors, hashing algorithms sometimes also rely on assembly code for speed optimizations, heck even for something as simple as jpeg decoding there's the popular jpeg-turbo which uses mmx,sse,sse2 assembly code to give a 2 to 4 times performance increase over the C jpeg library. Also it should be noted that these optimizations pretty much all concern SIMD vectorization which is pretty much THE area where compilers are still way behind the expert assembly programmers, compilers are progressing here aswell but all you need to do is download x264 and compile it with asm disabled to see that there's still ways to go before the compilers catch up there.
I hope I'm not coming across as negative against assembly because nothing could be further from the truth, this is just my reflection of where assembly programming stands today and what the future holds. Also, this is nothing but my own subjective view of things, YMMV and all that.
If you were talking about operating systems, here are some examples of asm operating systems. (Just examples, there are plenty more)
DexOS, BOS – 32-bit DOS-like OSes
Derrick Operating System – A 32-bit protected mode OS
MenuetOS – 32- and 64-bit GUI operating systems
KolibriOS – 32-bit GUI operating system
Miraculix– 32-bit GUI operating system
If you look at these and try to grasp, we're talking operating systems here for a single assembly (FASM), if you consider that, it is pretty amazing.
It doesn't really matter, when it all gets down to the point, it's all assembly. A c program is not worth anything if you don't convert it to assembly. But you are right that those who want to make money, they use c++. Those who want to learn and have fun use assembly. If you need to make money, you might as well choose a RAD type language, it has even much faster development than c++.
Write your programs in c++, then use performance monitoring, locate slow routines, compile the routines in c++, optimize them in assembly, put it back again. I think that is what asm is useful for mostly. (trying to hammer large spikes in your c++ programs)
I also believe that asm is excellent for writing libraries
To all who contributed to this thread: Every time I hear this lament, I think back to a very old story from the anthology "Nine Tomorrows" by Isaac Asimov named "Profession" (copyright 1957)The book is difficult to find, but worth the search.
Dave.
Quote from: KeepingRealBusy on December 20, 2011, 11:06:46 PM"Nine Tomorrows" by Isaac Asimov named "Profession"
Someone has to program the Tapes that program the Educated, "men and women with capacity for original thought." (http://en.wikipedia.org/wiki/Profession_%28short_story%29)
Nice story. I have a slightly more pessimistic version: Windows 7 needs 16GB of disk space, that is 2700 times the amount of Win 3.1. There are only marginal improvements since then, so it means that they accumulated an immense pile of C crap (remember our comparative advantage is that we can read and judge the disassembled assembly code of, say, WinWord.exe :green2). But deep deep under the surface of that dumping ground, a little engine called DOS is still running the whole thing, and only a handful of people know its secrets :wink
you must have had a different version of win 3.1 than i had - lol
i think they got away from DOS pretty well at win 2000
although - some of the structures are still in there :P
Quote from: dedndave on December 21, 2011, 03:01:38 AM
i think they got away from DOS pretty well at win 2000
Try naming a file
con under Windows XP :toothy
well - that's a device name, like NUL, CLOCK$, LPT1:, COM1:, and so on
Quote from: jj2007 on December 21, 2011, 02:32:16 AM
Quote from: KeepingRealBusy on December 20, 2011, 11:06:46 PM"Nine Tomorrows" by Isaac Asimov named "Profession"
Someone has to program the Tapes that program the Educated, "men and women with capacity for original thought." (http://en.wikipedia.org/wiki/Profession_%28short_story%29)
Nice story. I have a slightly more pessimistic version: Windows 7 needs 16GB of disk space, that is 2700 times the amount of Win 3.1. There are only marginal improvements since then, so it means that they accumulated an immense pile of C crap (remember our comparative advantage is that we can read and judge the disassembled assembly code of, say, WinWord.exe :green2). But deep deep under the surface of that dumping ground, a little engine called DOS is still running the whole thing, and only a handful of people know its secrets :wink
Jochen,
I think you missed the point of the story. The people "educated" by the "tapes" were not free thinkers, but only professional in the sense that they could operate complex machinery, but could not improve the machinery they were working with. The free thinkers could not be so "educated" because that "education" stifled the creativity capability. Further more, the candidates for the free thinkers could not be told this, they had to finally understand they they COULD think and invent on their own even though they were committed to "the institution of the feeble minded".
I agree with you. As my dad who was educated in 30's and 40's electronics said about the transistor age "Give me my horse!" My mainstay is MASM.
Dave.
I started programming chips in machine language over 35 years ago, then moved on to assembly in the late 80's, the back to chips about 10 years ago. As far a I can tell, military and custom scientific apps, that require speed, will allways require some sort of low level programing language. Will this change with the advent of quantum computers, I doubt it. The military and scientists will allways want to push the envelope, and maximize computational power to decrease run time.