• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

First Programming Language

Design patterns and object oriented design aren't exactly "basic".

I think the point some of us are trying to make is that the first language you should learn is not a language at all. There are many concepts which you should learn about how a computer works before you can have any hope at writing computer programs or doing further work. If you do quickly learn a language first, you'll end up clouding those concepts with the perception you have of that language.

You can be successful learning a language straight away, sure. Lots of people do it. And if you're not a serious CS student and just learning to get something done for another discipline, then you're probably fine. If you're studying CS with any sincerity, though, I think you're really best off starting from scratch.
 
Design patterns and object oriented design aren't exactly "basic".

I think the point some of us are trying to make is that the first language you should learn is not a language at all. There are many concepts which you should learn about how a computer works before you can have any hope at writing computer programs or doing further work. If you do quickly learn a language first, you'll end up clouding those concepts with the perception you have of that language.

You can be successful learning a language straight away, sure. Lots of people do it. And if you're not a serious CS student and just learning to get something done for another discipline, then you're probably fine. If you're studying CS with any sincerity, though, I think you're really best off starting from scratch.
I think it depends on the learning style of the individual. I would never learn well the way you described; it's learning raw concepts without their application. In order to truly understand something, I need to apply it to something "real world". I'm guessing I am not alone in this.

You might argue that an ideal environment to learn this under would be one without syntax, but again, here, I disagree; isn't learning syntax as important as learning the other structures and concepts? As far as learning bias along with your primary language; as a CS major, you will likely pick up any number of other languages. Any bias you may have held for your "first" is usually discarded well before you land your first job. And for the casual programmer, well, that is were bias becomes a problem. When all you have is a hammer and all that.

Again, I'm basing this off of my method of learning ( well, ok, and those I've tutored, but that could very well be a reflection of my own learning style ). Perhaps your method works for others, I'll have to watch for it with my next student.
 
I'm not proposing learning raw concepts without application. I'm proposing minimizing the number of concepts between the student and the application.
 
Back
Top