Note that a lot of these definitions are for acronyms that are unrelated to computer science (many are general acronyms for internet chat, like AFAICT). The main reason for this is that I do not regularly chat and am tired of having to infer the meaning of an acronym every time I come across it.
Also note that I did not look up the common use definitions for most of these words. While a vast majority of them are correct, there may be some errors here.
ACID
Atomic, Consistent, Isolated and Durable
AFAICT
As Far As I Can Tell
AFAIK
As Far As I Know
Agile Software Development
A method of software development that emphasizes responding to changes and frequent releases. See link here.
AI
Artificial Intelligence
AOP
Aspect Oriented Programming
API
Application Programming Interface
ASCII
American Standard Code for Information Interchange. A character set encoding.
AI
Artificial Intelligence
AOP
Aspect Oriented Programming
API
Application Programming Interface
ASCII
American Standard Code for Information Interchange. A character set encoding. See link here.
AYCDISAM
All You Can Do Is Send A Message
Bikeshed
A small, usually unimportant, decision that everyone has an opinion on. See links here, here and here.
BAD
Broken As Designed. Refers to a project that meets the design requirements, however the design requirements are flawed. See link here.
BDUF
Big Design Up Front.
BSD
Berkley System Distribution.
CGI
Common Gateway Interface
COM(+)
Component Object Model (Extended). Microsoft specific. See link here.
Concatenate
Join two or more things together, end to end.
Copyleft
An Open Source term referring to the permissions granted by a license. (EDIT: Add some links to a more through definition here.)
CRUD
Create, Read, Update and Delete. See link here.
Cruft
Code, data or software of poor quality. See link here.
CS
Computer Science
DB
Database
DBMS
Database Management System.
DLL
Dynamic Linked Library. Microsoft specific. See link here.
DRY
Don't Repeat Yourself. See link here.
DSL
Domain Specific Language. A sub-language that addresses a particular niche.
Digital Subscriber Line. This is a form of broadband internet connection. This definition is rarely encountered when discussing programming.
DWIM
Do What I Mean
Elegant
Code that is clear, efficient and correct. Elegant usually refers to the design of something and is not solely applicable to code. See links here and here.
Expert Systems
A method of AI programming. (EDIT: Explain this subject in more detail)
FP
1. Functional Programming
2. Floating Point (number or arithmetic)
FPU
Floating Point Unit. See link here.
Foo Bar
Used in code examples to represent "whatever name you choose". The use of foo and bar is generally discouraged, when writing code, in favor of more descriptive names.
Example:
> def foo(bar):
.. print bar
> foo(42)
42
FTP
File Transfer Protocol
FUBAR
F***ed Up Beyond All Recognition
FWIW
For What It's Worth
GC
Garbage Collector. The system used to reclaim memory used in a program. See link here.
Garbage Collection. A method of reclaiming memory used in a program. See link here.
GP
Genetic Programming
GPL
The GNU 'General Public License'. A strong copyleft open source license.
Grok
To share the same reality or line of thinking with another physical or conceptual entity. See link here.
GUI
Graphical User Interface. Usually pronounced as gooey, but I prefer G-U-I. (EDIT: Maybe make a pronunciation section for each term?)
GUID
Globally Unique Identifier.
IANAL
I Am Not A Lawyer
IDE
Integrated Development Environment.
IIRC
If I Recall Correctly
IIUC
If I Understand Correctly
IMHO
In My Humble Opinion
IMNSHO
In My Not So Humble Opinion
IMO
In My Opinion
IPC
Interprocess Communication
ISO
International Standards Organization.
JIT
Just In Time.
KB
Knowledge Base. Usually relates to AI programming using expert systems.
KISS
Keep It Simple Stupid.
LEGB
Local, Enclosing function locals, Global, Built-in. Python's scope rules for symbol lookup. See link here.
LGB
Local, Global, Built-in. The old Python scope rules
LGPL
The GNU Limited General Public License. Similar to the GPL but allows closed source code to link to LGPL code. (EDIT: Is the wording on this correct?)
MVC
Model View Controller.
NIH
Not Invented Here.
OOP
Object Oriented Programming
Open Source
Software that allows users to access and modify its source code. (EDIT: Link to more extensive definitions. This phrase is hard to define.)
PEBKAC
Problem Exists Between Keyboard And Chair
PICNIC
Problem In Chair, Not In Computer.
PITA
Pain In The Ass
RAD
Rapid Application Development.
Regex
Regular Expression. See link here.
RCS
Revision Control System.
RDBMS
Relational Database Management System
RPC
Remote Procedure Call.
RTFM
Read The F***ing Manual
RTW
Reinvent The Wheel
Scrum
An incremental approach to software development, related to agile development. Initially was meant as an approach to the management of software development teams. See link here.
SDK
Software Development Kit. See link here.
Shebang
#!/usr/bin/env python | On Unix-like operating systems the 'shebang line' is a way to run a text file as a script if this line is the first line in the file. See link here. (EDIT: Make more clear)
SMP
Symmetric multiprocessing. See link here.
Source Code (or simply Source)
The text file containing the program commands of a program. (EDIT: Define better and add some links to more extensive definitions.)
SSL
Secure Socket Layer.
TCO
Tail Call Optimization
TIMTOWTDI
There Is More Than One Way To Do It. Usually pronounced Tim Toady. See link here.
TOOWTDI
There's Only One Way To Do It. See link here.
UI
User Interface.
UID
Unique Identifier.
Unicode
A character set encoding that represents characters from most languages. See link here.
WRT
With Respect To
WTDI
Way To Do It.
XP
Extreme Programming. A method of software development. See link here.
YAGNI
You Aren't Gonna Need It. See link here.
YMMV
Your Mileage May Vary
More Glossaries
Hypertext Glossary of Computer Science related Acronyms and selected TermsUW Milwaukee Common It Acronyms
Computer Acronyms
No comments:
Post a Comment