I have heard of many and studied several, are there others that I've missed? I have studied:
I'm looking for 'whole' paradigms for study, such as the above, that tend to fit a boundary around how you express a program - Aspect Oriented Programming doesn't fit into this description to me since it is an add-on to existing languages, rather than typically embodied by a language.
What other paradigms are there and what is compelling about them?
-
Generative programming
EDIT: look into ontology, OpenCyc
From eulerfx -
quick guess: trivial, such as non-turing complete languages.
From Andreas Petersson -
There's process-oriented programming, don't know if that's "whole" enough for you.
Kyle Burton : I explicitly mentioned AOP as not fitting the question - what is important about it? I just see it as an alternative method of DI - are there AOP languages? Or just extensions to existing languages?moritz : Sorry, I was half-asleep when I wrote the answer. Updated now.From moritz -
Do stack-based languages, such as Forth and Postscript, count as a paradigm? Certainly programming in them is like no other language. Technically I suppose they count as Procedural, but their structure is completely different.
From Marcus Downing -
Not sure if you can call them paradigms but:
real time programming languages
assembler languages ;-)
From Gamecat -
Aspect-Oriented Programming is most definitely a programing paradigm. It is actually used all the time without people even realizing it. It can be done in any language kind of like the way you can use object-oriented programming in a language like C that doesn't have any direct support for it.
Most people only think of AspectJ when they hear about AOP, but that's just one popular language/implementation. AspectJ feels like an add-on because it simply adds more AOP features on top of an otherwise existing language. That says nothing for the paradigm itself.
AOP is all about separation of concerns. Encapsulation, modularization, and the ability to split blocks of code into functions -- some of the most fundamental concepts in programming -- are all a part of aspect-oriented programming. To do true AOP though, you go even further, and separate concerns at the statement level. Pointcuts are yet another feature designed to separate concerns when certain ones necessarily cut across -- or crosscut -- other abstractions.
CrazyJugglerDrummer : NOTE: a paradigm, but not mutually exclusive with the others. OO programming is often used WITH AOP. ;DFrom Jonathan Tran -
There is quite a comprehensive list on wikipedia
From toolkit -
Some would add agent-oriented. Not that I would agree.
From CesarGon
0 comments:
Post a Comment