2 ms·
"So you agree that from assembly to C to python there is no lowering in difficulty?" I can't quite parse that. But it's meaningless to claim that Python is "l
by mechanical_fish 19y ago
"So you agree that from assembly to C to python there is no lowering in difficulty?"
I can't quite parse that. But it's meaningless to claim that Python is "less difficult" than C. Sure, it's a lot easier to write a dynamic web page in Python than in C, just as it's easier to write a letter with a pen than with a needle. But what if you're building a real-time operating system? A high-performance Java compiler? A video card device driver?
To the extent that you can compare the difficulty of two languages as opposed to two tasks, I tend to agree with Spolsky: in general, it's more difficult to learn Python than to learn C or assembly:
http://www.joelonsoftware.com/articles/LeakyAbstractions.html http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...
"The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying "learn how to do it manually first, then use the wizzy tool to save time." Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don't save us time learning.
"And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder."
Python may collect your garbage for you, but you're still going to have to learn what garbage collection is, and what its performance implications are. I think Rails is great, but I really wonder whether I'd have understood and appreciated Rails if I had never seen vanilla CGI, or designed a data model in raw SQL.