3 ms·
> The only reason Python passes as a language with good design ..because ability to compromise is a good design, in a sense. I kinda agree about the scope tho
by asgard1024 11y ago
> The only reason Python passes as a language with good design
..because ability to compromise is a good design, in a sense.
I kinda agree about the scope though, but I don't think it's a big deal. Sometimes having a hierarchy is overrated, and two levels of names is good enough.
But you will find design mistakes in all languages. Every designer errs. Python doesn't actually have that much warts because the designer is quite conservative.
> Idk where to people get the idea that Common lisp is 'beatiful and elegant'
Maybe from the paper that introduced Lisp, of which CL is descendant? I am aware about CL's warts, but these are result of Lisp's success rather than its original design goals.
> Scheme's design (ideology if you want) is to play to pick features that synergize as to allow discard others as they can be expressed with the previous features/concepts
I understand. But the reason for that is that people consider it beautiful when you start from small subset of features. It doesn't however reduce the need to know the more practical concepts. Like in mathematics. The fact that we can build everything from set theory doesn't mean we don't need to know about integrals.
Some universities skip the basics (set theory) and teach only the practical concepts (integrals). Perfectly fine in my book.
> Now if you want to argue that nowadays the student needs to learn how to pipe software together
I have said it on HN before, it depends on your goals. If you're teaching future programmers/computer scientists, sure, starting from Scheme or even Lambda calculus is better. Because you can assume people will do the real work in other languages. But if you teach a general non-programmer audience to program (like scientists), why not teach them just one language, which they can use in practice?