|
-
Dec 9th, 2009, 07:39 AM
#1
Thread Starter
Hyperactive Member
Is learning assembly language worth it?
Hi all,
Programming is my job/study and also hobby at the same time. I am really interested in how everything works and I am thinking about spending some time learning assembly language.
You learn how a computer really works with assembly language and I think that knowledge will be very useful to solve problems and write more effective code in higher programming languages.
I like to know if you think learning assembly is a waste of time or not. Because it's really old and even Windows itself is written in C. A higher language then assembly...
-
Dec 9th, 2009, 09:10 AM
#2
Re: Is learning assembly language worth it?
It may be old, but it is also fundamental. However, as you have posted many things in the VB.NET forum, I would have to say that ASM is less useful for you, as some of the efficiencies in ASM simply do not translate well into VB, where they might in unmanaged C/C++.
Having said that, I still encourage you to look into ASM. You might never write a single line in the language, but your second sentence summed up the reason to learn fairly well. There is also the advantage that if you learn ASM, you will find the generated IL easier to understand, as IL is similar to ASM in several ways. Of course, reading IL is not necessary for programming, but it can be interesting for seeing how certain problems are solved.
My usual boring signature: Nothing
 
-
Dec 9th, 2009, 06:23 PM
#3
Re: Is learning assembly language worth it?
Learning AVR-ASM at uni was quite beneficial. One one part, it showed us how to take care of memory optimisation, writing efficient code, etc. On the other part, it was so much of a challenge that I forgot almost everything after I finished using it. Haven't had to think about it much either since most of my coding is Perl.
-
Dec 10th, 2009, 08:32 AM
#4
Re: Is learning assembly language worth it?
There is no general assembly language. Its depents on the processor.
-
Dec 10th, 2009, 08:37 AM
#5
Re: Is learning assembly language worth it?
Yes, ASM is fundamental and it certainly does teach how to do say memory optimisation BUT imho learning assembly these days is a waste of time unless you want to become system(s) programmer or you have nothing better to do.
Btw, Windows was written in more than just one language - they primarily used C, C++ and C# but some parts were done in assembly.
-
Dec 10th, 2009, 10:28 AM
#6
Re: Is learning assembly language worth it?
Let me amend my answer to state that I don't think learning ASM to any great depth is currently valuable unless you are doing some low level systems or driver programming. learning it sufficiently to be able to read it roughly, is sufficient, as that will give you information on how ASM programs are laid out, how memory management works, and so forth. Actually learning it to the point that you can write anything significant in it is probably not so useful.
My usual boring signature: Nothing
 
-
Dec 10th, 2009, 10:42 AM
#7
Thread Starter
Hyperactive Member
Re: Is learning assembly language worth it?
Ok thank you all for your replies.
I am thinking of writing a tiny OS (on a floppy disk) in which you can type something, save it and load it next boot. That will be a good exercise and a challenge. I have absolutely no idea how to do this, but that's when I perform best . I need something challenging to keep me going and not giving up half way.
I have been studying a lot of theory today and yesterday about data- ,control- ,memory bus etc... It makes you appreciate what a wonderful piece of technology a computer really is.
-
Dec 10th, 2009, 12:19 PM
#8
Re: Is learning assembly language worth it?
Yes, it certainly does that.
My usual boring signature: Nothing
 
-
Dec 10th, 2009, 12:36 PM
#9
Re: Is learning assembly language worth it?
You've heard the phrase "A rising tide raises all ships". Well ... for the most part the tide isn't at assembly language any more.
I spent years writing assembly myself, back in the early PC days - had to. Memory management was still being developed (I wrote memory management and many device drivers) and it rocked. At that point in time (back in the early to mid 80's) you really needed to know assembly to get the most out of the PC environment.
Today? I wouldn't say that you should spend any time you can't afford to waste with it. If (as you have said) it's strictly for fun so you can learn the fundamentals of computer architecture, then cool. However as has also been said, if you are planning to use the knowledge to get a job or a contract you will need to be interested in very low-level device control type work. You won't write a "killer app" in assembly today. There are simply too many optimized compiler offerings that allow you to get high-performance code at a high level today.
-Max
The name's "Peck" .... "Max Peck"
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." - Red Adair
-
Dec 11th, 2009, 09:29 AM
#10
Re: Is learning assembly language worth it?
Unless you're trying to learn how to program esoteric devices like microcontrollers, there really isn't a need anymore . I also learned assembly years ago. I'll be damned if I can remember even a tenth of it today. Every now and then, I come up with a situation where it was nice to have, but I wouldn't recommend anyone learning it unless they had a need to.
There still are needs for assembly; don't get me wrong. Drivers still need to be written for new hardware and assembly is required. Companies that have lost source code to legacy applications need programmers who can reverse engineer (remember Y2K? :P ); and assembly is a great reverse engineering tool.
-
Dec 11th, 2009, 09:59 AM
#11
Re: Is learning assembly language worth it?
I think that spending time on MSIL rather than ASM these days would be more fruitful.
-
Dec 11th, 2009, 06:50 PM
#12
Re: Is learning assembly language worth it?
I'd think much of the benefit of learning to write close to the machine level can be obtained by working with one of the emulators of 8-bit processors or pseudo-machines.
It is an entirely different matter if you are going to be doing microcontroller development, and in general for anyone going into systems programming. Even there an emulator for a simple machine can be a good place to start though.
Unless you're really going to be working at that level "real" machine experience isn't so important. The background concepts are the same using a pseudo machine.
Here is a simple example of the sort of thing I had in mind.
-
Dec 13th, 2009, 04:08 PM
#13
Frenzied Member
Re: Is learning assembly language worth it?
Learning anything is a good thing. If writing an OS interests you there is a book called Code that you should pick up. It starts of slow but eventually paper prototypes a complete basic OS, it wont give you any specifics but it will explain some of the basics like how to write code that loads code to allow you to write code to build the OS.
-
Dec 14th, 2009, 06:07 AM
#14
Thread Starter
Hyperactive Member
Re: Is learning assembly language worth it?
 Originally Posted by DeanMc
Learning anything is a good thing. If writing an OS interests you there is a book called Code that you should pick up. It starts of slow but eventually paper prototypes a complete basic OS, it wont give you any specifics but it will explain some of the basics like how to write code that loads code to allow you to write code to build the OS.
Can you give me a link to where I can buy that book? Can't find it with google.
-
Dec 14th, 2009, 07:22 AM
#15
Frenzied Member
Re: Is learning assembly language worth it?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|