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

learn more… | top users | synonyms (1)

125
votes
12answers
15k 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, ...
34
votes
8answers
22k 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.
31
votes
12answers
15k 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 ...
27
votes
25answers
12k 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 ...
19
votes
11answers
40k views

Difference between defect and bug in testing [closed]

What is the difference between defect, and bug?
8
votes
2answers
515 views

How do you call the process of taking a part of a function and making an individual function of it?

I know there was a technical term for this. I'm just can't remember what it was. If the title needs clarification, here is what I mean; If this is the old code: Result foobar(Param1,Param2,Param3) { ...
36
votes
8answers
6k 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 ...
21
votes
6answers
2k views

How can I say that programming language compiles to other languages?

How can I say in english, that programming language can be compiled to other programming languages? The example can be Haxe. On the website the language is decribed as "Multiplatform": ...
42
votes
6answers
23k 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 ...
24
votes
2answers
2k views

Is there an 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 ...
21
votes
4answers
2k views

I've been told HTML is a markup language, C++ is a programming language, what could make that difference?

My programming friends are always telling me that HTML is a markup language and C++ is a programming language. When I ask them what's the difference, they never give me a reasonable answer. What ...
25
votes
5answers
916 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 ...
13
votes
3answers
1k views

Pure virtual or abstract, what's in a name?

While discussing a question about virtual functions on Stack Overflow, I wondered whether there was any official naming for pure (abstract) and non-pure virtual functions. I always relied on ...
10
votes
3answers
3k views

Is the term 'Front-End' synonymous with 'Client-Side'? If so, is this always the case?

As a relatively new (self-taught) web developer, I've heard the terms front-end, client-side, back-end, and server-side quite often. To me, front-end and back-end were always synonymous with ...
9
votes
5answers
665 views

Contractor vs Consultant [closed]

For a programmer, two of the most common terms that seem to be overloaded are contractor and consultant? Is there a difference between the two?
8
votes
2answers
729 views

Deprecated vs. Denigrated in JavaDoc?

In the JavaDoc for X509Certificate getSubjectDN() it states: Denigrated, replaced by getSubjectX500Principal(). I am used to seeing Deprecated in the for methods that should not be used any ...
1
vote
4answers
16k views

What is the difference in meaning between “software”, “program”, “application”, and “gadget”? [closed]

It seems to be a naive question, but I was unable to find an explicit definition and difference in meaning of the words "software", "program", "application", and "gadget". What is the correct (at ...
9
votes
7answers
5k views

What is the difference between Static code analysis and code review?

I just wanted to know what the difference is between static code analysis and code review. How are each of these two done? More specifically, what are the tools available today for code review/static ...
5
votes
5answers
2k views

What is the difference between “recursion” and “self-reference”?

The wikipedia articles are too advanced for me to understand, could someone give me a simple explanation please?
5
votes
4answers
1k views

What is the precise definition of programming paradigm?

Wikipedia defines programming paradigm thus: a fundamental style of computer programming which is echoed in the descriptive text of the paradigms tag on this site. I find this a disappointing ...
3
votes
2answers
1k views

What are the different meanings of 'fixture'?

I have some difficulty understanding the concept of "fixture". I know what a test suite is, a test case, a test run, but what exactly is a "fixture"? A parameterized test case? It seems to me that ...
3
votes
2answers
880 views

What are frameworks, stacks, and middleware?

Hey I'm a student programmer currently working in Java. I often see several terms thrown around alot and it would be very helpful for someone to explain the differences. I was prompted by my research ...
290
votes
6answers
16k 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?
78
votes
12answers
27k 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 ...
60
votes
7answers
57k 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?
12
votes
11answers
10k views

What defines robust code?

My professor keeps referring to this Java example when he speaks of "robust" code: if (var == true) { ... } else if (var == false) { ... } else { ... } He claims that "robust code" ...
13
votes
12answers
31k 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, ...
35
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 ...
11
votes
2answers
2k views

When programmers talk about “data structures”, what are they referring to?

When programmers talk about "data structures", are they only talking about abstract data types like lists, trees, hashes, graphs, etc.? Or does that term include any structure that holds data, such ...
11
votes
6answers
836 views

What are the differences between a website and a web application?

How do you differentiate a web application from websites? It's language/platform agnostic.
28
votes
6answers
4k 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 ...
17
votes
8answers
6k views

What is Pseudocode?

I've seen a lot of mentions of Pseudocode lately, on this site and others. But I don't get it: What is Pseudocode? For example, the Wikipedia article below says "It uses the structural conventions ...
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, ...
7
votes
15answers
730 views

What is the common definition of a Hacker? [closed]

I'm wondering if the term Hacker means different things to different people. When most people hear the word hacker what are the first things that come to mind?
7
votes
8answers
6k views

What is a “wrapper” program?

Where I work, employees use a third-party desktop program for their clients. This program saves data to a flat file. My colleague wants to write a Java program that uploads that flat file to a remote ...
6
votes
5answers
8k views

Is there any difference between pointers and references? [duplicate]

References and pointers do the same thing as I know. Is there any difference between them? If there is no difference, why we call them reference not pointer?
6
votes
4answers
2k views

Who was the first software engineer?

It's fairly well known who the first programmer was but who was or were the first software engineer(s)? By software engineer I mean someone who uses formalized specifications and methods to deliver ...
3
votes
2answers
3k views

What does “proxy to” mean?

I keep coming across the word "proxy" used as a verb in tutorials, etc. Usually something will "proxy to" something else. What does this mean? Having spent some time googling for what it means in a ...
10
votes
4answers
2k views

What does the term day-one-bug mean?

I came across this term recently in a mail chain. Google tells me there is a term zero-day bug and that Microsoft and Adobe are the frontrunners :) Is there such a term as day one bug? What might ...
8
votes
5answers
6k views

Difference between immutable and const

I've often seen the terms immutable and const used interchangeably. However, from my (little) experience, the two differ a lot in the 'contract' they make in code: Immutable makes the contract that ...
8
votes
8answers
1k views

Rigorous Definition of Syntactic Sugar?

It seems like in language holy wars, people constantly denigrate any feature they don't find particularly useful as being "just syntactic sugar". The line between "real features" and "syntactic ...
6
votes
2answers
242 views

In open source jargon, who is a “committer”?

In open source jargon, is a "committer" someone who creates a commit that gets accepted into a project, or is a "committer" a gatekeeper who decides what commits/patches are or aren't accepted into ...
4
votes
5answers
768 views

What is the name of this particular kind of over-engineering? [closed]

When faced with (even a small) project, I tend to fall into the following bad practice. I think about the structure of the problem. Then I create some base classes, derive from them and then derive ...
3
votes
3answers
277 views

“Read user input”: Could it be a step of an algorithm?

Based on this definition of algorithm from Wikipedia: In mathematics and computer science, an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms exist that ...
2
votes
2answers
15k views

What's the difference between fault, error and defect? [duplicate]

Possible Duplicate: Difference between defect and bug in testing In computer science technical writing, especially in software engineering, what's the difference between fault, error and ...
-1
votes
3answers
412 views

What would be a good “umbrella” term for HTML, CSS, SQL, JavaScript and the like? [closed]

There appears to be a pretty clear consensus on the question about whether HTML and CSS are programming languages. They are not. HTML is a markup language and CSS is a stylesheet language. You could ...
10
votes
1answer
2k views

AddIn, AddOn, And Plugin [closed]

Even though at first glance the words AddIn, AddOn, And Plugin give the same meaning, there are some differences between them. Could anyone explain to me the subtle differences between AddIn, AddOn, ...
8
votes
1answer
638 views

Is there an explicit word for non-abstract class?

I got mainly abstract classes in my project and there are a few other class which are using/inheriting them. When I'm writing the documentation I would like to specify that a part of it is just about ...
8
votes
5answers
5k views

What is the difference between a Program Manager and a Project Manager?

Is a Program Manager a person who manages mutiple projects (under a single program) which are in turn managed by Project Managers? Or is a Program Manager a person as defined by Joel Spolsky here. ...
7
votes
3answers
568 views

What is the difference between a stock-hardware and a micro-coded machine in “A Critique of Common Lisp”?

I was reading this article: A Critique of Common Lisp and finding it hard to make out the precise definition of "stock-hardware machine" and its difference with "micro-coded" machines. I tried to ...