Security Basics mailing list archives
Re: Programming
From: miguel.dilaj () pharma novartis com
Date: Thu, 10 Feb 2005 12:49:14 +0000
Hi Ben, Well... you've received any possible imaginable answer so far ;-) I can tell you that any widely used language will be a good start. The idea is to get INTO programming and THINK like a programmer. In my opinion you can start with a high-level one like any flavour of BASIC or similar, move down to medium-level with C, and then, if you're a bit masochist, to the lowest level with assembler. Please note that at all the higher levels you don't have to worry too much about the microprocessor you're using, but assembler will be different on different architectures. With the current gcc compiler, any good C program will generate very nice and fast machine code, so assembler is required only if you're going into the guts of systems (shellcode, binary analysis, reverse engineering, etc. ;-) There's plenty of books out there. Many times even F1 (or whatever your "Help" key is) will provide enough material to start. That's the case if you're going to code in Visual Basic or Visual Basic for Applications (the "advantage" of the latest is that you don't need the Visual Basic package, just use Excel or Access and code some macros). THE FIRST book for C language is "The C Programming Language" by Kernighan and Ritchie. Perhaps is not too advanced, but will definitely teach you about C coding if you follow all the examples and exercises. After mastering that you can move to "Advanced Programming in the UNIX Environment" by Stevens, but don't take that step too soon, the first example in this book is a small command interpreter ;-) For x86 assembler I think that "The Art of Assembly Language" by Hyde is quite a good book. Of course for other architectures this book won't help. An advantage of the combination C and Linux is that you've the source code of everything, 99.99% of it in C. You can give your first steps in C by looking at the code of very simple programs like 'cat', 'more', etc. If you wonder MY learning ladder with coding, it was like: 1) BASIC 2.0 in the glorious Commodore 64 2) Assembler for the Motorola 6510 in the glorious Commodore 64 (it wasn't possible to do anything in BASIC!) 3) Other flavours of BASIC, with strong involvement in VBA, mainly in Excel and Access 4) C, first using Lattice C in an Amiga computer, then gcc (under Linux and Cygwin) in x86 machines 5) x86 assembler (technically, I'm still LEARNING this one ;-) Just my £0.01 Cheers, Miguel Dilaj (Nekromancer) Vice-President of IT Security Research, OISSG www.oissg.org dayz () planet nl 09/02/2005 08:17 Please respond to dayz To: security-basics () securityfocus com cc: (bcc: Miguel Dilaj/PH/Novartis) Subject: Programming Hi, I want to begin with learning programming to increase my knowledge about security, but I don't know where to begin. Can someone tell me which programming language is good to start with, and pherhaps what book and/or online guides I should take a look at? It would be nice that if I learn a programming language that it shouldn't be much work to understand another one. I am on Linux and Windows. Thanks for the help. Regards, Ben
Current thread:
- Re: Programming, (continued)
- Re: Programming xyberpix (Feb 10)
- Re: Programming linux user (Feb 10)
- Re: Programming secans (Feb 10)
- Re: Programming Kevin Carlson (Feb 11)
- Re: Programming Gilles Demarty (Feb 11)
- Re: Programming Brian Knobbs (Feb 11)
- Re: Programming David Heise (Feb 14)
- RE: Programming Rocky Heckman (Feb 14)
- Re: Programming Brian Gehrke (Feb 17)
- RE: Programming Smith, Ryan (Feb 09)
- Re: Programming miguel . dilaj (Feb 10)
- RE: Programming David J ONEILL (Feb 10)
- RE: Programming David Gillett (Feb 11)
- RE: Programming Ernest Nelson (Feb 11)
- Re: Programming linux user (Feb 11)
- Re: Programming zl4t3 (Feb 11)
- Re: Programming Valentin Höbel (Feb 14)
- RE: Programming Schott, Erik J Mr ANOSC/FCBS (Feb 11)
- Re: Programming Valentin Höbel (Feb 11)
- RE: Programming Enquiries (Feb 14)
- RE: Programming Andrew Aris (Feb 17)
- RE: Programming Enquiries (Feb 14)
(Thread continues...)
- Re: Programming xyberpix (Feb 10)