paradigms

Multi-Paradigm Languages

In a language such as (since I'm working in it now) PHP, which supports procedural and object-oriented paradigms, is there a good rule of thumb for determining which paradigm best suits a new project? If not, how can you make the decision?...

Do you use AOP (Aspect Oriented Programming) in production software?

AOP is an interesting programming paradigm in my opinion. However, there haven't been discussions about it yet here on stackoverflow (at least I couldn't find them). What do you think about it in general? Do you use AOP in your projects? Or do you think it's rather a niche technology that won't be around for a long time or won't make it ...

Do you use MDA/MDD/MDSD, any kind of model-driven approach? Will it be the future?

Programming languages had several (r)evolutionary steps in their history. Some people argue that model-driven approaches will be The Next Big Thing. There are tools like openArchitectureWare, AndroMDA, Sculptor/Fornax Platform etc. that promise incredible productivity boosts. However, I made the experience that it is either rather easy i...

What programming language paradigm fits which job?

As far as I know (not much I'll admit), the currently popular programming paradigms are Object Oriented (Java, C#, Ruby) vs functional (F#). As someone who is mostly familiar with the first paradigm, I have several questions: Can a programmer simply stick with one paradigm all of his/her life? Or in other words, can all problems be red...

What things didn't you know you needed but are now very glad you have?

Take a programmer that has never used source control, show them what it does, and their eyes light up... the benefits are obvious but until they actually see it most people had never considered the existence of such a tool. What other such things exist? Tools or approaches or techniques that aren't obvious before you encounter them, ...

What is aspect-oriented programming?

I understand object oriented programming, and have been writing OO programs for a long time. People seem to talk about aspect-oriented programming, but I've never really learned what it is or how to use it. What is the basic paradigm? This question is related, but doesn't quite ask it: Aspect-Oriented Programming vs. Object Oriented ...

Learning Functional Programming?

I've recently been dabbling in functional programming with languages like Lua, Scheme and most notably F# and there are a lot of resources to learn these languages. However, the resources that I've found and have been using essentially teach only the syntax of these languages. While that's important, I can do this in a day or two. I j...

Is my parameters storing paradigm good?

Hi. I develop next application parameters storing paradigm: There is enum for each parameter roles enum ParameterRole { FileName, FileDir } Parameters are contained in special container as object class ParamContainer : Dictionary(ParameterRole, object) { public new object this[ParameterRole role] { get { if (base.Contain...

Double-checked locking in .net

I came across this article discussing why the double-check locking paradigm is broken in java. Is the paradigm valid for .net (in particular, C#), if variables are declared volatile? ...

Flow Based Programming

I have been doing a little reading on Flow Based Programming over the last few days. There is a wiki which provides further detail. And wikipedia has a good overview on it too. My first thought was, "Great another proponent of lego-land pretend programming" - a concept harking back to the late 80's. But, as I read more, I must admit ...

What can we learn from your most recent cataclysmic paradigm shift?

Very occasionally we go throuh a software learning experience that turns our assumptions upside down, and we view software development from a whole new perspective. The most obvious one I suspect for most of us who have been around a while was the transition to hard-core OOP. What other such earthquakes have you experienced, and how woul...

Which book would you recommend as a reference on computing paradigms?

I'm looking for a book that introduces one to the various computing paradigms in existence and then goes in depth into each. What I'd like to take away from the end is a basic understanding of each and the ability to make a much more informed decision on which ones to get deeper into. ...

Confused. Is OO inherently imperative or is is it multi-paradigm?

As I have read through stackoverflow answers and questions I am getting the impression that OO is compartmentalized to to be inherently imperative. But isn't OO just a way to compartmentalize code and data into real world Objects? If so, why would that forgo other lower level paradigm to work in such a platform? IOW, an Object Based g...

Threading paradigm?

Are there any paradigm that give you a different mindset or have a different take to writing multi thread applications? Perhaps something that feels vastly different like procedural programming to function programming. ...

What are some good examples or paradigms for Client and Server implementation in the same source file?

Sometimes for small projects, and even not so small ones, its nice to be able to keep server-side implementation and client-side implementations on the same source file to reduce maintenance overhead, and make it easier to quickly develop stuff. So I was wondering about good sources of documentation and frameworks that do this sort of t...

How many programming language types are there?

Duplicate: What are all the Programming Paradigms? Functional, Object - Oriented, Procedural, ... ? ...

Where is MVC a bad thing?

I've been reading through a couple of questions on here and various articles on MVC and can see how it can even be applied to GUI event intensive applications like a paint app. Can anyone cite a situation where MVC might be a bad thing and its use ill-advised? EDIT: I'm specifically talking about GUI applications here! ...

Mixins vs. Traits

What is the difference between Mixins and Traits? According to Wikipedia, Ruby Modules are sort of like traits. How so? ...

What is Component-Driven Development?

Component-Driven Development term is starting to get used widely, esp. in connection with Inversion of Control. What is it? What problems does it solve? When is it appropriate and when not? ...

Significant Challengers to OOP

From what I understand, OOP is the most commonly used paradigm for large scale projects. I also know that some smaller subsets of big systems use other paradigms (e.g. SQL, which is declarative), and I also realize that at lower levels of computing OOP isn't really feasible. But it seems to me that usually the pieces of higher level solu...