Well, first you need to pick a language that interests you. Then you need to download the tools for that language (compiler, IDE, etc) and work your way through a tutorial - there's plenty of good ones to be found on the internet.sebasta wrote:Never done any programming, just scanned through the C programming book. Seen the beginning, the body, the end, but never got to get deeper as I do not have the programming software.
If I want to start programming, where do I begin?
So Who is a Programmer On The Forum?
- Ron2K
- Forum Technical Administrator
- Posts: 9050
- Joined: 04 Jul 2006, 16:45
- Location: Upper Hutt, New Zealand
- Contact:
I would recommend beginning with Python. It is cleanly designed, well documented, and relatively kind to beginners. Despite being a good first language, it is not just a toy; it is very powerful and flexible and well suited for large projects. If you're running Linux, chances are that's it's already installed. If it isn't, or if you're running Windoze, it's freely available at the Python website.sebasta wrote:If I want to start programming, where do I begin?
Java is also good for learning to program in. It's more difficult than Python, but produces faster code for Python, and would be a good choice as a second language.
But be aware that you won't reach the required skill level of a programmer if you only learn one or two languages. You need to think about programming in a general, language-independent way. You need to get to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means that you should learn several languages. Besides, as I've already mentioned in this thread, a programmer with only one language is like a builder with only one tool. You need a hammer and a screwdriver to do most things worth doing.
If you want to get into serious programming, you will have to learn C or C++. The two languages are very similar (the only real difference being that C is procedural while C++ is object orientated), so once you learn one, learning the other will not be difficult. C is the working language of the UNIX world, while most large projects (like games) are written in C++. I know that Windoze is written either in C or C++, I'm not sure which one.
Neither of those two languages is a good one to try as your first, however, Sure, they are very efficient and very sparing of your machine's resources, but they get these characteristics by requiring you to do a lot of low-level tasks, such as memory management, by hand. Low-level code is complex and bug-prone and consequently you'll spend a lot of time debugging. With today's machines as powerful as they are, this isn't really a Good Thing. It's smarter to use a language that uses the machine's time less efficiently, but your time more efficiently. Thus, Python.
Other languages to take a look at are Perl and LISP. Perl is widely used for active web pages (although PHP is taking over here) and for shell scripting on *NIX servers, so that even if you never write a line of Perl, you should learn to read it. LISP is worth learning for the profound enlightenment experience when you finally get it. Even if you never use LISP a lot, this experience will make you a better programmer for the rest of your days.
It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. They represent very different approaches to programming, and each will educate you in valuable ways.
But whatever you do, stay well clear of VB .NET. See my post in this thread.
Kia kaha, Kia māia, Kia manawanui.
The official Java tutorial is great, it covers almost all aspects of the language: http://java.sun.com/docs/books/tutorial/index.htmlSoulBlade wrote:I'm going to start adding tutorial / forum links for each languages
Those that can provide me with excellent tuts and/or forums links please do so. Pm or just post here.
Thanks!
There's a good beginner's tutorial for C++ here: http://www.cplusplus.com/doc/tutorial/
The official python tutorial covers all the basics well: http://docs.python.org/tut/tut.html
-
- Registered User
- Posts: 696
- Joined: 04 Sep 2003, 02:00
Add me on the list!
I do C++ pretty extensively. I can also do C.
Java is used on occasion, I can do a couple of things with that.
I've learned PHP recently, as well and it rocks. I can also do VB 6.0, VBA and VB.NET ( ).
I can also do basic SQL queries, HTML and Intel Assembly (don't gimme GAS ).
I have learnt other languages/scripts but have mostly forgotten them, so they don't qualify anymore. Stuff like Bash/Gawk/BATCH.
I guess this is only for programming languages, right?
I do C++ pretty extensively. I can also do C.
Java is used on occasion, I can do a couple of things with that.
I've learned PHP recently, as well and it rocks. I can also do VB 6.0, VBA and VB.NET ( ).
I can also do basic SQL queries, HTML and Intel Assembly (don't gimme GAS ).
I have learnt other languages/scripts but have mostly forgotten them, so they don't qualify anymore. Stuff like Bash/Gawk/BATCH.
I guess this is only for programming languages, right?
-
- Registered User
- Posts: 716
- Joined: 08 Oct 2004, 02:00
- Contact:
-
- Registered User
- Posts: 696
- Joined: 04 Sep 2003, 02:00
I tell you, it might be simple but IMHO it lacks a lot! I worked with it recently and it has no structure. Sure for small apps this is fine, but start to work with a larger one, then things become so tangled that you have to go in with bolt cutters just to shape things out.
I started with it when I was 11. Sure it taught me how to program, but it didn't help develop good practiced programming. To tell you the truth, I started to program correctly when I learnt C++ & JAVA. The univ & Internet taught me good coding practices and designs. Java helped shape my mind on how I am actually supposed to think in terms of design. Not to go for optimizations and have a crappy designed app, but to use OOP to your advantage. It really makes life easier. As for VB.NET, well it is more structured than VB 6 but why use VB.NET when another language can do the same (or maybe even better) and faster?
I started with it when I was 11. Sure it taught me how to program, but it didn't help develop good practiced programming. To tell you the truth, I started to program correctly when I learnt C++ & JAVA. The univ & Internet taught me good coding practices and designs. Java helped shape my mind on how I am actually supposed to think in terms of design. Not to go for optimizations and have a crappy designed app, but to use OOP to your advantage. It really makes life easier. As for VB.NET, well it is more structured than VB 6 but why use VB.NET when another language can do the same (or maybe even better) and faster?
-
- Registered User
- Posts: 716
- Joined: 08 Oct 2004, 02:00
- Contact:
-
- Registered User
- Posts: 696
- Joined: 04 Sep 2003, 02:00
-
- Registered User
- Posts: 716
- Joined: 08 Oct 2004, 02:00
- Contact:
-
- Registered User
- Posts: 696
- Joined: 04 Sep 2003, 02:00
- rustypup
- Registered User
- Posts: 8872
- Joined: 13 Dec 2004, 02:00
- Location: nullus pixius demonica
- Contact:
decent floating point arithmetic?... divorce program logic from the horror that is goto?.. stop pretending to allocate memory with option eplicit?GrimStoner wrote:I've yet to find something I can't do in VB...
vb has its place... but is in no way comparable to a language like c/c++/java or c#... just because pla-do can make something that looks like a car, doesn't mean it's going to turn to tungsten overnight...
the structural/OO programmer is forced to carry a mental map of the problem space around in memory, which leads to clearer thought, greater focus, cleaner code and more effective, and efficient, problem solving. i have met more than a few vb "programmers" who's approach to the problem is to go at it hammer-and-tongs using google as a reference... no disrespect, but VB really is the kludger's platform of choice... bad habits indeed...
Most people would sooner die than think; in fact, they do so - Bertrand Russel
-
- Registered User
- Posts: 716
- Joined: 08 Oct 2004, 02:00
- Contact:
-
- Registered User
- Posts: 708
- Joined: 23 Aug 2003, 02:00
- Location: JHB
Hmmm lets see.
Assembler
Java
C++ (long ago)
Delphi (though only a outline)
Turbo Pascal (before long ago)
html
VB
ASP
XML
SQL
though I think Ill be asking A LOT of questions as Im still a student! Currently studying Java, VB and Assembler. Looking to start on C# soon though.
Assembler
Java
C++ (long ago)
Delphi (though only a outline)
Turbo Pascal (before long ago)
html
VB
ASP
XML
SQL
though I think Ill be asking A LOT of questions as Im still a student! Currently studying Java, VB and Assembler. Looking to start on C# soon though.
Quod non detit fortuna non eripuit aut amat aut odit: nil est tertium
-
- Registered User
- Posts: 708
- Joined: 23 Aug 2003, 02:00
- Location: JHB
double post i know but i just finished reading it all and have a couple of links to tutorials etc to add
for assembler (unix based 32bit)
http://savannah.nongnu.org/download/pgu ... oksize.pdf
and just a general handy site for whatever, from tuts, to IDE's etc.
http://www.freeprogrammingresources.com
The assembler one is what im currently working through, very useful im finding it to be!
you could always go find yourself NASM - Netwide Assembler, free assembler for
windows(not sure bout unix, but unix has its own anyway) and DL the manual with it
http://alien.dowling.edu/~rohit/nasmdoc0.html <-- NASM Doc
http://sourceforge.net/projects/nasm <-- NASM @ SourceForge
or you could just Google!
for assembler (unix based 32bit)
http://savannah.nongnu.org/download/pgu ... oksize.pdf
and just a general handy site for whatever, from tuts, to IDE's etc.
http://www.freeprogrammingresources.com
The assembler one is what im currently working through, very useful im finding it to be!
you could always go find yourself NASM - Netwide Assembler, free assembler for
windows(not sure bout unix, but unix has its own anyway) and DL the manual with it
http://alien.dowling.edu/~rohit/nasmdoc0.html <-- NASM Doc
http://sourceforge.net/projects/nasm <-- NASM @ SourceForge
or you could just Google!
Quod non detit fortuna non eripuit aut amat aut odit: nil est tertium
Visual Basic 6 (Good at it)
VB.Net (Good at It)
ASP (Good at It (Sucks))
ASP.Net (Good at It)
Cobol (Out of Practice)
Pascal (Not to Bad)
Delphi (Good at It)
JavaScript (Just a Little)
Java (Doing It Next Year)
HTML (OK at It)
SQL (Good At It(Love It))
XML (Ok at It)
Has anybosy here studied at VZAP 8O ?
VB.Net (Good at It)
ASP (Good at It (Sucks))
ASP.Net (Good at It)
Cobol (Out of Practice)
Pascal (Not to Bad)
Delphi (Good at It)
JavaScript (Just a Little)
Java (Doing It Next Year)
HTML (OK at It)
SQL (Good At It(Love It))
XML (Ok at It)
Has anybosy here studied at VZAP 8O ?
-
- Registered User
- Posts: 2257
- Joined: 19 Sep 2003, 02:00
- Location: Durban
- Contact:
ASP (Good at It)
JavaScript (Excellent at it!)
Java (Excellent at it)
HTML (Excellent at it)
DHTML (Excellent at it)
SQL (Good At It(Loving It))
XML (Ok at It)
JavaScript (Excellent at it!)
Java (Excellent at it)
HTML (Excellent at it)
DHTML (Excellent at it)
SQL (Good At It(Loving It))
XML (Ok at It)
I love cosplay - http://www.youtube.com/watch?v=vc0aMeY5F_E - NOT!
Currently focusing on web development
ASP (Good at it)
ASP.Net (Good at it)
C (Good at it)
C++ (Excellent at it)
Cobol (Only studied)
HTML (Excellent at it)
Java (Excellent at it)
JavaScript (Excellent at it)
PHP (Excellent at it)
SQL (Good At It(Loving it))
Visual Basic 6 (Good at it)
Visual C++ 6 (Good at it)
VB.Net (Good at it)
VC++.Net (Good at it)
VC#.Net (Good at it)
XHTML (Excellent at It)
ASP.Net (Good at it)
C (Good at it)
C++ (Excellent at it)
Cobol (Only studied)
HTML (Excellent at it)
Java (Excellent at it)
JavaScript (Excellent at it)
PHP (Excellent at it)
SQL (Good At It(Loving it))
Visual Basic 6 (Good at it)
Visual C++ 6 (Good at it)
VB.Net (Good at it)
VC++.Net (Good at it)
VC#.Net (Good at it)
XHTML (Excellent at It)