A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
- 2PC
- two-phase commit
- 5S
- a set of principals, focussing on maintenance instead of production, one of the major pillars of TPM.
- Seiri (sort), know where things are, suitable naming
- Seiton (systematize), stuff where you expect to find it
- Seiso (shine), clean crap up
- Seiketsu (standardization)
- Shutsuke (self-discipline), follow guidelines, reflex on your work, be willing to change
- A
- AAT
- Agile Acceptance Testing
- ACID
- Atomicity, Consistency, Isolation, Durability. Are transactional properties of database management systems.
- ADM
- Anemic Domain Model, considered an anti-pattern by some, (data) objects contain state and setters and getters, all logic implemented in higher layer ("Service" layer). See RDM and Procedural programming. See also here.
- AES
- Advanced Encryption Standard, uses a a symmetric-key algorithm. Seems to be a good current standard (19/01/2014).
- aggregation
- ordinary composition, but it does not imply ownership. For example duck-pond.
- ai
- see artificial intelligence
- AIM
- Access and Identity Management, see idM.
- Ajax
- Asynchronous JAvascript and XML, though people prefer JSON to XML nowadays. JavaScript (on client) calls server resource using XMLHttpRequest, uses the response to dynamically alter the dom. Also AJAX.
- Allman, Eric
- I prefer his curly bracing and indentation style, that's all
- analysis paralysis
- an anti-pattern, the state of over-analyzing (or overthinking) a situation so that a decision or action is never taken, in effect paralyzing the outcome.
- ANSI
- American National Standards Institute
- AOP
- Aspect Oriented Programming, handles cross-cutting concerns preventing boiler-plate code. A good example are Java Annotations. See also AspectJ.
- ARM
- Automatic Resource Management, official name for the JDK7 resource declaration in the try of a try-catch-finally block that makes the resource automatically close neatly upon completion or errors.
- API
- Application Programming Interface
- ARIA
- Accessible Rich Internet Applications
- artificial intelligence
- intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by non-human animals or by humans
- ASCII
- American Standard Code for Information Interchange, a coded character set (e.g., hexadecimal value 41 is assigned to “A”).
- ASN.1
- Abstract Syntax Notation One, a standard and flexible notation that describes rules and structures for representing, encoding, transmitting, and decoding data
- AST
- Abstract syntax tree, a tree representation of the abstract syntactic structure of source code written in a programming language, see concrete syntax trees (also called parse tree) for the more general version.
- AST
- Andrew Stuart (Andy) Tanenbaum, American computer scientist and professor emeritus, author of MINIX. His debate with Linus Torvalds is famous. See MINIX and Linus Torvalds.
- ATDD
- Acceptance Test-Driven Development, also called BDD, SBE, AAT, ST. See SBE for a more general term.
- awt
- Abstract Window Toolkit, Java's original platform-dependent windowing, graphics, and user-interface widget toolkit, preceding Swing. See swing.
- B
- B2B
- business to business
- backwards compatible
- it means the new stuff is new, but can still work with old stuff. See also "deprecated".
- BASE
- Basically Available Soft-state (or Scalable) Eventually Consistent, replaces ACID for Internet systems
- BCD
- Binary Coded Decimal, use 4 bits to express a decimal digit, from 0000 (0) to 1001 (9) effectively not using numbers 10-15.
- BDD
- Behaviour Driven Development, see SBE for a more general term.
- BDFL
- Benevolent dictator for life
- bike-shedding
- See Law of triviality
- bit
- binary digit
- BMP
- Bean Managed Persistence, deprecated, use JPA instead. Though JDO might be an option.
- BMT
- bean-managed transactions
- BNF
- Backus Normal Form or Backus–Naur Form, a syntax for describing the grammar of computer languages. See EBNF.
- Böhm-Jacopini theorem
- See structured programming theorem.
- Boyscout Rule
- we should leave the code cleaner than we found it (paraphrased from "Leave the campground cleaner than you found it."). See Uncle Bob.
- BPM
- Business Process Management
- branch predictor
- a digital circuit that tries to guess which way a branch (e.g. an if-then-else structure) will go before this is known for sure. The purpose of the branch predictor is to improve the flow in the instruction pipeline. Branch predictors play a critical role in achieving high effective performance in many modern pipelined microprocessor architectures such as x86.
- broken windows theory
- a criminological theory of the norm-setting and signaling effect of urban disorder and vandalism on additional crime and anti-social behavior. The theory states that maintaining and monitoring urban environments to prevent small crimes such as vandalism, public drinking and toll-jumping helps to create an atmosphere of order and lawfulness, thereby preventing more serious crimes from happening. Applies to source code as well. Well structured, insightful source code will bring the best out in fellow programmers, who have a need to change it. See "Boyscout rule".
- BSP
- Basic Security Profile, was defined by the WS-I organization as an extension to the Basic Profile of web service interoperability.
- Bureaucrazy
- Any process or organization that sacrifices intelligence and rational thought in favour of administrative red tape.
- C
- CA
- Certificate Authority or Certification Authority, an entity that issues digital certificates
- callback hell
- trying to write asynchronous code imperatively, causes a pyramid shape with lots of nesting.
- camelCase
- words or phrases, without spaces, where each new word starts with a capital. The first letter is lower. See also PascalCase, snake_case and kebab-case.
- CAP (Theorem)
- Consistency, Availability, Partition tolerance. Only two out of three are possible. (Brewer)
- Cargo cult programming
- a style of computer programming that is characterized by the ritual inclusion of code or program structures that serve no real purpose
- CD
- Continuous Delivery. Continuous Integration extended to the Deployment activity. See CI.
- CDI
- Context and Dependency Injection, puts a dependency (some object/resource) which an object requires into the object, without the objects knowledge, with a contract that it behaves in a way that the object expects. Promotes loose coupling. See IoC.
- CI
- the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. It was first named and proposed as part of extreme programming (XP).
- CLA
- Contributor License Agreement, indicates the contributor is allowed to make the contribution and the project has the right to distribute it under its license. See DCO.
- Class
- blueprint or prototype from which objects are created (instantiated).
- Class Invariant
- an invariant used to constrain objects of a class. Methods of the class should preserve the invariant. The class invariant constrains the state stored in the object. In other words, class invariants make sure the state of an object stays consistent during the lifetime of the object.
- classpath hell
- also known as jar hell, or the more general: dependency hell. Dependencies in running java programs are only resolved when they are accessed. The class file cannot be found (NoClassDefFoundError) or worse, the same class exists in several jars and it depends which one is the first in your classpath. The whole thing exacerbated by multiple classloaders.
- clothesline paradox, the
- If you put your clothes in the dryer, the energy you use is measured and counted. But if you hang them on the clothesline to be dried in the sun, the energy saved disappears from our accounting. Hence, when you see a graph showing that only a measly 1% (or so) of energy created is solar energy, remember the clothesline.
- CMIS
- Content Management Interoperability Services, standard defines a limited superset that can be used by applications to work with one or more Content Management repositories/systems.
- CMM
- Capability Maturity Model. See CMMI.
- CMMI
- Capability Maturity Model Integration. Five levels, level 1 Initial, level 2 Managed, level 3 Defined, level 4 Quantitatively Managed, level 5 Optimizing
- CMP
- Container Managed Persistence, deprecated. Replaced by JPA
- CMT
- Container Managed Transactions, like the name says.
- code smell
- any symptom in the source code of a program that may indicate a deeper problem. Not necessarily bugs, but likely indicative of bad design.
- cohesion
- the degree to which each program module relies on each one of the other modules. Contrasted with Coupling. Always strive for low coupling and high cohesion. See Coupling.
- composition
- a class that contains other (different) classes. There is a direct relationship between the two, in that the owner has ownership and the classes owned cannot exist without the owner. For example car-steeringwheel. See aggregation.
- composition over inheritance
- HAS-A relationship gives more flexibility over an IS-A relationship. Though the inheritance strategy can simply use the methods from the superclass, without having to redefine them.
- contract oriented programming
- software development based on Hoar triples (:{P} A {Q}). Meaning that state P must hold before executing method A. State Q most hold after executing method A.
- contravariance/contravariant
- In those cases where a certain class can be used, or one of its Superclasses, for example where a Cat class is used, one can also use the Animal superclass. See covariance.
- convention over configuration
- yes, you can configure and tweak every little bit you want, however, if you don't, there's the sane defaults that work out-of-the-box. Also known as Configuration by Exception
- Conway's Law
- organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. Named after computer programmer Melvin Conway, who introduced the idea in 1968.
- CORBA
- Common Object Request Broker Architecture
- correlation does not imply causation
- refers to the inability to legitimately deduce a cause-and-effect relationship between two variables solely on the basis of an observed association or correlation between them
- CORS
- Cross-origin Resource Sharing, the "official" version of JSONP
- coupling
- the degree to which the elements of a module belong together. Thus, it is a measure of how strongly related each piece of functionality expressed by the source code of a software module is. Contrasted with Cohesion. Always strive for low coupling and high cohesion. See Cohesion.
- covariance/covariant
- means a subclass can be substituted for a class. A Cat class can be used where an Animal class is expected. See Liskov Substitution and contravariance.
- CPS
- Certification Practice Statement, legal document that describes how the Certificate Authority manages the certificates it issues
- CPS
- continuation-passing style, asynchronous programming by providing callbacks.
- CQRS
- Command Query Responsibility Segregation, means that the storing of information and the reading of information are separated in the implemention by two different modules.
- cross-cutting concerns
- aspects of a program that affect other concerns. These aspects often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and can result in either scattering (code duplication), tangling (significant dependencies between systems), or both.
- CRUD
- Create - Read - Update - Delete, the four universal things to do to a data object.
- CSP
- certification-service provider, deprecated, see TSP
- D
- DAO
- data access object
- DAS
- Domain Administration Server, an instance of Glassfish for example.
- database normalization
- The process of organizing the fields and tables of a relational database to minimize redundancy. A typical example of normalization is that a unique ID is stored everywhere in the system but its name is held in only one table.
- DBMS
- database management system
- DCL
- Data Control Language, access rights (GRANT/REVOKE)
- DCL
- Double Checked Locking, used in singletons to prevent having to synchronise. Avoid! Either synchronise or initialise at start of application.
- DCO
- Developer Certificate of Origin, indicates the contributor is allowed to make the contribution and the project has the right to distribute it under its license. See CLA.
- DD
- deployment descriptor
- DDD
- Domain-Driven Design, primary focus is on the domain and the domainmodel/logic. Requires domain experts.
- DDL
- Data Definition Language, for defining data structures in a database (CREATE TABLE as an example)
- DDoS
- distributed DoS. See DoS.
- De Morgan's Laws
- a pair of transformation rules applicable to boolean logic. To be specific, an "AND" operation ("conjunction") can be transformed in an "OR" operation ("disjunction"), and vice versa.
- Deadlock
- describes a situation where two or more threads are blocked forever, waiting for each other.
- Declarative programming
- describes what computation should be performed and not how to compute it. See Imperative programming.
- delegation
- one object relying upon another to provide a specified set of functionalities. In research, this is often referred to as consultation or as aggregation in modeling. It has been argued that delegation may in some cases be preferred for inheritance to make program code more readable and understandable.
- Demeter, Law of
- See 'Law of Demeter'.
- deprecated
- an attribute applied to a computer software feature (characteristic or practice) to indicate that it should be avoided, often because it has been superseded. Support for this computer software feature will soon be dropped. In new versions the computer feature might not even be present.
- DES
- Data Encryption Standard, deprecated. See TDES.
- design pattern
- software design pattern, a general reusable solution to a commonly occurring problem within a given context in software design.
- DevOps
- (a portmanteau of "development" and "operations") a concept dealing with, among other things: software development, operations, and services. It emphasizes communication, collaboration, and integration between software developers and information technology (IT) operations personnel. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.
- DI
- See CDI.
- DIP
- Dependency Inversion Principle, high and low-level classes should depend on abstractions (interfaces). See also IOC. It's the D in SOLID. See also SOLID.
- DML
- Data Manipulation Language, for managing data in a database (UPDATE TABLE as an example)
- DMZ
- Demilitarized zone, a physical or logical subnetwork that contains and exposes an organization's external-facing services to a larger and untrusted network, usually the Internet. The purpose of a DMZ is to add an additional layer of security to an organization's local area network (LAN)
- dogfood
- you buy food for the dog, you have no idea if he likes it. If you're a programmer of Frameworks/Libraries/etc 'Eat your own dogfood.'
- DOM
- Document Object Model, convention for interacting and representing objects in xhtml, html and xml. Very heavily used by javascript.
- DoS
- Denial-of-service attack, an attempt to make a machine or network resource unavailable to its intended users. Usually by swamping the machine with bogus requests
- dotadiw
- "Do One Thing And Do It Well". One of the core tenets of the Unix Philosophy.
- DRY
- Don't Repeat Yourself (also known as DIE - Duplication Is Evil)
- DSDM
- Dynamic systems development method, one of a number of Agile methods for developing software and non-IT solutions, and it forms a part of the Agile Alliance
- DSL
- Domain Specific Languages
- DTAP
- Development, Testing, Acceptance and Production.
- DTO
- Data Transfer Object, an object that carries data between processes in order to reduce the number of method calls. No behaviour, only storage and retrieval. Advantages are that data can be prefetched in session/transaction before delivering it to the presentation layer, and it also adds the benefit that changes made to the data in the presentation layer have no effect. See DAO.
- DTP
- distributed transaction processing
- ducktyping
- "When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.", addendum from me: even if it isn't a duck, because I don't care, as long as it has the functionality I need.
- E
- EA
- Enterprise Architecture
- a method and an organizing principle that aligns functional business objectives and strategies with an IT strategy and execution plan. (Oracle Enterprise Architecture)
- A formal description of a system, or a detailed plan of the system at component level, to guide its implementation (source: ISO/IEC 42010:2007).
- The structure of components, their inter-relationships, and the principles and guidelines governing their design and evolution over time. (The Open Group)
- EAFP
- Easier to Ask Forgiveness than Permission, see ducktyping
- EAI
- Enterprise application integration, the use of software and computer systems architectural principles to integrate a set of enterprise computer applications.
- EAR
- Enterprise ARchive, package of a JEE Application.
- EAV
- Entity–attribute–value model, a data model to describe entities where the number of attributes (properties, parameters) that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest (high "attribute volatility")
- EBNF
- Extended Backus Backus–Naur Form, a syntax for describing the grammar of computer languages. Less lengthy than BNF. See BNF.
- ECC
- Elliptic-curve cryptography
- ECM
- Enterprise Content Management, management of unstructured information within an enterprise, usually comprised of a large variation of possible documents/records/archives/etc.
- EIS
- Enterprise Information System, a resource for your application, usually a database
- EJB
- Enterprise Java Bean, an JEE application component
- emergent design
- the mistaken idea that without planning up front, but by delivering small pieces of well-tested functionality and afterwards refactoring/merging of common areas, magically an efficient design will emerge.
- EL
- Expression Language
- elvis operator
- "?:", a binary operator that returns its first operand if that operand is true, and otherwise evaluates and returns its second operand. It is a variant of the ternary conditional operator, ? :, found in those languages (and many others): the Elvis operator is the ternary operator with its second operand omitted. So named because it resembles an Elvis emoticon.
- ERD
- entity–relationship diagram of an entity–relationship model, a data model for databases
- ERP
- enterprise resource planning
- ESB
- Enterprise Service Bus, software architecture model, special case client-server, promotes asynchronous message oriented design between applications in complex networks. See SOA. Also jokingly referred to as Enterprise Spaghetti Bus.
- ETL tools
- Extraction, Transformation and Load, used for moving/copying data from one place/format to another.
- Execute Around Method
- software pattern, where several pieces of arbitrary code need to be executed within some boilerplate-like code. Usually implemented using boilerplate code that accepts a lambda/closure.
- expression problem, the
- in object oriented languages it is easy to extend/create new objects, in functional languages it is easy to extend/create new methods. Both have advantages and disadvantages. Combining the two characteristics in one programming language is a problem though.
- extreme programming
- See XP.
- F
- facelets
- an open source Web template system under the Apache license and the default view handler technology (aka view declaration language) for JavaServer Faces (JSF)
- feature creep
- Also known as creeping featurism or featuritis. The ongoing expansion or addition of new features in a product, such as in computer software. Has the negative connotation of over-complicating the original design, adding features that are not part of the function of the software or provide no additional value to the users of the software.
- fibers
- threads in userspace, prevents inefficient context switching when some fibers are blocked
- FLOSS
- Free and open-source software
- fluent interface
- expressive coding technique, see FluentInterface
- FOUC
- Flash of Unstyled Content, instance where a web page appears without style briefly, because stylesheet hasn't been loaded yet.
- FOUT
- Flash of Unstyled Text, see FOUC
- Fowler, Martin
- a British software engineer, author and international speaker on software development, specializing in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.
- FTP
- File Transfer Protocol
- FUD
- Fear, Uncertainty, and Doubt, spreading of rumour, lies or misinformation regarding a product due to poor knowledge of said product and/or because it's a competing product. Usually in an attempt to influence perception.
- Functional programming
- uses functions instead of state/data.
- G
- GA
- General Availability, software version that is live in the field and in production. See also RC.
- Gantt chart
- a type of bar chart that illustrates a project schedule, named after Henry Gantt
- GIS
- geographic information systems (think Google maps)
- glob
- glob patterns specify sets of filenames with wildcard characters, particular in a Unix-like environment.
- God Facade
- A Facade(Boundary/Gateway) that cannot make up its mind if it's SOA oriented or Domain object oriented. Usually identified by a huge number of methods, of which some are almost but not entirely alike and where several methods need to be called to complete a single process.
- Godwin's Law
- as an online discussion grows longer, the probability of a comparison involving Hitler approaches 1, "reductio ad Hitlerum"
- GoF
- Gang of Four, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, best known for their book "Design Patterns: Elements of Reusable Object-Oriented Software"
- googol
- 10100
- Guava
- Google core java library (http://code.google.com/p/guava-libraries/)
- GUI
- Graphical User Interface, the whole point-clicky thing
- H
- HAL
- Hypertext Application Language, an Internet Draft for defining hypermedia links to external resources in JSON, in order to make HATEOAS a reality. See HATEOAS.
- hashbang
- "#!", character sequence at the beginning of a file identifying the file as a script. The file can be run directly, if set to executable.
- HATEOAS
- Hypermedia as the Engine of Application State, no fixed interface or IDL defined, decouple client and server. Basically, the server returns URLS that allow the client to "dig deeper" without knowing specifics and allow the server to expand functionality without influencing the client. Part of the REST architecture (See REST, IDL). Do people actually use this acronym?
- HCI
- Human-Computer Interface
- Head-of-line blocking (HOL Blocking)
- in computer networking is a performance-limiting phenomenon that occurs when a line of packets is held up in a queue by a first packet.
- Heisenbug
- Bug that disappears when changing code to add print/log statements
- heuristic
- experience-based techniques for problem solving, learning, and discovery that give a solution which is not guaranteed to be optimal. See design pattern.
- Hoare logic/triple
- {P} C {Q}, where P and Q are assertions and C is a command. P is named the precondition and Q the postcondition: when the precondition is met, executing the command establishes the postcondition. Developed initially by C.A.R. Hoare.
- Hofstadter's Law
- Self-referential law regarding the time it takes to do stuff. "It always takes longer than you expect, even when you take into account Hofstadter's Law."
- Hollywood Principle
- "Don't call us, we'll call you", because implementations typically rely on callbacks. See IoC.
- HQL
- Hibernate Query Language, a superset of JPQL.
- HTML
- HyperText Markup Language
- HTTPS
- HTTP over Secure Socket Layer (SSL) protocol
- HTTP
- Hyper-Text Transfer Protocol
- Huffman encoding
- an entropy encoding algorithm used for lossless data compression
- Hypervisor
- a piece of computer software, firmware or hardware that creates and runs virtual machines.
- I
- i18n
- internationalization, where 18 stands for the number of letters between the first i and last n in internationalization. Making software suitable for multiple languages. See NLS and L10n.
- IDL
- Interface Definition Language
- idM
- Identity management, describes the management of individual identities, their authentication, authorization, roles and privileges within or across system and enterprise boundaries with the goal of increasing security and productivity while decreasing cost, downtime, and repetitive tasks.
- if it hurts, do it more often.
- a phrase used in agile methodology, referring to putting things off will increase the pain many fold (because more needs to be done).
- IIFE
- Immediately-invoked function expression, design pattern in javascript to make use of function scope to prevent polluting the global namespace.
- IIOP
- Internet Inter-ORB Protocol. See CORBA.
- inheritance
- classes can inherit attributes and behavior (i.e., previously coded algorithms associated with a class) from pre-existing classes called superclasses or parent classes. The new classes are known as subclasses or child classes. The relationships of classes through inheritance gives rise to a hierarchy. See delegation.
- IMAP
- Internet Message Access Protocol
- Imperative Programming
- define sequences of commands for the computer to perform. See Declarative programming.
- interleaving
- spreading out stuff among multiple things, in an alternating fashion. Used to improve the performance of forward error correcting codes. Interleaving creates a more uniform distribution of errors, given the fact that pockets of errors can occur together if the single medium at that point becomes weak.
- invariant
- if neither covariance nor contravariance is supported. See covariance, contravariance.
- IoC
- Inversion of Control, no central control, business knowledge incorporated by the responsible entity and preferably nowhere else.
- IoT
- Internet of Things.
- IPA
- Identity, Policy and Audit (basically authentication and authorisation of users, primarily linux/unix based)
- ISO
- International Organization for Standardization, see OSI.
- ISP
- Interface segregation principle, several interfaces is better than one big interface. I find it similar to SRP. The I of SOLID. See also SOLID.
- ITIL
- Information Technology Infrastructure Library, 5 books on ITSM, Service Strategy, Service Design, Service Transition, Service Operation, Continual Service Improvement
- ITSM
- Information Technology Service Management
- J
- JAAS
- Java Authentication and Authorization Service, Java implementation of PAM.
- JAR
- Java ARchive, for packaging resources/classes/xmlfiles and the like.
- JavaScript
- aka Mocha, aka LiveScript, aka JScript, aka ECMAScript, a programming language. JavaScript's popularity is due entirely to its role as the scripting language of the WWW.
- JavaFX
- a software platform for creating and delivering desktop applications, as well as rich Internet applications (RIAs) that can run across a wide variety of devices. It's precessor was Swing. See swing.
- JAXB
- Java Architecture for XML Binding
- JAXP
- Java API for XML Processing, fairly low-level adaptable XML parser API, can work with multiple parsers.
- JAXR
- Java API for XML Registries, a standard API for Java platform applications to access and programmatically interact with various kinds of metadata registries over the Web via XML.
- JAX_RPC
- Java API for XML-based RPC, deprecated. The new name is JAX-WS. See also JAX-WS.
- JAX-RS
- Java API for RESTful Web Services, see REST
- JAX-WS
- Java API for XML Web Services, so SOAP XML like etc using JAXB. Also provides Client APIs.
- JCA
- Java EE Connector Architecture, Java-based technology solution for connecting application servers and EIS as part of EAI solutions
- JCE
- Java Cryptography Extension
- JDBC
- Java DataBase Connectivity, but not really.
- JDK
- Java Development Kit
- JDO
- Java Data Objects, POJOs with Persistence without ORM.
- JEE
- Java Enterprise Edition, has since been renamed to Jakarta Enterprise Edition or Jakarta EE, because Oracle donated it to the open source community.
- JLS
- Java Language Specification
- JMM
- Java Memory Model, seriously complicated stuff
- JMS
- Java Message Service, supports Point-to-point and Publish and subscribe. Not Request and Reply. See MOM.
- JMX
- Java Management Extensions, Java technology that supplies tools for managing and monitoring applications, system objects, devices (e. g. printers) and service oriented networks. Those resources are represented by objects called MBeans (for Managed Bean)
- JNDI
- Java Naming and Directory Interface
- JNI
- Java Native Interface, used to call and be called to/from other applications not necessarily java.
- JNLP
- Java Network Launching Protocol, 'Java Web Start'
- JPA
- Java Persistence API
- JPQL
- Java Persistence Query Language, SQL for OO
- JRE
- Java Runtime Environment
- JRMP
- Java Remote Method Protocol, the Java technology-specific protocol for looking up and referencing remote objects. It is a wire level protocol running at the level under Remote Method Invocation (RMI) and over TCP/IP.
- JSDK
- Java Software Development Kit
- JSF
- Java Server Faces, web app framework on top of jsp, though Facelets are now the default. Creates templates and descriptions using xml. See JSP
- JSL
- Job Specification Language used for Java Batch
- JSR
- Java Specification Request, new feature requests in the Java and JEE language/frameworks.
- JSON
- Java Script Object Notation
- JSONP
- JSON with Padding
- JSP
- Java Server Pages, java servlets in template form
- JSTL
- Java Standard Tag Library
- JTS
- Java transaction service, a specification for building a transaction manager that maps onto the Object Management Group (OMG) Object Transaction Service (OTS) used in the Common Object Request Broker Architecture (CORBA) architecture
- JTA
- Java Transaction API, enables distributed transactions to be done across multiple X/Open XA resources in a Java environment
- JUL
- java.util.Logging
- JVM
- Java Virtual Machine, runs a java bytecode program.
- K
- Kaizen
- Japanese for "good change". The word Kaizen in English is typically applied to measures for implementing continuous improvement.
- KDD
- Knowledge Discovery in Data, a better known name is Data Mining
- kebab-case
- words or phrases, where spaces are replaced by "-". this-for-example. See camelCase.
- Kernighan, Brian Wilson
- Canadian computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Dennis Ritchie, one of the first Prophets
- keystore
- contains private keys, and the certificates with their corresponding public keys.
- KISS
- Keep It Simple, Stupid
- K&R
- Kernighan & Richie, also known as the first Prophets
- KVM
- Kernel-based Virtual Machine
- L
- L10n
- localization, where 10 stands for the number of letters between the first L and last n in localization. Making software suitable for multiple locations (with different languages/dialects/etc). See NLS and i18n.
- Lambda
- an operator used to denote anonymous functions or closures, following the usage of lambda calculus
- Law of Demeter
- loose coupling, only talk to direct friends, don't talk to strangers
- Law of triviality
- C. Northcote Parkinson's 1957 argument that people within an organization commonly or typically give disproportionate weight to trivial issues.
- LCD
- Lowest Common Denominator, pick the one with the fewest features, so it works on everything.
- LeBlanc's Law
- "Later equals never". The law is attributed to Dave LeBlanc.
- LFTM
- "Looks Good To Me", infrequently used during code or document reviews.
- LIFT
- According to the Angular guidelines, it stands for:
- Locating code is easy
- Identify code at a glance
- Flat structure as long as we can
- Try to stay DRY (Don't Repeat Yourself) or T-DRY
- Linus Torvalds
- a Finnish-American software engineer, who is the creator of the Linux kernel and for a long time, principal developer. He also created the distributed revision control system git.
- Livelock
- A thread often acts in response to the action of another thread. If the other thread's action is also a response to the action of another thread, then livelock may result. As with deadlock, livelocked threads are unable to make further progress. However, the threads are not blocked — they are simply too busy responding to each other to resume work.
- Liveness
- A concurrent application's ability to execute in a timely manner
- LOC
- Lines of Code, meaningless statistic to impress people, used to be used to measure developer productivity, but now deprecated (by me).
- LRU
- Least Recently Used, caching algorithm
- LSD
- Lean Software Development. See TPS.
- LSP
- Liskov substitution principle, L in SOLID. See also SOLID.
- LZW
- Lempel–Ziv–Welch, a universal lossless data compression algorithm created by Abraham Lempel, Jacob Ziv, and Terry Welch.
- M
- machine learning
- a field devoted to understanding and building methods that let machines "learn" – that is, methods that leverage data to improve computer performance on some set of tasks. It is seen as a broad subfield of artificial intelligence
- magic
- hidden program complexity (of a sort that makes the way the source code works very hard to understand.) begind a simple interface. I do not approve of magic.
- Maven
- a software project management and comprehension tool, can manage a project's build, reporting and documentation from a central piece of information.
- MBeans
- Managed Beans, see JMX
- MCC
- See MVCC.
- Method Chaining
- methods of an object return the object itself, enabling methods to be chained together, like customer.newOrder().with(6, "TAL").with(5, "HPK").skippable().with(3, "LGV").priorityRush(); See also fluent interface.
- MINIX
- a POSIX-compliant, Unix-like computer operating system based on a microkernel architecture created by Andrew S. Tanenbaum for educational purposes.
- Mixin
- a class that provides some functionality to be inherited or used by its subclasses, but is not meant for instantiation, also known as an abstract class. It is a means to collect common functionality at a higher level.
- ml
- see machine learning
- MOLAP
- Multidimensional On Line Analytical Processing, uses "cubes".
- MOM
- Message-Oriented Middleware, a common reliable way for programs to create, send, receive and read messages in any distributed Enterprise System.
- monkey patch
- a way for a program to extend or modify supporting system software locally (affecting only the running instance of the program).
- MOSCOW
- Must Have, Should Have, Could Have, Won't Have
- MRU
- Most Recently Used, caching algorithm
- MTBF
- Mean Time Between Failures, MTTF + MTTD + MTTR, but an average ofcourse.
- MTOM
- Message Transmission Optimization Mechanism, a more efficient way of sending binary data to/from webservices. Usually SOAP uses conversion to tekst, which is inefficient for large files. See XOP.
- MTTD
- Mean Time Till Diagnose
- MTTF
- Mean Time Till Failure
- MTTR
- Mean Time Till Repair
- mushroom management
- keep them in the dark, feed them ...dung, watch them grow
- MVC
- Model–view–controller, is often seen in web applications where the view is the HTML or XHTML generated by the application. The controller receives GET or POST input and decides what to do with it, handing over to domain objects (i.e. the model) that contain the business rules and know how to carry out specific tasks such as processing a new subscription, and which hand control to (X)HTML-generating components such as templating engines, XML pipelines, Ajax callbacks, etc.
- MVCC
- Multiversion concurrency control, in databases it means that updates/deletes on a table, obsoletes the old values and creates the new (timestamped) version. It allows for PITR and snapshots and ACID (without many locks).
- MVP
- Model–view–presenter, software engineering design and architectural pattern
- MVVM
- Model View ViewModel, an architectural pattern used in software engineering that originated from Microsoft as a specialization of the Presentation Model design pattern introduced by Martin Fowler.
- MVW
- Model-View-Whatever, AngularJS is such a framework that uses it. See also, ha ha only serious.
- N
- Nagle's algorithm
- a means of improving the efficiency of TCP/IP networks by reducing the number of packets that need to be sent over the network. It was defined by John Nagle while working for Ford Aerospace.
- nanodijkstra
- measurement unit for arrogance, in computer science. See Edsger W. Dijkstra
- NFR
- Non Functional Requirements, for example security.
- Ninety-ninety rule
- The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time - Tom Cargill, Bell Labs
- NLS
- National Language Support or Native Language Support. Making software suitable for multiple locations/different languages. See i18n and L10n.
- non-reifiable type
- non-reifiable types are types where information has been removed at compile-time by type erasure. See reifiable and type erasure.
- nonce
- in cryptography, a, arbitrary "number used once" (nonce) to prevent attackers using old communications in replay attacks.
- (Database) normalization
- a database schema to minimize redundancy and dependency, for example by using autoincrement keys as pks, and not storing the same data in several tables. For the reverse, see OLAP.
- NoSQL
- not a RDBMS, but more a 'structured storage' system of which RDBMSes are a subset. Usually not totally ACID. (See RDBMS, ACID)
- NPE
- NullPointerException, the Bane of Existence for any Java Programmer.
- O
- Object
- an instance of a class containing both state (attributes/properties) and logic (methods), as a coherent entity.
- OCP
- Open - Closed Principle. The O in SOLID. See also SOLID.
- Odersky, Martin
- Professor at EPFL and creater of the Scala programming language.
- OLAP
- On Line Analytical Processing, de-normalized data in a database, periodic in nature, for management and trends
- OLTP
- Online transaction processing, basically what an RDBMS can do.
- OMG
- Object Management Group, responsible for the CORBA standard.
- OOAD
- Object Oriented Analysis and Design. Managing complexity of software systems by modelling real life objects.
- OOD
- Object Oriented Design, see OOAD
- OOP
- Object Oriented Programming, see OOAD
- ORB
- Object Request Broker
- ORM
- Object-relational mapping (ORM, O/RM, and O/R mapping), mapping between tables/columns/rows (SQL) and objects/attributes/fields/lists (OOD)
- OS
- Operating System
- OSI
- Open Systems Interconnection (OSI) model (ISO/IEC 7498-1), a concept of a communication model using 7 layers.
- OSGi
- Open Services Gateway initiative framework, a module system and service platform for the Java programming language that implements a complete and dynamic component model
- Ostrich Algorithm
- An algorithm to deal with deadlock, i.e. do not deal with it and hope it doesn't happen.
- OTAP
- Ontwikkeling Test Acceptatie and Productie, the Dutch equivalent of the English DTAP.
- overfitting
- the production of an analysis that corresponds too closely or exactly to a particular set of data, and may therefore fail to fit to additional data or predict future observations reliably
- OWASP
- Open Web Application Security Project, a 501c3 not-for-profit worldwide charitable organization focused on improving the security of application software.
- P
- PAM
- the standard Pluggable Authentication Module, information security framework
- PascalCase
- words or phrases, without spaces, where each new word starts with a capital. The first letter is uppercase. Often used as ClassNames in languages. See camelCase.
- path dependence
- the set of decisions one faces for any given circumstance is limited by the decisions one has made in the past, even though past circumstances may no longer be relevant. See "backwards compatible".
- Peter principle
- the selection of a candidate for a position is based on the candidate's performance in their current role, rather than on abilities relevant to the intended role. Thus, employees only stop being promoted once they can no longer perform effectively, a.k.a. "managers rise to the level of their incompetence."
- PGPD
- Post - Get - Put - Delete, http request types mirroring CRUD. See CRUD. (Made this one up myself)
- PITR
- Point-In-Time Recovery, data or a particular setting can be restored or recovered from a(ny) time in the past.
- PKCS
- Public Key Cryptography Standards, PKCS#8 is a very common format
- PKI
- Public Key Infrastructure (certificates)
- POJO
- Plain Old Java Object
- POLA
- See principle of least astonishment below.
- polymorphism
- a programming language feature that allows values of different types to be handled by a uniform interface.
- ad hoc polymorphism - function overloading
- parametric polymorphism - generics
- (inclusion) polymorphism - subtyping
- pom
- Project Object Model, an XML representation of a Maven project held in de file name pom.xml. See Maven.
- POSIX
- Portable Operating System Interface, a family of standards specified by the IEEE for maintaining compatibility between operating systems.
- PRINCE, PRINCE2
- PRojects IN Controlled Environments, a project management method
- Principle of least astonishment
- "If a necessary feature has a high astonishment factor, it may be necessary to redesign the feature." Also known as the principle of least surprise, user interface or software design should be created in such a way to align with peoples expectations, people should not be "astonished" or "surprised" if the system behaves in a certain way. This minimizes the learning curve, among other things.
- Q
- QA
- Quality assurance
- QBC
- Query By Criteria, create a query via Java syntax. Advantage is in the type checking and the like. See ORM.
- QBE
- Query By Example, find what you need based on an example, finds the objects that are similar. See ORM.
- QoS
- Quality of Service
- quine
- a non-empty computer program which takes no input and produces a copy of its own source code as its only output. Basically a selfreplicating program.
- R
- race condition
- a flaw in an electronic system or process whereby the output or result of the process is unexpectedly and critically dependent on the sequence or timing of other events. The term originates with the idea of two signals racing each other to influence the output first.
- RAII
- resource acquisition is initialization, can be implemented in Java using try-with-resources
- RAR
- resource (adapter) archive
- RC
- Release Candidate, software version before GA. See GA.
- RCP
- Rich Client Platform, a programmer tool for creating large client side software applications using components. Examples are Netbeans and Eclipse.
- RDBMS
- Relational database management system
- RDM
- Rich Domain Model, business logic resides in the objects themselves, see ADM.
- reifiable type
- a reifiable type is a data type whose type information is fully available at runtime. See non-reifiable.
- reification
- See "reifiable type".
- Release early, release often
- emphasizes the importance of early and frequent releases in creating a tight feedback loop between developers and testers or users, contrary to a feature-based release strategy
- REPL
- interactive shell called the Repeat-Eval-Print Loop
- REST
- REpresentational State Transfer
- RIA
- Rich Internet Applications
- Richardson Maturity Model
- A model (developed by Leonard Richardson) that breaks down the principal elements of a REST approach into three steps. See HATEOAS.
- Ritchie, Dennis MacAlistair
- American computer scientist who worked at Bell Labs alongside Unix creators Ken Thompson and Brian Kerighan, one of the first Prophets. Created programming language C.
- RMI
- Remote Method Invocation
- RMI-IIOP
- Remote Method Invocation over IIOP
- ROCA
- Resource Oriented Client Architecture, a web development architectural style for front-end applications.
- ROLAP
- Relational On Line Analytical Processing, but still in a relational database
- RPC
- Remote Procedure Call
- RSN
- Real Soon Now, don't hold your breath
- rubber duck debugging
- informal term used in software engineering for a method of debugging code. In short, explain your problem thoroughly to a rubber duck. Chances are you find out at that time what you are doing wrong/what the problem is.
- RUP
- Rational Unified Process
- S
- SAAJ
- SOAP with Attachments API for Java, a standard way to send XML documents over the Internet from the Java platform. SAAJ enables developers to produce and consume messages conforming to the SOAP 1.1 and 1.2 specifications and SOAP with Attachments note.
- salt
- A random byte array added to a password that is about to be hashed to prevent dictionary attacks, see https://www.owasp.org/index.php/Hashing_Java
- SAM
- Single Abstract Method, functional interface, an interface with a single abstract method. Can be instantiated using lambdas. See Lambda.
- SAML
- Security Assertion Markup Language, an XML-based open standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. SAML is a product of the OASIS Security Services Technical Committee.
- SASL
- Simple Authentication and Security Layer
- SAX
- Simple API for XML, event-based XML Parser
- SBE
- Specification By Example, use realistic examples instead of abstract statements.
- Scala
- Scala is a programming language with both object oriented aspects as well as functional aspects, and static type checking running on the JVM. It began life in 2003, created by Martin Odersky and his research group at EPFL, next to Lake Geneva and the Alps, in Lausanne, Switzerland. Scala has since grown into a mature open source programming language, used by hundreds of thousands of developers, and is developed and maintained by scores of people all over the world.
- SCN
- System change number, a stamp that defines a committed version in an Oracle Database
- Scrum
- A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Scrum is:
- Lightweight
- Simple to understand
- Difficult to master
- SDLC
- Systems Development Life-Cycle also Software Development Life-Cycle
- seagull management
- Seagull managers fly in, make a lot of noise, dump on everyone, then fly out.
- Seam
- JBoss webframework, on top of Java/JSP/Facelets. Uses EL (See EL) and finer grained webcontexts (like long "conversations", spanning multiple webrequests.)
- second-system effect
- when an architect designs a second system, it is the most dangerous system he will ever design, because he will tend to incorporate all of the additions he originated but did not add (due to inherent time constraints) to the first system. Thus, when embarking upon a second system, an engineer should be mindful that he is susceptible to over-engineering it.
- security role
- a semantic grouping of permissions that a given type of users of an application must have in order to successfully use the application.
- SEI
- service endpoint interface, defines the interface/business methods of the EJB when exposing the EJB as a Web service
- semver
- semantic versioning, with MAJOR.MINOR.PATCH version numbers. See https://semver.org
- shebang
- see hashbang.
- shotgun debugging
- the process of introducing undirected changes into any software to be tested in the hope of perturbing bugs out of existence. Not a good idea.
- SIB
- Service Implementation Bean, a Java object implementing a web service
- short-circuit evaluation
- the idea that in boolean logic, the right side need not always be evaluated. This happens when in an "and", the left side evaluates to false and in an "or", the left side evaluates to true.
- Skeleton
- a server side object participating in distributed object communication.
- SLF4J
- Simple Logging Facade For Java - functions as an interface that can delegate requests for logging to different logging frameworks.
- SLSB
- Stateless Session Bean
- SMART
- Specific, Measurable, Attainable, Relevant, Time-bound
- snake_case
- Yes, this_is_snake_case. See camelCase.
- Sneakernet
- refers to the use of someone wearing sneakers as the transport mechanism for the data, instead of networking cable of somekind.
- SNI
- Server Name Indication, for running HTTPS with several different certificates for several servernames on the same server
- SOA
- Service Oriented Architecture
- SOAP
- Simple Object Access Protocol, web services via verbose XML, usually over HTTP.
- SoC
- Separation of Concerns
- Software entropy
- also called software decay, software erosion, code rot. Basically two laws.
- A computer program that is used will be modified
- When a program is modified, its complexity will increase, provided that one does not actively work against this.
- SOLID
- Single responsibility - the notion that an object should have only a single responsibility
- Open-closed - the notion that “software entities … should be open for extension, but closed for modification”.
- Liskov substitution - the notion that “objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”.
- Interface segregation - the notion that “many client specific interfaces are better than one general purpose interface.”
- Dependency inversion - the notion that one should “Depend upon Abstractions. Do not depend upon concretions.”
- SONAR/SonarQube
- an open source platform for continuous inspection of code quality
- spaceship operator
- "<=>"a three-way comparison, usually returning -1, 0 and 1 to indicate smaller, equal or bigger. So named as it resembles a kind of spaceship.
- SPI
- service provider interface, LDAP/database/flatfile/etc for JNDI
- Spike
- a product-testing method originating from Extreme Programming that uses the simplest possible program to explore potential solutions.
- Spolsky's Law of Leaky Abstractions
- implementation details will always leak through, regardless of how good you try to model the abstraction
- SPOT
- Single Point of Truth, see DRY.
- SQALE
- Software Quality Assessment based on Lifecycle Expectations, a method to support the evaluation of a software application source code. See SONAR.
- SQL
- Standard Query Language, for talking to relational databases (RDBM)
- SRP
- Single Responsibility Principle, don't try to do too much. Split it up into independent entities. Is the S in SOLID. See also SOLID.
- SRS
- System Requirements Specification
- SSL
- secure socket layer
- SSO
- Single Sign On, pattern for providing credentials to users upon sign on, so they do not require to re-authenticate themselves for every little thing
- ST
- Story Testing
- stackwalking
- tThe process of accessing, traversal and filtering of a stack trace
- Starvation
- describes a situation where a thread is unable to gain regular access to shared resources and is unable to make progress. This happens when shared resources are made unavailable for long periods by "greedy" threads.
- StAX
- Streaming API for XML
- STL
- Standard Template Library, a software library for the C++ programming language
- STONITH
- "Shoot The Other Node In The Head", make sure the master node, after failure and takeover by the slave node cannot be started again. To prevent multiple masters in the system.
- structured programming theorem
- states that only three specific control structures should be used:
- Executing one subprogram, and then another subprogram (sequence)
- Executing one of two subprograms according to the value of a boolean expression (selection)
- Executing a subprogram until a boolean expression is true (iteration)
- Stub
- a client side object participating in the distributed object communication.
- Sun Microsystems, Inc.
- Sun Microsystems, Inc. was a company that sold computers, computer components, computer software, and information technology services and that created the Java programming language, and the Network File System (NFS). Was acquired by Oracle in 2010.
- SUT
- System Under Test
- swing
- a GUI widget toolkit for Java, followup of AWT. See AWT. Precedes JavaFX. See JavaFX.
- T
- TANSTAAFL
- There ain't no such thing as a free lunch
- TCL
- Transaction Control, database, commit and rollback and the like
- TCP
- Transmission Control Protocol
- TDD
- Test Driven Design (does anyone really use that?) See BDD also.
- TDES
- Triple DES, 3DES. See DES. Not yet deprecated, but it's not going to take long. See AES.
- technical debt
- a metaphor referring to the eventual consequences of any system design, software architecture or software development within a codebase.
- Tell, Don't Ask
- tell an object to do something, do NOT ask (values) of an object and do it yourself.
- TLS
- Transport Layer Security, an upgrade of SSL Version 3.0. No longer SSL, due to breaking interoperability with older versions.
- TO
- transfer object
- TPM
- Total Productive Maintenance, see 5S
- TPS
- Toyota Production System
- truststore
- contains certificates from other parties that you expect to communicate with, or from Certificate Authorities that you trust to identify other parties.
- TSP
- Trust Service Provider, a person or legal entity providing and preserving digital certificates to create and validate electronic signatures and to authenticate their signatories as well as websites in general. Usually a qualified CA. See CA.
- two pizza team
- small groups can innovate and test their visions independently of everyone else. Jeff Bezo, founder of Amazon.com, came up with the notion of the 'two-pizza team': If you can't feed a team with two pizzas, it's too large. That limits a task force to five to seven people, depending on their appetites. (source)
- type erasure
- removal of type information at compile time. So type checking can only be done at compile time, never at runtime. The opposite of type erasure is called reification
- U
- UDDI
- Universal Description Discovery and Integration, XML based registry for companies to indicate to other companies what kind of web services they provide
- UDP
- User Datagram Protocol
- UI
- user interface
- UID
- user identification (number)
- UML
- Unified Modelling Language, a standardized general-purpose modeling language in the field of object-oriented software engineering, created by Grady Booch, James Rumbaugh and Ivar Jacobson
- Uncle Bob
- Robert Cecil Martin. Always ask yourself, what would Uncle Bob do.
- underfitting
- a data model is unable to capture the relationship between the input and output variables accurately, generating a high error rate on both the training set and unseen data. It occurs when a model is too simple
- Unit of Work
- a design pattern described by Martin Fowler as “[maintaining] a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.”
- URI
- Universal Resource Identifier, for example http://example.org/absolute/URI/with/absolute/path/to/resource.txt.
- URL
- Universal/Uniform Resource Locator (See URI). for example scheme://domain:port/path?query_string#fragment_id
- URL rewriting
- Instead of creating a GET-string or POST data, put data inside the url. So, instead of http://www.somestuff.com/products.jsp?productid=7&overview=complete, use http://www.somestuff.com/products/7.
- URN
- Uniform Resource Name, for example urn:ietf:rfc:2648. (See URI)
- User expectations
- the consistency that users expect from products. See "Principle of least astonishment".
- UTF
- Unicode Transformation Format. Various UTF encodings have been devised, with the variable-length UTF-8 and UTF-16 encodings being commonly used.
- UUID
- Universally unique identifier, for use in distributed systems, for example
- V
- Van Wijngaarden Grammer (also vW-grammar or W-grammar)
- a two-level grammar which provides a technique to define potentially infinite context-free grammars in a finite number of rules. For example, "there is one person" and "there are two people" are both grammatically correct but "there are one person" is incorrect for context-sensitive reasons that a W-grammar could represent.
- VM
- Virtual Machine
- VMM
- virtual machine monitor, see Hypervisor.
- VO
- Value Object
- von Neumann, John
- Hungarian-American pure and applied mathematician, physicist, and polymath. Was involved with one of the first computers in 1945.
- von Neumann bottleneck
- unavoidable latency due to transfer times between the processor and the memory. Hence, as processors become faster, they're idling more as they're waiting for memory. See Von Neumann.
- vW-grammar
- See Van Wijngaarden Grammer
- W
- W-grammar
- See Van Wijngaarden Grammer
- WADL
- Web Application Description Language, describes api containing HTTP REST services
- WAR
- Web Archive, jar file. For packaging a Web module.
- WIMP
- windows, icons, menus, pointer
- WSDL
- Web Services Description Language, describes api containing Web services
- WSIT
- Web Services Interoperability Technology is an open-source project started by Sun Microsystems to develop the next-generation of Web service technologies. It provides interoperability between Java Web Services and Microsoft's Windows Communication Foundation (WCF).
- WTF/s
- unit of measurement for code quality, number of wtf per second during code reviews
- WYSIAYG
- What You See Is All You Get. See Sarcasm. See Kernighan.
- WYSIWYG
- what you see is what you get (wizz-zee-wig)
- X
- XA
- eXtended Architecture
- XHR
- See XMLHttpRequest.
- XML
- eXtensible Markup Language. Advantage often mentioned is that it is readable by both humans as well as computers. Not often mentioned is that both humans and computers have a hard time reading it.
- XMLHttpRequest
- an API available to web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests to a web server and load the server response data back into the script. See Ajax.
- xmlns
- XML Name Space. (See XML)
- XMPP
- Extensible Messaging and Presence Protocol
- XOP
- XML-binary Optimized Packaging. See MTOM.
- XP
- eXtreme Programming
- XSLT
- Extensible Stylesheet Language Transformations, schemas used for transforming xml docs into other xml docs or other formats like xhtml and pdf, an example is Apache Xalan.
- Y
- YAGNI
- You Ain't Gonna Need It, also known as 'When in doubt, leave it out.'
- Yoda conditions
- a programming style where the two parts of an expression are reversed from the typical order in a conditional statement, used to prevent unsafe null behaviour or accidentally using assignment instead of comparison
- Z