Getting started programming?

Discuss interdimensional programming, Java applets and so forth.

Getting started programming?

Postby Maxwellius » Fri Feb 27, 2009 4:14 am

Hi all,

All this multiple dimensions stuff has gotten me very interested! I would really like to learn to program so I could create games like 3d tetris (you have to assemble planes using blocks) or 3-d Invaders (3d creatures invade a plane). However, I have little background in programming. Where should I start? I know how to do stuff like program 'hello world', but I can't get much farther than that. Anyone know of any good languages to start, or web tutorials? Thanks!

-Maxwellius
"God created the universe, and the universe created us."
-Me
Maxwellius
Nullonian
 
Posts: 1
Joined: Fri Feb 27, 2009 4:06 am

Re: Getting started programming?

Postby MorgothV8 » Fri Feb 27, 2009 12:10 pm

C/C++, use GCC (GNU Compilers Collection)
Look at my post Tic-Tac-Toe in 4D, this is very simple program, entirely in text mode, It will show You some C stuff
MorgothV8
Mononian
 
Posts: 8
Joined: Fri Feb 20, 2009 1:57 pm

Re: Getting started programming?

Postby SharkRetriver » Sun Oct 02, 2011 12:10 pm

I'm using C#, should I switch to C++?
SharkRetriver
Dionian
 
Posts: 19
Joined: Fri Sep 02, 2011 6:33 pm

Re: Getting started programming?

Postby Keiji » Mon Oct 03, 2011 6:58 pm

Short answer: Yes.

Long answer: I'd suggest Linux (Ubuntu seems to be the fan favorite here), GNU C/C++ (I personally prefer C, but many people prefer C++ and for good reasons), SDL with OpenGL. Currently I don't use an IDE (I use a combination of self-made utilities and pre-existing ones), but I have used Code::Blocks which isn't too bad though is far from perfect, and I've heard Eclipse is fairly good for C/C++ development. There's also KDevelop, which I haven't tried, but at one point wanted to look into, just never got around to it.
User avatar
Keiji
Administrator
 
Posts: 1962
Joined: Mon Nov 10, 2003 6:33 pm
Location: Torquay, England

Re: Getting started programming?

Postby Mrrl » Tue Oct 04, 2011 3:32 am

I've switched to C# from C++ in 2003 (after 10 or more years of C++ programming) and happy with that. So I vote for C#.
Mrrl
Trionian
 
Posts: 165
Joined: Sun May 29, 2011 7:37 am

Re: Getting started programming?

Postby quickfur » Thu Oct 13, 2011 11:18 pm

I'm a Linux buff and a command-line freak. My window manager doesn't use the mouse, and neither do I except for pansy things like browsing the web. ;) For development, I use GCC (and its variants thereof) and a text editor (IDEs are for wimps :P). As far as languages are concerned, I use C and C++ most often, although I do a fair bit in Perl and once in a while Java and other languages as well.

If you want my opinion of languages, I'd say that the criteria for a good programming language is (1) easy things are easy, and (2) hard things are possible.

C is the most solid but the hardest to use (there are almost no safety checks done for you; it assumes the programmer knows what he's doing). It definitely passes (2), but fails (1) - some normal, everyday things require quite some effort from the programmer to implement (although once you've built up a library of common stuff you need, it's not that bad).

Java is a much nicer language, but I find it too verbose and too straitjacketed - simple things are hard and some hard things are impossible. It's quite good when you're working with higher-level stuff, but it gets in the way when you need to get down and dirty and manhandle the machine to do what you want. So it fails (1) and (2). (But it's still a nice language from a theoretical standpoint, though - definitely better than C or C++.)

C++ tries to be Java but refuses to sever its ties with C, so it inherits some of C's design flaws and doesn't quite deliver what Java delivers. Although I do use C++ a lot, I hate it just as much (if not more). Like C, in C++ simple things are sometimes quite hard to do, so it fails (1); but hard things are possible because you can write C-style code for when you need to manhandle the machine, so it passes (2).

Perl was designed with (1) and (2) in mind. Simple things are very simple, and many hard things are possible, although there are some things that it can't quite handle. In terms of philosophy, I love Perl the best. But the problem with Perl is that if you're not careful, it can become a write-only language. It's a pleasure to write but when you come back to it 3 months later you can't understand a single bit of the gibberish you've produced. It takes effort from the programmer to be maintainable: not so good (IOW, most programmers are lazy so they write bad code). This makes Perl a language which is perfect for writing short programs and rapid prototypes, but it's not very suitable for large-scale applications.

The most promising language I've seen so far is the D programming language (and no, this is not a joke, try googling for it). It has all the power of C but with many design flaws fixed and many good features added. However, it is not yet a mature language; it's still undergoing a lot of development, and it doesn't quite have the large base of libraries yet, that is indispensible in this day and age. So it's something to keep in mind, but it has a ways to go before it's ready for general consumption.

Now having said all that, the above is really from the standpoint of relatively experienced programmers. For beginners, I would recommend either a nice scripting language like Ruby or Python, or a clean language like Java. They're not perfect, but when you're first starting out you really want to get a good grasp of basic programming concepts instead of losing yourself in the complex little details that needs a bit more experience to handle correctly. The language itself is really secondary; the primary thing is to learn the basic programming concepts - control structures, data structures, abstraction, algorithms, etc.. Once you've learned these basic concepts, you can really just pick up any language and work with it - it will just be a matter of filling in the details (by consulting the reference manual).
quickfur
Pentonian
 
Posts: 2435
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North


Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

cron