flat assembler
Message board for the users of flat assembler.

Index > Main > Should i ...

Author
Thread Post new topic Reply to topic
f14t



Joined: 27 Sep 2006
Posts: 36
f14t
Very Happy Hi to all !

My question may or may not be a little out of context for this section,
but i could not select another section for my queries.

I believe that every one out there who's using assembly for fun, work or
nothing know pretty well what they are doing.

My humble request plus question for Assembly Gurus and Users alike.

Please show me the way.

Should I program in assembly to be successful in Programming World ?

I should make it a little more detailed.

Are the Programmers who do not use assembly for their work, in any way
inferior or less skilled than the ones who use Assembly?

For making big name (and money as well) can i safely ignore the
Assembly language ?

In short is it better to use High Level Languages, to Grow Career wise
and Financially ?

Confused

Aabhaari (Grateful)
[/b]
Post 16 Oct 2006, 09:28
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
what do you call "success"? money, or quality of your products? For money / career, you should rather learn .net, php, etc. It is possible but hard to find good job with assembly. It's much easier to find well paid boring job with HLLs

For quality of your apps, assembly knowledge is must-have.
Post 16 Oct 2006, 09:43
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
donkey7



Joined: 31 Jan 2005
Posts: 127
Location: Poland, Malopolska
donkey7
use assembly if you enjoy coding, dislike hll restrictions, like programming tricks, want to get maximum pefrormance, learn how everything is really done, use your creativity, etc.

use hll if you want faster development, better support (it's not the fault of assembly itself, but most programmers doesn't care about assembly), less bugfixing, strict programming rules (thus improved readabilty of others code), more jobs ,etc.

many skilled coders use combination of c++ and asm, but still many things are automated in hll and performance isn't highest possible.
Post 16 Oct 2006, 10:53
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
just note: understanding asm is vital to be good C / C++ coder. you don't have to code in asm, but you need to understand machine you are coding for
Post 16 Oct 2006, 11:14
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
cod3b453



Joined: 25 Aug 2004
Posts: 619
cod3b453
Industry always goes for the highest level language at the time [time vs money], so it used to be things like C/C++ now its gone more to Java, C#, .NET etc BUT there is still a need for lower level languages like ASM, C, C++ in certain areas.

ASM is a very good way to learn how every aspect of a PC works, the best example is probably trying to write an operating system, it requires a lots of reading, but you learn everything.
Post 16 Oct 2006, 12:41
View user's profile Send private message Reply with quote
donkey7



Joined: 31 Jan 2005
Posts: 127
Location: Poland, Malopolska
donkey7
also keep in mind that experience and general knowledge makes big difference.

by using sophiscated algorithms one can write many times faster programs in for example java, than another one in assembly using simple algos.

code design is also important. one can write more readable sources in asm than another one in hll.

everything depends on coder experience and community support.

for example, there aren't such thing as libasm (as opposec to libc) that would consist of many simple and commonly needed functions or stl equivalent for asm.

and most asm coders don't know fasm, so they uses old 'dinosaurs' like tasm or masm, which have very limited macro capabilities.

etc. etc.

asm is not always the best solution. if, for example, you want to write program that is used only once or by very limited amount of users or generally rarely then you must decide whether the effort put into making effective assembly code is worth the effect, i.e. if you want to make program that replaces all 'a' with 'b' on odd lines in file 'dsaf.txt' and be used only once then using hll or script is a wiser solution for this problem.
Post 16 Oct 2006, 14:52
View user's profile Send private message Visit poster's website Reply with quote
sleepsleep



Joined: 05 Oct 2006
Posts: 9002
Location: ˛                             ⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣Posts: 334455
sleepsleep
sorry for late reply
hopefully you r still interested with asm (just read ur post in feedback)

Quote:

Should I program in assembly to be successful in Programming World ?

yes. let me share a little bit of my experience.

got my first pc, win95. then playing with the OS, deleted the vga driver off from the OS the next day i got the pc. felt scary. (coz don't know how to return it back to normal 24bit color). and reading some buddled manual book, take a vga driver and install it back.
saw a little manual explain about internet and a simple HTML source, then try it using notepad. after than learning asp then php.
have no idea what is windows application, play with vb, found some C tutorials but totally got confused by those data types

always dream to create own OS and leart that i need to know asm in order to do so. get an asm book 400 to 500 pages which i totally got no idea what every pages is talking about, then spend time on it and learn asm, then found fasm, then learning windows api through icezelion tutorial.

it is just how deep and detail you want to learn.
after all, these are all just bits, it was human designed format, specification that make all these things complex and force us to follow the "spec" in order to use it.

follow your heart Smile and happy coding.
Post 20 Oct 2006, 23:38
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Most job are for higher leave languages, that because they want the job done quick.
But theres times when you need asm coders, example new processors etc, then because theres not many asm programmers they get payed more.
I believe there will be more work for asm programmers in embedded sys etc.
But you should also learn to code for arm as well as x86 + others.
Post 21 Oct 2006, 00:14
View user's profile Send private message Reply with quote
Octavio



Joined: 21 Jun 2003
Posts: 366
Location: Spain
Octavio
Dex4u wrote:
Most job are for higher 'level' languages, that because they want the job done quick.
.

And also because many people thinks that a 2MB program is better than 1MB program so bloatware is a required feature ,i read that ps3 games
will be 25GB of size and doubt they care about size optimizations Smile
Post 21 Oct 2006, 01:15
View user's profile Send private message Visit poster's website Reply with quote
Goplat



Joined: 15 Sep 2006
Posts: 181
Goplat
Console game makers don't have any motivation to keep size down since they would still have to buy whole DVDs even if the game only took up a fraction of the space on it. Also, the bigger a game is, the longer it would take to download, so bloat discourages copying as well.
Post 21 Oct 2006, 01:53
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
What kind of programming do you want to do? Systems stuff (C, asm)? GUI progs (Obj C, C++)? Web stuff (Python)? Multipurpose scripting (Perl)? Insanity (Intercal, Brainf***)? Very Happy

Seriously, choose a language (or two) that you're interested in (based on personal taste, previous experience, popularity based on others' work, etc.).

Most hyped "new" languages? Java, Python
Most popular conventional langs? C, C++, BASIC
Other commonly used langs? Perl, asm
Most interesting? Forth, Lisp

It depends on what you want to do.

P.S. I agree completely with donkey7 except I don't consider macros (which are almost always non-standard and incompatible with other assemblers) true assembly (i.e., disassembled code doesn't have 'em). BTW, sed is a good, (usually) small, fast scripting util to replace 'a' with 'b' on odd lines in dsaf.txt.

Always be aware of dedicated tools for specific tasks, even if you (wisely?) decide to ignore them. Don't reinvent the wheel without a good reason.

P.P.S. Octavio, I think the data ("textures" and other crud) is taking up most of that 25 GB (or so I heard ... e.g., Doom 3 levels and textures had to be modified to accomodate XBox 1's relatively limited 64 MB of memory). Very Happy
Post 21 Oct 2006, 03:08
View user's profile Send private message Visit poster's website Reply with quote
Niels



Joined: 17 Sep 2006
Posts: 255
Niels
Hello f14t,

You asked 3 questions...

1.
Quote:
Are the Programmers who do not use assembly for their work, in any way inferior or less skilled than the ones who use Assembly?


I assume you meant 'programming C( or other HLL)' when using the word 'work', although I am someone who thinks that any human would benefit from learning ASM..., but to continue with your question, knowing ASM lets you understand p.a. C better, that could mean that you will benefit from it and program better in p.a. C.

2.
Quote:
For making big name (and money as well) can i safely ignore the Assembly language ?


I think that is the wrong approach to choose any language. Don't choose the guitar for the money if you heart says violin.

3.
Quote:
In short is it better to use High Level Languages, to Grow Career wise and Financially ?

Yes, if you reference to man-made 'careers' and the man-made understanding of 'wealth'.

Niels.
Post 21 Oct 2006, 10:26
View user's profile Send private message Reply with quote
Niels



Joined: 17 Sep 2006
Posts: 255
Niels
If you want my futuristic opinion about question 3:

I believe the greater understanding of humankind will give ASM a alot more users.

Niels.

ps.
C can never explore the full potential of ASM.
Post 21 Oct 2006, 11:04
View user's profile Send private message Reply with quote
Niels



Joined: 17 Sep 2006
Posts: 255
Niels
I believe that companies like NVIDIA and likewise should be a shamed, they try to make the hardware go as fast as they can and they let people pay big amounts of money for it and then they use drivers in C, download the latest driver, how much is it this time 20Mb, 30Mb?

Niels.
Post 21 Oct 2006, 11:14
View user's profile Send private message Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u
Bit off topic, but this is a great demo, of how to make games small, but still with good graphics. http://produkkt.abraxas-medien.de/kkrieger

Not bad for 97k Smile.
Post 21 Oct 2006, 17:06
View user's profile Send private message Reply with quote
F9



Joined: 29 Sep 2006
Posts: 17
F9
Only read the first 2 or three replies so far and point were made...
Quote:
just note: understanding asm is vital to be good C / C++ coder. you don't have to code in asm, but you need to understand machine you are coding for

There is the majority of your answer !!!

I am the ultimate sceptic.

It took me over two years of buying plenty of $50.00 and better MS, how-to, what-to do books and I reading tons of threads related to this very question, before i accept to program in assembler.

If you are more than serious about what you want to do, and have a decent amount of time to spare, (testing, reading etc) you got no choice because it ONLY makes good since to go from ground up.

It's all about how low you are willing to go to pop that bugged and see how the so-called higher-ups got to be called what they are today. c, C++, .net etc while all at the saMe time coming up with new un-known things. It all end up in assembler or what some call assembly. Do c for the money. Do asm than c for the money, the mind, THAN much much more.

Quote:
For quality of your apps, assembly knowledge is must-have.

Case close... other than it's known as assembler not assembly and never forget that and accept no difference !!!
Post 23 Oct 2006, 13:20
View user's profile Send private message Reply with quote
donkey7



Joined: 31 Jan 2005
Posts: 127
Location: Poland, Malopolska
donkey7
it depend very much on how you perceives assembly.

great majority of hll programmers thinks assemblers are stupid, asm code is hundreds times longer, modern hll compilers optimizes code almost as good as asm programmers, etc.

this is untrue. look at fasm. it has powerful macro preprocessor with which you can design your code as you like (almost Smile ). the only thing that is unnecesarily complicated in asm is complex mathematic operations. but this is caused mainly by (stupid) fpu design.

with asm you always have to write a few times more lines of code (2x, 5x, 8x, it depends on your asm experience, but not 20x or 100x).

asm is used mainly for three things:
- programming lowest level hardware interfaces and runtime functions.
- speed optimizations.
- bypass hll compilers drawbacks/ highest control of the code.

fist two points don't need explaining.

third is the thing that (together with second point) gives you the power of assembly. some peaople like this feeling (like me Smile ) and prefers to do some things in unusual ways that are impossible to implement in hll's. it's some kind of programmind art.

hlls were made to speed up writing things that are made many times and asm is used mainly for unusual/ uncommon things.

asm is good if you want highest performance (to compete with others).

if performance isn't your main concern don't use asm.

this is the most important condition for language choice.

many other factors can come to mind.

the best way to determine if assembly is good for you it to treat asm as a hobby. after two or three years of asm coding (in fasm Smile ) you can tell yourself is asm is the right choice.

do what you want, but don't seed (?distribute?) outdated, untrue, discouraging stereotypes about assembly. just point to fasm forums Smile

there are many beautiful things made in asm...
Post 23 Oct 2006, 17:28
View user's profile Send private message Visit poster's website Reply with quote
f14t



Joined: 27 Sep 2006
Posts: 36
f14t
For hobby, i love to program the scariest algorithm in Assembly. Very Happy

But

For professional work ...

i think i am quite undecided as yet. Shocked

I believe that one should use assembly only if it's impossible to do
without. For example to write a compiler Wink you need to not only
learn the assembly but you also will be thinking ways to generate
optimized assembly algorithmatically.

When you write an OS there are a couple of things only possible
through assembly.

So,
if my job or rather work at hand does not absolutely necessitate
i should not be using assembly.

As for optimization in assembly, i rather feel that's too bothersome.

We must design faster and better yet cheaper hardware than worrying
for every single performance hike and space bit in the already, on the
way of becoming obsolete, weared out hardware designs.

Have you heard of DNA computer ?

I beleive it's gonna be atleast a million times faster and better than
the contemporary ones.

Look ahead.

I like using assembly for fun.
Because it's the strange and creative (nothing short of an Art) way of
programming the obvious things and ideas.
Post 26 Oct 2006, 12:07
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.