On Fri, Dec 17, 2010 at 10:20 PM, Patrick Kobly <patr...@kobly.com> wrote:
On 12/17/2010 5:10 AM, Parshwa Murdia wrote: > > The thing to keep in mind here is what is the purpose of the language > you're choosing for this step in your journey. You are clearly not going to > be writing production software for some time. You are choosing a language > that will serve as a canvas for early-stages learning. At this point, you > probably want to evaluate your tools in terms of their pedagogic advantages, > rather than practical advantages for implementing working production > software. > Correct, for only beginners learning. > IMHO, a first learning language should introduce concepts including: > > - Variables > - Typing of variables (strong typing) > - Arrays > - Data structures > - Boolean logic expressions > - Flow control and looping (if, then, else ; while ; for,to) > - Procedure and / or function calls > - Formal parameters vs. actual parameters > - Recursion > - Equivalence of recursion and iteration > - Compilation > - Compile-time vs. Run-time errors > > A first programming language should avoid concepts like: > > - Pointers (at least in the C conception of them, breaking the typing > system) > - Dynamic typing > - Polymorphism > - Inheritance > > That in mind, my suggestion for a first language would generally be more > similar to Pascal or Modula-2 than C, Python, C++, Java,... > Oh I see. -- Regards, Parshwa Murdia
-- users mailing list users@lists.fedoraproject.org To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines