By using this site, you agree to our Privacy Policy and our Terms of Use. Close

Forums - Gaming - Can I learn rudimentary programming from a book?

NJ5 said:
radha said:

ok this is what i have been trying to say: from the compiler point of view it is a subset, because is compatible on a c++ compiler, but to someone learning is not true, he will get confused.  i dont think that someone that knows c++ knows c, different memory allocation, different use of strings, etc. I want to see some beginner that only knows C++ Compaling in a C compiler.

 

This all started when Rpruett said that C is cryptic when compared to C++. I very much disagree with that, and I explained why.

Of course it's possible to write cryptic C code, but that doesn't happen due to the language itself which is a part of C++ (with very rare exceptions which don't make it more cryptic anyway). To say C is cryptic and C++ isn't doesn't make sense, that's all I said.

 

I didn't say C++ couldn't be or wasn't cryptic in some senses. It's just LESS cryptic than C for a beginner especially.

As a pure blank slate. Learning to program?  Straight C is more confusing and cryptic to most than C++ (Even if a lot of it is identical). ( I know it was for me).  Even something simple like a printf outputting a variable is more confusing than a cout with the same.

 



Around the Network
WereKitten said:

^^^With which, you mean that you learned the _syntax_ of C and how to include/compile/link your programs. And various functions from some basic standard libraries, I guess.

Actually learning C as in being proficient and producing good, safe code will take... uhm, let's just say much longer.

I completed dozens of exercises in those 3 days, and when I mean 3 days, I mean them entirely (it probably took me around 35-40 hours of study). Ofcourse I was still a bit shaky on using functions that allocated/freed,etc.. memory, but everything else I was rock solid.



Starcraft - Even with C, its pretty much a crap run, lots of syntax and screaming over forgetting a semicolon someplace. I'd suggest a friendlier language for starting to get your feet wet in programming. I reiterate- Dark Basic Pro, great for starting.



WereKitten said:

@SamuelRSmith

Yeah, yeah :) computers as in general-purpose, programmable computing machines.
Babbage's engine was never built, after all. Satisfied, Mr Nitpick? :)

While we're at it, wasn't the original argument that most modern electronic devises wouldn't exist without programming/programmers? Well, that's true, even if programming was originally done by mechanical means. Ada Lovelace (among others) was at it long before the first transistor was made - and before Babbage could complete his engine, too.

As for the topic at hand, I found Java to be a good entry point. It's widely used, so you don't nessesarily have to move on - unless you're interested in game development, of course. Then you might as well start with Assembler. Hehe.



bardicverse said:
Starcraft - Even with C, its pretty much a crap run, lots of syntax and screaming over forgetting a semicolon someplace. I'd suggest a friendlier language for starting to get your feet wet in programming. I reiterate- Dark Basic Pro, great for starting.

 

I do not recommend Dark Basic Pro for game programming, for it does not really have OOP that you can accomplish on other languages like Java, C#, C++ or Python to make games with all the advantages. I tried it and then looked for anotehr engine because of the many limitations.

Inthe case od programming to make games there are many tools available

for C# I reccomend XNA

For Python I recomend Panda 3d

for C++ I reccomend: Ogre3D(for prefessionals)DarkGDK(better than DB Pro) or Irrlicht(good start)

for Java, you can try JME

 



Around the Network

Why use a book when you can use the internet?



HALOOOOOOOO said:
Why use a book when you can use the internet?

Because the Internet is better as a reference than as your single learning material (except if you download a book from the Internet of course :P).

 



My Mario Kart Wii friend code: 2707-1866-0957

Tyrannical said:
C can be tricky, and requires good eyesight.
C++ is a bit easier.
You might want to try Java, even though it's a stupid language and only an idiot would code anything in it. But it's popular.

 

Thats just wierd.

@OP Ya you really can learn everything from a book, thats the wonder of computer programming. All you need is a PC and a book.



 

It is better to die on one's feet

then live on one's knees

I think Java is a good election. But, please, buy a book. There are very good manual's online, but I can tell you it's easier to force yourself to learn if you buy a book, and it will force you to code more (no copy&paste). If it's a good book, it would explain you the basic algorithms. There's no need of learning complex or optimized algorithms at the start. You would be surprised of all the things can be done with the basics learnt in a few days... Hell, I coded a bmp image editor (rotate and scalate imagens, basic drawing, image filters and so on) with basic knowledge of C and without copy paste! (It took me 50-60 hours though)

 

It's true that C/C++ are THE programing codes, but I think you should learn them only if you are going to use them proffesionally. Sure, in C programs work faster and have less errors than others (as C doesn't tolerate errors like other languajes), but I don't think you should start the hard way.

If you want to see results, Java is the way to go. It's relatively easy to learn (not for me, I found C easier xD, but it is because I am accostumed to work at a very low level) and you will see relatively complex programs soon.

What's more, altough many will jump at me, the fact that Java uses more resources than C it's not an actual defect... Come on, we have 4 Core processors for 100$/€... there's plenty of potential to waste! . In terms of learning a language this has no importance at all... only if you program professionally this will start to matter more. And, if you do this (to program professionally), you won't use the languaje you want, but the languaje the work imposes you.

For example, I code in C and Assembler, but that is because I program microcontrollers, from 8 to 32 bits, and there, size an resources matter a lot (speciallly in 8bit microcontrollers, Assembler it's nearly compulsory). But if I worked with online apps, Java, php, asp, xhtml or Javascript would be my languajes.

 

 

Good luck!

 

 

PS: You can ask me if you have troubles.... with C or Assembler. I can't help you with Java, as I almost never used it.



for those who don't want to buy books

Try via Torrent or emule