What do you guys think of a programming contest that would demonstrate the power of assembler compared to other languages? Here is what I thought: 1. Create a simple program that does some basic input output . The program should have a window, several text boxes, some buttons, etc. 2. Do some procesing with the data. 3. Spit out the data (in the window) What would be cools is to show the final EXE size in each application. We could show Delphi, C, C++, Assembler, and maybe VB. This could be used to demonstrate the power of assembler. Also, the time it took to develop the application would be important. I would suggest some Guru's would produce the programs in each language. What do you think? Sounds like fun? :)
rainbird, While your idea has merit, it begs the question of whether xyz language is the correct tool for the job at hand. High level languages have their place, exe size isn't a determining factor. Many hll are fast enough in their operation that the person/user is the slowest link. Many hll allow development so fast, that I can write a program in a few days that, two or three asm programmers couldn't duplicate in six months or more. Delivering bugfree code quickly has an advantage. Assembly currently doesn't lend itself well to code reuse. Some/most of the folks on this board won't even look at Randall Hyde's HLA, which will accelerate development time in asm, while still allowing handwritten code at any time the developer thinks they may do better. I am here to learn enough about assembly to be able to replace certain slow functions in my language of choice, and enjoy the people on this board whom are generally very friendly.:rolleyes:
Rainbrid, thats a good idea you've suggested but I don't know if the type of program you've suggested would be a good test. To write a program that uses a window, has several text boxes and button. Then lets say upon pressing certain buttons the values in the text boxes are are used in calculations and the result is outputted. Unfortunatly such a program would take about five minutes tops to write in VB, assembly would easily take twice as long. Its also alot harder to use assembly to proform calculations unless your good at it. I suppose my point is that while you get a smaller more efficient exe, for simple dialog apps its alot easier to write in a HLL, and if you use the correct compiler settings it won't necessarly be that big to matter to most. I don't think it would therefore, convert any programmers to assembly. Of course I myself would only use assembly and I don't really know why I'm argueing against it, I do also think a comparasion test would be in order. Maybe a speed test: someone would have to carefully layout a calculation, and it would have to be optimised mathmatically before hand so that the only further optimisations that programmers could proform on it would be relating to thier language of choice.
I think it might also be interesting looking at the disassembly of the programs, comparing what's going on behind the scenes in different languages. Thomas
Did anyone else hear that VB.net has a special view that shows you the assembly code your program will compile to. Each line of VB code is shown followed by the assembly instructions it compiles to. I was looking at a screen shot and four line of VB code, code that code easily be written in four lines of assembly seen as it was simple math actually compiled to more than 12 assembly instructions plus two calls to some other procedures, talk about bloatware
Zadkiel, do you mean the IL (intermediate language) representation of VB.Net - which MS calls 'assembly', or was it real assembly language view of VB code? I'd be nice to see the weak points in the code generation and the assumptions that the MS programmers made.