This is completely wrong! Assembly language is very easy and can be used to develop any kind of application. Have a look at this article and visit the WinAsm Studio site for a lot of free open source tools written in Assembly.
Regards,
Antonis Kyprianou
Assembly is very useful in some cases but writing large complex applications in it is crazy. It takes longer and is more difficult to write and is harder to debug than higher level languages and apart from in places that need a lot of optimisation it doesn't offset the extra time spent in development.
Although I don't usually do this kind of stuff, why not?
Because between them the operating system and the processor's protection mechanisms will stop you. If you did try, your program would most likely get itself closed down. You cannot have two or more apps fighting for direct control of one and the same printer (for example).
True, it can be used to develop any kind of application, but what would be the point when a high or middle level language can do the job just as well (and more quickly)?
More quickly? Perhaps.
As well? No. I can beat any compiler on speed or space optimizations. One of the biggest problems with compilers is they must implement the semantics of the language. Those semantics never map optimally to any particular architecture.
ex. on x86 I've never seen a compiler pass a bool flag to a function using the carry flag. They all waste time pushing a stack var, or blow a register.
None of them know how to do extreme space optimizations.
Assembly is very useful in some cases but writing large complex applications in it is crazy.
Who told you so? Having the right tools it is easier. Do yourself a favor get the right tools and try 32-bit assembly for a couple of days.
Quote ...
It takes longer and is more difficult to write and is harder to debug than higher level languages and apart from in places that need a lot of optimisation it doesn't offset the extra time spent in development.
I insist. Just try it for a while. With assembly, you debug what you write and not what the HLL (such as VB) wants!
@mathematician:
Quote ...
Because between them the operating system and the processor's protection mechanisms will stop you. If you did try, your program would most likely get itself closed down. You cannot have two or more apps fighting for direct control of one and the same printer (for example).
There is a misunderstanding here; I would write a driver in Assembly to do this.
Purple Avenger you are right for all but, believe me, having the right tools, you can write assembly code quickly. For example, intellisense of both VB, Visual Studio etc IDE's are well behind intellisense of some Assembly IDE's I know of.
Me. I did it for a couple of modules at uni. It was fun to learn and create simple programs but thats it.
Obviously you will blow the trumpet of it as you are linked to some IDE. I'm not saying its a bad thing. In some cases (as I've mentioned before) its very good and fast, but for every day development it just isn't productive.
Yes I 've developed the free IDE because I had believed in Assembly and not the other way round! Please bear in mind that I 've programmed with some HLL's for years before that. And yes, I was not productive with every language I tried.
unfortunately developers don't invest in technology, business does and business is interested in return on investment. Don't be fooled by open source it's no different, open source is an attempt by business to commoditize software, so it can sell more hardware not satisfy selfless moral ethics. Developers tend to be ethical purists, but purism isn't economic. A developer should be productive in any language, if you understand the theory of computation you're good to go that's the skill, syntax and libraries are just semantics. It doesn't matter what you say, if you build up from assembly, or bolt together with the highest level languages the result is a huge upside down pyramid of extrapalation before you get to anything saleable that invariably falls over..a lot! an individual part built low level maybe perfect - such as a driver - but on it's own without a monolithic OS to serve it's economically a dead duck. The whole thing is pretty shaky if you ask me and we rely on it in every facet of daily life...role on the quantum CPU Then we'll be cooking on gas!
As well? No. I can beat any compiler on speed or space optimizations. One of the biggest problems with compilers is they must implement the semantics of the language. Those semantics never map optimally to any particular architecture.
ex. on x86 I've never seen a compiler pass a bool flag to a function using the carry flag. They all waste time pushing a stack var, or blow a register.
None of them know how to do extreme space optimizations.
Anybody who writes a memory resident debugger, which can randomly interrupt the execution of a program at any point, will soon discover that the average app spends about 90% of its time executing operating system code. Therefore it can be as fast as the OS, and no faster.
No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.