PDA

Click to See Complete Forum and Search --> : how to program?


php111
Apr 17th, 2006, 12:44 PM
hi, I'm new here and i like this site. Anyway, how do i program in C, C++, whatever i would need to know and what can i use it in when i'm done learning? Thanks. Bye.

francisstokes
Apr 17th, 2006, 03:45 PM
Try this (www.google.com)

php111
Apr 17th, 2006, 06:37 PM
Does someone else wants to give me some advice and feedback?

si_the_geek
Apr 17th, 2006, 07:20 PM
Welcome to VBForums! :wave:

You need to start in one place, and take one step at a time... what you have asked is in the same scale as "how do I build a skyscraper, end poverty, and colonate mars?". It's all possible, but it's not really approriate to be doing them all at the same time - pick one task at a time.

It would take several years for you to learn everything you have asked (to the degree where you could say you know them properly). I have been coding for about 15 years, and am still learning.

If there is something in particular that you want to do (eg: a certain program you want to write), then we can suggest what you should do, and/or which tools/languages you should be using.

php111
Apr 17th, 2006, 07:27 PM
Welcome to VBForums! :wave:

You need to start in one place, and take one step at a time... what you have asked is in the same scale as "how do I build a skyscraper, end poverty, and colonate mars?". It's all possible, but it's not really approriate to be doing them all at the same time - pick one task at a time.

It would take several years for you to learn everything you have asked (to the degree where you could say you know them properly). I have been coding for about 15 years, and am still learning.

If there is something in particular that you want to do (eg: a certain program you want to write), then we can suggest what you should do, and/or which tools/languages you should be using.


Thank you, What languages is required for building an OS? And where do i start?

si_the_geek
Apr 17th, 2006, 07:35 PM
Well there are several options, however I would strongly recommend that you aim at something much simpler than that to start with.

Most popular OS's are extremely complex (and take millions of man-hours to write), and even very simple ones can take a long time to get to the point where they can do anything useful.

I'd recommend trying to make an application that does something useful, but wont require too much time to write. You will make a lot of mistakes the first few programs you write (not all things which you will notice either); it is better to learn the concepts of programming (and the language you are using) before you go too far.

Several people start with writing a temperature converter (Farenheight to Celcius, and vice-versa), or a calculator.

If you aim at something complex to start with, you are very likely to get bored and give up - as you will struggle to do anything, and wont see any results for a long time.


edit: from your PM I see that you wont have internet access soon, in which case I would recommend buying a book which teaches the language that you want to learn - as you will need some guideance.

php111
Apr 17th, 2006, 07:39 PM
ok, could you help me get started? Remember i'm here until this Saturday. Maybe or maybe not i go back with a working PC. The motherboard oe possibly the CPU is burned. Anyway should i start with C or HTML?

edit: I seen your edit. Which book should i buy between HTML and C and the name of the book. Libraries suck. I got to get something to buy under $30.

si_the_geek
Apr 17th, 2006, 07:48 PM
You wont be learning much in that time I'm afraid. :(

Which language you start with depends on what you have available, and what your goals are.


HTML is fairly easy, and I think is a good introduction to some of the concepts of programming. The downside is that you can only really make web pages.

C on the other hand is pretty complex, but it does have a tendency to make you learn things "properly", as opposed to just finding what seems to work. You can create virtually any program, but without help you will likely get lost very quickly.


Given the circumstances, I would recommend getting yourself a good "teach yourself" style book for whichever you choose, and following all the tutorials etc in it. By the end you will hopefully be able to write applications/web-pages without assistance.

php111
Apr 17th, 2006, 07:52 PM
You wont be learning much in that time I'm afraid. :(

Which language you start with depends on what you have available, and what your goals are.


HTML is fairly easy, and I think is a good introduction to some of the concepts of programming. The downside is that you can only really make web pages.

C on the other hand is pretty complex, but it does have a tendency to make you learn things "properly", as opposed to just finding what seems to work. You can create virtually any program, but without help you will likely get lost very quickly.


Given the circumstances, I would recommend getting yourself a good "teach yourself" style book for whichever you choose, and following all the tutorials etc in it. By the end you will hopefully be able to write applications/web-pages without assistance.


alright, On this site i'm going to give, what is a good book under $30?

Maybe you can post up some tutorials on C? One language at a time.

http://search.barnesandnoble.com/booksearch/results.asp?WRD=C+programming&z=y&cds2Pid=9481

si_the_geek
Apr 17th, 2006, 08:50 PM
I'm afraid I personally dont use books, or program in C, so my help is limited.

Several people recommend books like this one (http://search.barnesandnoble.com/BookSearch/isbnInquiry.asp?z=y&isbn=0672317672&itm=1) (written by our site admin!), but I honestly cant tell you which would be good.

It's probably best to ask (and/or search) in our C Forum (http://www.vbforums.com/forumdisplay.php?f=9), as I'm sure people there will have a good idea.

php111
Apr 17th, 2006, 08:55 PM
I'm afraid I personally dont use books, or program in C, so my help is limited.

Several people recommend books like this one (http://search.barnesandnoble.com/BookSearch/isbnInquiry.asp?z=y&isbn=0672317672&itm=1) (written by our site admin!), but I honestly cant tell you which would be good.

It's probably best to ask (and/or search) in our C Forum (http://www.vbforums.com/forumdisplay.php?f=9), as I'm sure people there will have a good idea.

I edit my post up above. Will you edit the subject for one by saying how to "program in C or C++" without the quotes and two move my post to the C/C++ forum?

Kasracer
Apr 17th, 2006, 08:56 PM
hi, I'm new here and i like this site. Anyway, how do i program in HTML, CSS, PHP, MYSQL, C, C+, C++, whatever i would need to know and what can i use it in when i'm done learning? Thanks. Bye.
HTML and CSS are NOT programming languages. MySQL is a type of database and PHP is a server-side scripting language.

You should focus on learning 1 thing at a time. If there is something specific you want us to do, tell us so we can actually give you a recommendation. Also, we can't just tell you how to "program" in each of those languages. To learn a language, usually you have to read at least one book on that specific language. You're asking for us to basically give you the programming knowledge that would normally take something reading at least 7 books.

Anyway, I'll tell you what each language you listed is good for so maybe it'll help you make a decision.

HTML
This is a simple markup language that allows you to create websites. This is not a programming language but is needed to make any kind of website. HTML's replacement will eventually be XHTML which is very similiar (but you don't need to worry about that yet).

CSS
CSS defines styles for websites (and possibly applications that have some sort of interface for CSS). With CSS, you can change colors, text fonts, sizes, and positions of items on a website.

PHP
PHP is a language run server-side. It's a scripting language usually used for webpages but there are tools to allow you to create applications with PHP.

MySQL
MySQL is a database. It allows you to send and retreive items from databases you create. This is great to be used with PHP when creating systems that need to contain a lot of data (like content management systems).

C
C is a highly efficient, yet small language. Very low level (just above assembly). C is typically used for writing high performance applications, operating systems, and drivers.

C#
You said C+ but that isn't a language so I'm going to assume you mean C#. C# is an object oriented language originally developed by Microsoft. It's very similiar to Java. C# is a high level language so it's performance isn't near what C and C++'s performance is. C# allows for rapid application development (RAD) and makes it easy to create applications with a graphical interface with just dragging and dropping.

C++
C++ is a high performance language. C++ is also object oriented and has many more features than C. C++ is a higher level language than C, so if you use a lot of C++'s features, it'll be close to C's performance but probably won't beat it. C++ is still a high performance language and is typically used to create almost all applications you've used. C++ is also used to write critical operating system components and even drivers. C++ is also the number 1 language for video game development.
Thank you, What languages is required for building an OS? And where do i start?
Building your own operating system requires knowledge of PC architecture (x86 and x64), Assembly language, C and possibly C++ (depending on what you want to do). I've seen a simple "Hello World" operating system, and that was thousands of lines of code.

Writing your own operating system is very complex. The only time I've seen a person write an OS on their own and have it kind of successful was SkyOS (http://www.skyos.com/). He has been working on SkyOS for about 12 years and it's not even at the point where Windows 2000 is at.

si_the_geek
Apr 17th, 2006, 08:57 PM
It would be better to create a new thread there - as many people will think that a thread this long isnt worth reading (or replying to!). ;)

Kasracer
Apr 17th, 2006, 08:59 PM
It would be better to create a new thread there - as many people will think that a thread this long isnt worth reading (or replying to!). ;)
Hey, I read and replied to it :mad:

si_the_geek
Apr 17th, 2006, 09:00 PM
I said many, not all!! :lol:
He has been working on SkyOS for about 12 years and it's not even at the point where Windows 2000 is at.That's hardly surprising - apparently Windows 2000 is about 250 millions lines of code!

php111
Apr 17th, 2006, 09:05 PM
HTML and CSS are NOT programming languages. MySQL is a type of database and PHP is a server-side scripting language.

You should focus on learning 1 thing at a time. If there is something specific you want us to do, tell us so we can actually give you a recommendation. Also, we can't just tell you how to "program" in each of those languages. To learn a language, usually you have to read at least one book on that specific language. You're asking for us to basically give you the programming knowledge that would normally take something reading at least 7 books.

Anyway, I'll tell you what each language you listed is good for so maybe it'll help you make a decision.

HTML
This is a simple markup language that allows you to create websites. This is not a programming language but is needed to make any kind of website. HTML's replacement will eventually be XHTML which is very similiar (but you don't need to worry about that yet).

CSS
CSS defines styles for websites (and possibly applications that have some sort of interface for CSS). With CSS, you can change colors, text fonts, sizes, and positions of items on a website.

PHP
PHP is a language run server-side. It's a scripting language usually used for webpages but there are tools to allow you to create applications with PHP.

MySQL
MySQL is a database. It allows you to send and retreive items from databases you create. This is great to be used with PHP when creating systems that need to contain a lot of data (like content management systems).

C
C is a highly efficient, yet small language. Very low level (just above assembly). C is typically used for writing high performance applications, operating systems, and drivers.

C#
You said C+ but that isn't a language so I'm going to assume you mean C#. C# is an object oriented language originally developed by Microsoft. It's very similiar to Java. C# is a high level language so it's performance isn't near what C and C++'s performance is. C# allows for rapid application development (RAD) and makes it easy to create applications with a graphical interface with just dragging and dropping.

C++
C++ is a high performance language. C++ is also object oriented and has many more features than C. C++ is a higher level language than C, so if you use a lot of C++'s features, it'll be close to C's performance but probably won't beat it. C++ is still a high performance language and is typically used to create almost all applications you've used. C++ is also used to write critical operating system components and even drivers. C++ is also the number 1 language for video game development.

Building your own operating system requires knowledge of PC architecture (x86 and x64), Assembly language, C and possibly C++ (depending on what you want to do). I've seen a simple "Hello World" operating system, and that was thousands of lines of code.

Writing your own operating system is very complex. The only time I've seen a person write an OS on their own and have it kind of successful was SkyOS (http://www.skyos.com/). He has been working on SkyOS for about 12 years and it's not even at the point where Windows 2000 is at.


wow that is great help. I want to focus on Assembly first. Could you help me find some beginner to basic Assembly tutorials to way Advanced?

php111
Apr 17th, 2006, 09:10 PM
SkyOS is for sale. I was going to make a thread there.

Kasracer
Apr 17th, 2006, 09:29 PM
wow that is great help. I want to focus on Assembly first. Could you help me find some beginner to basic Assembly tutorials to way Advanced?
I think we have a FAQ in the Assembly forum. Look into purchasing a book.

Just a reminded, ASM is not fun.

EDIT: Please don't PM me asking to reply to a thread. I always reply as soon as I can. I'm not here only for your use.

php111
Apr 18th, 2006, 08:50 AM
It would be better to create a new thread there - as many people will think that a thread this long isnt worth reading (or replying to!). ;)

OK i created a new thread in the Assembly forum because that's what i want to start with.

sevenhalo
Apr 18th, 2006, 09:34 AM
Just a reminded, ASM is not fun.
:rolleyes:

I like it. I recently started reading through it and I find the level of detail involved to be really enjoyable....

I started out (this morning actually) here: http://www.xs4all.nl/~smit/asm01001.htm

It might be a little fast for someone with no prior experience though. I'm finding myself constantly going back and rereading paragraphs because I missed some important detail that was hidden.

php111
Apr 18th, 2006, 02:16 PM
:rolleyes:

I like it. I recently started reading through it and I find the level of detail involved to be really enjoyable....

I started out (this morning actually) here: http://www.xs4all.nl/~smit/asm01001.htm

It might be a little fast for someone with no prior experience though. I'm finding myself constantly going back and rereading paragraphs because I missed some important detail that was hidden.

hey, Is there anything easier? I read through that but it looks complicated without doing the work. Anyway thanks for the link.

si_the_geek
Apr 18th, 2006, 02:26 PM
Pretty much everything is easier than assembler.

In terms of "first timers" ease of use, simplest first, it would possibly be something like this:

HTML (not really a programming language as such)
...
VB
VB.Net
...
PHP
...
C
...
C++
C#
...
ASM

php111
Apr 18th, 2006, 02:28 PM
Pretty much everything is easier than assembler.

In terms of "first timers" ease of use, simplest first, it would possibly be something like this:

HTML (not really a programming language as such)
...
VB
VB.Net
...
PHP
...
C
...
C++
C#
...
ASM


Oh ok. I don't need VB, VB.net, PHP. I do need C, Assembly and maybe C++. But i would need to know C.

sevenhalo
Apr 18th, 2006, 02:29 PM
Unfortunately, no... If this is your first language (and other people have said the same thing), start off simpler. I still remember programming in QBASIC and Pascal (hell, I even remember LogoWriter).

Go slow, enjoy the ride. That's the problem with the industry is that people rush to learn something, get the certificate for the resume and have "touch and go" knowledge about what they're doing. Stop, ask questions, wonder why things are doing what they are. Then research it and let yourself struggle a little. The feeling to finally figure something out is one of the main reasons I became a programmer.

You can look into some more ASM tutorials if you want. Just remember, you're skipping alot of prerequisite information about how things are stored in memory, how memory is allocated, ect ect. You gotta walk before you run.

sevenhalo
Apr 18th, 2006, 02:31 PM
VB.Net
...
PHP
...
C
...
C++
C# :eek2:
I can't beleive you put C# so far away. The only difference is syntax!!

si_the_geek
Apr 18th, 2006, 02:36 PM
Well I haven't done any C# myself, but from what I've seen (not a lot) it seems to be further from "plain English" than C does - and for a newcomer that is going to be awkward. I never even implied that the list was accurate tho, just a vague guideline!

php111
Apr 18th, 2006, 02:36 PM
Unfortunately, no... If this is your first language (and other people have said the same thing), start off simpler. I still remember programming in QBASIC and Pascal (hell, I even remember LogoWriter).

Go slow, enjoy the ride. That's the problem with the industry is that people rush to learn something, get the certificate for the resume and have "touch and go" knowledge about what they're doing. Stop, ask questions, wonder why things are doing what they are. Then research it and let yourself struggle a little. The feeling to finally figure something out is one of the main reasons I became a programmer.

You can look into some more ASM tutorials if you want. Just remember, you're skipping alot of prerequisite information about how things are stored in memory, how memory is allocated, ect ect. You gotta walk before you run.

OK. Can you give me the steps with tutorials and info i need in order?

sevenhalo
Apr 18th, 2006, 02:55 PM
This is the path I took:

LogoWriter - Really basic, you move a turtle around the screen. Might be too "kiddy" to start off with.
QBASIC - You get into subroutines and loops a little. Can't do much with it, but you learn a bit.
PASCAL - The coding enviroment is a little more advanced. You can do quite a bit with it, but familiarizing yourself with the syntax and layout preps you for C, C++ and Java quite well.
C++ - This is iffy. You should have a plan laid out for what you want to learn here. By this time, you have a strong background in how a language works and data types. The language is VERY powerful. You're limited only by your imagination and how much you want to learn. This is where you'll need a plan. You can spend your whole life in this language, but it's pretty involved compared to some of the newer languages.
Java - Alot like C++, but there's a framework avaliable to you. It's a great place to learn about classes and OOP (the same concepts are in C++, but they're more difficult to understand. Learning them in Java to begin with will be a small stepping stone from C++).

This was the point where my job started laying out what I learned and used. I went to VB6 after that which is a great place to start leaning how to work with databases (also, picking up on some DB languages like transact and such is a MUST at this point). Afterwards, .Net came out and I was moved to VB.Net (C# or VB.Net, it's essentially the same thing (they both use the .Net framework - only the syntax changes; go with whatever's more comfortable)).

This is the track I took for windows application design. There's still a whole world out there for web design and programming. When you start to make that transition, I would reccomend php or ASP (NOT ASP.Net. ASP.Net is a luxury, but knowing some ASP and HTML beforehand is a must. Otherwise you might as well be using Frontpage). With that, you'll also pick up on javascript or vbscript. They're basically aids to your webpage. They're not a language you typically use by themselves.

Like I said, this is only one option. There's a million and 6 different ways to learn how to program and in what order. My focal point has always been more Desktop/Database oriented. Only recently did I move to more network and lower language. I came to terms a long time ago with the fact that I'll never know it all. :)

php111
Apr 18th, 2006, 03:01 PM
This is the path I took:

LogoWriter - Really basic, you move a turtle around the screen. Might be too "kiddy" to start off with.
QBASIC - You get into subroutines and loops a little. Can't do much with it, but you learn a bit.
PASCAL - The coding enviroment is a little more advanced. You can do quite a bit with it, but familiarizing yourself with the syntax and layout preps you for C, C++ and Java quite well.
C++ - This is iffy. You should have a plan laid out for what you want to learn here. By this time, you have a strong background in how a language works and data types. The language is VERY powerful. You're limited only by your imagination and how much you want to learn. This is where you'll need a plan. You can spend your whole life in this language, but it's pretty involved compared to some of the newer languages.
Java - Alot like C++, but there's a framework avaliable to you. It's a great place to learn about classes and OOP (the same concepts are in C++, but they're more difficult to understand. Learning them in Java to begin with will be a small stepping stone from C++).

This was the point where my job started laying out what I learned and used. I went to VB6 after that which is a great place to start leaning how to work with databases (also, picking up on some DB languages like transact and such is a MUST at this point). Afterwards, .Net came out and I was moved to VB.Net (C# or VB.Net, it's essentially the same thing (they both use the .Net framework - only the syntax changes; go with whatever's more comfortable)).

This is the track I took for windows application design. There's still a whole world out there for web design and programming. When you start to make that transition, I would reccomend php or ASP (NOT ASP.Net. ASP.Net is a luxury, but knowing some ASP and HTML beforehand is a must. Otherwise you might as well be using Frontpage). With that, you'll also pick up on javascript or vbscript. They're basically aids to your webpage. They're not a language you typically use by themselves.

Like I said, this is only one option. There's a million and 6 different ways to learn how to program and in what order. My focal point has always been more Desktop/Database oriented. Only recently did I move to more network and lower language. I came to terms a long time ago with the fact that I'll never know it all. :)


Ok so you forgot C language? Doesn't that comes after Pascal, C then C++? Anyway. Let's start off with Logowriter or QBasic. You pick. I got until this Satuday in EST.

sevenhalo
Apr 18th, 2006, 03:05 PM
C and C++ go hand in hand. If you learn C++, you learn C (it's just a little more stripped down. Some keywords are missing, things like that).

You might be able to learn QBASIC (QuickBasic) by saturday.

http://www.qbasic.com/

They have a compiler and tutorials avaliable.

php111
Apr 18th, 2006, 03:17 PM
C and C++ go hand in hand. If you learn C++, you learn C (it's just a little more stripped down. Some keywords are missing, things like that).

You might be able to learn QBASIC (QuickBasic) by saturday.

http://www.qbasic.com/

They have a compiler and tutorials avaliable.

I really don't seen any tutorials on that link.

sevenhalo
Apr 18th, 2006, 03:19 PM
Sorry, they want you to register too... Bad link :sick:

http://www.qbasicnews.com/learn/tutorials.shtml

That one gets pretty involved. Do as many as you want, but you only really need tutorials 1-3 to get a decent grasp.

--Edit---------------
"Compiler": http://qbasicnews.com/files/qb11.zip

francisstokes
Apr 18th, 2006, 03:22 PM
I'd say go with C#. Its no that hard to learn (but then i again i knew VB.NET before hand), and it'll set you up for C++ / C.

Al42
Apr 18th, 2006, 11:01 PM
OK. Can you give me the steps with tutorials and info i need in order?I'll give you the same advice I've given many students over the years, some of whom now earn their livings writing software:

Forget about languages and learn programming. (Try Niklaus Wirth's _Algorithms + Data Structures = Programs_.)Once you've learned at least the basics of programming (that'll take at least 6 months - although in college it takes about 3 years), you'll know enough to decide what language you want to learn first.

If you want to get a basic (very basic) idea of what just a small part of a very small operating system looks like, try this link (http://www.retroarchive.org/cpm/cdrom/CPM/ZCPR/). (You'll have to find a way to unark the file.)

If you're not prepared to spend the time and effort, don't expect to learn to write software - there's no quick way to learn programming.

penagate
Apr 26th, 2006, 08:53 PM
SkyOS (http://www.skyos.org/) (kas's link was broken).

I agree with Al, learn programming concepts and theory. I learnt that using QBasic and VB 5/6. Once you have a lot of experience and knowledge in programming itself, picking up new languages is very easy. Case in point, I started PHP in December last year and I would consider myself to have been competent after about 2/3 months, most of which was just learning the library and getting experience in practical applications of it.