Earlier quoted context omitted.
>Would anyone actually recommend to a beginner to start learn assembly first? Yes, if you can find a good book about it. Assembler isn't particularly difficult, but the information teaching it is rather hard. Right now, the lowest-level language I know of with a really good beginner book is C, and it's this book: http://smile.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/06...
Out of curiosity, have you looked at the 3rd edition? http://www.amazon.com/Programming-Absolute-Beginners-Guide-3...
Programming from the Ground Up [pdf]
41–50 of 56 posts
Re: Programming from the Ground Up [pdf]
#42Earlier quoted context omitted.
>Would anyone actually recommend to a beginner to start learn assembly first? Yes, if you can find a good book about it. Assembler isn't particularly difficult, but the information teaching it is rather hard. Right now, the lowest-level language I know of with a really good beginner book is C, and it's this book: http://smile.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/06...
The C book you recommended is the exact same one my mum bought for me years ago in late elementary school; I've never seen it mentioned on HN or elsewhere before so I thought I'd also vouch to its effectiveness. Now that I think of it, I should give my mum a call :)
I hope my books do too :)
Re: Programming from the Ground Up [pdf]
#43Earlier quoted context omitted.
Assembly was my second language (BASIC being my first), but it was not the x86 line I learned first (it was my second assembly language). I can name half a dozen architectures that are probably better for learning than the x86, some of them relevant today. Probably in order: 6502---not my favorite, but tons of material and emulators exist. The most popular 8 bit CPU and one of the most simple ones. 6809---my favorite…
I've been looking to buy "Introduction to 64 Bit Assembly Programming for Linux and OS X: Third Edition - for Linux and OS X". It's an introduction to x84-64 assembly, which I thought makes sense for me to learn, because it is the architecture all my computers use. You say x86 is not a good choice to learn, but this book purports to make assembly for this architecture accessible. If you stand by your opinion, are the…
Re: Programming from the Ground Up [pdf]
#44Earlier quoted context omitted.
If you start with assembly I would suggest not picking x86. I would suggest a RISC or virtual assembly like LLVM. x86 just has too much historic weirdness.
MIPS is a great RISC instruction set to learn and has a ton of good emulators out there too, highly recommended.
as for simulators i enjoyed using MARS: http://courses.missouristate.edu/KenVollmar/MARS/
Re: Programming from the Ground Up [pdf]
#45Terrible, terrible information architecture. Love the idea, but it's sooo hard to find your way around that site.
See http://news.ycombinator.com/item?id=6845367
Simple, portable shell script. Not perfect, but it still works. ^M means Ctrl-V,Ctrl-M in ed/ex/vi
#!/bin/sh
# requirements:
# netcat
# openssl
# sed
# optional: strings
# optional: addcr
type strings 2>&1 >/dev/null ||
strings(){ sed ;}
type addcr 2>&1 >/dev/null ||
addcr(){ sed ;}
[ $# -gt 0 ]||exec echo usage: $0 nameofblog
{
printf "GET / HTTP/1.0\r\n";
printf "Host: $1.blogspot.com\r\n";
printf "Connection: Close\r\n";
printf "\r\n";
} \
|exec nc -vv www.blogger.com 80 \
|exec sed '
s/\\046/\&/g;
s/\\46/\&/g;
s/\\075/=/g;
s/\\75/=/g;
/targetBlogID/!d;
s/.*targetBlogID=//;
s/&.*//;
' |exec sed 1q \
|while read a
do
{
printf "%b" "GET /feeds/$a/posts/default HTTP/1.1\r\n";
printf "Host: www.blogger.com\r\n";
printf "Connection: Close\r\n";
printf "\r\n";
}
done \
|openssl s_client -ign_eof -connect \
www.blogger.com:443 -verify 9 \
|exec addcr \
|{
echo
sed '
s/<//g;
s/&/\&/g;
s/"/\"/g;
1i\
s//
name &/g;
s//
uri &/g;
s//
generator &/g;
s/Blogger//;
s//
id &/g;
s//
published &/g;
s//
email &/g;
s//
&/g;
s//
total results &/g;
s//
start index &/g;
s//
items per page &/g;
s//
updated &/g;
s//
thr:total &/g;
s//&
/;
s/^M*/
/;
' \
|strings
}Re: Programming from the Ground Up [pdf]
#46Hah, just today I started to read "Haskell programming from first principles"[1] which also targets non-programmers but builds on lambda calculus instead of assembly. Would anyone actually recommend to a beginner to start learn assembly first? [1] http://haskellbook.com/
Re: Programming from the Ground Up [pdf]
#47Hah, just today I started to read "Haskell programming from first principles"[1] which also targets non-programmers but builds on lambda calculus instead of assembly. Would anyone actually recommend to a beginner to start learn assembly first? [1] http://haskellbook.com/
>Would anyone actually recommend to a beginner to start learn assembly first? Yes, if you can find a good book about it. Assembler isn't particularly difficult, but the information teaching it is rather hard. Right now, the lowest-level language I know of with a really good beginner book is C, and it's this book: http://smile.amazon.com/Absolute-Beginners-Guide-C-2nd/dp/06...
Re: Programming from the Ground Up [pdf]
#48Earlier quoted context omitted.
Use x64 - the calling convention is simpler and you get more registers. Avoid the exotic instructions.
Can anyone recommend the best resource for learning x64 then? I did computer architecture and assembly language 15+ years ago in school but haven't really needed to touch assembly language as a professional programmer. So I know the basic idea of registers and addressing modes and pipelines and stuff, but nothing specific to any architecture. My goal is basically to be able to write faster C and C++ programs and anal…
Re: Programming from the Ground Up [pdf]
#49Hah, just today I started to read "Haskell programming from first principles"[1] which also targets non-programmers but builds on lambda calculus instead of assembly. Would anyone actually recommend to a beginner to start learn assembly first? [1] http://haskellbook.com/
I wouldn't. It's like teaching someone to cook by starting with teaching them chemistry.
Re: Programming from the Ground Up [pdf]
#50Hah, just today I started to read "Haskell programming from first principles"[1] which also targets non-programmers but builds on lambda calculus instead of assembly. Would anyone actually recommend to a beginner to start learn assembly first? [1] http://haskellbook.com/
If you start with assembly I would suggest not picking x86. I would suggest a RISC or virtual assembly like LLVM. x86 just has too much historic weirdness.