Members - Reputation: 100
Posted 11 April 2012 - 04:29 PM
Members - Reputation: 140
Posted 11 April 2012 - 04:59 PM
Moderators - Reputation: 10520
Posted 12 April 2012 - 04:08 AM
Why are system level languages poor beginner languages? Fundamentally, they assume the programmer has perfect knowledge of the system and any inadvisable things that they choose to do are for a good reason. An analogy might be a minesweeper entering a live mine field - hopefully they know what they are doing! The consequences of sending a beginner into a live mine field is comparable to starting a beginner with a system level language.
Clearly, this assumption of infallibility will not be true for beginners. In fact, the rich diversity of software bugs indicates that this assumption can fail even the most experienced professionals.
The next thing that beginners do not understand is that most programmers do not learn just a single language. They might use a single language predominantly, but they probably have learned a good half dozen or more. This is easier than one thinks, programming languages are not like natural languages in this regard. The point here is that you're not making a binding commitment to a given language for life. You're just choosing a starting point.
An important consideration for beginners is a languages popularity. Not because "one million programmers can't be wrong", but rather because there will be more information on popular languages, more books, fora, communities, libraries (the software kind), etc.
Three languages that I feel meet the criteria that I've outlined above are C#, Java and Python.
Members - Reputation: 592
Posted 13 April 2012 - 12:22 PM
Your confusion comes from... *snip*
Great post, rip-off.
@ OP: The most important things I've learned in programming methodology is that you wanna start with top-down programming - the stuff that teaches you to use objects, classes, etc. at the highest possible level without (1) having to know the method/function behind every single built-in variable or (2) having to build those objects or methods/functions yourself, from scratch.
I'm learning Java myself, and there's tons of great stuff within the .acm library that I don't need to know about until later. Just an example.
- Awl you're base are belong me! -
- I don't know, I'm just a noob -
Members - Reputation: 192
Posted 13 April 2012 - 01:00 PM
I agree entirely with rip-off. It does not matter what language you choose. It more comes down to what tools, libraries, APIs and other things are available to the language.