PDA

View Full Version : Hi New to forums new to programmming some advice would be great...


No-one
05-11-2010, 09:38 AM
Hi, Having messed arround with code on and off for a few years inlcuding some debugging, writing a bit of code for PHP based CMS I finally want to start learning in a bit more of a structured and ordered manner...

I think I would like to start with C and see how that takes me with the aim at wring some video and image processing software...

Can anyone advice me on good books for both C and writing algo's in this area...

Are there any prerequisites for progrmamming in general other than being able to turn on a computer , log on launch a program and type?

Thanks,

BrickInTheWall
05-11-2010, 05:46 PM
First, you have to learn a language, I'd suggest C++ or C# for something as complicated as you'd like to do. Most beginner books wont teach you much on video/audio, if anything at all. So you'd have to learn the language first, then get a book (or read tutorials) on the subject you are interested in. Then you can implement what you have read. Without trying to discourage you, it's not an easy task. But it's not rocket sience.
You don't need to know all too much to start programming. The beginner books will teach you what you need to know to get started (like compiling a simple program).

No-one
05-12-2010, 06:33 PM
Okay.. any books you would recommend?
Thanks,

Spookster
05-13-2010, 01:39 AM
First, you have to learn a language, I'd suggest C++ or C# for something as complicated as you'd like to do. Most beginner books wont teach you much on video/audio, if anything at all. So you'd have to learn the language first, then get a book (or read tutorials) on the subject you are interested in. Then you can implement what you have read. Without trying to discourage you, it's not an easy task. But it's not rocket sience.
You don't need to know all too much to start programming. The beginner books will teach you what you need to know to get started (like compiling a simple program).

I would disagree with that. You don't have to learn a language first. The language is just a tool. They should learn how to program first and then determine what language would best suit this task and then become familiar with that language. Then identify any additional libraries that might be needed to accomplish this task and become familiar with those API's.

No-one
05-14-2010, 05:10 PM
I would disagree with that. You don't have to learn a language first. The language is just a tool. They should learn how to program first and then determine what language would best suit this task and then become familiar with that language. Then identify any additional libraries that might be needed to accomplish this task and become familiar with those API's.

Okay :)... My initial thoughts for a language was C for the reason that it will allow me upgrade to C++, Java etc. reasonably easily, will teach me some of the better programming practices due to it being quite picky and also is low enough level for me to get a bit of grip on whats is actually going on...

However is there any good books for teaching this, plus where/what do I look for books on coding for image and video processing, GUI's?

I would like to start right :)...

Thanks,

drhowarddrfine
05-14-2010, 06:26 PM
The C Programming Language (http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&s=books&qid=1273857674&sr=1-1) - Kernighan and Ritchie. The only book worth the price. I haven't read them all but this is the only one I'd recommend. Ritchie, the creator of C, wrote this in an easy to read and understand form that's straight to the point.

The first time I was forced to learn C (I was an assembly language coder and hated everything else) I bought the book before that one, without ANSI. Mine was published in 1978 and still sits on my bookshelf right behind me. It's the only book I would grab if I had to.

No-one
05-14-2010, 08:22 PM
The C Programming Language (http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&s=books&qid=1273857674&sr=1-1) - Kernighan and Ritchie. The only book worth the price. I haven't read them all but this is the only one I'd recommend. Ritchie, the creator of C, wrote this in an easy to read and understand form that's straight to the point.

The first time I was forced to learn C (I was an assembly language coder and hated everything else) I bought the book before that one, without ANSI. Mine was published in 1978 and still sits on my bookshelf right behind me. It's the only book I would grab if I had to.



Is that you hinting that I should be hard core and learn assembly first like a real coder? ;)

How easy is it to follow for a non programmer?

Thanks,

drhowarddrfine
05-14-2010, 08:57 PM
Is that you hinting that I should be hard core and learn assembly first like a real coder? ;)Absolutely.

How easy is it to follow for a non programmer?

Google apparently doesn't have much to show but here are a few snippets (http://books.google.com/books?id=DK5QAAAAMAAJ&dq=c+programming+language) from the first edition. Either of these books might be at your library. Whether a non-programmer can follow along, I don't know how easy it will be. Most programming books are lousy anyway. This one isn't.

oracleguy
05-14-2010, 09:07 PM
Is that you hinting that I should be hard core and learn assembly first like a real coder? ;)

How easy is it to follow for a non programmer?

Knowing assembly can be useful but don't feel pressure to like start memorizing all the instructions for your architecture and such. Assembly code is architecture specific and these days it is rare that you'd need to write any assembly when developing a program. The one exception being embedded programming, assembly is more common in that area.

No-one
05-16-2010, 08:13 PM
Okay... What started of as a slight joke, actually has got be quite curious...

What would it entail for me to learn Assembly? I have a summer and virtually no life as well as no real one either so ... :).

Like you are saying it is architecture specific does that mean the code is not very portable?

And how specific is it? For example will my code work on any 32 bit architecture or is it even more specific than that?

Also what books do you reccomend?

Thanks. You have all been amazingly helpful so far despite me becoming more unsure on how to proceed...

BWiz
05-16-2010, 08:59 PM
I would probably start off with MIPS Assembly Language (http://chortle.ccsu.edu/AssemblyTutorial/index.html) and use the SPIM simulator (http://pages.cs.wisc.edu/%7Elarus/spim.html). From what my CS major friends tell me, it's easier to transition into other assembly languages once you have picked up the skill sets with MIPS.


And how specific is it? For example will my code work on any 32 bit architecture or is it even more specific than that?
From what I understand, assembly language programmed for Intel processors may not work for AMD processors. Different processors also support different instructions sets too, so you need to look at that too. There are differences too when you are targeting 32 and 64 bit platforms.


And how specific is it? For example will my code work on any 32 bit architecture or is it even more specific than that?

Assembly was never really meant to be portable.

oracleguy
05-16-2010, 11:03 PM
From what I understand, assembly language programmed for Intel processors may not work for AMD processors. Different processors also support different instructions sets too, so you need to look at that too. There are differences too when you are targeting 32 and 64 bit platforms.

Intel x86 processors and AMD x86 processors are binary compatible meaning the support the same instruction set. So assembly code written on say a Core 2 Duo will run on an AMD Phenom. Assembly is specific to the processor architecture.