On Tue, Jan 19, 2016 at 10:18 AM, Steve Mynott <steve.myn...@gmail.com> wrote: > I think targeting Perl 6 at CS academic teachers is an excellent idea > as a way of generally promoting use of the language. > > But I'd be wary of "bashing" current choices such as Python and don't > believe any objective comparison of the two languages is possible. > > Python is in any case derived from ABC which was explicitly designed > for teaching purposes.
I'm not suggesting bashing Python, Steve, I just think some comparison is necessary. The article I am referencing is this: Python for Beginners _______________________________ By Esther Shein Communications of the ACM, Vol. 58 No. 3, Pages 19-21 10.1145/2716560 Here is an excerpt detailing some criticisms of Python as a teaching language <quote> Not everyone agrees Python is the be-all-end-all as an introductory programming language. Shriram Krishnamurthi, a professor of computer science at Brown University, acknowledges Python has many nice features. "It offers a pleasant syntax, a large set of libraries, and an interaction loop ... all of which are very useful for teaching. Compared to the noise and complexity of Java, it is indeed a very nice step forward." He agrees Python has made people feel more comfortable about exposing programming to a much broader audience of students. "There are many students I would not dream of teaching Java to that I would happily show Python." That said, however, it does not take long to discover Python's weaknesses, Krishnamurthi notes. Among them are that "Creating non-trivial data structures is onerous, because Python does not provide straightforward means for creating new structured data. You have to understand a bunch of unrelated concepts, like classes, and their onerous syntax and tricky semantics, which greatly reduces the benefit of simplicity that Python was supposed to offer." Because of this, he believes more and more curricula are ditching the idea of structured data—one of the central concepts in computer science—and doing one of two things: shaping their curriculum to avoid them, or pushing students to encode more-structured data in less-structured formats provided by default in Python. "This lack of data structuring and classification has a significant negative impact on teaching program design," Krishnamurthi says. "The best program design methods we have right now focus on data-driven design, which derive from the structure of data." </quote> Best, -Tom