ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
And which part of it did I misread? Aren't you more on knowing things little by little (in a blinded way), more like the way of schools?
Originally Posted by psionl0
It might take at least a couple of weeks before the student is ready to be introduced to concepts such as structured and modular programming, object vs procedural orientated programming, scoping, encapsulation and inheritance etc.
Originally Posted by psionl0
Learning should be a hands on experience - not hands off until you have learned the definition of a whole lot of abstract concepts first.
Are you implying that I should have agreed with that so that you could tell that I read your post properly?
If you wanted them to have an "abstract" idea at least, why stop them at reading broad terms e.g.
And trying broad languages like C++ and Ruby? And please don't say that a 14 year old could be not able to do that. How could you tell? And broad languages such as those could be learned with one book.
Wow, some of this stuff would challenge an experienced programmer. It would almost certainly convince the beginner that programming was incredibly difficult and complex.
What ever happened to "just do it"? Write a line of code and see if it runs. Write two lines and see if they work. etc.
It is easy when you have been programming for a while to forget how foreign some of the basic concepts can be. Schools seldom teach logic so some of the logic seen in conditional statements (especially negated logic) can be completely novel to beginners. Arrays - especially where the index is a variable or an rvalue (algebraic expression) - are also a difficult concept for beginners to grasp. Appreciating the difference between y = x + 1 in mathematics and in computer programming is crucial to appreciating why a statement like x = x + 1 has no solution in mathematics but is a perfectly natural statement in a cefiledomputer programming language.
The best way to teach students something new is to make links to what they already know. Approaching programming as an extension to using a hand held calculator is one of the more effective ways to start. It might take at least a couple of weeks before the student is ready to be introduced to concepts such as structured and modular programming, object vs procedural orientated programming, scoping, encapsulation and inheritance etc.
What ever happened to "just do it"? Write a line of code and see if it runs.
- sure, run through a mine filed and see how your limbs are torn away.
From mid-century onwards certain utopian schemes to retard maturity in the interests of a greater good were put into play, following roughly the blueprint Rousseau laid down in the book Emile. At least rhetorically. The first goal, to be reached in stages, was an orderly, scientifically managed society, one in which the best people would make the decisions, unhampered by democratic tradition. After that, human breeding, the evolutionary destiny of the species, would be in reach. Universal institutionalized formal forced schooling was the prescription, extending the dependency of the young well into what had traditionally been early adult life. Individuals would be prevented from taking up important work until a relatively advanced age. Maturity was to be retarded.
During the post-Civil War period, childhood was extended about four years. Later, a special label was created to describe very old children. It was called adolescence, a phenomenon hitherto unknown to the human race. The infantilization of young people didnít stop at the beginning of the twentieth century; child labor laws were extended to cover more and more kinds of work, the age of school leaving set higher and higher. The greatest victory for this utopian project was making school the only avenue to certain occupations. The intention was ultimately to draw all work into the school net. By the 1950s it wasnít unusual to find graduate students well into their thirties, running errands, waiting to start their lives.
You obviously missed the word, "not" in that quote which changes the meaning entirely.
I haven't quoted anything there and honestly I don't follow anymore. Are you sure what post of mine that you've been referring to was also quoting to the one you think it is? But nevermind that.
Spend a few weeks learning to write programs that "work" then learn Java/Pyton/C++ etc. Why do you think that is such a horrible approach?
Not a bad one as it has proven useful many times, but not the only good one. Also the other approach prevents one new programmer from having a hard time extending themselves to newer features of newer languages; prevents them from being conservative and find good pictures of how they could make newer languages useful and convenient to them.
Why not go to C++ quickly? Aren't books going to teach parts of it little by little too? But at least you could easily get an idea of what a complete-featured language is capable of; how you could use its dangerous yet powerful features if you're brave enough. And with respect to Ruby, how one could have the concepts of a really easy and simplified language, but still consistent. And Ruby is even easier than C. Yes it could give misleading ideas what true programming really is I know, since Ruby is more of an interpreted language. This is why I also referred to C++, which also covers C, but not something that's really conservative and tight-spaced.
Last edited by konsolebox; 04-12-2013 at 09:49 PM.
Back to topic, i'd recommend an established programming language that allows to write whatever software you want without any limits or bottlenecks. Some BASIC-kind of language might be okay at first, but sooner or later one usually switches over to something more...sophisticated and maybe also faster, so why bother learning programming languages in the first place if you end up leqaving them behind anyway? All the learning and all your code snippets developed for nothing..
So, C/C++, python, maybe lua (bit easier) and as someone also mentioned, ruby are certainly not bad choices.