|
|
>> 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
|
|