To all programmers: What do you personally think of Python, the programming langauge?
1. Is it a good teaching langauge?
2. A good general-purpose language?
3. Is it "better" than C/C++ or Java?
How so, and why or why not?
In other news: (
Dragon Dynasty )
Reply
Reply
(The comment has been removed)
Reply
There are definite reasons for using a functional language over C# (or Java). And there are reasons for using C# over C++, etc... etc... Its important for students to understand the role of languages (and hence, language theory) in computer science.
At the end of a 4-year program, I believe that any student should be able to
1) write a basic compiler tool (reg-ex to DFA conversion, grammars)
2) write an compiler for a C'like language
3) write an interpreter for an ML’like language
If a student can’t do 1-3, then they are not a real computer scientist. A programmer has the luxury of having a taste for a programming language; a computer scientist must have the discipline to make a programming language well.
Reply
http://www.paulgraham.com/taste.html
Reply
Reply
At the same time, strict rote learning still seems unnecessary, and also a barrier that would irritate me. So, if I forget the parameter to a library function? So what? I look it up and life goes on. But having it demanded? Screw it, I'll work for people who care about my taste, not what I've memorized.
Reply
Reply
I am not as committed to standardizing projects, given the requirement that those leaving the program are still able to perform them in nearly the same timeline and quality, particularly if they have additional relevant skills to many of the programming domains in question. For example, if I find a student who can design user-interfaces in any language, do usability studies, rapidly prototype interface, has numerous data visualization projects under their belt, and is otherwise a good all-around developer with solid writing and communicating skills, but has never written an interpreter to a functional language, for the vast, vast majority of projects, I would hire them immediately nonetheless. I respect, although not understand your decision, if you feel otheriwse.
Reply
assembler -> C -> C++ -> C# -> Ocaml
would be most instructive as it allows the powerful ideas to be expressed easily in Ocaml but obtain the discipline and basics from harder languages.
Reply
Leave a comment