Archived

This topic is now archived and is closed to further replies.

xbx0412

newbie to programming, need some advice

Recommended Posts

quote:
Original post by xbx0412
i was thinking about starting with it and i was told that it isnt a good idea to start with it and to start with something a little easier


Nah, start with C++ if you want to. You''ll be fine, and there''s a great community here to help you learn it. Here''s a book about it if you want to give it a try.

Share this post


Link to post
Share on other sites
If you''re new to programming, but familiar with mathematics and functions, consider Haskell. It *can* get quite complex just like any language, but the basics are very much like the way mathematical functions work, and you may find that familiar.

Image loads when I''m online since I''m too lazy to find a permanent host.The following statement is true. The previous statement is false.
Shameless promotion:
FreePop: The GPL Populous II clone.

Share this post


Link to post
Share on other sites
Click here. Go through the tutorials in order and you''ll learn the basic syntax of C++. I started here then bought some books, which I don''t have with me or would name them here. But there''s one you absolutely must get for Win32 API programming (programming in Windows): Programming Windows, Fifth Edition, by Charles Petzold. A bit outdated (1998), but it''s still pretty valid, for the most part. That''s more of a second Windows book, as it covers a lot. I learned all the Win32 information I needed for DirectX programming in this book... Well for an intro to DirectX, which is an API for 3D, get this book: Advanced 3D Game Programming with DirectX 9.0. It says "Advanced", but its more of an introductory book that goes to advanced levels. If you don''t understand some of the wording of the post, come back after you finish some tutorials at gametutorials.com.

Also if current programmers can''t understand my post, well, I''m crazy, with 10% ADD .

Share this post


Link to post
Share on other sites
Yeh, if u feel up for it then go straight for C++. Otherwise go to a book store or check on the internet for bits of code from different languages and start with one you like.

If you dont want to go C++ for some reason, I recommend you go Java and C++ later on.

Anyways just get ureself a book on the language or some tutorials from the internet

Share this post


Link to post
Share on other sites
C++ is evil. Start with Java, if you must use a real "programming" language first (as opposed to a "scripting" language - but these days, the distinction is rather arbitrary). There''s nothing wrong with starting out in a higher-level language. I learned basic and turing as a little kid, and then ended up doing most of my self-teaching of "programming" using HyperTalk (Hypercard script language). And well - look how helpful I am around here now

Oh, and if it so happens that you respect Eric S. Raymond''s opinion - he suggests Python. Though I don''t think he was considering games programming in particular

Share this post


Link to post
Share on other sites
Java might not be a bad place to start for a begginer programmer as it removes a lot of the "dangerous" elements from C++ like pointers and dynamic memory which will allow you to write code without worrying that your program is going to blow up which is extremly likely for a new C++ programmer until they gain experience with some of C++''s pitfalls.

Another advantage of Java is the same style syntax as C++ which will make the transition to C++ a lot less painful than from other languages.

Share this post


Link to post
Share on other sites
I started with Pascal, then went to C++, then C, then back to C++, then Java, and then back again to C++.

So from my experience, Java is a nice language that you can learn Object Oriented Programming (OOP) on and not need to worry about memory management. And most stuff is already done for you, coming with the Java standard (like GUI libs, full math lib, string handlers like tokenizers). The only negative side with Java is it takes to much care of stuff for me, it handles all the memory. And the "being an own platform" really slows down the speed. So that''s why I went back to C++, it let''s me do what I want (but you need to know how to do it or it''ll explode in your face).

The syntax in Java is taken from C++ so if you learned one the other is easy.

My suggestion would be, learn some Java. Make a snake clone, then a arcanoid clone. Try to learn OpenGL there since you can use it in C++ too. When you feel comfertable with the language, switch to C++. And make the same games, try to squeeze out as many frames per sec as you can and you''ll see why C++ is used for bigger games and not Java

}-- Programmer/Gamer/Dreamer --{

I didn''t choose to code, coding choose me.

Share this post


Link to post
Share on other sites
If you don''t want to start with C++, go for VisualBasic or C# first. I don''t like Java, so I can''t recommend you that.

I started with QBasic, but that''s because I didn''t even know I was programming. I tought it was called messing around with the code of Nibbles. I started C++ once I learned there were other languages out there.

Elben

"Give a man a fish and he will eat for a day. Teach a man how to fish and he will eat for a life time."
-Chinese Proverb
WiseElben.com - Experience Wisdom

Share this post


Link to post
Share on other sites
For the basic concepts of programming, C++ is at the same difficulty of learning as pretty much any other language. The syntax (that is to say, the command words used) is different, but the concepts are the same.

C++ concepts differ from the norm when you get into the more advanced aspects of programming... but by the time you''ve learned those basics, you''ll be at least close to ready to handle them. So I say go for it, give C++ a try. Just don''t try to learn it all at once. Learn the beginners'' stuff, and leave the advanced topics for when you''ve conquered beginning topics.

It''s a lot like college: you can go to a Junior College or a normal College for your general education, but you must go to the real College for the upper level courses.

If you stay at the real college throughout, you won''t have to worry about transferring classes: in language programming, if you stick with C++, you won''t have to worry about re-learning a new syntax (remember, command words) if you''ve stuck with C++ throughout.

Share this post


Link to post
Share on other sites
It doesn''t actually matter what you start with. Yes, some languages will teach you bad habits, some will emphasize some concepts more than others, etc. I would recommend Python for beginners because it is readable, maps well to simple algebraic concepts of structure, is consistently formatted (roughly every three months there''s a new "debate" on how to format C code in the General Programming forum) and has zero overhead - just start writing your program code, if you want.

(It''s also ridiculously powerful, so it scales well with you.)

What does matter is that you learn certain concepts that are well embodied by certain languages. Learn C because it is a first cousin to assembly language, without the mnemonic acrobatics. It''s also a simple (relatively speaking, of course) and portable language. Learn either Java or C++ (or both, if you must) because of their focus on large scale application development and because of the unnecessary amounts of hype (Java) and irrational rhetoric (C++) surrounding them. Learn Perl5 as an illustration of the consequences of Power gone mad (TMTOWTDI my foot!), then hope Perl6 is released in your lifetime.

Many would recommend that you learn LISP that your "mind may be illuminated", to crudely paraphrase Richard Stallman. Bunk. Please learn Haskell or Scheme instead, if you insist on learning a functional language (it isn''t strictly necessary; a college survey course should suffice).

Learn C# if you want. Microsoft''s .NET platform is language agnostic, so by the time you get up to speed you should be able to use any compliant language with the Framework (check out the Python.NET beta, heh). But learn .NET. Lots of smart ideas in that.

With those languages as a foundation, you can then learn anything you need to accomplish your goals. Languages are merely tools; all the provincialism about them is like the absolute faith the neophyte has in the most powerful/comfortable/convenient tool he has yet discovered, until the Master Craftsman turns him on to something even better.

Oh, and these languages will gradually fall out of favor, in roughly chronological order, so don''t get too attached.

Share this post


Link to post
Share on other sites
quote:
Original post by wild_pointer
Brainfuck



[My site|SGI STL|Bjarne FAQ|C++ FAQ Lite|MSDN|Jargon]
Ripped off from various people



Actually, I was going to suggest that... even having a stupid name it is a great language.





It''s Maxd Gaming, put in an underscore and I will beat you with a rubber ducky!
{ My Great Site (with content) } { My First Space Art (Ever) }{ My .Net Information }{ A upcoming space RTS codenamed Gruntacktica . }{ . }

Not following the new trend:
Looky here mommy! No cow pic!


Personally, I would suggest C first, then apply C++ as needed. Of course, I wanted to know a language that could be used for low level hardware and such when I learned C, so jumping right into C++ may be the better path.
I do not suggest learning Visual Basic first at all. It tends to spoil you by hiding all the details and giving you a pretty IDE. It is very nice for quickly making Windows applications, but it does not make it easy when you want to try more powerful programming elements (just try to bitshift with it), or when switching to a different language (the IDE is VERY nice compared to many others). The lack of pointers is aggravating as well. While sometimes difficult to grasp at first, pointers quickly become one of the most useful tools at your disposal.

Just my 2¢.

Share this post


Link to post
Share on other sites
All these people are saying, "Learn C!!", "Learn C++!!!", "Learn Java!!!", "Learn Python!!!".

Pick one and move on. Just so you know, most people usually associate C with C++ and it will be written like this "C/C++" as they are basically the same thing.

Its really not the language that is hard, but from where you learn it. British English sounds a lot different from American English but you can still understand them right?

Share this post


Link to post
Share on other sites
... Good point. It may well be that the best language to start off with is - none (formally) at all, just study the classic algorithms, learn a bit about computer architecture etc. Unfortunately it''s kind of hard to do that on your own, and I don''t know of any university programs that really start you out like that. :/

Share this post


Link to post
Share on other sites
I was talking to my CS teacher about just jumping on to C++ but he told me its more important to learn algorithmic thinking instead of functions so I started with pascal and I fool around with C++ (never did anything serious yet).

Share this post


Link to post
Share on other sites
I agree to what some here have said before: learn any language you want. It doesn''t really matter. If you know the basics you should be able to learn almost any other language and learn the new concepts.

Share this post


Link to post
Share on other sites