ckblackm
Very Active Member
What? No recommendations for Pascal?
I thought about, but wasn't sure, how good fpc works for the pandora. But yes, for the protocol: Pascal is in may opinion the best language to learn developing.What? No recommendations for Pascal?
Took me a while to understand C; I found BASIC and Assembler easy to pick up. I still hate the amount of braces required, and semicolon line enders. I'm not sure though, I would probably not suggest it as a first language, but I probably wouldn't dissuade anyone from it either.Again, I'll have to disagree that C is a beginner's language - I'm extremely proficient in Object-Pascal (FPC/Delphi) and several flavours of assembler. And I cannot code in C whatsoever, it's impenetrable to me. I just cannot get my head around it at all - it's all gibberish and makes no sense whatsoever.
And don't get me started on Makefiles - what the hell are they even for?
Etc, etc.
D.
I'd love to learn something like C or Java that you could really program in...but I am afraid of it, because I'm afraid I'll do something that will like, blow up my computer or something.
I'm semi comfortable with C++, but some of that scared me. There were so many function names it may not be clear to a beginner that you defined them yourself, rather than having to memorise thousands of them. I think showing complete small programs is less scary than snippets from large programs where you're taking it on faith that the comments are telling the truth. Oh and += is not at all obvious until you learn what it does.I could go on, but, well, I don't know, maybe I have seen C/C++ code for too long, but to me the above isn't that hard to read.
that's what I mean, choose a good training method and forget the language, once you know how to program you can adapt yourself to any language quite fast... people who can't adapt don't really know how to program in my opinion, they are just assembler or pure C code spawner... most OOP and other software design can be used with any language (and yes even non OOP language... with pain...)For years (first 25) I didn't think I could understand anything beyond Quick Basic.. I was pushed into a situation where it was imperative to learn programming. I can now say I can learn just about any language in a few days once I can figure out nuances. I suppose like anything hard, it just requires time and pressure to break into it.
I have always used editors that provide some form of auto complete, I personally think this is great for beginners (and everyone else too). So you can just type Api. and then it auto gives you a list, for example ->Graphics ->Physics ->Audio ->IO, from there you can decide what you want to do, if it is play a music track then it feels obvious to me that you'd go for Api.Audio. which again provides a list ->GetMusicHandle ->GetSfxHandle, so in this case we want to play a music track so we'd go for Api.Audio.GetMusicHandle it tells you it is a function and as soon as you hit open parenthesis i.e. Api.Audio.GetMusicHandle( it brings up details about the parameters, e.g. [param1 std::string] filename to .ogg file you wish to load [param2 MusicHandle] handle to load track into. At which point it has held you hand to typing:I'm semi comfortable with C++, but some of that scared me. There were so many function names it may not be clear to a beginner that you defined them yourself, rather than having to memorise thousands of them. I think showing complete small programs is less scary than snippets from large programs where you're taking it on faith that the comments are telling the truth. Oh and += is not at all obvious until you learn what it does.I could go on, but, well, I don't know, maybe I have seen C/C++ code for too long, but to me the above isn't that hard to read.
I'll put my hand in this time for Scratch. There was a nice version of Frogger done in Scratch in one issue of the Raspberry Pi magazine (MagPi) which is just the right level of complexity for a beginner to puzzle over and learn lots from.
You are right. I forget that everyone doesn't understand while/for loops/variables, doh! I guess come back in 10 years when everyone who has gone through school will probably have been taught the basics!I'd say, Steven, that what you're saying is indeed correct, but it is far, far above the level of complete beginner That is my experience too, after I'm reasonably proficient in the general idea of programming and what I can expect from my language, and so on. On the beginner level, though, one needs to come to grips whit stuff like "This thing is a variable. It can be assigned a value. That there is a while loop. It repeats the stuff contained in the brackets after it" and so on. Mixing an IDE and an API into this will only increase the confusion.
Its also important to remember that in programming, variables can be given helpful names:10 LET x=x+1
Yes, but if those were used on one of the old 8bit BASICs, then there were very good reasons for using single letters - firstly that some BASICs only allowed one letter, secondly that longer names took up more bytes in memory (yes, we really were that tight for RAM back then) and thirdly each time a variable is accessed in an interpreted BASIC it has to be looked up[1], and string-compares are far faster on one-byte strings than they are on longer strings!Its also important to remember that in programming, variables can be given helpful names:10 LET x=x+1
e.g.
sheep = sheep+1
if (sheep==10){
print("There are ten sheep")
}Some of my first programs used nothing but single-letter variables - agurgh!