2 ms·
The interesting things don't happen in a particular paradigm but rather where multiple paradigms meet. Python is imperative and strongly object oriented, but i
by daeken 17y ago
The interesting things don't happen in a particular paradigm but rather where multiple paradigms meet. Python is imperative and strongly object oriented, but it also has many functional qualities to it. Ruby even more so, with great support for closures. Boo mixes imperative, object-oriented code with thorough metaprogramming, type inference, and a host of functional features. Nemerle is a functional language but mixes object orientation cleanly into the mix. These are the places where you see interesting concepts coming to light, not in the pure-X-paradigm camps.
As for libraries, this is becoming less and less of an issue. With .NET and the JVM, you have a single set of libraries that works with any compatible language and allows language designers to focus on what they're good at: the language. The effects of that can't be understated; it's allowing for a huge amount of innovation with fairly little time investment and ease of adoption.
- rdtsc 17y ago> As for libraries, this is becoming less and less of an issue. With .NET and the JVM, you have a single set of libraries that works with any compatible language and allows language designers to focus on what they're good at: the language. Yes, the language does't have to come with its own libraries. It can piggy-back on some other libraries. If there was just one operating system. with a good and stable API the language might not need any libraries, just the ability to make system calls. So for .NET and java, Sun and Microsoft already did the hard work as far as library code is concerned so any language on those platforms is already miles ahead of a new lanuage without any "batteries". Interestingly enough, if an API is stable and well designed, a language could be created to take a better advantage of it. I am currently looking at Vala, it basically started as a better language than C that would take advantage of glib.