Imho programming is about translating a problem into a solution.. Most problems are already halfway solved by simply choosing the right language... That is why i find it more important to know a couple of languages (and the problem domains where they are powerful) instead of knowing one language and problem domain in depth.jdrietz wrote:Do you start with a language that is easier to learn and allows you to focus more on program design / logic?
You always have to be careful and check if your solution is solving the problem. If you're referring to indentations, choosing names for functions, methods, variables, etc ... These are things you can (and should) do with every language.jdrietz wrote: Or, do you start with a language like C that demands you do everything and do it carefully, the benefit being that this will create good habits that you will then carry over to any other language you learn?
Is it really an advantage that you have to think about memory management when you're thinking about a solution? Is it really an advantage that you have to think about a specific computer architecture/instructionset when you're thinking about a solution? Are these really advantages when you're a beginning programmer?
Why would PHP be more forgiving? A mistake is a mistake, in any language. Do you really want to think about memory management when you're generating html? Btw, with PHP you have to think about the context in order to understand how a variable will be interpreted and with a more strictly typed language you don't.jdrietz wrote: If you don't mind, let me take a slightly different approach to my question: Does starting with a language like PHP, which is perhaps more forgiving to the newbie, makes it more difficult to later pick up a language like C because things taken for granted before are now required (i.e. memory management, declaring types, etc.)?
If you consider memory management as a detail, then yes, it would be plainstupid to focus on it... Since it's a detail and not part of the 'main solution'.jdrietz wrote: Another way to put this might be to ask whether using PHP as a first language is more likely to result in bad programming habits/styles versus starting with C because C demands stricter attention to detail?
You can learn bad programming habits and styles in any language.. And it's in all languages quite easy to do so.. Therefor: learn the logic and algorithms first (this way you can at least solve problems) and afterwards learn the language specific bits...