Research
We see a great potential for research of conceptual aspects of programming languages. It seems that in fact there has been no real breakthrough in this topic in the last decades. You may want to watch some videos:
- Bret Victor: The Future of Programming … A challenging video where Bret situates himself to speak from the year 1973 about the future of programming in the context of current achievements. Video suitable also for non-programmers!
- Robert C. Martin: The Last Programming Language … Interesting thoughts on programming paradigms evolution from one of today’s greatest programming gurus.
Practice
We are particularly interested in programming languages that support clear expressing of concepts. Right now, in CCMi we are interested mostly in (alphabetically):
- Clojure — clean language for functional paradigm
- ECLiPSe — for logic paradigm, “better” Prolog
- Javascript — the language has its (serious) flaws, however it offers strong functional concepts.
- Python — mixed paradigm language, academically not interesting, but convenient for some tasks. The Django web framework is an excellent piece of conceptual work.
- Smalltalk — pure object-oriented paradigm
Apart from them, there are of course languages that we do not like conceptually, however due to general popularity and a lot of existing applications, many solutions may benefit from them: yes, these are mostly Java and PHP.