(04-06-2012, 09:11 AM)scummos Wrote: [ -> ]No, I read your text. I just shortened the quote for the sake of simplicity (and because in this forum, *way* too many full posts are quoted).
Just making sure you did, because that fragment you quoted needs the context of the rest of my statement to make any sense whatsoever.
(04-06-2012, 09:11 AM)scummos Wrote: [ -> ]I disagree (a bit at least). Unless you only write hello world applications, different languages have different challenges. For C++ / Python, an example is memory management. In C++, you have to do it "by hand" entirely; in Python, you never waste a tought about it because it does automatic reference-counting for everything.
It seems you're talking about the semantics of language here, whereas I've been talking about abstract concepts behind them. In regards to memory management, if you learn the concepts on a low enough level, you need only examine how the language itself implements it. There's no need to completely redefine what your ideas of the stack and the heap are; you only need to see how XYZ language goes about using them.
The same can be said of other things like variables, arrays, file manipulation, objects, functions, etc. Every time you start a new language, you (usually) don't fundamentally shift these ideas. You just learn how the language specifies how they are used. The syntax of how the language does it is different, but the underlying ideas are largely the same.
In C++, you know memory is used, but you have to take care of it yourself, so you learn how the language expresses that through pointers. In Python, you still know memory is used, but the language takes care of that for you, and it expresses that by exposing little to no code that deals with it manually. Their syntaxes, as a result, are different in that regard, but that doesn't change the larger idea of memory management. Memory gets allocated to things, and that memory needs to be freed by someone.
Ultimately, what I've been saying for the past few posts is that once you know
how to code, e.g.
how to program on the computer, once you've got those concepts solidly put in your head, it doesn't take much to learn a new language. You just need to learn how that language does what it does, which can be relatively easy with those previous concepts in mind.