Is assembly worth learning it?

Reply

Join Date: Oct 2006
Posts: 6
Reputation: belhifet is an unknown quantity at this point 
Solved Threads: 0
belhifet belhifet is offline Offline
Newbie Poster

Is assembly worth learning it?

 
0
  #1
Oct 3rd, 2006
hi,

first post here. It seems a very nice community.
So, I know a little about 16bit DOS Assembly and also a little about 32bit Linux Assembly.
I started learning Assembly out of curiosity, to understand C better and to learn exactly how the stack worked.
I am currently learning Linux Assembly, as this is the OS I want to concentrate in for the time being.
While reading, a lot of computing concepts and theories made a lot more sense.
While I enjoy assembly much, a question keeps popping up.

Is assembly worth learning it?

I know that everything you learn can only be an advantage, but sometimes I just get the feeling that I'm wasting my time with Assembly.
I've got a huge list of books that I want to read and I just want to be sure that I'm not spending precious time on something that is obselete, unwanted and useless.
The thing is, that I really like low-level stuff.

So my questions are:
1. I hear a lot of people saying that the only people still writing assembly are some crazy old hackers that refuse to use anything else. Is that true?
2. I hear also that anyone wanting/trying to make a real application in assembly (except device drivers) is a masochist. Like make a GUI in Windows or something. Is that true?
3. It has come to my attention, that there is no dedicated forum for Linux Assembly on the whole web! The only resources/discussions I have seen are a couple of blogs and some empty/deserted subforums in larger assembly forums.
What is the reason of this limited interest in Linux Assembly?
Does this mean that noone uses assembly on Linux?
Or does that mean that doing assembly on Linux is pretty much useless?
4. I know assembly is fast and efficient (if the programmer is good) and is great for developing device drivers, operating systems and is often used in embedded devices. But what are some other applications of it?
5. The most people I see are just *forced* to learn assembly, in order to involve themselves with reverse engineering or cracking.
I think that's because the 95% or more of the assembly material/forums/resources I see is headed towards the Microsoft Windows OS. Because there is a lot of commercial programs that attract reverse engineers and/or crackers. Is that right?
Is there a reason to do Windows Assembly if you're not interested in reverse engineering (I'm not saying that I'm not)? If yes, please list as many as you can.
6. Does learning 16bit DOS Assembly make any sense anymore? Except the concepts/general asm way of thinking taught from it.
Reply With Quote Quick reply to this message  
Join Date: Jun 2006
Posts: 47
Reputation: nytrokiss is an unknown quantity at this point 
Solved Threads: 4
nytrokiss nytrokiss is offline Offline
Light Poster

Re: Is assembly worth learning it?

 
0
  #2
Oct 3rd, 2006
go with a higher level language becuase the only use for assembly is for boot loaders the modern day compilers have power to do so good these days there is no reason to code for speed!
Reply With Quote Quick reply to this message  
Join Date: Jun 2005
Posts: 275
Reputation: andor has a spectacular aura about andor has a spectacular aura about andor has a spectacular aura about 
Solved Threads: 29
andor's Avatar
andor andor is offline Offline
Posting Whiz in Training

Re: Is assembly worth learning it?

 
0
  #3
Oct 5th, 2006
I will try to answer some of yout questions.
Is assembly worth learning it?
The answer is yes and no. Learn it but dont crack your head about it.

1. I hear a lot of people saying that the only people still writing assembly are some crazy old hackers that refuse to use anything else. Is that true?
No its not true. Ok old guys using them more than young ones, but not for hacking. For example for optimising, but not for PC but for embedded systems.
2. I hear also that anyone wanting/trying to make a real application in assembly (except device drivers) is a masochist. Like make a GUI in Windows or something. Is that true?
Yes he is masochist (this is only my opinion which can be false).
It has come to my attention, that there is no dedicated forum for Linux Assembly on the whole web! The only resources/discussions I have seen are a couple of blogs and some empty/deserted subforums in larger assembly forums.
What is the reason of this limited interest in Linux Assembly?
Once time I wanted to add tutorial for MIPS assembler, and I posted a thread to ask where can I do it. This answer I got. So now you know the answer for your question.
Does this mean that noone uses assembly on Linux?
Or does that mean that doing assembly on Linux is pretty much useless?
Skipping these questions becouse don't know the answer.
4. I know assembly is fast and efficient (if the programmer is good) and is great for developing device drivers, operating systems and is often used in embedded devices. But what are some other applications of it?
For example I'm using it for embedded system, but don't know for what also is used.
For other questions don't know the answer.
The point is that assembly is not very popular. For example there are bunch of moderators for assembly forum (which are taken from C/C++ forum) but they hardly visit this forum, not to say that almost never post anything here. Narue posted here (from the team who helps to work this forum) but I don't know where she is. Hadn't seen here for a while. Also the owner of this forum posts here. I'm trying to post as much as I can but only for MIPS assembly. There are off course others who posts here but none of them are mods.
Last edited by andor; Oct 5th, 2006 at 4:04 pm.
If you want to win, you must not loose (Alan Ford)
Reply With Quote Quick reply to this message  
Join Date: Jul 2006
Posts: 24
Reputation: Ryu is an unknown quantity at this point 
Solved Threads: 0
Ryu Ryu is offline Offline
Newbie Poster

Re: Is assembly worth learning it?

 
0
  #4
Oct 14th, 2006
Originally Posted by belhifet View Post
Is assembly worth learning it?

I know that everything you learn can only be an advantage, but sometimes I just get the feeling that I'm wasting my time with Assembly.
I've got a huge list of books that I want to read and I just want to be sure that I'm not spending precious time on something that is obselete, unwanted and useless.
The thing is, that I really like low-level stuff.
Its worth it if you plan stay close with hardware. One of the other reasons why I wanted to learn assembly was to upgrade my debugging skills when writting in higher languages. Its definitly not a useless skill, which may evolve to reverse engineering/cracking but most people I know learn it to utilise themselves for the better programmer, things such as disassembling to debug or find out how the compiler is generating code so you may know how to write a more efficient code in higher languages.

6. Does learning 16bit DOS Assembly make any sense anymore? Except the concepts/general asm way of thinking taught from it.
Besides learning the concept of assembly theres no need to learn the DOS int 21h functions (if you don't plan on writting for DOS) but will get you familiar with real mode which is needed in some cases.
Reply With Quote Quick reply to this message  
Join Date: Oct 2006
Posts: 1
Reputation: Egghead_y2k is an unknown quantity at this point 
Solved Threads: 0
Egghead_y2k Egghead_y2k is offline Offline
Newbie Poster

Re: Is assembly worth learning it?

 
0
  #5
Oct 30th, 2006
Originally Posted by belhifet View Post

Is assembly worth learning it?
I believe so, while High Level languges make life easier, ASM teaches you how processors actually work.


Originally Posted by belhifet View Post

1. I hear a lot of people saying that the only people still writing assembly are some crazy old hackers that refuse to use anything else. Is that true?

Nah ASM is big in the debugging world. A lot of engineerings (especially those who work in reverse engineering) use it.

Originally Posted by belhifet View Post

2. I hear also that anyone wanting/trying to make a real application in assembly (except device drivers) is a masochist. Like make a GUI in Windows or something. Is that true?
LOL, sounds like something a VB coder would say.


Originally Posted by belhifet View Post

3. It has come to my attention, that there is no dedicated forum for Linux

Assembly on the whole web! The only resources/discussions I have seen are a couple of blogs and some empty/deserted subforums in larger assembly forums.
What is the reason of this limited interest in Linux Assembly?
Does this mean that noone uses assembly on Linux?
Or does that mean that doing assembly on Linux is pretty much useless?



While some elements of ASM are OS specific you should focus more on the concepts which are univeral between all processors.

Originally Posted by belhifet View Post

4. I know assembly is fast and efficient (if the programmer is good) and is great for developing device drivers, operating systems and is often used in embedded devices. But what are some other applications of it?
You can code ANYTHING in ASM. Its all about how much time you have on your hands

Common uses:
Boot application
BIOS'
Virii
Stupid Hello world scripts

Originally Posted by belhifet View Post

5. The most people I see are just *forced* to learn assembly, in order to involve themselves with reverse engineering or cracking.
I think that's because the 95% or more of the assembly material/forums/resources I see is headed towards the Microsoft Windows OS. Because there is a lot of commercial programs that attract reverse engineers and/or crackers. Is that right?
Is there a reason to do Windows Assembly if you're not interested in reverse engineering (I'm not saying that I'm not)? If yes, please list as many as you can.

See my closing statement

Originally Posted by belhifet View Post


6. Does learning 16bit DOS Assembly make any sense anymore? Except the concepts/general asm way of thinking taught from it.

Just concepts, which is all you should be looking for



Assembly isn't for everyone, personally I think assembly programming is a wonderful thing. I think most programmers would learn a thing or two if they spent some time learning the cocepts which asm is based around.


That said there is no real reason to learn assembly in depth, writing a few applications and understand the cocepts of stacks, pointers and registries is as far as most people need to take it.
Reply With Quote Quick reply to this message  
Join Date: Nov 2006
Posts: 134
Reputation: mathematician is an unknown quantity at this point 
Solved Threads: 3
mathematician mathematician is offline Offline
Junior Poster

Re: Is assembly worth learning it?

 
0
  #6
Nov 20th, 2006
I learnt assembly in the days of MS-DOS, when the chances of actually making use of it in real life programs were high. But now you will hardly ever find yourself making use of it, and that primarily for two reasons:

1.) Assembly language was the only way in which MS-DOS functions could be called. Therefore, if you wanted to do more than was easily do-able in a high level language, you had to use assembly language. However, the Windows and Linux API's were both designed with C in mind, so assembly language is no longer needed for that.

2.) Another reason for writing in assembly language used to be so that you could directly program the hardware: Bare metal programming as it was (still is) called. However, protected mode operating systems like Windows take a very dim view of applications trying to directly program the hardware, and shut them down if they try. (The reason for that being that, in a multi tasking environment, you can't have two or more programs vying for direct control of one and the same piece of hardware). Therefore assembly is no longer needed for that purpose either.

So, unless I was planning on writing my own operating system, or very low level device drivers (which are mostly written in C nowadays) I would probably have only very limited motivation for learning assembly language today.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the Assembly Forum


Views: 5727 | Replies: 5
Thread Tools Search this Thread



Tag cloud for Assembly
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2010 DaniWeb® LLC