# How do I make computer programs?



## kennyyboii

Well the topic explains it. Like how do I do it? I never done anything before or have a much clue about making programs. I just felt it's very amazing to create programs, so can anyone teach me? (Yes, I have learn nothing at all about creating programs so I want to know does anyone know?)


----------



## Peroxide

You'll need to learn how to code in various languages. (Not verbal languages)

It all depends on who's a fanboy of what, but basically, search vB, C++, Perl, Java and there's a few others, but those are the most common from my knowledge.

If you want to start off easy I'd suggest vB, if you're up for a challenge and want something that could come in really handy I'd suggest trying to start with C++.


----------



## Snip3rWarrior

I doubt anyone here can teach you. Maybe you should purchase a book for a common language..that is easy to start off with. After that transfer your skills to a better language such as C+ C++ and those others that i do not know







. I started off with VB (Visual Basic) in school and it's amazing what you can do.









EDIT : Beat me to it


----------



## Syrillian

Greetings, and welcome to OCN.

A very broad question. I am not a programmer, but have dabbled in some Object-Oriented programming.

Coding is an art-form.

Best to take a class, or purchase a book or check out some books from a Library. It is probably a good idea to decide what you want to code for, then find out what language(s) serve that purpose best.


----------



## stargate125645

Sad that no one has mentioned C, but just its successors.


----------



## kennyyboii

Oh my god, Syrillian, you're Buddhist...........=^^=..........*bows*.

Anyway you all mention of _languages_ so can ya give me a little more details of what ya mean by language that is so called Java, vB, C++, C+, and C. What do they stand for? I've been through some sites that syas many things about lagnuage ubt I don't get it and I saw a chat of it and got me more confused. Please tell me what does it mean.


----------



## dani

start of learning visual basic
its easy and makes nice programs
ill be able to help you with that


----------



## tylerand

Here is an example, this might help you understand what we mean by code.

Code:



Code:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
FILE *file;
char filename[_MAX_PATH];
void main()

    {
    re_open:
    system("cls");
    puts("Type in the name of the .cpp or .h file whose #include files are to be read:");
    gets(filename);
    system("cls");
    file = fopen(filename, "r");
    if(!file)

        {
        printf("The file '%s' could not be opened.\
", filename);
        system("pause");
        goto re_open;
        }
        else

            {
            int icount = 0;
            do

                {
                char line[256];
                fgets(line, 256, file);
                if(!strncmp(line, "#include", 8))

                    {
                    char *result;
                    result = strpbrk(line, "<\\"");
                    result ++;
                    result[strlen(result) - 2] = ' ';
                    printf(result);
                    icount ++;
                    }
                    }while(!feof(file));
                    if(icount == 0)

                        {
                        puts("No #include files");
                        }
                        system("pause");
                        fclose(file);
                        goto re_open;
                        }
                    }


----------



## Peroxide

Quote:


Originally Posted by *kennyyboii* 
Oh my god, Syrillian, you're Buddhist...........=^^=..........*bows*.

Anyway you all mention of _languages_ so can ya give me a little more details of what ya mean by language that is so called Java, vB, C++, C+, and C. What do they stand for? I've been through some sites that syas many things about lagnuage ubt I don't get it and I saw a chat of it and got me more confused. Please tell me what does it mean.

It's just what they call it. It's still in the english language so to speak, it's just different codes do different things in each separate language.

Code:



Code:


Module Hello
  Sub Main()
      MsgBox("Hello World.") 
  End Sub
End Module

Code:



Code:


#include <iostream>

int main()
{
    std::cout << "Hello, world!\
";
}

There's vB and C++ doing basically the same thing, you can see how it's different. That's because they're two different languages.


----------



## Syrillian

Quote:


Originally Posted by *kennyyboii* 
Oh my god, *Syrillian, you're Buddhist*...........=^^=..........*bows*.

Anyway you all mention of _languages_ so can ya give me a little more details of what ya mean by language that is so called Java, vB, C++, C+, and C. What do they stand for? I've been through some sites that syas many things about lagnuage ubt I don't get it and I saw a chat of it and got me more confused. Please tell me what does it mean.

Indeed... please do not bow... I am not worthy... I use technology.









If you are new to programming though, it might be wise to start with Visual Basic, or another Object-Oriented Programming program. That genre allows the coder to create objects such as buttons, toggles, and the like. Then code them. It is a good place to start so that you can get a feel for logic and logic loops (Do until, For/Next loops, etc.) It will also give you feel for "scope", "Functions" and "Arguments". In order to code in VB you will need the program.

There is a high degree of probability that you are already overwhelmed by our posts. Head on down to the Library, or check out some online reading material.

Good Luck, and kudos to you for wanting to stretch your boundaries.


----------



## kennyyboii

To dani, tylerand, and Peroxide: Can you guys tutor me, like teach me basics and stuff and show me video clips of how to do this and that??? (PLEASE TEACH ME T-T, my brother dannyyboii in this site knows how to overclock and build a desktop so I'm jelous and I want to surpass him, but 1st I want to know how to make programs, going to sleep now so I'll be back on in like 8 or 9 hours or so)


----------



## Peroxide

It's truly a lot harder to have someone tutor you than it would be to simply take a class or pick up a tutorial.

There are many good tutorials to start on, simply Google for them and you'll find them.


----------



## tylerand

Its harder then it might or might not look. It takes ALLOT of time and effort, self teaching is the best. Thats how i know everything i know, the internet!


----------



## amd_hardsoftware

C++. start with C++. it will be hard, but once you struggle through it other languages can be learned IN A FEW DAYS..... i learned C++ and now i can code in Java with ease if i have documentation alongside my notepad









if you REALLY want i could help u out but go here:

http://freecomputerbooks.com/
and get all your tutorials


----------



## tylerand

When i program i always need a cheatsheet =P.


----------



## kennyyboii

Woah, before I get on with these _languages_ do I need to like download something from websites to get a program installed on my computer so I can start? Like I said, I'm just a beginner and I want to know what do I need 1st in order to get started and before reading books.


----------



## Syrillian

Here is a link to a download for Visual Basic.

Check it out. I did not read the blurb in it's entirety, so make sure that it is what you are looking for. I believe that it is....










Hope it helps:

http://www.softpile.com/Development/...271_index.html


----------



## kennyyboii

Thanks, but I might not be going to that site. Seems dangerous, my Site Advisor gave me an alert so it might be dangerous; thanks for the tip.


----------



## amd_hardsoftware

get Dev-C++ and GO TO THAT FREE COMPUTER BOOKS SITE and learn C++


----------



## Fishie36

If you have a local Junoir college (community college) you can always just stop by and take one or two classes there. Or you could do it from a book... it just depends on your learning style.


----------



## CWell1337

Quote:


Originally Posted by *Fishie36* 
If you have a local Junoir college (community college) you can always just stop by and take one or two classes there. Or you could do it from a book... it just depends on your learning style.

That's what I'm doing for C++ and Virtual Basic this semester!


----------



## pelirrojo

Please don't start out learning C or C++, you'll get too caught up with the syntax and miss the point. You'll also probably decide you hate it after an hour. The syntax for those languages is really complicated especially if you've never done any programming before and just blah 

I started off with scheme, a really easy intuitive language that is starting to get fairly popular lately for teaching (Teach Scheme movement, PLT scheme, whatever you want to call it). I highly recommend it, colleges and highschools are starting to teach it to new programmers because it's much easier to see the basic concepts and just easier for a beginner to use.

Here are some links you could use:

Go here to download the client (where you type your code) - it's called Dr. Scheme. Just pick whatever mirror you want to start downloading. Install it, go to the "language" tab at the top and under "Teaching Languages" select "Intermediate Student with lambda". Don't worry it's not any harder, it's just that the beginner ones restrict what you can do and change the functionality a little bit... it's good for teaching I guess but I find it annoying 
http://download.plt-scheme.org/drsch...win32-exe.html

Here is a link to the book we used in my freshman CS class "Fundamentals of CS". The entire text is online - the book teaches a lot of the basic stuff in programming, and using the Scheme language to illustrate its points. You can do examples and stuff and just follow along.
http://www.htdp.org/2003-09-26/Book/...lum-Z-H-1.html

I can also upload a bunch of my old little programs for you to look at if you want, so you can see how stuff works and whatnot.

You said you want to make programs - you've got a lot of stuff to learn before you can make what you would probably think of as a program... However you can make cool stupid little things - I'll upload a space invaders-ish game I made where you shoot at little UFOs and whatnot  I'm too lazy atm cause it's not on this computer but I'll do it tomorow at some point.

I'll just show you a couple little things to get you started so you can see how simple it is









Here's a little function that takes in one parameter and multiplies it by 2:

(define (by2 x)
(* x 2))

To make a function like this, you start off by writing "(define (" And then put the name of the function, followed by the parameters it takes in and then you close the parenthesis. Then open another parenthesis, and enter an expression - scheme handles this a bit weird, as you have to put the operators before the numbers so to make it multiply x by 2, instead of x*2, you do (* x 2). It will multiply all the numbers in the parenthesis, so (* 1 2 3 4 5 6) will multiply 1*2*3*4*5*6, or likewise (+ 1 2 3 4) will add 1+2+3+4.

To use the function I gave you up above, you just go down to the "console" below - where the little ">" indicates you can type, and put in something like this:

(by2 5)

You start with a left paren, then the function name, and then the parameters that the function takes. So (by2 10) would multiply 10 by two, and so on.

Using scheme is much simpler and lets you focus more on the basic concepts. It also means you won't have to learn as much nitty gritty stuff before you get to start coding and making stuff happen on the computer! If you were using Java you would have to learn about classes and would need a main method, and blah I still don't understand it all that well









Anyhow have fun, drop me a line if you need help or have questions. It's up to you what you end up doing of course, but I would recommend scheme









Also, a language is just that - a language; just like Spanish, French, Fortran, Perl, Java...  It's how you communicate with the computer and tell it what you want it to do. A computer is just a bit more finnicky than a real person would be and won't understand you unless you speak with perfect grammar in its language.


----------



## FrankenPC

PM me if you want Visual Studio 2003/2005 and VB.NET 1 or 2.0 help. I'm a MCSD developer and have a thorough understanding of modern object oriented programming. I like helping others learn how to code. Great career move on your part.


----------



## money11465

I wrote a FAQ, which is linked to in my signature. It is on vB, which is a good beginner's language.


----------



## pelirrojo

Yeah, VB is a great one to start off on too. The only experience I have with it is making stupid scripts to automatically create and update Powerpoint presentations though. Whatever you think will be more fun.


----------



## BugBash

Learning to code is a very GOOD IDEA if your a youngen,

I taught myself 68000(An old CPU) Assembly language when I had a Commodore Amiga back in the late 80`s/early 90`s (It was the one you got most respect from fellow coders for!)
Im kicking myself that I didnt learn C at the same time (Twas considered LAME by the Assembly crews)

These days your lucky to find anything that uses a 68000 CPU
C on the other hand is a fairly universal language that will only need some changes to run on different types of computer (Not just AMD/Intel PC`s but Macs and other types of computers)
I would be earning a ton of cash now too!!

So get yourself to a library or somewhere you dont have to pay loads for books, find books that speak to you (you understand the jist of what they trying to teach ya!) and get learning!!!!!!!!!!

In a few years time you could also be earning a ton of cash!!

Good luck


----------



## FrankenPC

Quote:


Originally Posted by *BugBash* 
Learning to code is a very GOOD IDEA if your a youngen,

I taught myself 68000(An old CPU) Assembly language when I had a Commodore Amiga back in the late 80`s/early 90`s (It was the one you got most respect from fellow coders for!)
Im kicking myself that I didnt learn C at the same time (Twas considered LAME by the Assembly crews)

These days your lucky to find anything that uses a 68000 CPU
C on the other hand is a fairly universal language that will only need some changes to run on different types of computer (Not just AMD/Intel PC`s but Macs and other types of computers)
I would be earning a ton of cash now too!!

So get yourself to a library or somewhere you dont have to pay loads for books, find books that speak to you (you understand the jist of what they trying to teach ya!) and get learning!!!!!!!!!!

In a few years time you could also be earning a ton of cash!!

Good luck










Yeah, it's a good idea to learn how to program algorithms and object oriented programming in VB.NET. It's easy to read. When you are comfortable, it's even easier to translate your knowledge to C# or JAVA (as the two are very similar at this point). Once you learn one language in depth, you will find they are all very similar. With the exception of SQL. learning SQL (relational database programming) is very valuable to learn in conjunction with a standard programming language. the entire world revolves around data driven applications. It's a guaranteed good career.


----------



## pelirrojo

"(Twas considered LAME by the Assembly crews) "

"Real" programmers write in machine code









Anyways yeah you're guaranteed to make ****loads of money doing computer science related stuff. I'm making about the equivalent of 60k a year right now as a sophmore in college.... Prolly be able to get 70k straight out of college if I stuck with it - but I think I'm going to change majors and be a music teacher and make 20k a year instead









If you enjoy it by all means go for it, but don't do it just because "It's a guaranteed good career" or "In a few years time you could also be earning a ton of cash!!"

If you pick CS just for the money you will be miserable, I promise - it's a very involved field.


----------



## kennyyboii

_*Holy F****__*!*_ I'm just a freshmen and I want to learn it. Now this seems very hard for me............but very interesting ^^. I won't give up and to everyone who posted their comments about this and giving me info + teaching me a few things, thank you very much .


----------



## pelirrojo

If it interests you I'm sure you'll learn it quickly, especially if you're good at math and logic. Drop a line if you need help with something.


----------



## rippon

Here is an online Java textbook.
You will need JDK


----------



## amd_hardsoftware

Quote:


Originally Posted by *pelirrojo* 
If it interests you I'm sure you'll learn it quickly, especially if you're good at math and logic. Drop a line if you need help with something.

i concur and also want to add to all those other ppl asking u to start easy NO
i guess maybe not C++ though..
learn Java first.
PM me with any questions ill send u a PM in a few minutes with some Java resources to get started


----------



## punkrockscks

I would suggest finding a book that covers the principals of programming (theory, general structure, etc...) before you dive into C++ or Java or whatever language. I took a class that was just about how to think like a programmer and it was very very valuable, though at the time I thought it was just boring since we didn't really do much actual coding, but when it came time to learn a specific language (for me I learned Java first), it helped a lot.

Doing structured walkthroughs and flow charts is boring , but really can save you time and make learning a language much less intimidating.
Good luck!!


----------



## pelirrojo

"I took a class that was just about how to think like a programmer and it was very very valuable, "

That's basically why I would say it's better to start with a simple language - so you can learn how to work through problems procedurally (IE in steps: 1) read the problem, 2) analyze, 3) create a template/spec, 4) code, 5) test, 6) repeat numbers 4 and 5 until desired results are achieved,.... or something like that







).

You don't have to worry about syntax and can just focus on the principles of things - not to mention it's just easier to make cool things happen in simpler languages









I also say that because personally I took a glance at that dice rolling program and I said "what?" and had to read through it again  I imagine it probably looks pretty intimidating to you.

But eh, half the people here vote for simple languages, half of them want you to try java or c++ first. Do whatever you want







I guess ultimately whatever one you want to do more will be the better option anyways since you will be more motivated and want to learn.

It's like that bicycle helmet ad - "The best helmet is the one you will wear." Maybe not. I dunno lol.

Good luck to you sir!


----------



## kennyyboii

I'm not very smart so.....can someone tell me which is the best one to start out with?


----------



## BugBash

I would say a version of BASIC, been around donkeys years and stands for

B eginners
A ll purpose
S ymbolic
I nstruction
C ode

God, showing my age here! I learnt how to program in that back in 83!!


----------



## dangerousHobo

I started out learning QBasic (Quick Basic) and Pascal 3 years ago. I found learning Pascal helped the most because it seemed to look like C++ adn Java that I use now. I've heard VB was easy to, so I'd suggest starting in that. Just to get use to coding. VB is not as strict on syntax like C++ and Java are. Just focus on learning on of to make simple programs for at first. Like printing stuff to the screen and getting input from the keyboard. Then start getting into loops and arrays and etc. Then once you have a good grasp on that start getting into Object-Oriented Programing. Things like classes, inheritance, encapsulation, and polymorphism.


----------



## B-80

alright man, i would say start out with html, stands for hyper text markup language, its what the basis of this website you are viewing is. its most like english so it'll be easy to start out with, plus you wont need any special programs, just texteditor. to learn this, just type in html tutorial in google, and you'll learn a lot, or http://www.w3schools.com/ i think has some good stuff as far as tutorials. once you learn this, which should take like a day or two, go on to javascript. its another web based language, but its a lot like c++, so if you want to venture into offline languages then youll have a good background. after that, if you buy a book on c++ or java, youll have a good understanding of programming. you cant make things in one day, its really like learning another language, and a new culture. programming requires a certain type of mind, if its something you are really interested in, then id say this is the best way to go about it


----------



## StarryNite

Quote:


Originally Posted by *stargate125645* 
Sad that no one has mentioned C, but just its successors.

Mainly because for what most people need to do, C isn't a good option (very very low level). It's one reason why it's stressed to those trying to learn C++ to skip C instruction (too much info overload, and it has to be unlearned later because C++ syntax, and some methodology, is different).


----------

