glossary

What is unit testing?

Saw many questions asking 'how' to unittest in a specific language, but no question asking 'what', 'why', and 'when' What is it? What does it do for me? Why should I use it? When should I use it (also when not)? Common pitfalls/misconceptions ...

What are MVP and MVC and what is the difference?

When looking beyond the RAD (drag-drop and configure) way of building User Interfaces that many tools encourage you are likely to come across 2 design patterns called Model-View-Controller and Model-View-Presenter. My question has two parts to it: What issues do these patterns address? How are they similar? How are they different?...

Can anyone explain Monads?

I think I understand what 'Maybe Monads' are, but I'm not sure about the other types....

What is boxing and unboxing and what are the trade offs?

I'm looking for a clear, concise and accurate answer. Ideally as the actual answer, although links to good explanations welcome. ...

Programming Glossary

As I browse through the site, I find a lot of terms that many developers just starting out (and even some advanced developers) may be unfamiliar with. It would be great if people could post here with a term and definition that might be unknown to beginners or those from different programming backgrounds. Some not-so-common terms I've ...

What do "branch", "tag" and "trunk" really mean?

I've seen these words a lot around subversion (and I guess general repository) discussions. Myself I have been using svn for my projects the last few years, but I've never grasped the complete concept of these directories. What do they mean? ...

What is a lambda (function)?

Hey guys, I see this term being used a bit, and a Google search didn't quite yield the most clarity, so help me out: for a person without a comp-sci background, what is a lambda in the world of Computer Science? UPDATE: marxidad, thanks for the reply--it seems to be climbing up in everyone's favor, so I'll likely accept it soon. Do you...

.NET: What are attributes?

What are they, what are they good for, and how to I create my own? ...

What is the difference between procedural programming and functional programming?

I've read the Wikipedia articles for both procedural programming and functional programming, but I'm still slightly confused. Could someone boil it down to the core? ...

Markdown vs markup - are they related?

I'm using markdown to edit this question right now. In some wikis I used wiki markup. Are they the same thing? Are they related? Please explain. If I want to implement one or the other in a web project (like stackoverflow) what do I need to use? ...

Java Annotations

What is the purpose of annotations in Java? I have this fuzzy idea of them as somewhere in between a comment and actual code. Do they effect the running of a program?? What are typical usages for them? Also, are they unique to Java, is there a C++ equivalent? ...

Functional programming and non-functional programming

In my second year of University we were "taught" Haskell, I know almost nothing about it and even less about functional programming. What is functional programming, why and/xor where would I want to use it instead of non-functional programming and am I correct in thinking that C is a non-functional programming language? Related topics ...

Abstraction VS Information Hiding VS Encapsulation

Can you tell me what is difference between ABSTRACTION and INFORMATION HIDING in software development? I am confused abstraction hides detail implementation and information hiding abstracts whole details of something. updated: I found good answer for these three concepts. From here: http://www.itmweb.com/essay550.htm Abstraction: ...

What is a language binding?

My good friend, Wikipedia, didn't give me a very good response to that question. So: What are language bindings? How do they work? Specifically accessing functions from code written in language X of a library written in language Y. ...

What is a data binding?

What is a data binding? ...

What is ASP.NET?

I've been strictly in a C++ environment for years (and specialized statistical languages). Visual Studio until 2001, and Borland since. Mostly specialized desktop applications for clients. I'm not remaining willfully ignorant of it, but over the years when I've dipped into other things, I've spent my time playing around with JavaScript...

What is a selector engine?

I've seen news of John Resig's fast new selector engine named Sizzle pop up in quite a few places, but I don't know what a selector engine is, nor have any of the articles given an explanation of what it is. I know Resig is the creator of jQuery, and that Sizzle is something in Javascript, but beyond that I don't know what it is. So, wh...

Database: What is Multiversion Concurrency Control (MVCC) and who supports it?

Recently Jeff has posted regarding his trouble with database deadlocks related to reading. Multiversion Concurrency Control claims to solve this problem. What is it, and what databases support it? updated: these support it (which others?) oracle postgresql ...

What's the difference between programmer and software engineer?

As I was looking through some job offerings I saw that many of them require a software engineer, some a programmer and some a developer. Is there any difference between a programmer and a software engineer? Or are they all looking for the same guy that can "write code"? ...

Please explain MapReduce simply

Related to my CouchDB question.... Can anyone explain MapReduce in terms a numbnuts could understand? ...