Questions about the objective meaning or common understanding of words and concepts that programmers encounter

learn more… | top users | synonyms (1)

303
votes
6answers
18k views

What is negative code?

I was reading the Wikipedia article on Douglas McIlroy and found a quote that mentions "The real hero of programming is the one who writes negative code." What does that mean?
134
votes
12answers
20k views

Why does it matter that HTML and CSS are not programming languages?

Example here: What languages should I know if I'm interested in building web applications ? Yes, I understand that HTML and CSS are not Turing-complete. Yes, I understand that they are declarative, ...
133
votes
11answers
19k views

Should I stop using the term C/C++?

I understand C and C++ are different languages but when I was learning C++ I was always told that C is a subset of C++ or C++ is C with classes. And that was quite true until the appearance of C++x0, ...
87
votes
11answers
66k views

What's the difference between an API and an SDK?

I was looking through various APIs and SDKs, when I realized that I couldn't really tell the difference between something called an API and something called an SDK. Both of them are, conceptually, a ...
81
votes
14answers
84k views

How is a “Software Developer” different from a “Software Consultant”? What makes a consultant?

I have seen a lot of people claiming themselves to be a "software consultant". These consultants do what a normal software developer does, write code, estimate tasks, fix bugs and attend meetings etc. ...
81
votes
4answers
35k views

IPv4 to IPv6. where is IPv5?

As all of us know that after IPv4 it came IPv6. How this transition happened? I just want to know was there any IPv5 also? or there is any other logic in naming this version of IP as IPv6?
76
votes
6answers
88k views

What's the difference between simulation and emulation

I frequently see Simulation and Emulation in computer science. These two terms seem synonymous. Is there any difference between Simulation and Emulation?
64
votes
14answers
4k views

Name for this antipattern? Fields as local variables [closed]

In some code I'm reviewing, I'm seeing stuff that's the moral equivalent of the following: public class Foo { private Bar bar; public MethodA() { bar = new Bar(); ...
49
votes
6answers
32k views

Method vs Function vs Procedure

Simple question, but I often hear these three terms defined with such ferocity, but which have been known to me to mean different things over the years. What are the "correct" definitions of ...
47
votes
17answers
4k views

What is a hack? [closed]

I often hear co-workers saying to each other, "That's a horrible, horrible hack." What I can take away from that is that it's not good. When I asked them if it works they say "yes, but it's not ...
47
votes
3answers
100k views

Difference between Web API and Web Service?

I have heard about Web Services and Web API's a lot, is there any difference between them or are the same?
40
votes
8answers
11k views

What is enterprise software, exactly?

I don't understand the difference between "normal" software and enterprise software. Even after reading these... "Enterprise Software" on Wikipedia "Enterprise Software Is Sexy Again" on Techcrunch ...
39
votes
12answers
3k views

Why are errors named as “Exception” but not as “Error” in programming languages?

I've been thinking about that for quite a while actually. I am not a native english speaker myself but still I have years of programming experience and I always asked me this. Why is it named as ...
37
votes
10answers
6k views

What is the difference between “Syntax” and “Syntactic Sugar”

Background The Wikipedia page on Syntactic Sugar states: In computer science, syntactic sugar is syntax within a programming language that is designed to make things easier to read or to express. ...
37
votes
5answers
3k views

Why do we use the word “sprint”?

One of the founding principles of the Agile Manifesto is Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace ...
37
votes
1answer
10k views

Java: “Heap pollution”

A "Heap Pollution" as in Non-Reifiable Types (The Java™ Tutorials > Learning the Java Language > Generics (Updated)) Why is it called that way?
36
votes
10answers
4k views

Why is Today() an example of an impure function?

It seems like, when reading something like this Wikipedia article about "pure functions", they list Today() as an example of an impure function but it seems pretty pure to me. Is it because there is ...
36
votes
8answers
2k views

What is the term for a really BIG source code commit? [closed]

Sometimes when we check the commit history of a software, we may see that there are a few commits that are really BIG - they may change 10 or 20 files with hundreds of changed source code lines ...
36
votes
2answers
3k views

Where does the term “Red/Black Tree” come from?

A Red/Black Tree is one way to implement a balanced binary search tree. The principles behind how it works make sense to me, but the chosen colors don't. Why red and black, as opposed to any other ...
36
votes
3answers
4k views

Why are actual parameters called “arguments”?

Where does the word "argument" (in the programming sense) come from? i.e. Why are actual parameters called "arguments"? The meanings don't seem related, and I haven't found any explanation of it ...
36
votes
7answers
3k views

What makes a piece of software an Engine? [closed]

The descriptor 'Engine' gets thrown around a lot: graphics engine, RegEx engine, AI engine, etc. but what actually makes a piece of software an Engine? Design, Input/Output, Purpose, Size?
35
votes
10answers
24k views

What's the difference between a “developer” and a “programmer”? [duplicate]

Possible Duplicate: What are the key differences between software engineers and programmers? What is the difference between software engineer and software developer? What's the difference ...
35
votes
10answers
58k views

Relationship between user story, feature, and epic?

As someone whose still new to agile, I'm not sure I completely understand the relationship or difference between a user story, feature, and epic. According to this question, a feature is a collection ...
33
votes
3answers
5k views

What is the origin and meaning of the phrase “Lambda the ultimate?”

I've been messing around with functional programming languages for a few years, and I keep encountering this phrase. For example, it is a chapter of "The Little Schemer, which certainly predates the ...
33
votes
2answers
18k views

What are the difference between an edge case, a corner case, a base case and a boundary case?

I'm not a native English speaker. In my native language I'm aware of some terms used to refer to the condition checked to stop a recursion, and to the condition checked for extreme, unlikely or ...
32
votes
4answers
2k views

What is the term for this type of refactoring

I am sure there is a term for the following bit of refactoring, but I can't remember it and my Google-fu is failing me! The refactor moves if statements to where they are going to have most impact, ...
32
votes
6answers
16k views

What is the difference between development and R&D?

I was asked by a colleague to explain clearly the difference between ordinary development and research and development (R&D) and was unable to do it. After reading Wikipedia, I still don't have ...
31
votes
2answers
25k views

What does the term “Payload” mean in programming

I was going through the source code of an open source framework, where I saw a variable "payload" mentioned many times. Any ideas what "payload" stands for?
31
votes
2answers
1k views

What is the meaning of “doesn't compose”?

I see a lot of texts, especially functional programming texts, claim that certain CS concepts "don't compose". Examples are: locks don't compose, monads don't compose. I've been having a hard time ...
31
votes
1answer
5k views

What is an untriaged bug?

I am an undergrad studying Computer Science. When I tried reporting bugs to several projects, I came across the classification untriaged a lot. A web search didn't really explain what this means. ...
30
votes
3answers
1k views

Origin of “Readme”

When did people start writing Readme files? It seems that pretty much all programs have this file, regardless of the format. Is there any documented first use of this document?
29
votes
6answers
5k views

What is the difference between 'layer of abstraction' and 'level of indirection'?

I am not sure if both terms can be used interchangeably. Maybe there is some academic distinction in computer science which is not relevant for day-to-day programming? Or can I use both term ...
29
votes
1answer
954 views

What is the term for an anonymous JavaScript function that's called immediately?

I'm writing a JavaScript style-guide for my team, so that we can organise and contribute our documents easier. But I've hit a small bump which is where my question applies... What am I supposed to ...
27
votes
4answers
2k views

What is each time through a loop called? [closed]

while ( true ) { // what is each time through this loop called? }
27
votes
24answers
20k views

What is abstraction? [closed]

Is there a generally agreed upon definition for what a programming abstraction is, as used by programmers? [Note, programming abstraction is not to be confused with dictionary definitions for the word ...
27
votes
4answers
3k views

What is the origin of the negative term “legacy code”

Everyone talks about legacy code in software development and I have heard the term over the last ten years used to paint any codebase as being bad. Where did this term, which has such powerful ...
26
votes
2answers
2k views

Is there a named anti pattern for historically grown software? [closed]

Is there an anti pattern that describes a historically grown software system where multiple developers just added new features to the system but no one really kept an eye on the overall architecture ...
26
votes
2answers
4k views

What is “swarming”?

I've heard swarming mentioned in the context of Agile or Extreme Programming. It seems to be a complement to pairing. What exactly is it? When should it be applied? How do you do it well?
25
votes
3answers
4k views

What is the term for a 'decoy' feature or intentional bug? [closed]

I have forgotten a slang programming term. This thing is an intentional bug or a decoy feature used as a distraction. An example usage, "Hey Bob, QA is doing a review today. Put a $THING into the ...
25
votes
6answers
2k views

What specifically does expressive power refer to?

Expressive Power is defined by Wikipedia as: .. the breadth of ideas that can be represented and communicated in that language. Does "ideas" refer to the things (operations, structures, ...
25
votes
5answers
1k views

Has the term “Service Oriented Architecture” become meaningless jargon? [closed]

I was asked today if I had experience with "Service Oriented Architecture" and although I think I do. The concept, to me, seems so muddled I don't know how you could honestly answer that question ...
24
votes
6answers
15k views

Why are good programmers referred to as Ninjas? [closed]

How is a Ninja programmer defined? If it is just an experienced developer, then is there really no better way to describe that? Ninja sounds like a childish marketing ploy designed to attract ...
24
votes
8answers
2k views

What is the etymology of the phrase “Source Code”? [closed]

With the movie "Source Code" just coming out today, I have had to explain the meaning of the phrase to non-techies. Then I was asked why source code is called source code and couldn't really answer. ...
24
votes
5answers
27k views

Programming Language vs Markup Language vs Scripting Language

Up until now I don't know the KEY differences between these three. When someone asks me about this, I only tell them that C# is a programming language, HTML and XML are Markup Languages, and ...
23
votes
5answers
34k views

What does 'Nightly Builds' mean?

I have been using open source projects for a while and been developing upon the open source applications and every so often I come across the words 'Nightly Build' and I have always been curious as to ...
22
votes
12answers
55k views

What's the difference between computer science and programming?

I'm new at computer science and programming, and I was wondering, is there a difference between computer science and programming? and do you get to choose to study only one of them at the university, ...
22
votes
4answers
2k views

Why is putting something on the stack called “push”?

According to http://dictionary.reference.com push verb (used with object) to press upon or against (a thing) with force in order to move it away. to move (something) in a specified ...
22
votes
9answers
66k views

Difference between a defect and a bug in testing?

What is the difference between a defect and a bug?
22
votes
3answers
2k views

What's the name for the 'spec' of a function/method?

I'm pretty sure there is a special name for the 'spec' of a function/method. It's a word that refers to how many arguments it takes the order of arguments which arguments are optional Is there a ...
22
votes
13answers
17k views

What's the term for “while(true)” loop with “break” inside? [closed]

Suppose I have a loop in C++ or C# that goes like this: while( true ) { doSomething(); if( condition() ) { break; } doSomethingElse(); } This is commonly called "infinite ...