PDA

View Full Version : Tutorial



shadowfax1
October 26th, 2011, 07:49 PM
I have code-blocks ide installed a wondered whether someone could direct me to a simple (newbie) programming tutorial/guide?

karlson
October 26th, 2011, 07:56 PM
I have code-blocks ide installed a wondered whether someone could direct me to a simple (newbie) programming tutorial/guide?

Define a problem you need to solve.
Select a Programming language to develop a solution in.

Only then you will need a tutorial.

If you need help choosing a language post the problem in this forum.

kemtnbkr
October 26th, 2011, 11:32 PM
As karlson said, you need to pick a language first.

Like most things, there are tons of varying opinions on what language to start with, but a frequently recommended one is C.

I started with C, and now am on C++. Starting with C allows you to learn the 'basics' without learning about objects, so I guess I'd recommend that course of action.

As for tutorials, there's tons and tons out there. I've always hopped around from tutorial to tutorial, so I don't have any particular recommendations offhand, but a google search should give you pages and pages of tutorials.

Good luck!

shadowfax1
October 26th, 2011, 11:47 PM
Thanxs...'C' it is then!

llanitedave
October 27th, 2011, 12:17 AM
And if you don't like C you can try Python.

Bachstelze
October 27th, 2011, 12:34 AM
Like most things, there are tons of varying opinions on what language to start with, but a frequently recommended one is C.


I wouldn't recommend it to anyone.

Tony Flury
October 27th, 2011, 12:32 PM
I wouldn't recommend it to anyone.

Nor me - I have developed large applications in C a number of times - and it is not a new-user friendly language - it is very easy to write C code which crashes (I know from painful experience), and it is difficult to experiment with, and tough to debug easily.

For a new developer I would suggest Python or maybe Java. Python especially lets you play very easily with code snippets - open up the CLI and play.

Once you have mastered Python - and have the discipline of programming (more correct s/w engineering down), then move to C or C++ - hopefully your crashes will be fewer by that point.

karlson
October 27th, 2011, 01:45 PM
As karlson said, you need to pick a language first.

No. The first thing is "Define the problem you need to solve".

Superpelican12
October 27th, 2011, 07:11 PM
Yes, Karlson you have a good point. But some people (like me :) ) just want to learn how to program so they maybe can contribute to a open source project, or just write a good program when you need one or extend or fork an existing program. They just want to learn how to program, they'll see what they program later on.

Also, sometimes they just have no idea which language to learn as a beginner. So they just want some help on which language to choose (which sometimes can be almost be as difficult as learning the basics of programming itself ;) ).

I wanted to learn BASIC (KBASIC)in the beginning. But then I found Ruby, which was much more modern, is better for programming for Linux and has a cleaner, elegant syntax. But now I just found out Ruby is pretty slow (I would like to develop simple 2d games later on). So now I'm trying to learn C++...

karlson
October 27th, 2011, 08:24 PM
Yes, Karlson you have a good point. But some people (like me :) ) just want to learn how to program so they maybe can contribute to a open source project, or just write a good program when you need one or extend or fork an existing program. They just want to learn how to program, they'll see what they program later on.


In which case your choice of language becomes clear as you need to learn the one the project is written in. Besides that if you want to contribute to an existing open source project you are welcome to do that but I think that learning about algorithms data structures and understanding of the products features would be prerequisites to your starting.



Also, sometimes they just have no idea which language to learn as a beginner. So they just want some help on which language to choose (which sometimes can be almost be as difficult as learning the basics of programming itself ;) ).

So how does what I wrote not apply? If you are writing a program for statistical analysis R is the best language for that. It is quite high level and is interpreted so you can see results immediately.

If you decide to do the same in C/C++ as a beginner I will wish you good luck and send you a tank of coffee and tell your relatives and friends to stay away from you and take away all object with which you can hurt yourself or other people.

The languages are being designed initially for a specific purpose so they make it simple to use them for that purpose. Later they get adopted for a different purpose and this adaptation sometimes isn't as clear as the original toolset.



I wanted to learn BASIC (KBASIC)in the beginning. But then I found Ruby, which was much more modern, is better for programming for Linux and has a cleaner, elegant syntax. But now I just found out Ruby is pretty slow (I would like to develop simple 2d games later on). So now I'm trying to learn C++...

So allow me to describe what happened here:
I need to write something that would read from a terminal massage it and output it back to the terminal and here comes BASIC.
I need to write some tools for my own use to make my life easier with administering my Linux System or downloading stuff or in the Web page and here comes Ruby.
Now you're doing a 2d game and you tried to apply Ruby which was too slow so you're going with C++.

So again. Problem -> Tool -> Solution not the other way around.

nvteighen
October 27th, 2011, 09:14 PM
No. The first thing is "Define the problem you need to solve".

Yes, and in this case is "How to learn to program", which is a problem in itself, despite the OP's intentions of contributing to a yet undefined FOSS project.

11jmb
October 27th, 2011, 09:25 PM
Yes, and in this case is "How to learn to program", which is a problem in itself, despite the OP's intentions of contributing to a yet undefined FOSS project.

If you can figure out specifically what you want to get out of programming you will be much better off. For example: general problem-solving skills, web development, desktop applications, low-level development.

There are different tools for each of these jobs.

karlson
October 27th, 2011, 09:38 PM
Yes, and in this case is "How to learn to program", which is a problem in itself, despite the OP's intentions of contributing to a yet undefined FOSS project.

In this case define small tasks to do with the computer and use a programming language to do them.