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

learn more… | top users | synonyms (1)

311
votes
6answers
19k 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?
139
votes
12answers
23k 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, ...
134
votes
11answers
20k 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, ...
97
votes
11answers
91k 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 ...
90
votes
4answers
8k views

Is there a term for unimplemented code that was written for someone else to fill in?

Sometimes in a programming exercise, boilerplate generation, putting guide rails around the tasks for a junior programmer to implement, etc., it happens that the programmer is presented unimplemented ...
89
votes
14answers
95k 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. ...
85
votes
4answers
39k 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?
80
votes
6answers
101k 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?
66
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(); bar.A();...
60
votes
14answers
62k views

What is the history of the use of “foo” and “bar” in source code examples?

Why do many code examples, especially tutorials, use the names "Foo" and "Bar" so often? It is almost a standard. For example: void foo(char* bar) { printf("%s", bar); }
60
votes
3answers
125k 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?
51
votes
6answers
37k 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 "...
49
votes
17answers
5k 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 good"....
42
votes
8answers
12k 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 ...
41
votes
10answers
74k 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 ...
40
votes
1answer
11k 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?
39
votes
4answers
61k views

What does the suffix after software engineer/developer job titles mean? (e.g. Software Developer III) [closed]

I keep seeing job postings as "Java Software Developer III" or "Software Developer II". Is there any official documentation that classifies these distinctions?
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 ...
39
votes
4answers
13k views

Developing a feature which sole purpose to be taken out? [closed]

What is the name of the pattern in which individual contributors (programmers/designers) developed an artifact for the sole purpose is to serve as a diversion so that management can remove that ...
38
votes
2answers
33k 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?
38
votes
2answers
22k 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 super-...
38
votes
10answers
7k 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. ...
38
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
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
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 (delta)...
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?
34
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 ...
34
votes
8answers
37k views

Library vs. framework vs API? [closed]

What is the difference between a library, framework, and API? They all seem the same to me. I would like to hear peoples thought of this.
34
votes
6answers
19k 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 ...
33
votes
6answers
19k 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 ...
33
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
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. ...
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 ...
30
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 ...
30
votes
1answer
997 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 ...
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?
28
votes
5answers
34k views

The difference between “concurrent” and “parallel” execution?

What is the difference between the terms concurrent and parallel execution? I've never quite been able to grasp the distinction. The tag defines concurrency as a manner of running two processes ...
28
votes
5answers
35k 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 ...
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
23k 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
3answers
5k views

If I implement an Interface, is it called an Inheritance?

If my class implements an interface then can I say that I'm following inheritance? I know that when a class extends another class then it's inheritance.
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 ...
27
votes
6answers
3k 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, ...
27
votes
2answers
5k 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?
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
3answers
29k views

What are DRY, KISS, SOLID, etc. classified as?

Is something like DRY a design pattern, a methodology, or something in between? They do not have specific implementations that could neccessarily be demonstrated(even if you can easily demonstrate a ...
25
votes
9answers
77k views

Difference between a defect and a bug in testing?

What is the difference between a defect and a bug?
25
votes
3answers
5k 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 ...