embarrassingly parallel

en-adj

embarrassingly parallel (comparative more embarrassingly parallel, superlative most embarrassingly parallel)

more embarrassingly parallel (comparative)
most embarrassingly parallel (superlative)

/ɪmˌbæɹəsɪŋli ˈpæɹəlɛl/

/əmˈbɛɹəsɪŋli ˈpɛɹəˌlɛl/

From embarrassingly (in the sense of being embarrassingly or extremely easy) + parallel.

We call such applications "embarrassingly parallel" to emphasize the fact that, while there is a high degree of parallelism and it is possible to make efficient use of many processors, the granularity is large enough that no cooperation between the processors is required within the matrix computations.

1986, Cleve Moler, “Matrix Computation on Distributed Memory Multiprocessors”, in Michael T[homas] Heath, editor, Hypercube Multiprocessors 1986, Philadelphia, Pa.: Society for Industrial and Applied Mathematics, →ISBN, part IV (Numerical Computations), page 182:

In the product algorithm, in fact, only one arithmetic operation, a multiplication, is required, so with a sufficient number of processors it executes in constant time regardless of the degree of the result. […] This is the "embarrassingly parallel" aspect of the algorithms: doing this part in parallel is so trivial it's hardly worth mentioning.

1992, Dennis Weeks, “Embarrassingly Parallel Algorithms for Algebraic Number Arithmetic”, in Richard E. Zippel, editor, Computer Algebra and Parallelism: Second International Workshop, Ithaca, USA, May 9–11, 1990: Proceedings (Lecture Notes in Computer Science; 584), Berlin; Heidelberg, Baden-Württemberg: Springer-Verlag, →ISBN, page 63:

Both of the example applications we've looked at here would be considered embarrassingly parallel. […] By contrast, most parallel sorting algorithms require a great deal of interaction. For instance, consider merge sort, a common method of sorting numbers. It breaks the vector to be sorted into two (or more) independent parts, say the left half and right half, which are then sorted in parallel by two processes. So far, this is embarrassingly parallel, at least after the vector is divided in half. But then the two sorted halves must be merged to produce the sorted version of the original vector, and that process is not embarrassingly parallel.

2011, Norman Matloff, “Parallel R”, in The Art of R Programming: A Tour of Statistical Software Design, San Francisco, Calif.: No Starch Press, →ISBN, page 347:

We develop a parallel variational inference (VI) procedure for use in data-distributed settings, where each machine only has access to a subset of data and runs VI independently, without communicating with other machines. […] [W]e make use of the recently proposed nonparametric VI to facilitate an embarrassingly parallel VI procedure that can be applied to a wider scope of models, including to nonconjugate models. We derive our embarrassingly parallel VI algorithm, analyze our method theoretically, and demonstrate our method empirically on a few nonconjugate models.

2015 October 14, Willie Neiswanger, Chong Wang, Eric Xing, “Embarrassingly Parallel Variational Inference in Nonconjugate Models”, in arXiv, Ithaca, N.Y.: Cornell University, →DOI, →ISSN, →OCLC, abstract:

(programming) In parallel computing, of a particular problem: very easy to separate into a number of parallel tasks.

過易並行 /过易并行

in parallel computing, of a particular problem: very easy to separate into a number of parallel tasks


C`num`

Inspired by the sharp symbol in musical notation. Also chosen because this symbol resembles four connected + symbols; see etymology for C++.

VBers may find the syntax of C# a bit unpalatable.

2008, Andrew Troelsen, Visual Basic .NET and the .NET Platform: An Advanced Guide, page XVIII:

programming language
programming language

(programming) An object-oriented programming language, resembling Java in some respects, developed by Microsoft Corporation as part of their .NET Framework initiative.


pre-hook

(computing, programming) A section of code that runs immediately before a hook call.


polyfill

Named with reference to the spackling paste Polyfilla.

A common way to group elements for collective use by JavaScript is to assign them the same (CSS) class and then to use getElementsByClassName(). Possibly with a polyfill for the "certain old browser".

2016 April 17, Stefan Weiss, “A few problems with looping thru a set of elements with the same "name" specifier.”, in comp.lang.javascript (Usenet), message-ID <nf03hk$bll$1@news.albasani.net>:

(web development) A plugin that provides the functionality of newer browsers to older versions.

ポリフィル

plugin that provides functionality of newer browsers


polyfill

en-verb

polyfill (third-person singular simple present polyfills, present participle polyfilling, simple past and past participle polyfilled)

polyfills (present singular third-person)
polyfilling (participle present)
polyfilled (participle past)
polyfilled (past)

See the FAQ. Or polyfill String.prototype.trim() if necessary and just call .trim().

2017 January 17, Thomas 'PointedEars' Lahn, “form sending undefined”, in comp.lang.javascript (Usenet), message-ID <1645793.CQOukoFCf9@PointedEars.de>:

(web development, transitive, intransitive) To create or apply a polyfill.


Extensible Markup Language

(computer languages) A set of rules for encoding documents in machine-readable form.


Common Language Specification

Common Language Infrastructure
Common Language Infrastructure

(programming) A subset of the base Common Type System comprising the rules to which any CLS-compliant language targeting the Common Language Infrastructure should conform.


member function

en-noun

member function (plural member functions)

(programming) A function that belongs to a class and can be called on instances of the object defined by that class.


MSIL

Intermediate Language
intermediate language#English

(programming) Abbreviation of Microsoft Intermediate Language.


P/Invoke

Platform Invocation Services
w:Platform Invocation Services

(programming) Abbreviation of Platform Invocation Services.


MVVM

(computing, programming) Initialism of model–view–viewmodel.


view model

View Models and headless Fragments provide two such mechanisms that ensure data is persisted across configuration changes, while also ensuring that your Activity or Fragment UI can be updated without risk of memory leaks.

2018, Reto Meier, Ian Lake, Professional Android, John Wiley & Sons, →ISBN, page 248:

Once the view model has data requested by the user's event, it notifies and updates the view.

2022, Damodar Lohani, Taking Flutter to the Web […] , Packt Publishing Ltd, →ISBN, page 79:

architectural pattern
architectural pattern

(programming) An abstraction of a view, especially in the context of the MVVM architectural pattern.


hackathon

If these are opinions I'm sure that it happens to have something to do with the immense amounts of caffeine and sugar that I've ingested over the course of his 50hr hackathon.

1985 January 20, Andy Beals, “Re: net.men.only?”, in net.flame (Usenet), retrieved 2016-12-16, message-ID <3466@mit-eddie.UUCP>:

Just after the Hack-A-Thon. A little tired, but it's still early, just after 3 a.m. I log onto the Vax and find that two of the people from the Hack-A-Thon are already on. I VMSphone RJLEWIS, a hacker and the president of our computer club, to ask him why he left the 'thon early. He answers after quite a few rings - no surprise, he was probably doing some hacking. He answers, "This isn't Crash." Hmm...probably one of his roommates. Another person joins the conversation - RLCOLLINS, one of his roommates - saying "This is Crash." Ok, I'm confused. "Why?," I ask. RJLEWIS responds that this is a person named Debbie and it's her first time on the computer.

1990 November 30, P'relan, “A Callahan's Romance”, in alt.callahans (Usenet), retrieved 2016-12-16, message-ID <3009.27556011@miavx1.acs.muohio.edu>:

I bet you most programmers started out "hacking." You think you're alone in that, but I'm sure you can find hundreds of people in this newsgroup with "48-hour hack-a-thon" or similar kinds of stories. They may have been working with punched cards or with all-text displays, but hacking is hacking. That's why some of the dreaded professional programmers will see your fixation with obscure tricks as nothing more than a phase they've been through themselves.

1992 February 29, David M. Baggett, “Re: 'Demo crews'”, in comp.sys.atari.st (Usenet), retrieved 2016-12-16, message-ID <1992Feb29.043440.25994@wam.umd.edu>:

UNITED ARTISTS, THE ONION, AND THE VIRTUAL GAMING CENTER PERSENT: THE 24 HOUR HACKATHON! n promotion of the new moive "HACKERS" (the fast-paced cyberpunk thriller opens in theaters September 15th), we are giving away a some great prizes! Be the first person to "hack" into our special web site on the internet and win a BRAND NEW COMPUTER SYSTEM! Fifty runners-up will receive special HACKERS gift packs.

1995 September 1, James Dicke, “HACKERS: Win a new computer!”, in milw.general (Usenet), retrieved 2016-12-16, message-ID <4282s8$15l@earth.alpha.net>:

Startup Bus is arguably the looniest of the many hackathons that take place every weekend across the country. A hackathon is a marathon computer-programming competition that, among computer programmers, is slightly less popular than video games, Ultimate Frisbee, or Game of Thrones. It lasts 24 hours to five days, and usually there is a lot of Red Bull and very little sleep.

2015 July 8, Meredith Broussard, “The Dirty Secret About Hackathons”, in The Atlantic:

(informal) An event where programmers and others meet for collaborative software development.


application programming interface

application programming interface (plural application programming interfaces)

application programming interfaces (plural)

(computing, programming) A set of routines, protocols, and tools for building software applications, which makes it possible for software components to interact with one another.

интерфе́йс программи́рования приложе́ний

interfaz de programación de aplicaciones


watchpoint

From watch + point, on the model of breakpoint.

AdaRAID supports multiple CPUs running concurrently, Ada data types, features include break points, watchpoints, timing, tracing, stepping, walkbacks, and histories of last n executions.

(programming) A debugging mechanism whereby execution is suspended every time a specified memory location is modified; or, any of various similar such mechanisms.


OCP

Open Closed Principle
open/closed principle#English

(computer science, programming) Initialism of Open Closed Principle.


open/closed principle

object-oriented programming
object-oriented programming

open-closed principle
open-closed principle#English

(programming, object-oriented programming) Alternative spelling of open-closed principle


Duff's device

(computing, programming) A particular optimized implementation of a serial copy that uses an unusual C-language construct for loop unwinding.


PCRE

regular expression
regular expression#English

(regular expressions) Initialism of Perl-compatible regular expressions.


PEP

PEP (countable and uncountable, plural PEPs)

PEPs are design documents that provide information to the Python community, describing new features (or proposed new features) for Python, its processes, or its environment.

2018, Cody Jackson, Secret Recipes of the Python Ninja: Over 70 recipes that uncover powerful programming tactics in Python, Packt Publishing Ltd, →ISBN, page 282:

(programming, countable) Initialism of Python enhancement proposal.


superexpression

superexpression (countable and uncountable, plural superexpressions)

LL-Q1860 (eng)-Flame, not lame-superexpression.wav

(countable, mathematics, programming) An expression that contains multiple subexpressions.


applicationwide

For example, you may wish to maintain an applicationwide connection string that can be used by all pages, a common DataSet used by multiple pages, or any other piece of data that needs to be accessed on an applicationwide scale.

2007, Andrew Troelsen, Pro C# with .NET 3.0, page 898:

(programming) Throughout an application (software program).


unscale

en-verb

unscale (third-person singular simple present unscales, present participle unscaling, simple past and past participle unscaled)

unscales (present singular third-person)
unscaling (participle present)
unscaled (participle past)
unscaled (past)

Because OpenGL ES does not understand such a format, the vertex shader will then need to apply a matrix to unscale these values, which affects the vertex shading performance.

2014, Dan Ginsburg, Budirijanto Purnomo, Dave Shreiner, OpenGL ES 3.0 Programming Guide, page 457:

(transitive, programming) To undo a scaling transform upon.


renumberer

LL-Q1860 (eng)-Flame, not lame-renumberer.wav

Bit Bucket software tor the Atari including disassembler, renumberer, character generator[…]

A 260-line program, which took other renumberers between two and four minutes to renumber, took the Monkey Wrench only eight seconds.

1982 July 26, InfoWorld, volume 4, number 29, page 41:

Programmed with a utility such as a program line editor or a renumberer, the EPROM leaves the whole of your RAM free to hold the program on which you are working.

1983, Owen Neville Bishop, Henry Budgett, Simple interfacing projects:

(programming, dated) A program that renumbers lines of code in another program (for example, to allow insertion of further lines between them).


alist

We use alists extensively in this work. A directed graph is an alist associating vertices with edge lists.

J. S. Moore and Q. Zhang, Proof Pearl: Dijkstra’s Shortest Path Algorithm Verified with ACL2, in Joe Hurd and Tom F. Melham (ed.), Theorem proving in higher order logics: 18th international conference, 2005, p. 375


dependee

(programming) An agent that is depended on by a depender, the target of a dependency (used in agent-oriented programming)


predeclare

predeclare (third-person singular simple present predeclares, present participle predeclaring, simple past and past participle predeclared)

predeclares (present singular third-person)
predeclaring (participle present)
predeclared (participle past)
predeclared (past)

(transitive, programming) To declare some source code element (such as a class) in advance of its full description, so that other preceding parts of the code can refer to it.


tracepoint

In addition to standard interactive debugging capabilities (display and modification of program variables, setting tracepoints and breakpoints for subprograms, displaying subprogram call stack, and so on), a number of new features were added for VAX Ada.

1987, A. Nico Habermann, Ugo Montanari, System Development and Ada, page 42:

The first thing to notice is that tracepoints have no equivalent to the Trace commands, that is, there is no way to output information in a Release build using tracepoints.

2005, Karli Watson, Christian Nagel, Jacob Hammer Pedersen, Beginning Visual C# 2005, page 161:

(computing, programming) A kind of breakpoint that performs a custom action.


freestore

(computing, programming) The heap of available memory.


activation record

en-noun

activation record (plural activation records)

(programming) a data structure containing subroutine state information located on the call stack

aktivaatiotietue

programming: data structure containing state information


DX

Coordinate term: UX

(programming) Synonym of DevEx (“developer experience”)


TMP

Template metaprogramming
w:Template metaprogramming

(programming) Abbreviation of Template metaprogramming.


intertype

intertype declarations in aspect-oriented programming

(computing, programming) Between data types.


commentation

commentation (countable and uncountable, plural commentations)

In-program commentation is another level of documentation that is compulsory, with standards being set regarding what should be included in source code.

1997, Case Studies in Algorithms and Programming:

(programming) The use of comments in source code.


code monkey

(slang, sometimes derogatory) A computer programmer.


undeclaration

undeclaration (countable and uncountable, plural undeclarations)

(computing, programming) The act of undeclaring something previously declared.


hyperoperator

(programming) An operator that acts on every member of a set.


base class

(object-oriented programming) A class from which other classes can be derived, inheriting its functionality or interface; a potential superclass for subclasses.


dunder

Python has a dunder method, __iter__, that defines what the behavior is for looping over an instance.

2012, Matt Harrison, Treading on Python, volume 1, →ISBN, page 101:

(programming, informal) A double underscore, __.


undercommented

en-adj

undercommented (comparative more undercommented, superlative most undercommented)

more undercommented (comparative)
most undercommented (superlative)

LL-Q1860 (eng)-Flame, not lame-undercommented.wav

What will probably result is a grossly undercommented program, with brief comments that are only marginally helpful.

1981, G. Michael Schneider, Steven C. Bruell, Advanced programming and problem solving with PASCAL:

I've only one complaint about the book: the actual code is often poorly formatted and undercommented, so some of the examples are difficult to read.

(computing, programming) Having inadequate documentation in the form of comments in source code.


content coupling

(programming) A form of coupling where one module relies on the internal workings of another module.


lazy initialisation

en-noun

lazy initialisation (countable and uncountable, plural lazy initialisations)

creational design pattern
creational pattern

(programming) A creational design pattern that uses the tactic of delaying an expensive process, like the creation of an object, until the first time it is needed.


SOLID

Single responsibility
single responsibility principle#English

Liskov substitution
Liskov substitution principle#English

Interface segregation
interface segregation principle#English

Dependency inversion
dependency inversion principle#English

(programming, object-oriented programming) Acronym of Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion. (When followed, the created system will be more likely easy to maintain, and extend over time.)


SRP

single responsibility principle
single responsibility principle#English

(programming) Initialism of single responsibility principle.


single responsibility principle

(programming, object-oriented programming) The principle that every class should have a single responsibility entirely encapsulated by that class.


open-closed principle

(programming, object-oriented programming) A principle that states that software entities (such as classes, modules, and functions) should be open for extension, but closed for modification.


Liskov substitution principle

Named after Barbara Liskov (1939–), who introduced the concept in 1987.

(object-oriented programming) A principle stating that any type having a subtype should be replaceable by its subtype without altering any of the desirable properties (such as correctness, task performed, etc.) of the program.


interface segregation principle

(programming, object-oriented programming) A principle that states that once an interface has become too large, it needs to be split into smaller and more specific interfaces so that any client of the interface will only know about the methods that pertain to itself. In other words, no client should be forced to depend on methods it does not use.


dependency inversion principle

(object-oriented programming) Design principle that states that (1) High- and low-level modules should both depend on abstractions and (2) instead of abstractions depending upon details, details should depend upon abstractions.


God object

single responsibility principle
single responsibility principle

(programming, object-oriented programming) A poorly designed object that does more than one thing and thus violates the single responsibility principle of SOLID.


God class

(programming, object-oriented programming) The class serving as a template for a God object.


CLU

Clipping of cluster, a concept equivalent to classes in object-oriented programming.

(computer languages) A computer language developed between 1973–1975 that pioneered abstract data types and iterators.


IAT

(programming) Initialism of import address table.


design by contract

Coined by French computer scientist Bertrand Meyer.

coin

(programming) A software design approach that prescribes formal, precise and verifiable interface specifications (contracts) with preconditions, postconditions, and invariants.


class invariant

en-noun

class invariant (plural class invariants)

Every object of a given class must satisfy the class's invariant. This invariant acts as a constraint, limiting the size of the class's state-space. A subclass both inherits the class invariant(s) of its superclass(es) and adds a further restriction of its own.

2000, Meilir Page-Jones, Fundamentals of Object-oriented Design in UML, Addison-Wesley Professional, →ISBN, page 272:

(object-oriented programming) An invariant used to constrain objects of a class that is preserved by class methods and that constrains the state stored in the object.


subtype polymorphism

(programming, computing theory) Synonym of subtyping


defensive programming

(programming) A form of defensive design aiming to ensure the continuing functioning of a piece of software in spite of unforeseeable usage of it.


twigil

(programming, Perl language) A character prepended to a variable name to indicate its scope.


factory class

factory method pattern
factory method pattern

(software, object-oriented programming) A class that creates an object having a non-trivial creation process, implementing the factory method pattern.


factory method pattern

factory method pattern (plural factory method patterns)

(software, object-oriented programming) A creational design pattern that decouples the object creation by using an abstract method in the class.


factory pattern

factory pattern (plural factory patterns)

factory method pattern
factory method pattern#English

(software, object-oriented programming) Synonym of factory method pattern


abstract factory pattern

abstract factory pattern (plural abstract factory patterns)

abstract factory class
abstract factory class

(software, object-oriented programming) A creational design pattern that decouples the object creation by providing a group of individual factories by defining an abstract factory class.

abstrakte Fabrik

a software creation design pattern that decouples object creation


abstract factory class

abstract factory class (plural abstract factory classes)

(software, object-oriented programming) A class that has an abstract method to create an object.


abstract method

abstract method (plural abstract methods)

(object-oriented programming) A method of an abstract class that has no implementation in that class and must therefore be implemented by all subtyping classes.

méthode abstraite

software - a method of an abstract class that has to be implemented by all subtyping classes


abstract class

abstract class (plural abstract classes)

(object-oriented programming) A class that cannot be instantiated and may have abstract method.

abstrakti luokka

in software - a class which cannot be instantiated


nominative type system

nominative type system (plural nominative type systems)

(programming) A major type system where compatibility and equivalence of data types are determined by explicit declarations or the names of the types.


separation of concerns

The earliest use in computer science is by Edsger W. Dijkstra in his 1974 paper "On the role of scientific thought". However, the term was used as early as 1924 in the field of legal economics by John R. Commons. (see quotes)

It is what I sometimes have called "the separation of concerns", which, even if not perfectly possible, is yet the only available technique for effective ordering of one's thoughts, that I know of. This is what I mean by "focusing one's attention upon some aspect": it does not mean ignoring the other aspects, it is just doing justice to the fact that from this aspect's point of view, the other is irrelevant. It is being one- and multiple-track minded simultaneously.

1974, Edsger W. Dijkstra, “On the role of scientific thought”, in Selected writings on Computing: A Personal Perspective:

(programming) The process of separating a computer program into distinct features that overlap functionally as little as possible.

فَصْلُ الْاِهْتِمَامَاتْ

programming: separating a computer program into distinct features


ActionScript

programming language
programming language

(computer languages) An object-oriented programming language originally designed for making visual animations.


AppleScript

(programming) A Mac OS scripting tool used to create scripts and applets.


AppleScript

(computing) A script written in this language.


AspectJ

From aspect and the first letter of Java.

aspect-oriented programming language
aspect-oriented programming language

(programming) An extension that turns Java into an aspect-oriented programming language.


null object

(object-oriented programming) An object that does nothing and is used instead of a null.


first-class object

first-class object (plural first-class objects)

(programming, languages) An entity that can be constructed at run-time, passed as a parameter, returned from a function, or assigned into a variable.

(programming, languages) An entity that can pass a value as a parameter, can be returned from a subroutine, and can be assigned into a variable. (This is the definition according to Raphael Finkel, who uses the terms of second- and third-class objects.)


second-class object

second-class object (plural second-class objects)

first-class object
first-class object#English

(programming, languages) An entity of which the value can be passed as a parameter, but that can neither be returned from a function, nor be assigned to a variable. (Used by Raphael Finkel, the first-class object does not need to have run-time constructability according to his definition.)


third-class object

third-class object (plural third-class objects)

(programming, languages) An entity of which the value can neither be passed as a parameter, nor be returned from a function, nor assigned to a variable. (Used by Raphael Finkel, the first-class object does not need to have run-time constructability according to his definition.)


first-class citizen

first-class citizen (plural first-class citizens)

(programming, languages) Synonym of first-class object


third-class citizen

third-class citizen (plural third-class citizens)

third-class object
third-class object#English

(programming, languages) Synonym of third-class object


first-class entity

first-class entity (plural first-class entities)


first-class value

first-class value (plural first-class values)


third-class entity

third-class entity (plural third-class entities)


third-class value

third-class value (plural third-class values)


second-class citizen

second-class citizen (plural second-class citizens)

second-class object
second-class object#English

(programming languages) Synonym of second-class object


second-class entity

second-class entity (plural second-class entities)

(programming, languages) Synonym of second-class object


second-class value

second-class value (plural second-class values)


adaptee

object-oriented programming
object-oriented programming

(software, object-oriented programming) A class that is converted to another class using a so-called adapter class.

Adaptierte

class converted to another with a so-called adapter class


adapter pattern

adapter pattern (plural adapter patterns)

structural design pattern
structural pattern

(software, object-oriented programming) A structural design pattern that translates one interface for a class into a compatible interface.


class adapter pattern

class adapter pattern (plural class adapter patterns)

(software, object-oriented programming) An adapter pattern where the adapter is created by implementing or inheriting both the interface that is expected and the interface that is pre-existing.


object adapter pattern

object adapter pattern (plural object adapter patterns)

(software, object-oriented programming) An adapter pattern where the adapter contains an instance of the class it wraps.


façade pattern

(software, object-oriented programming) Synonym of facade pattern


facade pattern

(software, object-oriented programming) A structural design pattern that provides an object that is a simplified interface to a larger body of code, such as a class library.


member variable

member variable (plural member variables)

(software, object-oriented programming) A variable that is associated with each instance of a class and can be accessed from all its methods.


class variable

(software, object-oriented programming) A member variable that is associated with a class of which a single copy exists.


instance variable

instance variable (plural instance variables)

(software, object-oriented programming) A member variable that is associated with a class for which each object of the class has a separate copy.


member field

(software, object-oriented programming) Synonym of member variable


Law of Demeter

Named for its origin in the Demeter Project, an adaptive programming and aspect-oriented programming effort, itself named after the Greek goddess Demeter.

An adaptive program contains only hooks into the class structure and normally does not fully encode the details of the class structure. This idea of not duplicating the class structure is an application of the key idea behind the Law of Demeter.

1996, Karl J. Lieberherr, Adaptive Object-oriented Software: The Demeter Method with Propagation Patterns, Pws Publishing Company, →ISBN:

According to the Law of Demeter, the second approach is better because the summary screen sends a message only to an object that is returned by one of its methods […]

1998, Scott W. Ambler, Building Object Applications that Work: Your Step-by-Step Handbook for Developing Robust Systems with Object Technology, Cambridge University Press, →ISBN, page 249:

(software, object-oriented programming) A design guideline for developing particularly object-oriented programs that mandates loose coupling between objects.


principle of least knowledge

(software, object-oriented programming) Synonym of Law of Demeter


template method pattern

template method pattern (plural template method patterns)

(software, object-oriented programming) A behavioural software design pattern that defines the flow of the algorithm with the template method.


template method

template method (plural template methods)

template method pattern
template method pattern

(software, object-oriented programming) A special method of an abstract class used in the template method pattern that prescribes an algorithm for its subclasses.


behavioural pattern

behavioural pattern (plural behavioural patterns)

(software, object-oriented programming) A design pattern which specifies how the entities of a software communicate with each other.


behavioral pattern

behavioral pattern (plural behavioral patterns)

behavioural pattern
behavioural pattern#English

(software, object-oriented programming) Alternative spelling of behavioural pattern


iterator pattern

iterator pattern (plural iterator patterns)

behavioural design pattern
behavioural pattern

(software, object-oriented programming) A behavioural design pattern that uses an iterator to traverse a container and access the container's elements, thus decoupling algorithms from containers.


Hollywood principle

In reference to the phrase don't call us, we'll call you, supposed to be a common dismissal from Hollywood film auditions and hiring organizations, but used here regarding function calls.

(software, object-oriented programming) A software design principle, stated as "Don't call us, we'll call you", that assists in the development of code with high cohesion and low coupling that is easier to debug, maintain and test.


parametric polymorphism

parametric polymorphism (usually uncountable, plural parametric polymorphisms)

(programming) A way to make a computer language more expressive, while maintaining full static type safety, by allowing a function or a data type to be written generically so that it can handle values identically without depending on their type.


submethod

(object-oriented programming) A method in a subclass that overrides the corresponding method in its superclass.


TBT

(web development) Initialism of total blocking time.


ROP

ROP (countable and uncountable, plural ROPs)

return-oriented programming
return-oriented programming#English

(uncountable, programming) Initialism of return-oriented programming.


CDI

CDI (countable and uncountable, plural CDIs)

Moreover, the CDI concept rationalizes the application structure by making the wiring points of one class with others explicit.

2022, Giuseppe Bonocore, Arunee Singhchawla, Hands-On Software Architecture with Java, Packt Publishing Ltd, →ISBN, page 185:

software architecture
software architecture

dependency injection
dependency injection#English

(software architecture) Initialism of context(s) and dependency injection


concurrency pattern

concurrency pattern (plural concurrency patterns)

(software, object-oriented programming) A design pattern that deal with the multi-threaded programming paradigm.


singleton pattern

singleton pattern (plural singleton patterns)

creational design pattern
creational pattern

(software, object-oriented programming) A creational design pattern that restricts the instantiation of a class to one object.


multiton pattern

multiton pattern (plural multiton patterns)

(software, object-oriented programming) Synonym of multiton


builder pattern

builder pattern (plural builder patterns)

(software, object-oriented programming) A creational design pattern that intends to abstract steps of construction of objects so that different implementations of these steps can construct different representations of objects.


object pool pattern

object pool pattern (plural object pool patterns)

(programming) A creational design pattern that uses a set of initialised objects kept ready to use, rather than allocating and destroying them on demand.


prototype pattern

prototype pattern (plural prototype patterns)

(programming) A creational design pattern that determines the type of objects to create by a prototypical instance, which is cloned to produce new objects.


model-view-controller

model–view–controller (canonical)
model-view-controllers (plural)

(software architecture) A type of computer user interface that separates the representation of information from the user's interaction.


manifest typing

(programming) A typing where the software programmer explicitly identifies the type of each declared variable.


event-driven

en-adj

event-driven (comparative more event-driven, superlative most event-driven)

more event-driven (comparative)
most event-driven (superlative)

(programming) Of a program: such that the program flow is determined by events.


event-based

event-based (comparative more event-based, superlative most event-based)

more event-based (comparative)
most event-based (superlative)

LL-Q1860 (eng)-Flame, not lame-event-based.wav

event-based programming


computer programming

en-noun

computer programming (countable and uncountable, plural computer programmings)

(programming) The process of designing, writing, testing, debugging, and maintaining the source code of computer programs.


event-driven programming

(programming, paradigm) A programming paradigm where the flow of the program is determined by events.


event-based programming

event-driven programming
event-driven programming#English

(programming, paradigm) Synonym of event-driven programming


inner class

(object-oriented programming) A class that is declared entirely within the body of another class.


nested class

(object-oriented programming) Synonym of inner class


outer class

(object-oriented programming) A class that contains an inner class.

ulkoluokka

programming: class that contains an inner class


static class

(software, object-oriented programming) A class that cannot be instantiated.

staattinen luokka

programming: a class that cannot be instantiated


final class

(object-oriented programming) A class that cannot be subclassed.


anonymous class

anonymous class (plural anonymous classes)

(object-oriented programming) A class without a name, available only in the scope where it is defined.


local class

A local class is an inner class that is defined in a block.

2008 December 19, Khalid A Mughal, Rolf W Rasmussen, A Programmer's Guide to Java Certification: A Comprehensive Primer, Pearson Education:

(object-oriented programming) A class that is declared in the body of a function, and can only be referred to in the rest of the function.

paikallinen luokka

class declared in the body of a function


SNOBOL

Short for string-oriented and symbolic language. Compare COBOL.

(computer languages) Any of a series of computer programming languages developed in the 1960s and based around text string manipulation.


microframework

(programming) A very lightweight framework.


JavaScripter

A lot of the most talented JavaScripters out there like to share their ideas, innovations, and experiments with the rest of the world through their blogs[…]

2006, Christian Heilmann, Beginning JavaScript with DOM Scripting and AJAX, page xxiii:

One who uses the JavaScript programming language.


curly-bracket language

curly-bracket language (plural curly-bracket languages)

(programming) A programming language whose syntax uses curly brackets to enclose blocks, such as C, C++, Java, or C#.


curly-braces language

curly-braces language (plural curly-braces languages)

curly-bracket language
curly-bracket language#English

(programming) Synonym of curly-bracket language


type erasure

type erasure (countable and uncountable, plural type erasures)

Type erasure is often seen as a mysterious, enigmatic programming technique. It is not exclusive to C++ (most tutorials on type erasure use Java for their examples).

2019, Fedor G. Pikus, Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications, Packt Publishing Ltd, →ISBN, page 102:

(C++ programming) A technique by which a class is made generic without requiring compile-time template arguments.


IDL

Interactive Data Language
w:IDL (programming language)

programming language
programming language

(computer languages) Initialism of Interactive Data Language, a programming language used for data analysis.


tail call

Tail calls can be implemented without the need for an additional frame on the call stack.

(programming) A function call that is itself the last instruction in a function.


NVI

non-virtual interface
non-virtual interface#English

(programming) Initialism of non-virtual interface.


non-virtual interface

non-virtual interface (plural non-virtual interfaces)

(programming) An interface that controls how methods in a base class are overridden.


EAR

Enterprise Application Archive
w:EAR (file format)

(programming) Initialism of Enterprise Application Archive (a file format used to package Java applications)


mock object

Coordinate term: stub

Mock objects (mocks, for short) are perfectly suited for testing a portion of code logic in isolation from the rest of the code.

2020, Cătălin Tudose, JUnit in Action, 3rd edition, Simon and Schuster, →ISBN, page 139:

(object-oriented programming) An object that mimics the behavior of a real object in a controlled way, often used as part of unit testing.


variadics

(programming) The use of variadic templates.


non-virtual interface pattern

non-virtual interface pattern (uncountable)

non-virtual interface
non-virtual interface

(programming) A software pattern that controls how methods in a base class are overridden using the non-virtual interface.


marker interface

marker interface (plural marker interfaces)

(software, object-oriented programming) A special type of interface without any constants or methods defined, and that is used just to mark a class.


castable

en-adj

castable (comparative more castable, superlative most castable)

more castable (comparative)
most castable (superlative)

(programming) Capable of being cast to another data type.


value type

(programming) A data type that represents a value directly, rather than a pointer or reference to something else.

(programming) A data type having deep-copy semantics.


ODP

observer design pattern
w:observer design pattern

(software, object-oriented programming) Initialism of observer design pattern.


checked exception

en-noun

checked exception (plural checked exceptions)

(programming) An exception that has to be declared in the signature of the method that may raise it.

überprüfte Ausnahme

an exception that has to be declared in the signature of the method that may raise it


syntactic salt

LL-Q1860 (eng)-Flame, not lame-syntactic salt.wav

Coined analogously with syntactic sugar.

Coordinate term: syntactic sugar

(programming) Additions to a programming language that make it harder to write bad code.


copy-on-write proxy

copy-on-write proxy (plural copy-on-write proxies)

(programming) A proxy that controls the copying of an object by deferring the copy until it is required by a client.


smart-reference proxy

smart-reference proxy (plural smart-reference proxies)

(programming) A proxy that provides additional actions whenever an object is referenced, such as counting the number of references to the object.


compound pattern

compound pattern (plural compound patterns)

object-oriented programming
object-oriented programming

(software, object-oriented programming) A design pattern that combines at least two patterns into a solution that solves a recurring or general problem.


CRUD

database management system
database management system

(databases, programming) Acronym of create, read, update, delete: the basic operations of a database management system.


marker interface pattern

marker interface pattern (plural marker interface patterns)

(software, object-oriented programming) A software design pattern in computer science, used with languages that provide run-time type information about objects.


LINQ

(programming, .NET) Acronym of Language Integrated Query.


model-view-presenter

model–view–presenter (canonical)
model-view-presenters (plural)

architectural pattern
architectural pattern

(software architecture) A derivative of the model-view-controller (MVC) architectural pattern, where the presenter assumes the functionality of the "middle-man".


boilerplate code

Because you write that same boilerplate code over and over, the C# 3.0 compiler will now do it for you.

2011, Stephen R. Davis, Chuck Sphar, C# 2008 For Dummies, John Wiley & Sons, →ISBN, page 231:


tagging interface

tagging interface (plural tagging interfaces)

marker interface
marker interface#English

(software, object-oriented programming) Synonym of marker interface


unified type system

unified type system (plural unified type systems)

(object-oriented programming) A concept for computer language types where a primitive type can support methods and encapsulation, but only reference types support virtual methods and specialization.


virtual method

Coordinate term: virtual class

(object-oriented programming) A method whose behavior can be overridden within an inheriting class by a method with the same signature.


virtual function

virtual function (plural virtual functions)

(object-oriented programming) Synonym of virtual method


bound property

bound property (plural bound properties)

(computing, object-oriented programming) A property of an object that transmits notification of any changes to an adapter or event handler.


Rubyist

Why do Rubyists choose Ruby? Probably because it gets their work done. But I suspect that the project culture is part of it.

2007, Topher Cyll, Practical Ruby Projects: Ideas for the Eclectic Programmer, page 2:

By convention, Rubyists usually underscore their method names.

2011, Matt Aimonetti, MacRuby: The Definitive Guide: Ruby and Cocoa on OS X, page 14:

(programming) A user of the Ruby programming language.


XWT

(software, object-oriented programming) Initialism of XML Windowing Toolkit. (old name for the Vexi project)


eRCP

(software, object-oriented programming) Initialism of embedded Rich Client Platform.


TLE

TLE (countable and uncountable, plural TLEs)

(programming) Initialism of time limit exceeded.; One of the verdicts used in programming contests to show that the submitted code has failed.


Scala

Scala started life in 2001 as a research project at EPFL in Switzerland. It was released publicly in 2004 after an internal release in 2003.

2017, Toby Weston, Scala for Java Developers: A Practical Primer, Apress, →ISBN, page 5:

(computer languages) A statically-typed multi-paradigm programming language designed to run on the JVM.


Clojure

From closure, respelled with the letter J from Java.

Allowing variable capture when we really, really want it makes Clojure's macro system technically more dangerous than hygienic systems.

2014, Colin Jones, Mastering Clojure Macros: Write Cleaner, Faster, Smarter Code, Pragmatic Bookshelf, →ISBN:

A dialect of the Lisp programming language that runs on the JVM.


ACF

(computing, object-oriented programming) Initialism of Advanced Component Framework. (a C++ component framework providing a scalable architecture for very complex applications)


dtor

(object-oriented programming) Abbreviation of destructor.


code smell

Analogous to a bad smell indicating e.g. rotten food. Apparently coined by American software engineer Kent Beck, in the late 1990s. Popularized via the book Refactoring: Improving the Design of Existing Code, co-authored by Beck.

coin

A well-known code smell is as follows: a function should do one thing.

2021, Christian Clausen, Five Lines of Code: How and when to Refactor, Manning, →ISBN, page 4:

(programming) Anything in a program's source code that suggests the presence of a design problem.


subinterface

(object-oriented programming) An interface that derives from another interface, making it more specific.


type introspection

en-noun

type introspection (usually uncountable, plural type introspections)

(object-oriented programming) The ability of a program to examine at run time the type or properties of an object.


data hiding

information hiding
information hiding#English

(software, object-oriented programming) Synonym of information hiding


information hiding

(software, object-oriented programming) The technique to hide information so that it is invisible from the outside of an object. (It is a principle of segregation of design decisions that are most likely to change, so that other parts of the program are protected from extensive modification.)


(programming) Initialism of first-generation language, i.e. machine language.


feature envy

A class with feature envy of another class means it is highly coupled to that class. Any change to the class being envied means it affects the class with the envy.

2010, Peter Ritchie, Refactoring with Microsoft Visual Studio 2010, Packt Publishing Ltd, →ISBN:

(programming) The situation where one class in a program makes excessive use of parts of other classes.


typestate

typestate (countable and uncountable, plural typestates)

(programming) Information stored with a variable indicating its current data type.


function overloading

function overloading (usually uncountable, plural function overloadings)

(object-oriented programming) A feature that allows creating several functions or methods with the same name differing in the type of the input and the output parameters.


method overloading

method overloading (usually uncountable, plural method overloadings)

function overloading
function overloading#English

(object-oriented programming) Synonym of function overloading


multiple dispatch

multiple dispatch (countable and uncountable, plural multiple dispatches)


patchset

(computing, programming) A set of software patches.


object graph

(software, object-oriented programming) A view of an object system at a particular point in time that details the relationships between class instances.


convenience class

convenience class (plural convenience classes)

(object-oriented programming) A class created for convenience so that some other, more complex task is simplified.


convenience method

convenience method (plural convenience methods)

(object-oriented programming) A method created for convenience so that some other, more complex task can be solved more easily.


esolang

esoteric programming language
esoteric programming language#English

(programming) Clipping of esoteric programming language.


control structure

control structure (plural control structures)

Coordinate term: data structure

In C++ you can and often will nest control structures: place one conditional within another; put a loop within another loop; have a conditional within a loop; and so forth.

2005, Larry Ullman, Andreas Signer, C++ Programming: Visual QuickStart Guide, Pearson Education, →ISBN:

(programming) A structure used to direct the flow of execution of a program.


FSVO

(mathematics, programming, Internet slang) Initialism of for some values of.


pseudoblock

LL-Q1860 (eng)-Flame, not lame-pseudoblock.wav

A pseudoblock surrounding the whole source program can be initialized before actual translation with the entries for standard functions and variables, so that these don't have to be treated separately.

1971, David Gries, Compiler construction for digital computers, page 229:

(computing, programming) A construct that resembles a block of source code but is not a true block.


debug mode

debug mode (countable and uncountable, plural debug modes)

LL-Q1860 (eng)-Flame, not lame-debug mode.wav

(programming) The mode of a compiler or IDE that allows for debugging, with the availability of information such as variable names and line numbers from the source code.


release mode

release mode (countable and uncountable, plural release modes)

(programming) The mode of the compiler where the code is compiled for the end user, most often with optimizations.


mix-in

(computing, programming) Alternative form of mixin


(programming) Initialism of second-generation language, i.e. assembly language.


The 3GLs include C, C++, Java, and Fortran.

(programming) Initialism of third-generation language.


(programming) Initialism of fourth-generation language, characterized by having its own operating environment (e.g., Foxpro, Mathematica, AMPL).


(programming) Initialism of fifth-generation language: a high-level, constraint-based programming language (e.g. Prolog).


abstract data type

abstract data type (plural abstract data types)

Coordinate term: algebraic data type

(programming) A data type defined only by data properties and operations to be performed on the data without any specification as to how the data will be represented or the operations performed.


pragmat

(programming) A pragma, or compiler directive, in the ALGOL programming language.


IAL

Between 1958 and 1960, a collaboration was initiated between the Association for Computing Machinery and the Gesellschaft für Angewandte Mathematik und Mechanik for the definition of a universal algorithmic language, first denoted IAL, later ALGOL58, and finally ALGOL60.

2020, Giuseppe Primiero, On the Foundations of Computing, Oxford University Press, →ISBN, page 88:

(computer languages, obsolete) Initialism of International Algebraic Language, later named ALGOL.


heredoc

Interpolating with string concatenation in heredocs can look a little strange because the closing heredoc delimiter and the string concatenation operator have to be on separate lines […]

2009, Adam Trachtenberg, David Sklar, PHP Cookbook, page 16:


here document

(programming) A block of text included in the source code of a computer program in such a way that it is treated as a single string literal with line breaks etc. as written.


LaTeX

From TeX. La is usually thought to be from Lamport, the surname of its creator, Leslie Lamport.

(computer languages) A digital typesetting system for mathematical and scientific formulae layout, based on TeX; often stylized as LaTeX.


subpackage

(object-oriented programming) A package situated hierarchically below another package.


downcall

(computing, programming) A call from a higher-level subsystem, such as user code, to a lower-level subsystem, such as a kernel or framework.


metaoperator

(programming) In the Perl and Raku programming languages, an operator that can combine with other operators.


unsubclass

en-verb

unsubclass (third-person singular simple present unsubclasses, present participle unsubclassing, simple past and past participle unsubclassed)

unsubclasses (present singular third-person)
unsubclassing (participle present)
unsubclassed (participle past)
unsubclassed (past)

A good convention for working with multiple subclasses is to only subclass the window procedure that is the first in the call chain and only unsubclass the one that is first.

1990, Paul W. Cheatham, David E. Reich, Robert F. G. Robinson, OS/2 presentation manager programming, page 339:

Unsubclassing the plug-in window ensures that Navigator can continue to function normally once the plug-in module is unloaded.

1996, Ted Coombs, Jason Coombs, Don Brewer, The Netscape LiveWire Sourcebook:

It is very important to remember to unsubclass the plug-in window when the plug-in is destroyed.

1997, Douglas A. Young, Netscape developer's guide to plug-ins, page 177:

(object-oriented programming, transitive) To cause (a previously subclassed window or object) no longer to act like a member of a subclass.


encloser

(programming) An object, procedure, or other portion of code that defines the scope of a variable.


defunctionalization

en-noun

defunctionalization (countable and uncountable, plural defunctionalizations)

higher-order function
higher-order function

(computing, programming) A compile-time transformation which eliminates higher-order functions, replacing them by a single first-order apply function.


defunctionalize

en-verb

defunctionalize (third-person singular simple present defunctionalizes, present participle defunctionalizing, simple past and past participle defunctionalized)

defunctionalizes (present singular third-person)
defunctionalizing (participle present)
defunctionalized (participle past)
defunctionalized (past)

(computing, programming) To subject to defunctionalization.


const

Abbreviation of constant, used as a keyword in certain programming languages.

(programming) A variable whose value cannot be changed directly.


const

(programming, of a variable) Whose value cannot be changed directly.

(programming, of a function) Which cannot change the value of its class’s attributes.


ABAP

Initially coined as short for German Allgemeiner Berichts-Aufbereitungs-Prozessor ("generic report preparation processor"); later assigned the English expansion.

(programming) Initialism of Advanced Business Application Programming


autoflush

LL-Q1860 (eng)-Flame, not lame-autoflush.wav

If the writer is set to autoflush mode, then all characters in the buffer are sent to their destination whenever println is called.

2001, Cay S. Horstmann, Gary Cornell, Core Java 2: Fundamentals, page 715:

With autoflush off, you can easily start generating content, have your code throw it away halfway through, and then issue a redirect.

2002, Dave Rolsky, Ken Williams, Embedding Perl in HTML with Mason:

(computing, programming) Automatic flushing of a buffer.


autoflush

autoflush (third-person singular simple present autoflushes, present participle autoflushing, simple past and past participle autoflushed)

autoflushes (present singular third-person)
autoflushing (participle present)
autoflushed (participle past)
autoflushed (past)

(transitive, computing, programming) To flush (a buffer) automatically.


rem out

rem out (third-person singular simple present rems out, present participle remming out, simple past and past participle remmed out)

rems out (present singular third-person)
remming out (participle present)
remmed out (participle past)
remmed out (past)

From rem (a shortening of remark, used as a comment-marking keyword in some programming languages) + out.

When Windows 98 is installed, it will "REM out" the MSCDEX statement, if there is one, since Windows has its own driver and doesn't need this one.

1998, Ralf Kober, Franck Buechel, Markus Baecker, Win 98 RX: Solve Your Own Windows 98 Computing Problems Easily, page 205:

(programming, dated, transitive) To temporarily disable (a portion of source code) by converting it into a comment.


falsy

From false + -y, to be an antonym to truthy.

In JavaScript, any expression or statement that expects a boolean value will work with a truthy or falsy value, so the fact that && does not always evaluate to true or false does not cause practical problems.

2012, David Flanagan, JavaScript Pocket Reference, page 40:

However, in the second case, both '0' and the empty string () are falsy (in other words, they behave like false) and are therefore equal with respect to ==.

2014, Basarat Syed, Beginning Node.js, →ISBN, page 33:

If the first operand (which comes before the question mark--doIt, in this example) is truthy, the expression evaluates to the second operand (between the question mark and colon), and if it's falsy, it evaluates to the third operand (after the colon).

2016, Kenny Ballou, Learning Elixir, →ISBN, page 92:

(programming) Evaluating to false in a Boolean context.


flexbox

en-noun

flexbox (countable and uncountable, plural flexboxes)

Internet Explorer 9 does not support flexbox.

(web development, uncountable) A CSS3 layout model that allows elements on a web page to be arranged in certain ways within a one-dimensional container.

The contents of a flexbox can be positioned in any direction, can have their order swapped dynamically, and can auto-adjust their sizes and positions based on available space.

2012, Sergey Mavrody, Nika Mavrody, Sergey's HTML5 & CSS3: Quick Reference, page 112:

There's still quite a bit of tumult in the standards recommendations and implementations for flexboxes, but IE10 and Windows 8 has a good, solid implementation of this extremely helpful layout technique.

2013, Jeremy Foster, CSS for Windows 8 App Development, page 161:

You can nest flexboxes inside each other.

2014, Andy Harris, HTML5 and CSS3 All-in-One For Dummies:

(web development, countable) An HTML element that uses this model.


CAML

w:Collaborative Application Markup Language

(computer languages) Initialism of Collaborative Application Markup Language.


Caml

Categorical Abstract Machine Language
w:Caml

(computer languages) Acronym of Categorical Abstract Machine Language, a dialect of ML.


type punning

(programming) The circumvention of the system of data types in a programming language in order to achieve an effect that would be difficult or impossible to achieve within the bounds of the formal language.


softcode

en-verb

softcode (third-person singular simple present softcodes, present participle softcoding, simple past and past participle softcoded)

softcodes (present singular third-person)
softcoding (participle present)
softcoded (participle past)
softcoded (past)

From soft + code, modelled on earlier hard code.

Keep things soft (as in softcoding) wherever possible. Visit a lawyer and make 'parameterisation' your middle name; it'll sound good at parties, and changes to the system will be far less painful.

1992, John W. O. Brinkworth, Software quality management: a pro-active approach, →ISBN:

1997, Barbara L. Maia Goldstein, Society of Photo-optical Instrumentation Engineers, Plug and play software for agile manufacturing, SPIE-International Society for Optical Engineering
Best of breed component approaches are better supported because of the softcoding of much of the factory model and integration logic.

I have used this technique to build very flexible code generators, softcoded calculation engines for users, and much more.

1999, Steven Feuerstein, Oracle PL/SQL Programming: Guide to Oracle8i Features, O'Reilly Media, Inc., →ISBN, page 76:

[…] you will need to consider the business requirements first, and only then encode them in your application. Let's discuss two approaches to this: the traditional “hardcoded” technique and the “softcoded” rules-based approach.

2004, Dave Minter, Jeff Linwood, Building Portals with the Java Portlet API, Apress, →ISBN, page 289:

Given the rationale for softcoding, it is clear that you should softcode attributes that may not be known until run time. For simplicity and improved performance, you can hardcode attributes that are certain.

2010, Michael Blaha, Patterns of Data Modeling, CRC Press, →ISBN, page 175:

(programming) To construct a program in a way which ensures that certain values and methods of operation are adjustable at run time.


deadly diamond of death

en-noun

deadly diamond of death (plural deadly diamonds of death)

(object-oriented programming, humorous) The diamond problem.


diamond problem

diamond problem (plural diamond problems)

So called because a diagram of the classes has a diamond (quadrilateral) shape.

(object-oriented programming) The ambiguity that arises when two classes B and C inherit from A, and a further class D inherits from both B and C, so that if there is a method in A that B and/or C has overridden, and D does not override it, it is unclear which version of the method D should inherit.


LoC

(programming) Initialism of lines of code.


self-documenting

(computing, programming, of source code) Written and structured in such a way that it can be understood without consulting separate documentation.


spinlock

(programming) A lock which causes a thread trying to acquire it simply to wait in a loop ("spin") while repeatedly checking if the lock is available.


spinlock

en-verb

spinlock (third-person singular simple present spinlocks, present participle spinlocking, simple past and past participle spinlocked)

spinlocks (present singular third-person)
spinlocking (participle present)
spinlocked (participle past)
spinlocked (past)


Kleene operator

en-noun

Kleene operator (plural Kleene operators)


rubber duck debugging

From a story in the book The Pragmatic Programmer (1999).

(programming) The practice in which a programmer attempts to solve a bug by explaining their code to an inanimate object, such as a rubber duck.

The Pragmatic Programmer
rubber duck debugging


CTFE

(programming) Initialism of compile-time function execution.


code golf

By analogy with the sport of golf, in which players aim to sink the ball in the hole in the fewest strokes possible.

(programming) A recreational computer programming competition in which participants attempt to write the shortest possible source code to implement a given algorithm.


counterprogramme

A programme that counters or responds to another programme.


bare metal

Real programmers don't write applications programs; they program right down to the bare metal. Applications programming is for wimps who can't do systems programming.

1987, “The Real Programmer's Handbook”, in U-M Computing News, volume 2, UM Libraries, page 7:

After all, this isn't PC Week, or another magazine that primarily covers the happenings of the PC world. This is Embedded Systems Programming, where we often program right down to the bare metal like Real Programmers, unlike those sissy PC guys (insert the sound of a hairy chest being thumped here).

1997, Embedded Systems Programming, Miller Freeman Publications, page 118:

Which has its pluses and minuses—it's really hard to write device drivers for bare metal in a completely type-safe language just because the levels of abstraction are wrong for talking to the bare metal.

2009, Peter Seibel, Coders at Work: Reflections on the Craft of Programming, Apress, →ISBN:

Compared to other modern languages, C is much less forgiving, much more terse, and generally much more ill tempered. However, it is about as close to programming on the bare metal as you can get while still using a well-supported language with good library support for everything from numeric calculations to graphics.

2012, John Ray, William Ray, Sams Teach Yourself Xcode 4 in 24 Hours, Sams Publishing, →ISBN, page 314:

The bare metal hypervisor has a significantly higher level of control over the resources available it because it does not have to go through an intermediary to access the resources.

2012, Peter Membrey, Eelco Plugge, David Hows, Practical Load Balancing: Ride the Performance Tiger, Apress, →ISBN, page 214:

What is a bare-metal setup? Programs that run on bare metal typically follow a very simple format: they do one thing, more or less forever.

2013, Bryon Moyer, Real World Multicore Embedded Systems, Newnes, →ISBN, page 519:

(programming) A runtime environment where little to no abstraction is available: usually employing a low-level programming language, without access to any operating system facilities, and interfacing hardware directly.


memory barrier

Memory barriers are necessary because most modern CPUs employ performance optimizations that can result in out-of-order execution.

(programming) An instruction that enforces an ordering constraint on memory operations issued before and after it.


supermethod

LL-Q1860 (eng)-Flame, not lame-supermethod.wav

(object-oriented programming) A method in a superclass that is overridden in a subclass.


transitive dependency

transitive dependency (plural transitive dependencies)

(programming) In a computer program, library called by another dependency.


call by reference

(programming) Alternative form of call-by-reference


call by value

(programming) Alternative form of call-by-value


pass by value

(programming) Alternative form of call by value


ASI

ASI (countable and uncountable, plural ASIs)

(programming, uncountable) Initialism of automatic semicolon insertion.


T-SQL

(computer languages, databases) Clipping of Transact-SQL.


PL/SQL

(computer languages) Initialism of Procedural Language/Structured Query Language.


static scoping

(programming) The property of being statically scoped.


statically scoped

(programming) Of an identifier: having its scope limited to the block of source code text declares or defines the identifier.


logic programming

(programming) Programming with a paradigm that bases on formal logic


unpythonic

en-adj

unpythonic (comparative more unpythonic, superlative most unpythonic)

more unpythonic (comparative)
most unpythonic (superlative)

(programming) Not following the idioms of the Python programming language.


unchecked exception

en-noun

unchecked exception (plural unchecked exceptions)

(programming) An exception that is not declared in the signature of a method, but results in an abort with a stack trace.


VRAM

graphics processing unit
graphics processing unit#English

(programming) video memory (an area of a computer's memory used to hold data used by a graphics processing unit)


classical inheritance

(object-oriented programming) concept of inheritance where parts of a superclass are available to instances of its subclasses


dot release

From dot (the decimal point in a version number) + release.

(computing, programming) Synonym of point release.


declarative programming

(programming) a programming paradigm that expresses the logic of a computation instead of its control flow


imperative programming

(programming) a programming paradigm that describes the computation in statements


class-based

(programming) Structured by defining classes of objects.


prototype-based

(programming) making inheritance possible by cloning objects instead of instantiating them from classes


representational state transfer

representational state transfer (usually uncountable, plural representational state transfers)

representational state transfers (plural)

Coined by American computer scientist Roy Fielding in 2000.

coin

software architecture
software architecture

(software architecture) A way of providing interoperability between computer systems on the Internet based on textual representations of Web resources and a predefined set of stateless operations.


ifdef

A keyword in various programming languages, short for if defined.

(computing, programming) A construct in source code that allows another part of the code to run only if a specified identifier is defined in the program.


bitflag

(programming) A bit (binary digit) whose value acts as a flag to enable or disable some behaviour.


introspectability

This shows, I think, that sensitivity to the argument from soft introspectability is an untenable halfway house; we must accept strict introspectability or nothing.

2000, Roger Teichmann, Logic, Cause and Action, →ISBN, page 93:

Besides the open question of the full introspectability of arbitrary application code, there is another mental obstacle: conventional programmers consider that dynamic symbolic models are mere gadget applications, “too slow and not professional" but this situation could change with the maturity of web-based scripting (like wikis, active technology, ...).

2006, Jonathan Gratch, Intelligent Virtual Agents: 6th International Conference, IVA, →ISBN, page 155:

It includes subfactors such as introspectability, controlability, and notifiability of the Web service and of the platform, measured by both taking into account the possibility that these sub-factors can be achieved and whether they are actually achieved.

2010, M. Papazoglou, Klaus Pohl, Michael Parkin, Service Research Challenges and Solutions for the Future Internet, →ISBN, page 162:

The quality of being subject to introspection.

(programming, object-oriented programming) The quality of supporting type introspection.


nasal demon

From a 1992 post on the Usenet newsgroup comp.std.c; see http://www.catb.org/jargon/html/N/nasal-demons.html.

(programming, slang, humorous, mostly plural) Unexpected behavior of a compiled program as a result of source code that employs an undefined construct.


linting

en-noun

linting (usually uncountable, plural lintings)

(computing, programming) The process of using a software tool to analyse source code and identify possible programming problems.


OPC UA

(communication, programming) Abbreviation of OPC Unified Architecture (an industrial M2M communication protocol for interoperability developed by the OPC Foundation)


OPC DA

(communication, programming) Initialism of OPC Data Access (first of a group of specifications known as the Classic OPC Specifications.)


OPC HDA

(communication, programming) Initialism of OPC Historical Data Access (group of standards of the OPC Foundation that provides COM specifications for communicating data from devices, like databases, and applications that provide historical data.)


OPC AE

(communication, programming) Initialism of OPC Alarms & Events (an OPC Specification for alarms and events.)


MQTT

(programming) Initialism of Message Queueing Telemetry Transport (a lightweight publish-subscribe messaging protocol used on top of the TCP/IP protocol.)


MQTT-SN

(programming) Initialism of MQ Telemetry Transport for Sensor Networks (a variation of the MQTT protocol for embedded devices on non-TCP/IP networks.)


long long

(computing, programming) A kind of integer variable, allowing a greater range of possible values than a long.


UAF

(programming) Initialism of use after free: a class of software vulnerability where memory is erroneously used again after being deallocated.


rubber ducking

Rubber duck debugging
rubber duck debugging


match-merge

en-verb

match-merge (third-person singular simple present match-merges, present participle match-merging, simple past and past participle match-merged)

match-merges (present singular third-person)
match-merging (participle present)
match-merged (participle past)
match-merged (past)

The lists are match-merged, so if you are on both lists, you are not twice as likely to be chosen.

"When you want to match-merge several data sets and the data sets do not all match by the same variables […]"

2012, Michele M. Burlew, SAS Hash Object Programming Made Easy:

(programming) To merge sets of objects while excluding duplicates.


exotype

(programming) A type (of object) that is defined programmatically at runtime based on external data.


Pythonic

en-adj

Pythonic (comparative more Pythonic, superlative most Pythonic)

more Pythonic (comparative)
most Pythonic (superlative)

The Pythonic style isn't regimented or enforced by the compiler. It has emerged over time through experience using the language and working with others.

2015 February 12, Brett Slatkin, Effective Python, Addison-Wesley Professional, →ISBN, page 1:

Pythonic code—when you first hear of it, you might think it is a programming paradigm, similar to object-oriented or functional programming. While some of it could be considered as such, it is actually more of a design philosophy.

2016 August 31, Fabrizio Romano, Dusty Phillips, Rick van Hattem, Python: Journey from Novice to Expert, Packt Publishing Ltd, →ISBN, page 850:

programming language
programming language

(programming) Using the idioms of the Python programming language.


Lispish

Lispish (comparative more Lispish, superlative most Lispish)

more Lispish (comparative)
most Lispish (superlative)

(programming, informal) Characteristic or reminiscent of the Lisp programming language.


footgun

This is a footgun! ES6 should have specified that it either fulfills, rejects, or just throws some sort of synchronous error. Unfortunately, because of precedence in Promise libraries predating ES6 Promise, they had to leave this gotcha in there, […]

2015, Kyle Simpson, You Don't Know JS: Async & Performance, O'Reilly Media, →ISBN:

If it is what Douglas Crockford might call a “footgun,” then at the very least, condoning and standardizing the “footwounds” will make problems easier to search for and fix.

2017, Evan Burchard, Refactoring JavaScript: Turning Bad Code Into Good Code, O'Reilly Media, →ISBN, page 262:

Let's have a look at one of the ways a service locator can become a foot gun. We're going to look at the anti-pattern of using the DI container directly in your code, thereby breaking inversion of control and generally shooting yourself in the foot.

2021, Joseph Edmonds, Lorna Jane Mitchell, The Art of Modern PHP 8, page 295:

shooting themself in the foot
shoot oneself in the foot

(programming slang, humorous, derogatory) Any feature likely to lead to the programmer shooting themself in the foot.


BHB

(programming) Initialism of branch history buffer.


pumpking

Blend of pumpkin + king, anecdotally from the use of a stuffed pumpkin toy that was handed between employees as a token of permission to make changes, ensuring that only one person could make changes at any particular time.

In addition, various people are pumpkings for different areas. For example, Andy Dougherty and Jarkko Hietaniemi share the Configure pumpkin, and Tom Christiansen is the documentation pumpking.

1999 winter, Nathan Torkington, “Hacking the Perl Core”, in The Perl Journal, volume 4, number 4 (number 16 overall), Boston, Mass.: Readable Publications, →ISSN, →OCLC, archived from the original on 2020-10-31:

Releases are coordinated by a ‘patch pumpkin holder’, or ‘pumpking’ – a quality controller who, with help from Larry [Wall], decides which contributions make the grade and when and bears the heavy responsibility of releasing a new Perl.

2000, Simon Cozens, with Peter Wainwright, Beginning Perl, Birmingham, West Midlands: Wrox Press, →ISBN, page 24:

Each release of Perl is assigned a "pumpking." This person controls all changes to the actual source code of the language itself. The pumpking for 5.6 was Gurusamy Sarathy, and the pumpking for 5.8 is Jarkko Hietaniemi.

2002, Clinton Pierce, “Basic Perl”, in Charlotte Clapp, editor, Perl Developer’s Dictionary, Indianapolis, Ind.: Sams Publishing, →ISBN, page 6:

Thanks to Doug Miles, the Phoenix Perl Mongers Pumpking, for his tireless dedication to the Phoenix Perl community, which he brought together. Writing Perl in the valley would be a lot lonelier without his hard work.

2005, Scott Walters, Perl 6 Now: The Core Ideas Illustrated with Perl 5 (Expert’s Voice in Open Source), Berkeley, Calif.: Apress, →ISBN, page xxii:

(programming, slang) A Perl user working on shared source code who has been temporarily designated as the only person who is allowed to make changes.


WinJS

Equivalent to Win (shortening of Windows) + JS (shortening of JavaScript).

compound

shortening of <i class="Latn mention" lang="en">Windows</i>

shortening of <i class="Latn mention" lang="en">JavaScript</i>

(computing) Initialism of Windows Library for JavaScript (an open source JavaScript library developed by Microsoft)


HATEOAS

HATEOAS is one of the principles of the Uniform interface of the REST constraints. It means we are creating self-describing REST APIs.

2019, Dinesh Rajput, Designing Applications with Spring Boot 2.2 and React JS: Step-by-step guide to design and develop intuitive full stack web applications, BPB Publications, →ISBN:

(software architecture) Acronym of Hypermedia as the engine of application state (an interface restriction of a RESTful service).


dynamically-typed

A dynamically typed language does not require the programmer to declare the type of data a variable holds before using it. Python is a dynamically typed language.

2022, Ronald T. Kneusel, Strange Code: Esoteric Languages That Make Programming Fun Again, No Starch Press, →ISBN, page 54:

(programming) Belonging to a type system that checks the variable types at runtime.


statically-typed

Statically typed languages have some great benefits. You always know what type of data you are dealing with, so you don't have to deal with surprises, such as when 2 + '2' = '22', because you're not even allowed to add variables of different types.

2014, Steven Foote, Learning to Program, Addison-Wesley Professional, →ISBN, page 96:

(programming) Having, or relating to, a type system that checks the variable types at compile time.


strongly-typed

(programming) Belonging to a type system that enforces variables matching (or easily convertible to) the expected types.


weakly-typed

A weakly-typed language will most possibly not generate an error or refuse to compile, if the argument passed to a function does not match the expected type closely.

(programming) Belonging to a type system that likely will not result in an error if a passed variable does not closely match the expected type.


dedentation

A new code block is recognized when the amount of indentation has increased, and its termination is signaled by a "dedentation," or a reduction of indentation matching a previous level's.

2011, Understanding FOSS Version 3.0i revised:

Again, as with every code subblock, indentation (and dedentation) are used to delimit blocks of code as well as to indicate which block of code statements belong to […]

2006, Wesley Chun, Core Python Programming:

(programming, informal, rare) The reversal of indentation, moving the text cursor back out from its indented position.


sigilless

(computing, programming, rare) Without sigils.


string substitution

en-noun

string substitution (plural string substitutions)

(programming) The semantics-free search and replacement of one sequence of text characters with another.


newless

en-adj

newless (comparative more newless, superlative most newless)

more newless (comparative)
most newless (superlative)

This is an example of newless instantiation.

(programming, not comparable) Not containing or using an operator new.


MVCC

multiversion concurrency control
w:multiversion concurrency control

database management system
database management system#English

programming language
programming language#English

transactional memory
transactional memory#English

(databases, programming) Initialism of multiversion concurrency control (a concurrency control method commonly used by database management systems to provide concurrent access to the database and in programming languages to implement transactional memory.)


MGCC

(databases, programming) Synonym of MVCC (multigenerational concurrency control)


Jensen's device

Devised by Danish computer scientist Jørn Jensen.

(programming) A particular programming technique that exploits call-by-name to change the value of an index variable during execution of a loop.


smart pointer

(programming) A form of pointer with additional features such as automatic memory management or bounds checking.


lambda function

en-noun

lambda function (plural lambda functions)

(programming) An anonymous function; a function that is defined in an inline, ad-hoc manner, and often doesn't have a name (not bound to an identifier).


calltip

(programming) A pop-up reminder of the signature of a function or method, to aid the programmer while writing code.


TypeScript

Blend of type (“value constraint”) + JavaScript.

blend

(scripting language) A scripting programming language that is a strongly-typed superset of JavaScript.


docstring

From doc + string; see doc (“documentation”).

(programming) A string literal specified in source code that is used, like a comment, to document a specific segment of code, but remains available at run-time.


minilanguage

The success of Logo in general and turtle graphics in particular stimulated the development of the mini-language approach to teaching the principles of programming.

1997 March, Peter Brusilovsky et al., “Mini-languages: A Way to Learn Programming Principles”, in Education and Information Technologies, →DOI:

domain-specific language
domain-specific language

(programming) A relatively small and simple domain-specific language.


falsiness

(computing, programming) The property of being falsy, i.e. evaluating to false in a Boolean context.


ReDoS

regular expression
regular expression#English

denial of service
denial-of-service attack#English

(regular expressions, computer security) Abbreviation of regular expression denial of service: the use of a maliciously constructed regular expression that takes a very long time to evaluate

regular expressions; computer security; regular expressions; computer security


callback hell

However, the use of callbacks can lead to a maintainability issue known as callback hell. We will now write a real-life example to showcase what a callback hell is and how easily we can end up dealing with it.

2015, Remo H. Jansen, Learning TypeScript:

(programming, colloquial) (mostly of the JavaScript language) The situation where callbacks are nested within other callbacks several levels deep, potentially making it difficult to understand and maintain the code.


concrete method

en-noun

concrete method (plural concrete methods)

object-oriented programming
object-oriented programming

(object-oriented programming) A method of a concrete class.


concrete class

concrete class (plural concrete classes)

(object-oriented programming) A class that can be instantiated and may have concrete methods.

konkreettinen luokka

in software - a class that can be instantiated


concrete interface

concrete interface (plural concrete interfaces)

The more concrete interface extends the more abstract interface; the more concrete class implements the more abstract interface.

2008 February 4, Jaime Niño, Frederick A. Hosch, Introduction to Programming and Object-Oriented Design Using Java, Wiley:

(object-oriented programming) An interface that extends another.

interface concrète

an interface that has a one-to-many relation


coclass

(programming) A class that implements a COM (Common Object Model) interface.


outprogram

en-verb

outprogram (third-person singular simple present outprograms, present participle outprogramming, simple past and past participle outprogrammed)

outprograms (present singular third-person)
outprogramming (participle present)
outprogrammed (participle past)
outprogrammed (past)

Mr Dupree continued, 'But I knew something the robot didn't.'
'What?' asked Molly. 'What did I teach you to do when you're outmatched, outwitted and outprogrammed?'
'You bring the crazy,' said everyone except Alice.

2014, Michael Fry, The Odd Squad: King Karl:

It's like trying to outprogram the greatest programmer of them all. No matter how sophisticated we get, he's light years ahead of us.

computer programming
computer programming

(transitive) To surpass in computer programming ability.


object-based programming

(programming) A programming paradigm that encapsulates states and operations inside "objects" to design applications and computer programs.

基于對象編程 /基于对象编程

programming paradigm that uses objects to design application and computer programs


derived class

(object-oriented programming) Synonym of subclass


empty constructor

en-noun

empty constructor (plural empty constructors)

(object-oriented programming) Constructor with no argument.


member class

(object-oriented programming) An inner class declared outside a function (hence a "member") and not declared as static.


superpackage

LL-Q1860 (eng)-Flame, not lame-superpackage.wav

(object-oriented programming) A package situated hierarchically above another package.


generic class

A generic class is a class with one or more type parameters.

2015 January 30, Cay S. Horstmann, Core Java for the Impatient, Addison-Wesley Professional:

(object-oriented programming) A class defined with at least one generic type in its parameters.


generic type

We call generic type a parametrized specification defining a family of types. Each member of that family is characterized, in a defining occurrence, by its generic name and its actual parameters.

1977, Jacques André, Implementation and Design of Algorithmic Languages:

A generic type is a type that is parameterized by one or several other types.

2006, Patrick Smacchia, Practical .NET2 and C#2, Paradoxal Press:

(object-oriented programming) A type which can be instantiated with any other type.


generic function

generic function (plural generic functions)

(object-oriented programming) Entity made up of all methods having the same name.


Comet

Coined by software engineer Alex Russell in March 2006. After the Comet brand of cleaning products, as a pun on Ajax, which is also both a Web programming technique and a brand of cleaning products.

LL-Q1860 (eng)-Flame, not lame-Comet.wav

(programming) A web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.


Huey, Dewey and Louie

After the nephews of Donald Duck in Disney cartoons.

(business, programming, uncommon) Three hypothetical customers, user personas, or similar constructs.


dangling pointer

dangling pointer (plural dangling pointers)

(programming) A pointer (variable that holds the address of a memory location) that does not reference a valid object.

ponteiro pendente

pointer that does not reference a valid object


eager load

en-verb

eager load (third-person singular simple present eager loads, present participle eager loading, simple past and past participle eager loaded)

eager loads (present singular third-person)
eager loading (participle present)
eager loaded (participle past)
eager loaded (past)

(programming, databases) To fetch data as early as possible, before it used.


lazy load

lazy load (third-person singular simple present lazy loads, present participle lazy loading, simple past and past participle lazy loaded)

lazy loads (present singular third-person)
lazy loading (participle present)
lazy loaded (participle past)
lazy loaded (past)

Collection-valued relationships lazy load by default, so the EAGER fetch type must be explicitly applied to those mappings if eager loading is desired.

2006, Mike Keith, Merrick Schincariol, Pro EJB 3: Java Persistence API, Apress, →ISBN, page 151:

(programming, databases) To fetch data only when it is absolutely required.


snake case

Coined in 2004 by Ruby programmer Gavin Kistner, from its resemblance to the long body of a snake, and by analogy with other naming schemes based on lower- and upper-case letters.

Some evidence shows that coders are better able to read code (their code and code written by others) when using snake_case, not camelCase naming.

2018, Camille McCue, Sarah Guthals, Helping Kids with Coding For Dummies®, John Wiley & Sons, Inc., →ISBN, page 130:

While both camelCase and snake_case are perfectly valid syntax in Java, the development community functions better when everyone adopts the same style convention.

2020, Jeanne Boyarsky, Scott Selikoff, OCP Oracle Certified Professional Java SE 11 Programmer I: Study Guide, Exam 1Z0-815, John Wiley & Sons, Inc., →ISBN, page 49:

We were incorporating third-party Python libraries for some of our projects, leading to a mix within our codebase of our own CamelCase format with the externally preferred snake_case style.

2020, Titus Winters, Tom Manshreck, Hyrum Wright, Software Engineering at Google: Lessons Learned from Programming Over Time, O’Reilly Media, Inc., →ISBN:

(programming) The practice of writing identifiers using underscores to separate words.


refcount

(programming) A counter variable that keeps track of the number of references to a specific block of memory.


autobox

autobox (third-person singular simple present autoboxes, present participle autoboxing, simple past and past participle autoboxed)

autoboxes (present singular third-person)
autoboxing (participle present)
autoboxed (participle past)
autoboxed (past)

(transitive, object-oriented programming) To box (a value) automatically (map a primitive data item to a complex object).


untrace

untrace (third-person singular simple present untraces, present participle untracing, simple past and past participle untraced)

untraces (present singular third-person)
untracing (participle present)
untraced (participle past)
untraced (past)

It is important to untrace a function before modifying its definition, since some tools may not be smart enough to realize that the version of reScale on the session frame is only for debugging!

1998, John M. Chambers, Programming with Data: A Guide to the S Language, page 268:

(computing, programming, transitive) To remove a trace from.


untaint

untaint (third-person singular simple present untaints, present participle untainting, simple past and past participle untainted)

untaints (present singular third-person)
untainting (participle present)
untainted (participle past)
untainted (past)

(transitive, computing, programming) To mark (a previously tainted variable) as safe.


ajaxification

(programming) The use of Ajax in JavaScript source code.


regex golf

A recreational computer programming competition in which participants attempt to devise the shortest possible regular expression that will match a given set of text strings.


MV*

(software architecture) Any of various software design approaches involving a model and a view, such as MVC, MVP, or MVVM.


block comment

(programming) A comment in source code that occupies several consecutive lines.


undef

(programming) Abbreviation of undefined.


O/RM

(object-oriented programming, databases) Alternative form of ORM


CUD

database management system
database management system

(databases, programming) The basic operations of a database management system; Acronym of create, update, delete.


INT

en-noun

INT (countable and uncountable, plural INTs)

(programming) Abbreviation of interrupt.


load-and-go

(programming, often attributive) The assembly and loading into memory of a program as a single operation, without generating and saving an intermediate object program.


mock out

en-verb

mock out (third-person singular simple present mocks out, present participle mocking out, simple past and past participle mocked out)

mocks out (present singular third-person)
mocking out (participle present)
mocked out (participle past)
mocked out (past)

Now that we know we have mocked out the objects and verified that the method we expected was called, we are ready to write a unit test.

2011, Scott Millett, Jerrel Blankenship, Matthew Bussa, Pro Agile .NET Development with SCRUM (page B-18)

(programming, transitive) To replace (source code or other software elements) with a stub that exhibits the desired behaviour, typically for use in automated testing.


gnisrap

From parsing spelled backwards. Introduced by Thomas R. G. Green in a 1987 paper.

Similarly we believe our model could handle the different 'psychological complexity' levels of certain drawing programs to which Kiss and Pinder draw attention. In fact, our approach has much in common with theirs at the gnisrap end, but they do not consider the parsing side.

1987, Human-computer Interaction — INTERACT '87: Proceedings..., page 69:

Green et al (1987) have proposed a number of extensions to Rist's model. In their parsing/gnisrap model of coding, they describe the process by which a skeletal plan is instantiated in a programming notation.

1996, Wayne D. Gray, Deborah Ann Boehm-Davis, Empirical Studies of Programmers: Sixth Workshop, page 60:

(programming) The cognitive process of creating a mental model of a computer program by reading the code.


LTS

leaning toothpick syndrome
leaning toothpick syndrome#English

(programming) Initialism of leaning toothpick syndrome.


pseudo-type

LL-Q1860 (eng)-Flame, not lame-pseudo-type.wav

(programming) A data type that can be only used in certain places, for example as the argument to a function.


QL

(computer languages, databases) Initialism of query language.


test double

A test double is something that stands in for a real system when tests are being run. It comes from the idea of a double who stands in for the real actor when shooting a movie.

2010, Ken Pugh, Lean-Agile Acceptance Test-Driven-Development, Pearson Education, →ISBN:

(programming) An object or procedure that looks and behaves like its release-intended counterpart, but is actually a simplified version to reduce complexity and facilitate testing.


Pascal case

Referring to the Pascal programming language.

upper camel case
upper camel case#English

(programming) Synonym of upper camel case.


server push

(web development) A style of Internet-based communication where the request for a transaction is initiated by the server.


doubly-linked

a doubly-linked list

(programming, of a data structure) Whose elements each link to the previous and the next element.


gradual typing

(programming) A type system where some variables are statically-typed and some are dynamically-typed.


type-check

type-check (third-person singular simple present type-checks, present participle type-checking, simple past and past participle type-checked)

type-checks (present singular third-person)
type-checking (participle present)
type-checked (participle past)
type-checked (past)


Pascal string

After the Pascal programming language, which uses this type of string by default.

(programming) A string whose length is stored as a separate value.


C-style string

After the C programming language, which uses this type of string by default.

Coordinate term: Pascal string

(programming) A string which uses a null value to mark its own end.


shared pointer

(programming) A smart pointer that allows other pointers to point to the same address.


plain old data

(programming) Data structures that are represented as passive collections of field values.


binary-safe

(programming, distributed computing) Guaranteed not to corrupt or alter binary data.


NELIAC

(programming) Initialism of Navy Electronics Laboratory International ALGOL Compiler: a dialect and compiler implementation of the ALGOL 58 programming language.


weird matching

(regular expressions, rare) A type of matching where the newline character matches newlines but the wildcard character also does.


capturing group

en-noun

capturing group (plural capturing groups)

(regular expressions) A grouping in a regular expression that stores the value it matches.


dasherize

en-verb

dasherize (third-person singular simple present dasherizes, present participle dasherizing, simple past and past participle dasherized)

dasherizes (present singular third-person)
dasherizing (participle present)
dasherized (participle past)
dasherized (past)

(programming, informal) To convert (a string) to use hyphens as word separators.


errno

(programming, informal) A value or variable that identifies the kind of error (or lack thereof) that has occurred during the execution of a program or subroutine.


NRVO

(programming) Initialism of named return value optimization.


super class

(computing, object-oriented programming) Alternative form of superclass


static language

en-noun

static language (plural static languages)

(computer languages) A programming language that analyses code without executing the code itself.


dynamic language

dynamic language (plural dynamic languages)

(computer languages) A programming language that analyses code also when executing the code itself.


curly-brace language

curly-brace language (plural curly-brace languages)

curly-bracket language
curly-bracket language#English

(programming) Synonym of curly-bracket language


class-based language

class-based language (plural class-based languages)

(object-oriented programming, computer languages) A programming language in which behaviour reuse (or inheritance) is performed via cloning classes instead of using objects as prototypes.


object-oriented language

object-oriented language (plural object-oriented languages)

(programming) Any programming language that encapsulates the state and operations inside objects that support inheritance.

limbaj de programare orientată pe obiecte


primitive wrapper class

primitive wrapper class (plural primitive wrapper classes)

(object-oriented programming) Synonym of wrapper


docblock

(programming) A specially formatted comment in source code, used to document a specific segment of the code.


curiously recurring template pattern

curiously recurring template pattern (plural curiously recurring template patterns)

curiously recurring template patterns (plural)

Title of a 1995 article which describes this idiom.

(programming) An idiom in which a class X derives from a class template instantiation using X itself as template argument.


bitarray

(programming) An array (or list) of bits (representing Boolean variables)