Questions tagged [terminology]
Questions about the meaning or usage of programming terms.
terminology
2,435
questions
3652
votes
39
answers
1.2m
views
What is dependency injection?
There have been several questions already posted with specific questions about dependency injection, such as when to use it and what frameworks are there for it. However,
What is dependency injection ...
2551
votes
24
answers
1.0m
views
What is reflection and why is it useful?
What is reflection, and why is it useful?
I'm particularly interested in Java, but I assume the principles are the same in any language.
2471
votes
10
answers
610k
views
What is JSONP, and why was it created?
I understand JSON, but not JSONP. Wikipedia's document on JSON is (was) the top search result for JSONP. It says this:
JSONP or "JSON with padding" is a JSON extension wherein a prefix is specified ...
2372
votes
24
answers
573k
views
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 three design patterns called Model-View-Controller, Model-...
2320
votes
40
answers
716k
views
What is Inversion of Control?
Inversion of Control (IoC) can be quite confusing when it is first encountered.
What is it?
Which problem does it solve?
When is it appropriate to use and when not?
2173
votes
42
answers
1.0m
views
What's the difference between a method and a function?
Can someone provide a simple explanation of methods vs. functions in OOP context?
1939
votes
21
answers
612k
views
What's the difference between a proxy server and a reverse proxy server? [closed]
What is the difference between a proxy server and a reverse proxy server?
1690
votes
48
answers
333k
views
What is a monad?
Having briefly looked at Haskell recently, what would be a brief, succinct, practical explanation as to what a monad essentially is?
I have found most explanations I've come across to be fairly ...
1332
votes
19
answers
890k
views
What is a race condition?
When writing multithreaded applications, one of the most common problems experienced is race conditions.
My questions to the community are:
What is the race condition?
How do you detect them?
How do ...
1222
votes
14
answers
662k
views
What are "named tuples" in Python?
What are named tuples and how do I use them?
When should I use named tuples instead of normal tuples, or vice versa?
Are there "named lists" too? (i.e. mutable named tuples)
For the last ...
1209
votes
16
answers
464k
views
What do "branch", "tag" and "trunk" mean in Subversion repositories?
I've seen these words a lot around Subversion (and I guess general repository) discussions.
I have been using SVN for my projects for the last few years, but I've never grasped the complete concept of ...
1147
votes
18
answers
283k
views
What is (functional) reactive programming?
I've read the Wikipedia article on reactive programming. I've also read the small article on functional reactive programming. The descriptions are quite abstract.
What does functional reactive ...
1104
votes
16
answers
422k
views
What is the meaning of "POSIX"?
What exactly is POSIX? I have read the Wikipedia article but I still don't understand.
1075
votes
38
answers
451k
views
What's the difference between an argument and a parameter?
When verbally talking about methods, I'm never sure whether to use the word argument or parameter or something else. Either way the other people know what I mean, but what's correct, and what's the ...
1069
votes
6
answers
385k
views
Definition of "downstream" and "upstream"
I've started playing with Git and have come across the terms "upstream" and "downstream". I've seen these before but never understood them fully. What do these terms mean in the context of SCMs (...
1058
votes
27
answers
483k
views
What is the difference between a definition and a declaration?
The meaning of both eludes me.
1040
votes
22
answers
420k
views
What is the difference between a framework and a library? [closed]
What is the difference between a framework and a library?
I always thought of a library as a set of objects and functions that focuses on solving a particular problem or a specific area of ...
992
votes
17
answers
316k
views
What's the difference between faking, mocking, and stubbing?
I know how I use these terms, but I'm wondering if there are accepted definitions for faking, mocking, and stubbing for unit tests? How do you define these for your tests? Describe situations where ...
989
votes
17
answers
185k
views
What is the difference between a 'closure' and a 'lambda'?
Could someone explain? I understand the basic concepts behind them but I often see them used interchangeably and I get confused.
And now that we're here, how do they differ from a regular function?
901
votes
28
answers
930k
views
What is the difference between application server and web server?
What is the difference between application server and web server?
872
votes
8
answers
374k
views
What is monkey patching?
I am trying to understand, what is monkey patching or a monkey patch?
Is that something like methods/operators overloading or delegating?
Does it have anything common with these things?
850
votes
10
answers
358k
views
What's the difference between a module and package in Python?
What's the difference between a module and package in Python?
See also: What's the difference between "package" and "module"? (for other languages)
848
votes
24
answers
399k
views
What is a lambda (function)?
For a person without a comp-sci background, what is a lambda in the world of Computer Science?
845
votes
8
answers
248k
views
What's the difference between unit, functional, acceptance, and integration tests? [closed]
What is the difference between unit, functional, acceptance, and integration testing (and any other types of tests that I failed to mention)?
826
votes
25
answers
243k
views
What is 'Currying'?
I've seen references to curried functions in several articles and blogs but I can't find a good explanation (or at least one that makes sense!)
754
votes
20
answers
407k
views
What is the difference between UTF-8 and Unicode?
I have heard conflicting opinions from people - according to the Wikipedia UTF-8 page.
They are the same thing, aren't they? Can someone clarify?
732
votes
1
answer
380k
views
"Parameter" vs "Argument" [duplicate]
I got parameter and argument kind of mixed up and did not really pay attention to when to use one and when to use the other.
Can you please tell me?
722
votes
13
answers
168k
views
What is the difference between Serialization and Marshaling?
I know that in terms of several distributed techniques (such as RPC), the term "Marshaling" is used but don't understand how it differs from Serialization. Aren't they both transforming ...
701
votes
15
answers
251k
views
What's the name for hyphen-separated case?
This is PascalCase: SomeSymbol
This is camelCase: someSymbol
This is snake_case: some_symbol
So my questions is whether there is a widely accepted name for this: some-symbol? It's commonly used in ...
681
votes
9
answers
574k
views
Difference between DTO, VO, POJO, JavaBeans?
Have seen some similar questions:
What is the difference between a JavaBean and a POJO?
What is the Difference Between POJO (Plain Old Java Object) and DTO (Data Transfer Object)?
Can you also ...
675
votes
11
answers
734k
views
What is a "static" function in C?
The question was about plain c functions, not c++ static methods, as clarified in comments.
I understand what a static variable is, but what is a static function?
And why is it that if I declare a ...
659
votes
9
answers
179k
views
What does the NS prefix mean?
Many classes in Cocoa/Cocoa Touch have the NS prefix. What does it mean?
650
votes
10
answers
2.0m
views
What do < and > stand for?
I know that the entities < and > are used for < and >, but I am curious what these names stand for.
Does < stand for something like "Left tag" or is it just a code?
648
votes
14
answers
244k
views
What is "runtime"?
I have heard about things like "C Runtime", "Visual C++ 2008 Runtime", ".NET Common Language Runtime", etc.
What is "runtime" exactly?
What is it made of?
How ...
644
votes
8
answers
1.2m
views
What does it mean if a Python object is "subscriptable" or not?
Which types of objects fall into the domain of "subscriptable"?
637
votes
9
answers
138k
views
What does the term "porcelain" mean in Git?
The term "porcelain" appears occasionally in the Git documentation. What does it mean?
625
votes
15
answers
435k
views
What are magic numbers and why do some consider them bad?
What is a magic number?
Why do many programmers advise that they be avoided?
620
votes
24
answers
416k
views
Simulator or Emulator? What is the difference?
While I understand what simulation and emulation mean in general, I almost always get confused about them. Assume that I create a piece of software that mimics existing hardware/software, what should ...
569
votes
15
answers
411k
views
What are iterator, iterable, and iteration?
What are "iterable", "iterator", and "iteration" in Python? How are they defined?
See also: How to build a basic iterator?
551
votes
22
answers
196k
views
What is a 'Closure'?
I asked a question about Currying and closures were mentioned.
What is a closure? How does it relate to currying?
547
votes
11
answers
350k
views
What do the terms "CPU bound" and "I/O bound" mean?
What do the terms "CPU bound" and "I/O bound" mean?
509
votes
16
answers
70k
views
What is the difference between currying and partial application?
I quite often see on the Internet various complaints that other peoples examples of currying are not currying, but are actually just partial application.
I've not found a decent explanation of what ...
508
votes
14
answers
262k
views
What is boilerplate code?
A coworker had never heard of this, and I couldn't provide a real definition. For me, it's always been an instance of 'I-know-it-when-I-see-it'.
Bonus question, who originated the term?
482
votes
14
answers
276k
views
Epoch vs Iteration when training neural networks [closed]
What is the difference between epoch and iteration when training a multi-layer perceptron?
482
votes
14
answers
196k
views
Functional, Declarative, and Imperative Programming [closed]
What do the terms functional, declarative, and imperative programming mean?
457
votes
6
answers
103k
views
What is the difference between a shim and a polyfill?
Both seem to be used in web development circles, see e.g. HTML5 Cross Browser Polyfills, which says:
So here we're collecting all the shims, fallbacks, and polyfills...
Or, there's the es5-shim ...
445
votes
8
answers
277k
views
What is the difference between task and thread?
In C# 4.0, we have Task in the System.Threading.Tasks namespace. What is the true difference between Thread and Task. I did some sample program(help taken from MSDN) for my own sake of learning with
...
427
votes
7
answers
389k
views
Difference between 'cls' and 'self' in Python classes?
Why is cls sometimes used instead of self as an argument in Python classes?
For example:
class Person:
def __init__(self, firstname, lastname):
self.firstname = firstname
self....
420
votes
5
answers
187k
views
What does '# noqa' mean in Python comments?
While searching through a Python project, I found a few lines commented with # noqa.
import sys
sys.path.append(r'C:\dev')
import some_module # noqa
What does noqa mean in Python? Is it specific ...
416
votes
13
answers
441k
views
What is the difference between depth and height in a tree?
This is a simple question from algorithms theory.
The difference between them is that in one case you count number of nodes and in other number of edges on the shortest path between root and concrete ...