POV-Ray : Newsgroups : povray.off-topic : Games programmers : Re: Games programmers Server Time
10 Oct 2024 13:10:31 EDT (-0400)
  Re: Games programmers  
From: Slime
Date: 11 Sep 2008 23:36:03
Message: <48c9e3a3$1@news.povray.org>
>> If you can learn an obscure language like Haskell, you can learn C++.
>
> I see. And what do you base this observation on?
>
> Haskell is a small, simple, logical language. C++ is a huge, messy, 
> complex language. I don't see how learning an easy language should enable 
> me to learn a hard language.

Heh, Haskell looks complicated and hard to learn to me. I guess it's 
relative to your current experience. I just think that if you have the brain 
to understand all of the constructs Haskell provides and why they're cool or 
interesting, you have the capability to do the same with any other language, 
especially a commonly used one.

> I already *know* Java. ;-)

Oh; aren't there Java programming jobs around?

>> Why don't you put the time into it?
>
> What makes you think I haven't?

The fact that you haven't learned C++ yet. =)

> Actually, at college we spent a whole semester programming in C. I'm sure 
> I've recounted the tale before. Basically C is a language designed for 
> experts. If you do something dumb, it will make absolutely no attempt to 
> save you. It will just merrily produce garbage, and leave you with no hope 
> of finding out why. Apparently there are people who know the Secret 
> Techniques for debugging C programs, and even writing C programs that are 
> correct in the first place - but this wasn't part of the syllabus.

Well, aside from having a good debugger, you just need to be honest with 
yourself about what parts of your program you do or don't understand. If 
it's not working right, then there must be something about it that you don't 
understand, and you need to identify what it is. Prints help with that (If 
you're using C++ and not just C, then use cout for simplicity) because they 
let you confirm that any given part of the program is working the way you 
expect. If you have to ask questions to understand something, pile up a list 
and ask them here once in a while. Just be honest with yourself about it: 
don't let yourself gloss over an expression that you may have seen somewhere 
but only partially understand. That's the sort of thing that will hurt you. 
Understand every character of every line in every program you write.

And of course, getting started is always hard. It took me at least two 
attempts (separated by learning other languages like JavaScript and VB) to 
learn C++.

> As I say, the trouble is that if your program doesn't work, there is no 
> way you can ever find out why.

Honestly, binary search with prints works in a lot of cases. If you know 
what the program is supposed to do, then you can identify the places it does 
something wrong.

> (Especially if you're using something like OpenGL. It's an extremely 
> complicated API, and unless you pay money it's not possible to get hold of 
> useful documentation.)

OpenGL can be difficult because if you do something wrong it will sometimes 
silently fail. And yeah, it's hard to get good documentation (I learned it 
by taking a class), but it's fun once you can use it so it may be worth 
buying a book on.

Ultimately my point is this: I think you *can* learn it, and if you're 
looking for a good programming job, I think you have a lot to gain by doing 
so.

 - Slime
 [ http://www.slimeland.com/ ]


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.