Why We Should Teach Python instead of Racket
41–50 of 69 posts
Re: Why We Should Teach Python instead of Racket
#42Earlier quoted context omitted.
There is no reason computer science needs to be steeped in academia. The only reason why it is so popular in the first place is because it is so practical and applied. Easy to profit from. If you worship your ivory towers, feel free to become a mathematician.
I think computer science has every reason to be steeped in academia.
Re: Why We Should Teach Python instead of Racket
#43Earlier quoted context omitted.
I think computer science has every reason to be steeped in academia.
By your logic, the creators of PageRank should have chased after the tenureship rat race like every upstanding academic instead of trying to commercialise.
That does not follow, in any shape or fashion, from what was stated.
Re: Why We Should Teach Python instead of Racket
#44Python is a terrible choice as a first language. Idiomatic python is just glue code that obfuscates the underlying algorithms. Object oriented programming (implementation inheritance) is increasingly regarded as an antipattern, and it encourages that too. The massive performance penalty of writing logic in python vs calling out to external libraries mostly forces developers to program by lego-brick assembling externa…
You might look at this answer: https://www.quora.com/Why-is-Python-not-a-suitable-language-...
Re: Why We Should Teach Python instead of Racket
#45Full disclosure - I took 3 classes in Racket: Intro to CS, Programming Languages, and Compilers. > Racket is not a very popular language in teaching communities This list of schools with introductory Racket classes isn't accurate, because the author did not look beyond the naming of the courses on the Github page. My school was missed. > Students are unlikely to have had prior experience with Racket This is good beca…
There is no reason computer science needs to be steeped in academia. The only reason why it is so popular in the first place is because it is so practical and applied. Easy to profit from. If you worship your ivory towers, feel free to become a mathematician.
Re: Why We Should Teach Python instead of Racket
#46Earlier quoted context omitted.
Right. And doesn't that apply to programming languages too? Aren't the ways that Python is irregular to support real-world needs (the Zen of Python even says "Practicality beats purity") worth CS students studying?
No, because this is computer science and not software engineering. The best introductory language is the one that allows to express the concepts that are presented in the cleanest way possible. If you want "real-world needs" then drop out and work for a software company. The purpose of universities is not to cater to the needs of industry - to pump out code monkeys.
Re: Why We Should Teach Python instead of Racket
#47Earlier quoted context omitted.
I thought the person that you're replying to made a very good point about Esperanto. Why do we teach linguistics with messy real-world languages instead of conlangs that most clearly distill the principles we want to teach?
Interesting point. You are mixing up teaching language with teaching linguistics. Teaching linguistics usually includes phonetics, phonology, morphology, syntax, semantics, pragmatics, discourse, typology and semiotics. Quite similar to teaching computer science. The concepts are independent of the implementation. In this context using Python is bad because it has a very limited set of concepts that worth knowing. Ra…
Can you give me an example of such a university curriculum?
Re: Why We Should Teach Python instead of Racket
#48Python is a terrible choice as a first language. Idiomatic python is just glue code that obfuscates the underlying algorithms. Object oriented programming (implementation inheritance) is increasingly regarded as an antipattern, and it encourages that too. The massive performance penalty of writing logic in python vs calling out to external libraries mostly forces developers to program by lego-brick assembling externa…
Object oriented programming is an antipattern? Can you explain this? I am not a CS major, but I find using classes quite useful.
Re: Why We Should Teach Python instead of Racket
#49Earlier quoted context omitted.
No, because this is computer science and not software engineering. The best introductory language is the one that allows to express the concepts that are presented in the cleanest way possible. If you want "real-world needs" then drop out and work for a software company. The purpose of universities is not to cater to the needs of industry - to pump out code monkeys.
Just to make sure I understand you correctly - you're arguing that it is not the place of universities to address real-world needs? History and economics faculty should have nothing to offer to politicians? Biologists in universities should study model organisms, leaving the study of humans to the medical industry, and biology degree programs should not pump out health monkeys? Law professors should discuss specially…
Re: Why We Should Teach Python instead of Racket
#50Being in lock-down mode, I thought it would be a good time to finish reading (and doing) the "Structure and Interpretation of Computer Programs" that I started many years ago and abandoned. Ever since I read Paul Graham's essays on Lisp, I dreamed that I'd like to be able do build domain specific languages "when I grow up". Life always gets in the way, but I now decided to give Lisp another chance. And now this. Hm,…