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

learn more… | top users | synonyms (1)

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.
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, ...
25
votes
9answers
77k views

Difference between a defect and a bug in testing?

What is the difference between a defect and a bug?
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); }
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 ...
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 ...
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?
21
votes
12answers
17k 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" ...
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 ...
15
votes
4answers
2k views

What should you bring to the table as a Software Architect? [closed]

There have been many questions with good answers about the role of a Software Architect (SA) on StackOverflow and Programmers SE. I am trying to ask a slightly more focused question than those. The ...
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": ...
9
votes
2answers
34k 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 ...
15
votes
1answer
4k views

Is there a difference between arguments and parameters?

It might be like this: Parameter means from the callers POV and arguments mean inside the procedure, or other way round. Or is there no difference? Update In Swedish we say "anropsparametrar" i.e. ...
8
votes
2answers
576 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) { ...
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 ...
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
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 ...
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 ...
9
votes
7answers
8k 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
4answers
2k 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 ...
0
votes
2answers
557 views

Does the pattern of passing in one object instead of many parameters to a constructor have a name?

If you have a constructor that takes a lot of parameters, like this: public OrgUnitsHalRepresentation(List<OrgUnitSummaryHalRepresentation> orgUnitSummaryHalRepresentationList, int count, ...
97
votes
11answers
92k 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 ...
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?
60
votes
3answers
126k 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?
24
votes
3answers
55k views

Whats the difference between a Software Architect, a Software Engineer, and a Software Developer (Programmer)? [closed]

I'm reading through the CNN article about the highest paying jobs in America. A software architect is listed as #1. A software engineer listed as #9. And a software developer (programmer) is listed at ...
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 "...
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 ...
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 ...
13
votes
3answers
27k views

What are binaries? [closed]

I see very often people using term binaries in different context. What are binaries? Collection on binary files, installation files, .dll files or what? Or is it just an general term for some ...
11
votes
6answers
996 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.
7
votes
5answers
16k 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?
16
votes
16answers
8k views

Is software development an engineering discipline?

Can software development be considered engineering? If no, what are the things that it lacks in order to be qualified as an engineering discipline? Related to this is this question on Stack Overflow ...
14
votes
8answers
1k views

Are there examples of non CRUD approaches?

I'm a programmer but also have worked as an archivist. As archivist it's a lot about keeping data. I often get into arguments with colleagues when it comes to operations on data. I don't like the U ...
12
votes
5answers
3k views

Formal definition for term “pure OO language”?

I can't think of a better place among SO siblings to pose such a question. Originally I wanted to ask "Is python a pure OO language?" but considering troubles and some sort of discomfort people ...
11
votes
3answers
5k 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 client-...
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
3answers
5k views

What are “class methods” and “instance methods”, in Python?

There has been a discussion in chat relating to a question (the question itself being irrelevant to this one), that has revealed I may not know Python whatsoever. In my mind, although terminology ...
8
votes
8answers
1k views

Rigorous Definition of Syntactic Sugar? [closed]

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 sugar"...
6
votes
4answers
3k 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 ...
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, ...
17
votes
1answer
833 views

Where did the notion of 'calling' a function come from?

I've always wondered why one calls a function as opposed to, for example, executing it. A Google search for function call etymology and similar terms turns up nothing useful, Wikipedia doesn't ...
8
votes
2answers
976 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 ...
7
votes
2answers
1k views

Terminology: Really Delete vs set IsDeleted (“soft delete”) flag

I have a site where a regular user can delete records, where what happens is that an IsDeleted flag gets set. On administrative pages, a privileged user can delete records where an actual SQL DELETE ...
6
votes
2answers
246 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 ...
3
votes
3answers
420 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 ...
13
votes
16answers
5k views

What is a nicer way of describing the process of “Idiot Proofing” a piece of software [closed]

To me, Idiot Proofing just means making sure the user can't break a piece of software even if he tried. For instance, if a value is read from a text box, and is converted to a double, if the ...
9
votes
5answers
7k 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. ...
8
votes
2answers
663 views

Who decided on the terminology downcasting and upcasting?

As far as I know, the terminology comes from how the inheritance hierarchy is traditionally displayed, with the extending types at the bottom, and the parent types at the top. This is a bit pointless,...
7
votes
3answers
648 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 ...
7
votes
4answers
1k views

Is “Code Smell” still a useful metaphor, or has misuse of the term subverted its meaning? [closed]

I've come across some comments and answers on Programmers.SE that decry the use of the phrase "Code Smell" and I've been wondering what the reasoning is for those who dislike it. I first encountered ...