flip-flop operator

flip-flop operator (plural flip-flop operators)

(programming) An operator specifying a range of conditions, such that the related code executes only if the first condition is true, and only until the second condition becomes true.


dialecting

REBOL's unique dialecting capability enables information to flow automatically over managed, encrypted, and authenticated connections.

2007, Jessica Keyes, X Internet: The Executable and Extendable Internet, page 133:

domain-specific language
domain-specific language

programming language
programming language

(programming) The creation of domain-specific languages within an existing programming language.


Standard ML

(programming) A functional, modular programming language.


premature optimization

en-noun

premature optimization (countable and uncountable, plural premature optimizations)

It was first coined by Donald Knuth in his 1974 monograph The Art of Computer Programming which won a Turing Award.

The real problem is that programmers have spent far too much time worrying about efficiency in the wrong places and at the wrong times; premature optimization is the root of all evil (or at least most of it) in programming.

1973, Donald Knuth, The Art of Computer Programming:

2016, Amitt Mahajan, Why you’re mispricing your VR seed round, VentureBeat
Similar to engineering, premature optimization can cause you to focus on items that don’t materially affect your outcome and can divert your attention away from those that do.

(programming) The act of wasting resources on optimising source code that does not represent a significant bottleneck.

The Art of Computer Programming
Turing Award


delay slot

(programming) A slot for an additional instruction that is executed out of sequence, before the instruction (typically a jump or branch) that immediately precedes it in code.


A procedurally reflective dialect of Lisp that uses an infinite tower of interpreters


MCI

(programming) Initialism of Media Control Interface.


micro-optimization

(programming, computer architecture) Optimization at the level of individual instructions and operations.


SuperBASIC

structured programming
structured programming

(programming) An extended version of the BASIC programming language that allowed for structured programming.


class-based programming

class-based programming (plural class-based programmings)

(programming) A programming style, where inheritance is achieved by using classes of objects.


prototype-based programming

prototype-based programming (plural prototype-based programmings)

(programming) A programming style, where inheritance is achieved by using existing objects via delegation that act as prototypes.


lookbehind

lookbehind (countable and uncountable, plural lookbehinds)

[There] are times when it's useful to be able to look to the left of the current position being considered to see what the past had to say about a particular pattern. That is the purpose of lookbehinds.

2004, Mehran Habibi, Java Regular Expressions: Taming the java.util.regex Engine:

(regular expressions) The analysis of the preceding characters before the regular expression is matched.


array decay

(programming) The conversion of an array variable into a pointer to its first element.


garbage collected

Java is a garbage collected language.

(programming) Featuring garbage collection.

You should use a garbage collected class here.

(programming) Suscepible to garbage collection.


Verilog

(computer languages, hardware) A language used to design and model electronic circuits


magic string

(programming) A text input that is never expected to be received in normal conditions and that activates otherwise hidden functionality.


lookaround

lookaround (countable and uncountable, plural lookarounds)

(regular expressions) Collective term for lookahead and lookbehind.


length operator

length operator (plural length operators)

(programming) An operator that returns the length of a string in bytes, characters, or code points, or the number of consecutive numerically indexed values in a table or array.


do-while loop

(programming) a construction in which a series of commands are performed once initially, and then repeatedly for as long as a specified condition evaluates to true.


Hypertext Markup Language
Hypertext Markup Language#English

Initialism of Hypertext Markup Language Version 5.


subclasser

(programming) One who or that which subclasses.


CSRF token

Initialism of Cross-Site Request Forgery + token.

cross-site request forgeries
cross-site request forgery

(web development, computer security) A secret value added to a web form by the server and sent back by the user as part of a POST request, used to prevent cross-site request forgeries by making sure that the user sending the POST request has actually loaded the form.

web development; computer security; web development; computer security


type hinting

(programming) The specification of data types in an otherwise untyped language, to indicate variables having a particular type.


include guard

(programming) In C and C++, a preprocessor directive used in header files to prevent them from being included multiple times.


forward declaration

forward declaration (countable and uncountable, plural forward declarations)

(programming) The declaration of an identifier before it is given a complete definition, so that the compiler can know its data type and memory size.


symbolic constant

symbolic constant (plural symbolic constants)

(programming) An identifier that is substituted by a pre-defined value prior to compilation.


widening conversion

widening conversion (plural widening conversions)

(programming) A conversion from one data type to another where the new data type’s size is the same or greater than the old one’s, guaranteeing that there will be no loss of information.


narrowing conversion

narrowing conversion (plural narrowing conversions)

(programming) A conversion from one data type to another where the new data type’s size is smaller than the old one’s, such that the conversion may result in loss of information.


tribool

(programming) A variable that behaves similar to a Boolean, but allows three values instead of two.


Four-Russians

Introduced by four Russians, V. L. Arlazarov, E. A. Dinic, M. A. Kronrod, and I. A. Faradzev, in 1970.

Four-Russians method

Four-Russians technique

(attributive, programming) Method of Four Russians: a technique for speeding up certain matrix operations by partitioning the matrix into smaller blocks associated with lookup tables


numeric promotion

numeric promotion (plural numeric promotions)

Numeric promotion is not a general feature of the Java programming language, but rather a property of the specific definitions of the built-in operations.

2000, James Gosling, The Java Language Specification, page 78:

(programming) The conversion of a numeric data type into one that can hold more information. For example, the conversion of a long into a double.


scoped enumeration

scoped enumeration (plural scoped enumerations)

(programming) In C++, an enumeration that automatically defines its own name as a scope.


dangling else

(programming) A potential ambiguity in a programming language that occurs when an else clause can be associated with either a nested conditional or with the clause that encloses the nested conditional.


jump out

en-verb

jump out (third-person singular simple present jumps out, present participle jumping out, simple past and past participle jumped out)

jumps out (present singular third-person)
jumping out (participle present)
jumped out (participle past)
jumped out (past)

Jump out of a loop completely under certain conditions, thereby terminating the execution of a loop.

2009, Rakesh Tyata, A Step in Programming with C, →ISBN, page 48:

(programming) To exit a loop, function, etc. ending its execution before it has reached its terminating condition.


pyramid of doom

en-noun

pyramid of doom (plural pyramids of doom)

It turns out that one way we can look at Bind is as a recipe against the pyramid of doom.

2022, Enrico Buonanno, Functional Programming in C#, Second edition, Simon and Schuster, →ISBN:

(programming, informal) The presence of many levels of nested indentation in source code, making it difficult for a person to read.


Scratcher

visual programming language
visual programming language#English

(programming) A user of the Scratch visual programming language.


visual programming language

visual programming language (plural visual programming languages)

programming language
programming language#English

(programming) A programming language that lets users create programs by manipulating program elements graphically rather than by writing code.


Scratch

(programming) A free educational visual programming language developed by the Massachusetts Institute of Technology Media Lab.


complemented class

complemented class (plural complemented classes)

(regular expressions) Characters which are excluded in a pattern.


foreach loop

(programming) A section of code similar to a for loop, but repeating a series of instructions for every item in a collection.


stringize

en-verb

stringize (third-person singular simple present stringizes, present participle stringizing, simple past and past participle stringized)

stringizes (present singular third-person)
stringizing (participle present)
stringized (participle past)
stringized (past)

(programming, transitive) To convert to, or treat as, a string of text characters.


stringization

These new features are charizing, stringization, token concatenation, string concatenation, trigraph replacement, and predefined macros.

1993, Mark Andrews, Visual C++ Object-oriented Programming, page 186:

(programming) The process of stringizing.


charizing

(programming) Conversion to, or treatment as, a char (text character).


token-pasting operator

en-noun

token-pasting operator (plural token-pasting operators)

(programming) The operator ## in the C or C++ preprocessor, which permits separate tokens to be joined into a single token.


Rust

Graydon Hoare, who initiated the language, has stated that it was possibly named after rust fungi and may be related to robust.

In Rust, the compiler plays a gatekeeper role by refusing to compile code with these elusive bugs, including concurrency bugs.

2019, Steve Klabnik, Carol Nichols, The Rust Programming Language, No Starch Press, →ISBN, page xxvi:

(computer languages) A multiparadigm programming language focused on safety, especially safe concurrency.


dreaded diamond

dreaded diamond (plural dreaded diamonds)

object-oriented programming
object-oriented programming

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


datetime

If you anticipate dealing with a database with multiple time zones, we suggest you consider a region-to-GMT offset table and store all times as absolute GMT datetimes for ease of calculation.

2002, Tamar E. Granor, Doug Hennig, Ted Roche, Hacker's Guide to Visual FoxPro 7.0, page 24:

(programming) A variable or data type that can hold both date and time components.


MEAN

(web development) Acronym of MongoDB, Express.js, AngularJS, Node.js: a software stack for developing web sites with both client-side and server-side use of JavaScript.


fat comma

(programming, Perl) The operator =>, used in declaring hashes.


typechecker

The catch is that to get the full benefits of the type checker, the programmers have to add complex annotations to their code.

2015 April 2, James Somers, “Toolkits for the Mind”, in MIT Technology Review:

(programming) A system or algorithm that verifies values against their required data types, according to the type system of the language.


paamayim nekudotayim

From Hebrew פעמיים נקודתיים (“double colon”); introduced in the Israeli-developed Zend Engine 0.5 used in PHP 3. The correct word should be nekudatayim, but Israelis commonly say the word with this mistake.

uder

פעמיים נקודתיים

(programming) The scope resolution operator :: in the PHP programming language.


bytestring

However, the underlying file model of these approaches is that of Unix files (i.e., bytestrings), whereas we assume record-structured files with key-based access.

1994, Richard T. Snodgrass, Marianne Southall Winslett, Association for Computing Machinery. Special Interest Group on Management of Data, Proceedings (page 255)

Standard Python strings are really bytestrings, and a Python character, being such a string of length 1, is really a byte.

2005, Alex Martelli, Anna Ravenscroft, David Ascher, Python Cookbook:

(programming) A text string treated as a series of single bytes rather than a series of characters of possibly varying storage size.


style sheet language

en-noun

style sheet language (plural style sheet languages)

(programming) A computer language that expresses the presentation of structured documents.

Stylesheet-Sprache

a computer language that expresses the presentation of structured documents


conditional comment

conditional comment (plural conditional comments)

(programming) A comment in source code that can be interpreted as a directive by some systems, but is ignored by those others that are not aware of the convention; formerly used to overcome compatibility issues between web browsers.


predeclaration

(programming) A declaration made in advance; forward declaration.


bareword

(programming, chiefly Perl) A sequence of text characters in source code that do not form a keyword nor part of a quoted string, and may potentially be interpreted in various ways.


forward-declare

en-verb

forward-declare (third-person singular simple present forward-declares, present participle forward-declaring, simple past and past participle forward-declared)

forward-declares (present singular third-person)
forward-declaring (participle present)
forward-declared (participle past)
forward-declared (past)

(transitive, programming) Synonym of predeclare


behavioral subtyping

(programming, language theory) A subtype relation of the form that each subtype object satisfies the specification of the supertype.


weak typing

(computing, programming) A system that does not place any restriction on the interactions between objects of different data types.


premature optimisation

en-noun

premature optimisation (countable and uncountable, plural premature optimisations)

premature optimization
premature optimization#English

(programming) Alternative form of premature optimization


off-by-one error

off-by-one error (plural off-by-one errors)

Using an incorrect relational operator or an incorrect final value of a loop counter in the loop-continuation condition of a repetition statement causes an off-by-one error.

2005, Harvey M. Deitel, Paul J. Deitel, C# for Programmers, second edition, Prentice Hall Professional, →ISBN, page 164:

(programming) A logic error where a value, typically the number of iterations of a loop, is specified incorrectly, being either 1 less or 1 more than it should be.


impedance mismatch

impedance mismatch (plural impedance mismatches)

Derived from the concept of impedance matching in electrical engineering.

Some argue that having impedance mismatch is difficult for programming intensive applications.

1997, Bhavani M. Thuraisingham, Data Management Systems: Evolution and Interoperation, CRC Press, →ISBN, page 33:

But the impedance mismatch between SQL and Java was no better than between SQL and other languages.

2002, Jim Melton, Advanced SQL:1999: Understanding Object-Relational and Other Advanced Features, Morgan Kaufmann, →ISBN, page 353:

Why does a technological impedance mismatch exist?

2004, Scott W. Ambler, The Object Primer: Agile Model-Driven Development with UML 2.0, Cambridge University Press, →ISBN, page 442:

(object-oriented programming) A set of conceptual and technical difficulties that are often encountered when a relational database is being served by an object-oriented application program, particularly because objects or class definitions must be mapped to database tables defined by a relational schema.


IDLE

(programming, Python) Initialism of Integrated DeveLopment Environment.

(programming, Python) Initialism of Integrated Development and Learning Environment.


LLVM

(programming) Initialism of Low Level Virtual Machine. (collection of modular and reusable compiler and toolchain technologies that are used to develop compiler front ends and back ends)


augmented assignment

augmented assignment (countable and uncountable, plural augmented assignments)

(programming) An assignment by which an operator takes a variable as one of its arguments and then assigns the result back to this variable.


TeX

The letters of the name are meant to represent the capital Greek letters Τ (tau), Ε (epsilon), and Χ (chi), as TeX is an abbreviation of Ancient Greek τέχνη (tékhnē), which is also the root word of technical.

TFFI-mode makes it possible for BibTeX to work on plain TeX documents as well.

1986, Jacques Desarmenien, TEX for Scientific Documentation: Second European Conference, Strasbourg, France, June 19-21, 1986. Proceedings, Springer Science & Business Media, →ISBN, page 41:

(computer languages) A digital typesetting system used primarily for the formatting of mathematical formulae.


code completion

code completion (countable and uncountable, plural code completions)

(programming, uncountable) Autocompletion of source code.

(programming) A token predicted by means of autocompletion.


singlecast

(programming, of a delegate) Having a single target; not multicast.


costatement

(programming) A list of statements that effectively execute together (though not simultaneously), such that each can yield execution to the others to avoid delaying the program. They are used to implement cooperative multitasking.


superinterface

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

(object-oriented programming) The interface from which another (the subinterface) is derived.


special case

en-verb

special case (third-person singular simple present special cases, present participle special casing, simple past and past participle special cased)

special cases (present singular third-person)
special casing (participle present)
special cased (participle past)
special cased (past)

Special-casing the 100 most common words in English might speed things up.

1988, Jon Louis Bentley, More Programming Pearls: Confessions of a Coder, page 10:

If these programs work as well as they can even without going through QuickDraw, what's the penalty for going around the system and special casing?

1992, Scott Knaster, Keith Rollin, Macintosh Programming Secrets, page 46:

Other languages have since special-cased that kind of computation with, for example, generators in Python or something where you can yield values.

2009, Peter Seibel, Coders at Work: Reflections on the Craft of Programming, page 258:

(transitive, intransitive, chiefly programming) To treat something as a special case; to handle in an explicitly different way.


OXM

(object-oriented programming) Initialism of Object XML Mappings.


concat

concat (third-person singular simple present concats, present participle concatting, simple past and past participle concatted)

concats (present singular third-person)
concatting (participle present)
concatted (participle past)
concatted (past)

Abbreviation; also used as a keyword or function name in some programming environments.


OOM

If you write infinitely recursive code, you might generate an OOM error.

(programming) Initialism of out of memory.


double free

(programming) The situation where a program attempts to free a previously allocated resource more than once, potentially resulting in undefined behaviour that may be exploited by an attacker.


safe navigation operator

en-noun

safe navigation operator (plural safe navigation operators)

One operator I haven't talked about yet is the safe navigation operator (?.). By preceding a dot with a question mark, you can safely navigate to methods or properties of an object even if that object is null.

2009, Bashar Jawad, Groovy and Grails Recipes, page 57:

The safe navigation operator (?.) provides navigation on the nested properties without getting any exception when a null value is evaluated from any of the properties iterated.

2015, Mert Caliskan, Kenan Sevindik, Beginning Spring, page 278:

C# 6 introduced a cascading nulls operator, also called the null-conditional operator and the safe navigation operator.

2017, Gary McLean Hall, Adaptive Code: Agile coding with design patterns and SOLID principles:

(programming) A binary operator that returns its second argument, unless the first argument is null, in which case it returns null; used to simplify code that would otherwise need multiple explicit checks for nullity.


retval

(programming) Abbreviation of return value.


SSDL

The SOAP Service Description Language (SSDL) [20] describes a message exchange from the point of view of a single service...

2008, Nitzsche J. et al.: WSDL 2.0 message exchange patterns: limitations and opportunities, page 1:

In [13], Parastatidis and Webber propose SSDL (SOAP Service Description Language) as a language to describe Web services...

2008, Rosenberg et al.: Integrated metadata support for web service runtimes, page 1:

2005, Parastatidis et al.: The SOAP Service Description Language (SSDL) is a SOAP-centric contract definition language for Web Services, abstract:

SOAP Service Description Language
w:SOAP Service Description Language

(computer languages, databases) Initialism of SOAP Service Description Language.


leaning toothpick syndrome

leaning toothpick syndrome (uncountable)

Introduced in the official Perl documentation, in reference to the shape of the backslash character.

(programming) The situation in which a quoted string expression becomes difficult to read because it contains a large number of escape characters, usually backslashes, to avoid delimiter collision.


clean coder

(programming) A programmer who writes generally clean code.


thunker

And 32-bit Windows applications require the bundled MetaWare Applications Development Kit (ADK), a 32-to-16 bit Windows thunker similar to but predating the Microsoft Win32s system.

1995, Personal Computer Magazine, volume 14, numbers 7-8, page 222:

There were no 32-bit scanner drivers or TWAIN modules, none were forthcoming from Microsoft […] Then along came the TWAIN_32 standard of the universal thunker.

1996, Deke McClelland, Robert Phillips, Photoshop 3 for Windows 95 Bible, page 721:

(programming) A software mechanism that thunks.


readtable

(programming) In Lisp and related languages, a data structure specifying how text characters are to be interpreted syntactically.


Haskeller

Relatively advanced Haskellers might find the exports of default Prelude lacking or even devastating: encouraging the use of String, asynchronous exceptions (error), and partial functions.

2016, Samuli Thomasson, Haskell High Performance Programming, Packt Publishing Ltd, →ISBN, page 363:

(programming) A person who programs in Haskell.


prototype-oriented programming

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

prototyporientierte Programmierung

programming paradigm that uses prototypes to design application and computer programs


IIFE

You’ve already seen it mentioned a few times, but in case it wasn’t clear, I’m proposing the term “Immediately-Invoked Function Expression”, and “IIFE” if you like acronyms. The pronunciation “iffy” was suggested to me, and I like it, so let’s go with that. What is an Immediately-Invoked Function Expression? It’s a function expression that gets invoked immediately. Just like the name would lead you to believe.

2010 November 15, Ben Alman, “Immediately-Invoked Function Expression (IIFE)”, in (Please provide the book title or journal name):

(programming) Initialism of immediately-invoked function expression.


shadow memory

(programming) The use of one part of computer memory to store information about other parts of memory, used for example to keep track of which parts have been allocated by the program.


SPA

SPA (countable and uncountable, plural SPAs)

single-page application
single-page application#English

(web development) Initialism of single-page application.


call site

(programming) The section of code from which another section is called.


toplevel

(programming) Alternative form of top-level


compile-time

(programming) Properties of the program that can be reasoned about during compilation.


off-side rule

The computer-programming sense was coined by British computer scientist Peter Landin in 1966 and named after the rule in football.

coin

Blocks in Pythons are delimited by white space indentation: the increase in indentation delimited the start of statements while the decrease signifies the end of the current block (off-side rule).

2018, Encyclopedia of Bioinformatics and Computational Biology, Elsevier, →ISBN, page 195:

(programming) In some programming languages, the convention by which the indentation of a line of source code affects its meaning.


overindex

en-verb

overindex (third-person singular simple present overindexes, present participle overindexing, simple past and past participle overindexed)

overindexes (present singular third-person)
overindexing (participle present)
overindexed (participle past)
overindexed (past)

(programming, transitive) To attempt to access an element beyond the bounds of (an array).


return-oriented programming

(programming) A computer security exploit technique by which the attacker gains control of the call stack to hijack program control flow and then executes prepared instruction sequences ("gadgets") that are already present in the machine's memory.


code cave

Once a code cave is created, you can execute it using either thread injection or thread hijacking.

2016, Nick Cano, Game Hacking: Developing Autonomous Bots for Online Games:

In ELF executables, there aren't a whole lot of code caves (such as in the PE format), so you are not likely to be able to shove more than just a meager amount of shellcode into existing code slots […]

2016, Ryan "elfmaster" O'Neill, Learning Linux Binary Analysis (page 97)

(programming) A sequence of null bytes in a process's memory, offering the capacity for the injection of custom instructions by a hacker.


most vexing parse

The phrase was introduced by Scott Meyers in Effective STL (2001).

(programming) A specific form of syntactic ambiguity resolution in the C++ programming language, whereby attempts to declare a variable may be undesirably interpreted as attempts to declare a function.


zero-based

Zero-based budgeting
Zero-based numbering

(programming) Of an array or list: such the first element of the array or list is called the zeroth.


VCL

(Delphi, programming) Initialism of Visual Component Library.


FMX

(Delphi, programming) Initialism of FireMonkey.


VMCI

(programming) Initialism of Virtual Machine Communication Interface.


arraylet

(programming) Any of the subarrays that make up a larger array-like data structure whose elements do not have to be stored contiguously.


self-interpreter

(programming) A metacircular interpreter where the host programming language is also the language being interpreted.


ungolfed

the original, ungolfed code

(programming) Not having been written in short form according to the challenge of code golf.


gap buffer

(programming) A dynamic array that allows efficient insertion and deletion operations clustered near the same location.


ODR

One Definition Rule
w:One Definition Rule

(programming, C++) Initialism of One Definition Rule.


optimize out

optimize out (third-person singular simple present optimizes out, present participle optimizing out, simple past and past participle optimized out)

optimizes out (present singular third-person)
optimizing out (participle present)
optimized out (participle past)
optimized out (past)

The loop that counts from 1 to 1,000,000 is optimized out by the compiler, because nothing happens inside the loop and the value is not used afterwards.

(transitive, programming) To omit (some portion of program logic) through optimization, when it is found to be unused or unnecessary.


pessimization

en-noun

pessimization (countable and uncountable, plural pessimizations)

(programming) A change to program code that makes it less efficient, the opposite of an optimization.


ROMable

Let's C does support ROMable code and can be linked with PL/M and compatible languages via an "alien" function type.

It produces ROMable code which can be loaded directly into target systems via Intel ICE emulators.

1990, 16-/32-bit embedded processor handbook, pages 2–19:

(programming) Able to execute from read-only memory.


sequence point

(programming) Any point during a computer program's execution at which it is guaranteed that all side effects of previous evaluations will have been performed, and no side effects from subsequent evaluations have yet been performed.


Rustacean

/ɹʌsˈteɪʃən/

New Rustaceans commonly get stuck on strings for a combination of three reasons: […]

2019, Steve Klabnik, Carol Nichols, The Rust Programming Language, page 137:

We covered a whole lot of ground here in a subject that's probably the heaviest to grasp for a new Rustacean.

2019, Rahul Sharma, Vesa Kaihlavirta, Mastering Rust, page 210:

You'll find that the Rust community loves to track the progress of a certain area using their “Are We X Yet” sites. This is a tradition from the Mozilla community, which many Rustaceans are also involved in.

2020, Shing Lyu, Practical Rust Projects, page 154:

(programming, informal) A user of the Rust programming language.


retpoline

(programming, neologism) A code construct that uses return operations to prevent speculative execution.


tree shaking

(programming) In JavaScript, automatic dead code elimination during the build.


peepholing

peephole optimization
peephole optimization

(programming) The use of peephole optimization.


FOUT

Coordinate term: FOIT

(web development) Initialism of flash of unstyled text: a brief glimpse of text in the default font before the correct font has loaded.


succ

You can follow the pointer to see that we got it right, so that each succ and prev points to the right god.

2014, Bjarne Stroustrup, Programming: Principles and Practice Using C++, page 614:

(chiefly programming) Abbreviation of successor.


thenable

(programming) An object or function that exposes a then method returning a promise.


free list

(programming) A data structure, used in dynamic memory allocation, that connects free (unallocated) regions of memory together in a linked list.


awaitable

(programming) Able to be executed in an asynchronous manner, with the caller receiving any result at a later stage.


awaitable

(programming) An operation that can be executed in an asynchronous manner, with the caller receiving any result at a later stage.


logpoint

(programming, rare) A point in program code at which a message is logged for debugging.


negative lookahead

negative lookahead (countable and uncountable, plural negative lookaheads)

Negative lookahead works just like positive lookahead, except that whereas positive lookahead matches when the regex inside the lookahead matches, negative lookahead matches when the regex inside the lookahead failed to match.

2012 August, Jan Goyvaerts, Steven Levithan, Regular Expressions Cookbook:

(regular expressions) The analysis of the subsequent characters absence before the regular expression is matched (symbol: ?!).


positive lookahead

positive lookahead (countable and uncountable, plural positive lookaheads)

(regular expressions) The analysis of the subsequent characters presence before the regular expression is matched (symbol: ?=).


negative lookbehind

negative lookbehind (countable and uncountable, plural negative lookbehinds)

(regular expressions) The analysis of the preceding characters absence before the regular expression is matched (symbol: ?<!).


positive lookbehind

positive lookbehind (countable and uncountable, plural positive lookbehinds)

(regular expressions) The analysis of the preceding characters' presence before the regular expression is matched (symbol: ?<=).


positive lookaround

positive lookaround (countable and uncountable, plural positive lookarounds)

(regular expressions) The analysis of the characters presence before the regular expression is matched.


negative lookaround

negative lookaround (countable and uncountable, plural negative lookarounds)

(regular expressions) The analysis of the characters' absence before the regular expression is matched.


non-capturing group

non-capturing group (plural non-capturing groups)

(regular expressions) A grouping in a regular expression that doesn't store the value it matches (symbol: ?:).


freelist

(programming) Alternative form of free list


kebab case

In allusion to the appearance of a shish kebab, with various food items assembled on a skewer. Additionally, the coincidence that kebabs and camels are both archetypally Near Eastern was probably not lost on the computer programmers who coined the names kebab case and camel case.

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


remotable

(programming) Offering support for remoting.


SFINAE

substitution failure is not an error
w:substitution failure is not an error

(programming) Initialism of substitution failure is not an error.


pseudohandle

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

(programming) A special value that can be treated as a handle (e.g. to identify a process) but is not a true handle.


subproperty

The Origin property represents a coordinate and has X and Y subproperties.

(chiefly programming) A property of another property.


Elvis operator

The notation ?: humorously reinterpreted as an emoticon representing the eyes and hairstyle of Elvis Presley.

(programming, informal) A binary operator that returns its first operand if that operand evaluates to true, and otherwise evaluates and returns its second operand.


Yoda condition

/ˌjəʊdə kənˈdɪʃn̩/

/ˌjəʊdə kənˈdɪʃən/

An allusion to the somewhat grammatically reversed speech style of Yoda, a character in the Star Wars franchise—for example, “Truly wonderful, the mind of a child is.” The term was possibly coined by Félix Cloutier (username “zneak”) in 2010, based on Yoda notation which is claimed to have been coined by Thomas M. Tuerke and published online in 2006.

A great convention to stick to, the Yoda condition requires you to keep the comparison variable on the right side of the conditional statement.

2013, Adam Onishi, “Getting Started”, in Pro WordPress Theme Development, Berkeley, Calif.: Apress, Springer Nature, →ISBN, page 14:

A computer programmer is trying to explain a recent problem to a journalist friend, and she says, "This jimmy had put in Yoda conditions and had been refactoring my previous work so that in the end it was just hooker code." The journalist friend looks baffled.

2014, Kirk Hazen, “The Winding Paths of Language in Education”, in An Introduction to Language (Linguistics in the World), Malden, Mass.: Wiley-Blackwell, →ISBN, page 331:

// what happens if the debug parameter is removed // from the request and becomes a null? // should really be using a Yoda Condition here ;)

2015, Jim Manico, August Detlefsen, “Access Control”, in Iron-clad Java: Building Secure Web Applications (Oracle Press), New York, N.Y.: McGraw-Hill Education, →ISBN, page 66:

Writing if(isHungry = true) by accident will set isHungry to true every time the if statement is hit! To avoid this possibility, we can just write if(isHungry). Alternatively, some (wise) people use what are called Yoda conditions to check an if statement: if(true == isHungry). The reason we write the if statement in this way is that, if we accidentally write if(true = isHungry), this will generate a compiler error, catching the mistake.

2015 February, William Sherif, “If, Else, and Switch”, in Learning C++ by Creating Games with UE4: Learn C++ Programming with a Fun, Real-world Application that Allows You to Create Your Own Games!, Birmingham, West Midlands: Packt Publishing, →ISBN, page 48:

Leo grimaces at Caleb. "I never asked—how did you figure it out?" / "Yoda conditions. You may as well have signed your name." At my blank look, Caleb says, "Your boyfriend writes his code backwards."

2020, Amy Noelle Parks, “Evie”, in The Quantum Weirdness of the Almost-kiss, New York, N.Y.: Amulet Books, Abrams Books, →ISBN:

Programmers normally write conditions such as x == 7 with the variable name (an lvalue) on the left and the literal (an rvalue) on the right. Placing the literal on the left, as in 7 == x (which is syntactically correct and is sometimes called a "Yoda condition"), enables the compiler to issue an error if you accidentally replace the == operator with =. The compiler treats this as a compilation error because you can't change a literal's value.

2022, Paul Deitel, Harvey Deitel, C++20 for Programmers: An Objects-natural Approach (Deitel Developer Series), Boston, Mass.: Pearson Prentice Hall, →ISBN:

(programming, informal) A logical condition with the usual order of operands reversed for various reasons, such as avoiding accidental misuse of = (assignment) instead of == (equality), a mistake that is harder to spot when using the normal order of operands.

Star Wars: Episode II – Attack of the Clones


literate programming

(programming) A programming paradigm in which a program is given as an explanation of the program logic in a natural language (such as English), interspersed with snippets of macros and traditional source code, from which compilable representation can be generated.


RVO

(programming) Initialism of return value optimization.


stringable

en-adj

stringable (comparative more stringable, superlative most stringable)

more stringable (comparative)
most stringable (superlative)

(programming) Able to be converted to a string of text characters.


noise word

For example, in the COBOL goto statement, written GO TO , the keyword GO is required, but TO is an optional noise word which carries no information and is used only to improve readability.

1975, Terrence W. Pratt, Programming Languages: Design and Implementation, page 381:

(programming) A word that may be included in source code for clarity but does not change the meaning.


dereferencer

(programming) Any operator that dereferences something.


as-if rule

(programming) A rule by which compilers are allowed to apply any optimizing transformation to a program provided that it makes no change to the observable behavior of the program.


NOP sled

(programming) A series of identical values in memory that instruct the CPU to take no action and proceed to the next instruction, used in shellcode etc. to increase the chances of any random instruction access executing the sequence that follows.


aspect-oriented programming

(programming) A programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns.


data race

(programming) A problematic situation where one thread could potentially read or write a memory location while another thread is writing to it.


Kotlin

Named after Kotlin Island (Russian Ко́тлин (Kótlin)), near St. Petersburg, by analogy to the related language Java, whose name ultimately comes from an Indonesian island.

(programming) A cross-platform, statically typed, general-purpose object-oriented programming language with type inference, designed to interoperate with Java.


shadow DOM

Document Object Model
Document Object Model

(web development) A portion of a Document Object Model that is not generally accessible and can therefore be used to encapsulate functionality.


code morphing

(programming) The obfuscation of intermediate-level code (such as compiled Java or .NET languages) by breaking it up into smaller sequences and replacing them by equivalent constructs.


type hint

(programming) An instance of type hinting: the specification of a data type in an otherwise untyped language.


logic error

(programming) a case in which a programmer writes viable code that however produces undesired results


stacklessness

(programming) The property of being stackless.


pseudoinstruction

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

The compiler constructs one or several instructions corresponding to the respective pseudoinstruction and adds them to the object program just being formed.

1967, Information processing machines, number 13, page 239:

(programming) A command that resembles, but is not in fact, a machine instruction, such as a special directive or a command that is mapped to a sequence of real instructions.


Tcler

(programming) A user of the Tcl programming language.


type juggling

(programming) In the PHP programming language, the automatic treatment of variables as a certain data type depending on the context in which they are used.


Tcl

This command causes the Tcl interpreter to search the paths defined by the auto_path variable and find the package named mort.tcl.

2000, David Maggiano, CGI Programming with Tcl, Addison Wesley Longman:

(computer languages) A high-level, dynamically-typed, and interpreted programming language.


SASL

St Andrews Static/Standard Language
w:SASL (programming language)

(programming) Initialism of St Andrews Static/Standard Language.


turbofish

/ˈtɝboʊˌfɪʃ/

From turbo- + fish; coined by Anna Harren in 2015, originally in jest, later adopted by official documentation.

For static method calls, you can supply the type parameter explicitly using the turbofish ::<> notation:

2017 November 21, Jim Blandy, Jason Orendorff, Programming Rust: Fast, Safe Systems Development, "O'Reilly Media, Inc.", →ISBN:

The turbofish operator in generic functions appears right after the function name and before the parenthesis.

2019 January 31, Rahul Sharma, Vesa Kaihlavirta, Mastering Rust, Packt Publishing Ltd, →ISBN, page 122:

You can add a turbofish to a function call with the syntax function::<Type>(). For example, collect::<Vec<MyType>>().

2021 June 30, Herbert Wolverson, Hands-on Rust, Pragmatic Bookshelf, →ISBN:

(programming) A syntactic element in Rust, ::<>, with arguments between < and >, that specifies the generic arguments of a function in an expression.


data member

(object-oriented programming) Synonym of member variable


alertable

Since your thread is in an alertable state, as soon as an APC entry appears, the system wakes your thread and empties the queue (by calling the callback routines).

2000, Jeffrey Richter, Jason D. Clark, Programming Server-side Applications for Microsoft Windows 2000:

If you know the HANDLE of a thread you wish to signal, and that thread has performed an alertable wait, then queueing an APC is often significantly quicker than waking the target thread by using kernel objects (as we are about to review).

2008, Joe Duffy, Concurrent Programming on Windows:

Every thread has a queue of APCs attached to it, and these are processed when the thread is in an alertable state, such as when they call functions like WaitForSingleObjectEx, WaitForMultipleObjectsEx, and Sleep.

2012, Michael Sikorski, Andrew Honig, Practical Malware Analysis:

(programming) Capable of receiving and responding to notifications from other threads of execution.


conditional operator

en-noun

conditional operator (plural conditional operators)

(programming) synonym of ternary operator


Voldemort type

Named after the villain Lord Voldemort in the Harry Potter novels, who is typically called "He Who Must Not Be Named" or "You-Know-Who" by other characters.

RandomNumberGenerator becomes a type that is inside generator's scope. It is simply not visible outside of generator. It cannot be named — hence it's a Voldemort Type.

2012 May 7, Walter Bright, “Voldemort Types In D”, in Dr Dobb's:

A recent issue I discovered (and no doubt has been encountered before) is that using Voldemort types in D can result in insane symbol bloat.

2016 May 23, Steve Schveighoffer, “Have your Voldemort types, and keep your disk space too!”, in Steve Schveighoffer's Blog:

(programming) A data type that is unspeakable.


refactorer

(programming) A person or system that performs refactoring.


impl

(programming) Clipping of implementation.


JHTML

(programming) Initialism of Java within Hypertext Markup Language.


jagged array

(programming) An array of arrays in which the component arrays are of varying lengths.


bit array

(programming) An array structure which store bit (0,1) values.


sparse array

(programming) An array in which most of the values are zero.


dense array

(programming) An array in which most of the values are non-zero.


Blub paradox

Coined by Paul Graham, who used a hypothetical programming language called Blub as an example.

(programming) The situation where a programmer sees less powerful programming languages than those he/she knows as lacking in important features, but more powerful ones as having bizarre or unnecessary features.


anaphoric macro

anaphoric macro (plural anaphoric macros)

(programming) A macro that captures some supplied form that can then be referred to within the macro.


indify

en-verb

indify (third-person singular simple present indifies, present participle indifying, simple past and past participle indified)

indifies (present singular third-person)
indifying (participle present)
indified (participle past)
indified (past)

(programming) Change a particular functionality to use invokedynamic calls.


recomment

recomment (third-person singular simple present recomments, present participle recommenting, simple past and past participle recommented)

recomments (present singular third-person)
recommenting (participle present)
recommented (participle past)
recommented (past)

When all these things are done and the blank lines are removed (and the code recommented), we have […]

1997, William B. Jones, Assembly Language for the IBM PC Family, page 586:

Once you have run the program, you can “recomment” the line back to the way it was.

2015, Jack Purdum, Beginning C for Arduino, Second Edition:

(transitive, programming) To convert (a portion of source code, configuration, etc.) back to a comment, so that it no longer takes effect.


scope block

(programming) the region of a computer program where a name binding is valid


subalgorithm

(programming) An algorithm that forms a part of a larger algorithm.


global scope

(programming) A type of scope that has an effect throughout an entire computer program.


name binding

(programming) the association of entities (data and/or code) with identifiers


circle-ellipse problem

Liskov substitution principle
Liskov substitution principle

(object-oriented programming) The problematic situation where a base class contains methods which mutate an object in a manner which may invalidate a (stronger) invariant found in a derived class, violating the Liskov substitution principle. For example, if a circle is modelled as a subtype of an ellipse, and the ellipse has a method that stretches it on one axis, the circle must also implement that method despite it making no sense for a circle.


single-page application

en-noun

single-page application (plural single-page applications)

Coordinate term: progressive web application

The Single Page Application template sets you up for an application that's primarily driven via JavaScript requests to Web API services rather than the traditional web page request / response cycle.

2014, Jon Galloway, Brad Wilson, K. Scott Allen, David Matson, Professional ASP.NET MVC 5, John Wiley & Sons, →ISBN, page 20:

(web development) A website where new content is shown by dynamically replacing existing content in the web page rather than navigating to a different URL.


progressive enhancement

Over the past few years, progressive enhancement has been quietly adopted by some of the biggest and best sites on the web, precisely because it allows them to reach the widest possible audience.

2010, Todd Parker, Scott Jehl, Maggie Costello Wachs, Patty Toland, Designing with Progressive Enhancement: Building the Web that Works for Everyone, Pearson Education, →ISBN:

(web development) A philosophy where a website's functionality is enhanced by JavaScript, rather than wholly reliant on JavaScript.


server-side rendering

server-side rendering (plural server-side renderings)

When we talk about server-side rendering of websites, we are generally referring to an application or website that uses a programming language that runs on a server. On this server, the web pages are created (rendered) and the output of that rendering (the HTML) is sent to the browser, where it can be displayed directly.

2018, Bram Borggreve, Beginning Server-Side Application Development with Angular, Packt Publishing Ltd, →ISBN, page 2:

(web development) A system in which the content of a website is generated on the server, before being sent to the browser.


call by sharing

(programming) An evaluation strategy where arguments passed to a function can be mutated in a way that is visible to the caller (unlike call-by-value) but access is not given to the specific variables passed as arguments (unlike call-by-reference).


code folding

(programming) A feature in many code editors that allows blocks of code to be "folded"; i.e. collapsed or hidden such that they can be shown again later.


self-closing

(web development, of an HTML or XML tag) In the form of (for example) {{#tag:syntaxhighlight|

In the form of (for example) {{#tag:syntaxhighlight|
|inline="True"|lang="html"|style="white-space:pre-wrap;"}} or {{#tag:syntaxhighlight|
|inline="True"|lang="html"|style="white-space:pre-wrap;"}}, without containing any content, as opposed to (for example) {{#tag:syntaxhighlight|text|inline="True"|lang="html"|style="white-space:pre-wrap;"}}, which is composed of an opening ({{#tag:syntaxhighlight||inline="True"|lang="html"|style="white-space:pre-wrap;"}}) and a closing ({{#tag:syntaxhighlight||inline="True"|lang="html"|style="white-space:pre-wrap;"}}) tag.


walkback

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

Walkbacks, inspectors, and debuggers are the heart of Smalltalk's debugging facilities. Walkbacks are displayed when Smalltalk detects an error or a breakpoint. The debugger offers many tools for detecting and correcting code errors.


load module

(programming) The executable form of a program that is produced by a linkage editor, taking as input the output of a compiler and/or assembler


HOF

higher-order function
higher-order function#English

(functional programming) Initialism of higher-order function.


voodoo programming

(programming, informal) A slapdash approach to programming involving guesswork or plagiarism rather than proper analysis and comprehension.


Zalgo

Said to have been coined in 2004 by Dave “Shmorky” Kelly as the name of a mysterious malevolent entity appearing in webcomics and creepypasta.

Anyway. My personal opinion is that people are making a bigger deal about it than it needs to be. Just be aware that there could maybe potentially be an issue in your app if you release Zalgo, but don't spend the hours going through and wrapping everything in nextTick just to say you are Zalgo-free even if Zalgo being released has ever doomed you.

2013 August 30, Paul, “Re: [nodejs] Downside to not wrapping sync callbacks in nextTick()?”, in nodejs (Usenet), message-ID <53ece666-5929-41ba-843c-edc4350af00d@googlegroups.com>:

This works wonderfully, until you hit an exception in one of your zalgo-promise functions.

2013 August 30, Dean Landolt, “Re: [nodejs] Downside to not wrapping sync callbacks in nextTick()?”, in nodejs (Usenet), message-ID <CAPm8pjp2ogU58Z5RsZ_RQb_O=iB3RBeoh1eyM6xp-0Vwm7cebQ@mail.gmail.com>:

Another crucial detail is to consider the unleashing Zalgo anti-pattern (we have seen it in action in Chapter 1, Node.js Design Fundamentals).

2014 December 30, Mario Casciaro, Luciano Mammino, “Chapter 6”, in Node.js Design Patterns, Packt, →ISBN, page 281:

The explosion in execution branches makes explaining and testing this approach difficult, and reliable behavior in a production environment more challenging. Isaac Schlueter has written a popular blog post about this titled “Designing APIs for Asynchrony,” in which he refers to the inconsistent behavior as “releasing Zalgo.”

2015 July, Daniel Parker, “Chapter 1: Asynchronous JavaScript”, in JavaScript with Promises: Managing Asynchronous Code, O'Reilly Media, →ISBN, page 6:

The JavaScript community, for instance, has discovered a monstrous entity named “Zalgo.” […] When you are passing around lambdas, it is easy to release Zalgo if you mix synchronous and asynchronous styles.

2015, Robert Fischer, “Chapter 2: Understanding Lambdas in Java 8”, in Java Closures and Lambda, →ISBN, Don’t Release Zalgo, page 29:

(programming, humorous) A notional entity said to be "released" due to unpredictable program behaviour resulting from an API's inconsistent use of synchronous versus asynchronous operations.


const-correct

(programming) Exhibiting const correctness.


GADT

Generalized Algebraic Data Types, or GADTs for short, are an extension of the variants we saw in Chapter 7 (Variants). GADTs are more expressive than regular variants, which helps you create types that more precisely match the shape of the program you want to write.

2022, Anil Madhavapeddy, Yaron Minsky, Real World OCaml: Functional Programming for the Masses, Cambridge University Press, →ISBN:

generalized algebraic data type
w:generalized algebraic data type

(programming) Initialism of generalized algebraic data type.


uninstantiate

en-verb

uninstantiate (third-person singular simple present uninstantiates, present participle uninstantiating, simple past and past participle uninstantiated)

uninstantiates (present singular third-person)
uninstantiating (participle present)
uninstantiated (participle past)
uninstantiated (past)

(programming, transitive) To destroy or annul (an instance of something); to eliminate (a variable, object, etc.) that was created earlier.


uninstantiation

en-noun

uninstantiation (usually uncountable, plural uninstantiations)

(programming) The process of uninstantiating; destruction of an instance.


GOT

GOT (countable and uncountable, plural GOTs)

(programming) Initialism of global offset table.


walrus operator

walrus operator (plural walrus operators)

The notation := humorously reinterpreted as the face of a walrus, with two eyes and two tusks.

(programming, informal) The operator := that assigns values to variables in certain programming languages.


named parameter

named parameter (plural named parameters)

In the function call foo(3, 6, type="bar"), type is a named parameter.

(programming) A parameter that is passed by name, rather than by position, in a function call.


positional parameter

positional parameter (plural positional parameters)

In the function call foo(3, 6, type="bar"), there are two different positional parameters, to which are passed the values 3 and 6.

(programming) a parameter that is passed by position, rather than by name, in a function call


nullish

(computing, JavaScript) Either being undefined or having a null value.


scrolljacking

Blend of scroll + hijacking, perhaps also modelled on clickjacking.

(web development, somewhat derogatory) Controlling scrolling animation (using custom JavaScript) instead of relegating scrolling behavior to the web browser.


block-scoped

en-adj

block-scoped (comparative more block-scoped, superlative most block-scoped)

more block-scoped (comparative)
most block-scoped (superlative)

(programming) whose scope is limited to a block


TDZ

temporal dead zone
temporal dead zone#English

(programming) Initialism of temporal dead zone.


temporal dead zone

en-noun

temporal dead zone (plural temporal dead zones)

(programming) In JavaScript, the lines of code preceding the declaration of a variable.


hypersequential

(programming) Of or relating to a means of serializing a concurrent program so that it can be debugged as though it were sequential, before converting it back to concurrent form.


reference type

(programming) A data type that represents a reference to a value, as opposed to the value itself.


entry point

(programming) A location in a program or software library that can be called from outside, and from which the execution of code begins.


entrypoint

The entrypoint of all DLLs attached to the process at the time the thread starts will be called.

1993, James W. McCord, Win32 API: Desktop Reference, page 480:

Now that the entrypoint is defined, you can now access it from the browser. Pointing your browser to the following URL formatted will direct the request to the entrypoint: […]

2010, John Mertic, The Definitive Guide to SugarCRM: Better Business Applications, page 21:

(programming) Alternative form of entry point


final method

(object-oriented programming) A class method that cannot be extended, so it has to be inherited as it is.


esoteric programming language

esoteric programming language (plural esoteric programming languages)

(programming) A programming language with highly unconventional syntax or operation, designed as an experiment or as a joke rather than for the serious development of software.


NFT

NFT (countable and uncountable, plural NFTs)

(programming) Initialism of non-functional test.


metatype

Coordinate term: metaclass

The Type suffix specifies that this variable will be a metatype and not an object (meaning the implementation class and not an instance of it).

2015, Adam Freeman, Pro Design Patterns in Swift, Apress, →ISBN, page 199:

You can use a variable reference to a type (a metatype) to instantiate that type, but you can't just append parentheses to a variable reference: […]

2019, Matt Neuburg, iOS 13 Programming Fundamentals with Swift […] , O'Reilly Media, →ISBN, page 186:


GIL

Since Asyncio is single-threaded (almost by definition), it is unaffected by the GIL, but it cannot benefit from multiple CPU cores either.

2020, Caleb Hattingh, Using Asyncio in Python, O'Reilly Media, →ISBN, page 7:

global interpreter lock
w:global interpreter lock

(programming) Initialism of global interpreter lock.


C-string

We also said that C-strings are null terminated, so the C-string "Hello" has six characters even though only five are enclosed in double quotation marks.

2017, D. S. Malik, C++ Programming: From Problem Analysis to Program Design, Cengage Learning, →ISBN, page 556:


zero-length

a zero-length array; a zero-length string

(programming) Having a length of zero; containing no elements, text characters, etc.


RBAR

Coined by database administrator Jeff Moden.

coinage

All of these methods either employ (what I call) "RBAR" programming (pronounced as "ree-bar" and stands for "Row By Agonizing Row") […]

[2005 January 10, Jeff Moden, “Calculating Work Days”, in SQLServerCentral, Simple Talk Publishing, archived from the original on 2007-10-23:

RBAR is a consequence of coding in a strictly procedural way, rather than in a set-based way. It is different from poor coding; it is the result of adopting a mindset that one always has to tell the computer, step by step […]

2007 July 26, Remi Gregoire, “RBAR: ‘Row By Agonizing Row’”, in Redgate, retrieved 2021-07-19:

While RBAR used over twice as much log as the set based operations, the log used per transaction was less than half.

2019 December 9, Randy Knight, “Rethinking RBAR”, in SQL Solutions Group:

(database administration, derogatory) Initialism of row by agonizing row; used to describe procedural programming in SQL.


closing form

(programming) A method to end an implemented functionality.


JSONP

(computer languages) Initialism of JavaScript Object Notation with Padding, a technique for requesting data in JSON format by loading an HTML script element.


screaming snake case

From snake case, with the "screaming" part derived from the use of capital letters which typically denote yelling in text.

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


upper camel case

(programming) The practice of writing identifiers by concatenating multiple component words, each of which is capitalized.


lower camel case

(programming) The practice of writing identifiers by concatenating multiple component words, where each word excluding the first is capitalized.


fail fast

en-verb

fail fast (third-person singular simple present fails fast, present participle failing fast, simple past and past participle failed fast)

fails fast (present singular third-person)
failing fast (participle present)
failed fast (participle past)
failed fast (past)

To prevent these gaps from being a problem, write your code to fail fast. Use assertions to signal the limits of your design; if someone tries to use something that isn't implemented, the assertion will cause his tests to fail.

2008, James Shore, Shane Warden, The Art of Agile Development, page 324:

In lieu of those unneeded hooks, write code to fail fast and prevent gaps from becoming a problem.

2015, Rachel Alt-Simmons, Agile by Design, page 182:

Adding abstract to the base class causes your code to fail fast with an error that's easier to fix.

2020, Andrew Stellman, Jennifer Greene, Head First C#, page 339:

One of the most important best practices is to fail fast. Code the service in such a way that unrecoverable errors are discovered as early as possible and, if such an error is detected, have the service fail immediately.

2020, Gabriel N. Schenker, Learn Docker – Fundamentals of Docker 19.x, page 254:

(programming) To report immediately any condition likely to cause a failure, rather than attempting to continue.


SEH

(programming) Initialism of structured exception handling.


tear-off

This makes tearoffs especially risky for objects that may be accessed remotely. Given all of the potential pitfalls of tearoffs, a logical question might be, "when are tearoffs appropriate?" There is no absolute answer; […]

(programming) A COM (Component Object Model) interface that is instantiated only when explicitly requested.


time travel debugging

(programming) A form of software debugging allowing the user to step back and forward through the recorded prior execution of a program.


stackful

A stackful coroutine is a normal function that can be suspended during execution.

2018, Raghavendra Rao K, Kotlin for Enterprise Applications using Java EE, page 64:

(programming) Using a stack (last-in-first-out data structure).


virtual class

Coordinate term: virtual method

(object-oriented programming) A nested inner class whose functions and member variables can be overridden and redefined by subclasses of an outer class.


case folding

(programming, information science) Text normalization where uppercase and lowercase characters are treated as equivalent.


stack frame

(programming) An individual frame on the call stack, representing a call to a subroutine that has yet to return.


Racket

programming language
programming language

(computer languages) A general-purpose, multiparadigm programming language descended from Scheme.


CQRS

(programming) Initialism of command–query responsibility segregation (a mechanism that applies the CQS principle by using separate Query and Command objects to retrieve and modify data.)


CQS

command–query separation
w:command–query separation

imperative computer programming
imperative programming#English

(programming) Initialism of command–query separation (a principle of imperative computer programming.)


software forge

(programming) A website that hosts software projects, fostering their development.


memoizer

(programming) An algorithm or software component that memoizes.


relex

(programming, by extension) A programming language that differs from another only by the names of keywords, functions, etc.


metaprogrammer

Template metaprogrammers in C++ have demonstrated that compile-time computation is an important technology, but they've had to jump through hoops of syntactic fire to practice it.

2010, Andrei Alexandrescu, The D Programming Language:

(programming) One who uses the technique of metaprogramming.


multidictionary

(programming) Synonym of multimap (“data structure”)


busy loop

(programming) A loop that actively consumes CPU cycles while waiting for an event.


DASH

Dynamic Adaptive Streaming over HTTP
w:Dynamic Adaptive Streaming over HTTP

(web development, video) Acronym of Dynamic Adaptive Streaming over HTTP.

web development; video; web development; video


subscriptable

If the container is subscriptable and you remember the position where a particular piece of data was stored, you can use the subscript to efficiently retrieve the data.

2012, Robert Robson, Using the STL: The C++ Standard Template Library, page 249:

(programming) Capable of being subscripted.


self-delete

self-delete (third-person singular simple present self-deletes, present participle self-deleting, simple past and past participle self-deleted)

self-deletes (present singular third-person)
self-deleting (participle present)
self-deleted (participle past)
self-deleted (past)

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

(computing, programming, intransitive) Of code, to overwrite itself upon completion, usually with 0x00 or 0xFF bytes that represent an unwritten region.


self-deletion

en-noun

self-deletion (countable and uncountable, plural self-deletions)

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

(computing, programming) The act of self-deleting.


variabilize

en-verb

variabilize (third-person singular simple present variabilizes, present participle variabilizing, simple past and past participle variabilized)

variabilizes (present singular third-person)
variabilizing (participle present)
variabilized (participle past)
variabilized (past)

(programming, databases, transitive) Rewrite (a database query, etc.) as a variable.


unconcatenate

unconcatenate (third-person singular simple present unconcatenates, present participle unconcatenating, simple past and past participle unconcatenated)

unconcatenates (present singular third-person)
unconcatenating (participle present)
unconcatenated (participle past)
unconcatenated (past)

However, since we are going to save this combo box back to the file, this would require “unconcatenating” the names before writing them to file, something we would like to avoid.

2001, Patrick G. McKeown, Craig A. Piercy, Learning to Program with Visual Basic, page 181:

The collapse argument tells R to “unconcatenate” the individual lines and create a single string vector.

2014, Larry Pace, R Recipes: A Problem-Solution Approach, page 65:

(programming, transitive) To undo the process of concatenation.


format string

(programming) A string of text characters serving as a template for other strings, such as dd/MM/yyyy for a date.


existential type

en-noun

existential type (plural existential types)

Existential types are fundamentally no more complicated than universal types (in fact, we will see in §24.3 that existentials can straightforwardly be encoded in terms of universals).

2002, Benjamin C. Pierce, Types and Programming Languages, MIT Press, →ISBN, page 363:

Scala 2 supported existential types, a way of abstracting over types. They let you assert that some type exists without specifying exactly what it is, usually because you don't know what it is and you don't need to know it in the current context.

2021, Dean Wampler, chapter 16, in Programming Scala, 3rd edition, O'Reilly, →ISBN:

This behavior is what gives existential types their name: we are asserting that there exists some concrete type that matches the signature, and we leave it up to the compiler to find what that type is.

2021, Jon Gjengset, Rust for Rustaceans, No Starch Press, →ISBN, page 34:

(programming, type systems) A type that hides the underlying concrete type(s).


algebraic data type

algebraic data type (plural algebraic data types)

So named because they have algebraic properties with respect to their cardinality similar to normal integers.

Generally, algebraic data types represent sums of products, where the cases form the alternatives of a sum type, and each case represents a product type that can be constructed from zero to many constitutent types. An EDT is a special case of ADT where each product type is a singleton.

2021, Martin Odersky et al., chapter 19, in Programming in Scala, 5th edition, Artima, →ISBN:

(programming, type theory) A data type formed by combining other types.


CRTP

curiously recurring template pattern#English

(programming) Initialism of curiously recurring template pattern.


sliding window

(programming) A descriptor for a data analysis technique where overlapping windows of data of fixed size are analyzed.


property bag

(programming, in various Microsoft technologies) A collection of properties and their values, similar to an associative array or hash table.


reactive programming

declarative programming
declarative programming

(programming) A declarative programming paradigm where changes to values are automatically propagated, without the need for explicit reassignment.


iteratee

Coordinate term: iterator

functional programming
functional programming

(programming) In functional programming, a composable abstraction for incrementally processing sequentially-presented chunks of data in a purely functional fashion.


FOUC

(web development) Initialism of flash of unstyled content: a brief glimpse of page content without the proper formatting, before the correct styles have loaded.


VBer

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, informal) A programmer who uses the Visual Basic language.


OCaml

Short from its former name, Objective Caml.

Minsky, a computer science PhD, convinced his employer 10 years ago to rewrite the company’s entire trading system in OCaml.

2015 April 2, James Somers, “Toolkits for the Mind”, in MIT Technology Review:

(computer languages) A general-purpose, multi-paradigm programming language based on the Caml dialect of ML.


assoziation

From German Assoziation. Equivalent to assoziate + -ion.

a) Rohrschach-test
The file "rohrschach" includes gif-files, which could be edited by you. Afterwards the viewer should (could) understand, what you assoziate by viewing the images.
b) Symbols and their significance
The file "signs" includes gif-files. Please describe (textual) your assoziation by inspecting the signs and primary sketches.

1994 February 2, Lux Logis e.V., “HANDSHAKE - looking for artists”, in soc.culture.yugoslavia (Usenet), retrieved 2022-05-07:

The sequence in which expressions are evaluated depends on priority-rules and the grouping of the expression. The math-rules of assoziations and Kommutativit„t (don't know the english term) are only true for those operators which are really assoziativ and Kommutativ. If not defined elsewhere, the sequence of evaluation of an expression is undefined.

1995 June 29, Stefan Nobis, “C Set++ Bug?”, in comp.os.os2.programmer.misc (Usenet), retrieved 2022-05-07:

Win95 internet program have the nice feature to "link to each other". But in my case I use a different mailer. Where now do I change the assoziation?

1997 January 29, Ralf Koester, “Where change association for eMailer”, in soc.culture.yugoslavia (Usenet), retrieved 2022-05-07:

After the placement of an assoziation I'm not able to move the names at the ends of the line to an appropriate position.

2000 December 2, rolf, “UML associations”, in microsoft.public.visio.general (Usenet), retrieved 2022-05-07:

How can I cast using an id ? The SerializableFactory::create() creates Barts or Hoomers on the given id using an allways registered creator. The assoziation between ids and loaders is done by a map. The solution could be a template but, how could it look ?

2001 April 19, O.Petzold, “casting by an id”, in comp.lang.c++ (Usenet), retrieved 2022-05-07:

I working with TGEC 6.3 and have a problem create an assoziation between 2 interfaces:
1. If I create an assoziation between two interfaces, together establish a attribute in the interface!?!? How is this possible? Of course it is final, but this is realy not what I want to do.
2. I remove the wrong attribute and add a get method to access the assoziated object. But now the assoziation link is gone...
3. I know from TCC 6.2 to add an assoziation between Interfaces (it works in TCC) and like to do the same in TEC:
/*# Interface2 lnkInterface2; */
But this doesn't work...
How I'am be able to do this?

2004 October 6, Dirk Hoffmann, “Assoziation between Interfaces not possible?”, in borland.public.together.edition.eclipse (Usenet), retrieved 2022-05-07:

(non-native speakers' English) Misspelling of association.


stringly-typed

From the string data type, punning on strongly-typed.

This is a “stringly typed” example that is easy to break if the key names are mistyped, or change between versions of your app.

2019, Shaun Lewis, Mike Dunn, Native Mobile Development: A Cross-Reference for iOS and Android, O'Reilly Media, →ISBN, page 178:

Enums can be a powerful aide in your quest to produce reliable, robust software. Consider them for your code when you discover yourself introducing “stringly-typed” data, such as message codes.

2021, Tim McNamara, Rust in Action, Simon and Schuster, →ISBN, page 98:

(programming, humorous) Characterized by an excessive use of strings to represent non-textual data.


JEP

This JEP is the index of all JDK Enhancement Proposals, known as JEPs.

2011 August 24, Reinhold, Mark, “JEP 0: JEP Index”, in OpenJDK (index), Sun Microsystems, archived from the original on 2022-06-15, (Top):

JDK Enhancement Proposal
w:JDK Enhancement Proposal

(programming) Initialism of JDK Enhancement Proposal.


ILP

(programming) Initialism of instruction-level parallelism.


ICBM address

(Internet slang, web development) One's precise address, including both longitude and latitude.


commentize

en-verb

commentize (third-person singular simple present commentizes, present participle commentizing, simple past and past participle commentized)

commentizes (present singular third-person)
commentizing (participle present)
commentized (participle past)
commentized (past)

We ended up commentizing the explanatory blurbs to serve a target audience that probably wouldn't need them. They are retained within the source so that they can be easily toggled back to life as needed in future for wider audiences.

I was manually adding “//” for each line I wanted to remove, which was annoying. It turns out that you can use Edit > Commentize to add “//” to the start of all selected lines. The keyboard shortcut in IP7 is Cmd-/. You can reverse the process with Edit > Decommentize or Cmd-\.

2016 October 25, quantixed, “Tips from the blog X: multi-line commenting in Igor”, in quantixed, retrieved 2022-06-16:

(programming, content management) Synonym of comment out


AoS

Coordinate term: SoA

(programming) Initialism of array of structures.


street BASIC

en-noun

street BASIC (countable and uncountable, plural street BASICs)

The term was introduced by computer scientists Thomas Kurtz and John Kemeny.

Street BASIC is becoming the language taught in junior high; it is sandwiched between Logo, which is taught in elementary school, and Pascal, which is taught in high school.

1988, Cynthia Solomon, Computer Environments for Children, page 94:

In 1984, BASIC's original developers responded to what they saw as the problems of “street Basic” by introducing True BASIC, a modern, well-structured version of the language, and the 1988 ANSI BASIC standard incorporated similar features.

2009, Harry Henderson, Encyclopedia of Computer Science and Technology, page 40:

(programming, derogatory) Any variety of the BASIC programming language that lacks good structure and encourages poor programming practices.


point-free

Point-free coding is a byproduct of adopting declarative programming. You can use point-free coding without FP. But because point-free is all about improving the readability of code at a glance and making it simpler to parse, having the guarantees imposed by FP furthers this cause.

2021, Luis Atencio, The Joy of JavaScript, Simon and Schuster, →ISBN, page 104:

(programming) Employing or relating to tacit programming.


tacit programming

(programming) A programming paradigm in which function definitions do not identify the arguments (or "points") on which they operate. Instead, the definitions merely compose other functions, among which are combinators that manipulate the arguments.


anonymous function

anonymous function (plural anonymous functions)

(programming) Synonym of lambda function


MACH

(programming) Acronym of microservices, API-first, cloud-native, headless.


MERN

Introduction to the MERN Stack In this chapter, we will cover the following topics: The MVC architectural pattern Installing and configuring MongoDB Installing Node.js Installing NPM packages Technical requirements You will be required[…]

2018 May 31, Eddy Wilson, MERN Quick Start Guide: Build web applications with MongoDB, Express.js, React, and Node, Packt Publishing Ltd, →ISBN, page 7:

“Creating MERN Stack Applications (2020).” DEV Community , https://dev.to/andrewbaisden/creating-mern-stack-applications-20204a44. Accessed 28 Jan. 2021. CSS Tutorial . https://www.w3schools.com/css/default.asp. Accessed 28 Jan. 2021.

2021 January 28, Adam Goldfine, Introduction to MERN Web Apps and JavaScript Algorithms, Startup Systems:

(web development) Acronym of MongoDB, Express.js, React, Node.js; a common web application solution stack.


Deutsch limit

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

Named after computer programmer L. Peter Deutsch (1946–).

named-after

visual programming language
visual programming language

(programming) The generally accepted limit, in working with visual programming languages, of 50 or less visual primitives on screen at any given time, used to optimize for information density.


hash rocket

From its use in creating hashes, and its resemblance to a space rocket.

(programming) The operator =>, used in the Ruby programming language to create hashes.


VMT

virtual method table
w:virtual method table

(programming) Initialism of virtual method table.


progressive web application

en-noun

progressive web application (plural progressive web applications)

Coined by designer Frances Berriman and Google Chrome engineer Alex Russell in 2015, from the notion that web applications can progressively turn into native-like apps, following the idea of progressive enhancement.

Coordinate term: single-page application

The two things that are needed for a web application to become a progressive web application are a mainfest and a service worker.

2017, Gaurav Saini, Hybrid Mobile Development with Ionic, Packt Publishing Ltd, →ISBN, page 200:

(software, web development) A type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly.


codebug

en-verb

codebug (third-person singular simple present codebugs, present participle codebugging, simple past and past participle codebugged)

codebugs (present singular third-person)
codebugging (participle present)
codebugged (participle past)
codebugged (past)

Developers can invite others into their workspace to coedit, cobuild, or codebug and can communicate with one another in the workspace itself.

2014, K. Chandrasekaran, Essentials of Cloud Computing, page 152:


skeleton programming

(programming) A top-down approach in computer programming based on simple high-level structures, resembling pseudocode, that are gradually fleshed out with details.


early return

With RAII, the closing action cannot be skipped or bypassed, even if the function exits the scope prematurely with an early return or by throwing an exception.

2019, Fedor G. Pikus, Hands-On Design Patterns with C++, page 469:

(programming) The act of returning from a function before reaching the end of that function.


MEVN

The IOM-Manager was implemented with the MEVN (MongoDB, Express.js, Vue.js and Node.js) technology stack [4]. Our protocol entry catalog has two goals: to facilitate data input during surgery and to increase the usefulness of the[…]

2020 July 24, J. Mantas, A. Hasman, M.S. Househ, The Importance of Health Informatics in Public Health during a Pandemic, IOS Press, →ISBN, page 319:

... Express.js, Angular JS and Node.js MERN stack: MongoDB, Express.js, React.js, and Node.js MEVN stack: MongoDB, Express.js, VUE.js, and Node.js Meteor.js: a full-stack framework based on Node.js and supports Angular.js and React.js[…]

2022 April 21, MANU SHARMA, Full Stack Development with MongoDB: Covers Backend, Frontend, APIs, and Mobile App Development using PHP, NodeJS, ExpressJS, Python and React Native, BPB Publications, →ISBN, page 23:

(web development) Acronym of MongoDB, Express.js, Vue.js, Node.js; a common web application solution stack.


InnerSource

From inner + source; coined by Irish-American author and publisher Tim O'Reilly in 2000.

coined

(programming) The use of open source software development best practices and the establishment of an open source-like culture within organizations, for the development of software that is proprietary or not open source.


MVW

(programming) Initialism of model-view-whatever.


HDFS

(programming) Initialism of Hadoop Distributed File System.


memory safety

(programming) Protection from software bugs and security vulnerabilities resulting from improper memory management, such as buffer overflows and dangling pointers.


memory-safe

(programming, of a program or programming language) Able to ensure memory safety.


memory-unsafe

(programming, of a program or programming language) Not memory-safe.


dynamic-link library

en-noun

dynamic-link library (plural dynamic-link libraries)

(programming, Microsoft) A software library containing some combination of code, data, and resources, capable of being loaded at run time and shared by multiple applications.


listcomp

When you come across something that looks like a listcomp but is surrounded by parentheses, you're looking at a generator: […]

2016, Paul Barry, Head First Python: A Brain-Friendly Guide, O'Reilly, →ISBN, page 508:

(programming, Python) A list comprehension.


genexp

Coordinate term: listcomp

To generate data for other sequence types, a genexp is the way to go.

2022, Luciano Ramalho, chapter 2, in Fluent Python, 2nd edition, O'Reilly, →ISBN:

(programming, Python) A generator expression.


index register

(programming) A processor register (or an assigned memory location) used to point to operand addresses during the run of a program, useful for stepping through strings and arrays.


one true brace style
one true brace style#English

(programming) Initialism of one true brace style.


one true brace style

(programming, informal) A source code formatting preference resembling K&R style, but where functions have their opening braces on the same line separated by a space, and the braces are not omitted for a control statement with only a single statement in its scope.


Barton-Nackman trick

The technique was introduced by John Barton and Lee Nackman.

curiously recurring template pattern
curiously recurring template pattern

(programming) A form of restricted template expansion in C++, characterized by an in-class friend function definition appearing in the base class template component of the curiously recurring template pattern.


useR

(programming, slang) Someone who uses the R programming language.


CRAN

Comprehensive R Archive Network
w:Comprehensive R Archive Network

(programming) Acronym of Comprehensive R Archive Network.


linalg

(slang or programming) Abbreviation of linear algebra.


expression template

expression template (plural expression templates)

(programming, C++) A template that builds structures representing a computation at compile time, where expressions are evaluated only as needed to produce efficient code.


post-build

a post-build event

a post-build verification script

(programming) After the build step that creates an executable program from source code.


Ratfor

(computer languages) A version of Fortran with newer C-style control structures.


null-terminated

PostgreSQL has given you a text value, and text values are not null-terminated. You will need to convert fileNameText into a null-terminated string.

2003, Korry Douglas, Susan Douglas, PostgreSQL […] , Sams Publishing, →ISBN, page 225:

(programming, of data) Stored in memory followed by a null character.


datathon

(informal, programming) A kind of hackathon focusing on the use of large data sets.


COBOLer

COBOL software appears to be slightly outliving COBOL programmers. Thus, the need for COBOLers is likely to stay reasonable in the near term.

2002 December 17, Topmind, “The problem COBOL programmers have moving to objects”, in comp.object (Usenet), retrieved 2022-12-23:


despaghettify

en-verb

despaghettify (third-person singular simple present despaghettifies, present participle despaghettifying, simple past and past participle despaghettified)

despaghettifies (present singular third-person)
despaghettifying (participle present)
despaghettified (participle past)
despaghettified (past)

From de- + spaghetti + -ify, compare spaghetti code.

You could do, but I need to despaghettify the code first.

My program is not huge <5000 lines, but it has been hacked about since 1978, with dire results. I get a bad headache trying to follow the logic. I would be happy to upload and then download the despaghettified code so as not to infringe licence regulations. Please help!

1993 January 19, ro...@ruchem.ru.ac.za, “spaghetti”, in comp.lang.fortran (Usenet):

I just wanted to give kudos to the new(ish) PrepModules feature. I finally got around to implementing it, and it allowed me to considerably de-spaghettify some of my scripts. Thanks!

2004 May 17, Chip Seraphine, “PrepModules() rocketh mightily”, in gnu.cfengine.help (Usenet):

Still, some examples would be nice. I can't distribute claxmod, as is, 'cause there are passwords hard-coded into it. With a little work, a more "generic" example could be developed that could be used as an example (de-spaghettified, preferably).

2014 May 29, fbkotler, “Re: R.I.P. Nathan Baker”, in alt.lang.asm (Usenet):

(transitive, programming) To refactor spaghetti code.


subpass

On the GPU, each subpass requires a SetRenderTarget() call, which incurs a small cost.

2005, Proceedings of ACM SIGGRAPH 2005, page 780:

(programming) Part of a pass or iteration.


parallelizer

(programming) A process or algorithm that parallelizes code.


fmt

fmt (third-person singular simple present fmts, present participle fmting, simple past and past participle fmted)

fmts (present singular third-person)
fmting (participle present)
fmted (participle past)
fmted (past)


type class

A type class is defined with a trait that defines the abstraction. It can have any extension (instance) methods, as well as type-level members, meaning across instances.

2021, Dean Wampler, chapter 5, in Programming Scala, 3rd edition, O'Reilly, →ISBN:

(programming) A type system construct that supports ad hoc polymorphism (independent of the type hierarchy), first pioneered in Haskell.


delimited continuation

en-noun

delimited continuation (plural delimited continuations)

So named because they capture only a portion of the call stack.

An interesting alternative, which addresses some of the modularity problems, is a delimited''' continuation; for example, a delimited''' continuation might capture just a portion of the evaluation stack, up to a delimiter that works a bit like long-label, and turn it into a function.

2022, Norman Ramsey, Programming Languages: Build, Prove, and Compare, Cambridge University Press, →ISBN, page 243:

(functional programming) A continuation that returns a value and can be composed.


multistring

The AIM screen name of person as a multistring with two labels: kABAIMWorkLabel, and kABAIMHomeLabel

2003, Michael Beam, James Davidson, Cocoa in a Nutshell:

Multistring values are relatively simple to edit.

2006, Guy Hart-Davis, Mastering Windows XP Home Edition, page 320:

After that, two possibilities are offered: the first is to recover a string by thresholding the multistring and the second is to transform the Pattern Recognition algorithm that uses the median to use multistrings instead of strings.

2008, Niels da Vitoria Lobo, Takis Kasparis, Michael Georgiopoulos, Structural, Syntactic, and Statistical Pattern Recognition, page 432:

(programming, data structures) A data structure that represents multiple text strings.


kangaroo code

Sometimes, especially when working on large projects or with multiple programmers, it can become hard to avoid kangaroo code, that is, code that jumps from function to function and even jumps around within the same class.

2016, J. F. DiMarzio, The Debugger's Handbook, page 25:

(programming, slang, rare) Poorly structured program code consisting of many jumps.


KVO

KVO, on the other hand, is a mixed bag. It can be useful, and it can cause trouble. It's implemented in a highly magical way, and some of its usage is quite awkward.

2014, Rob Napier, Mugunth Kumar, iOS 7 Programming Pushing the Limits, John Wiley & Sons, →ISBN, page 406:

(programming, Apple platforms) Initialism of key-value observing.


pseudostatement

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

If the label of a BEGIN pseudostatement is missing, the preceding and following cards are tested for clues: […]

1972, Bary W. Pollack, Compiler Techniques, page 287:

(programming) A construct resembling a statement that is not a true statement.


UFCS

Nim's default import behavior allows flexible Uniform Function Call Syntax (UFCS) and operator overloading.

2017, Dominik Picheta, Nim in Action, Simon and Schuster, →ISBN:

Uniform Function Call Syntax
w:Uniform Function Call Syntax

(programming) Initialism of Uniform Function Call Syntax.


DevEx

Coordinate term: UX

[…] ensure that the platform teams have a focus on user experience (UX) and particularly developer experience (DevEx).

2019, Matthew Skelton, Manuel Pais, Team Topologies: Organizing Business and Technology Teams for Fast Flow, IT Revolution, →ISBN:

developer experience
developer experience#English

(programming) Abbreviation of developer experience.


Squiggol

Blend of squiggly + ALGOL, from the “squiggly” symbols it uses.

The overall goal of Squiggol is to calculate programs from their specifications in the way a mathematician calculates solutions to differential equations, or uses arithmetic to solve numerical problems.

1991 June, Erik Meijer, Maarten Fokkinga, Ross Paterson, “Functional programming with bananas, lenses, envelopes and barbed wire”, in Proceedings of the 5th ACM conference on Functional programming languages and computer architecture, Berlin, Heidelberg: Springer-Verlag, →DOI, →ISBN, pages 124–144:

(functional programming, humorous) The Bird–Meertens formalism.


COMAL

Acronym of common algorithmic language, inspired by ALGOL (“algorithmic language”).

Mr. Lindsey's letter in Vol. 5, No. 11 made some misleading claims for COMAL. He stated that COMAL, like BASIC, is free. Well, back in October of 1981, a price of $49.95 for a COMAL starter package was mentioned in Robert Baker's PET-pourri column in Microcomputing.

1983 May 23, Willi Kusche, “COMAL claims are questionable”, in InfoWorld, volume 5, number 21, page 39:

(computer languages) A programming language influenced by BASIC and Pascal.


if-then

List Formatter makes properly-spaced & indented listings with page breaks; each statement on new line, if-thens and loops called out; a great de-bugger!

Storing (closed) predicate definitions in this form (if all the predicates are so stored, and there never were any cuts or if-thens in the first place, we have the well-known "completion" of a logic program) makes the coding of source-level tools simpler.

1985, 1985 Symposium on Logic Programming: July 15-18, 1985; Sheraton Boston Hotel Boston, Mass., IEEE Computer Society Press, →ISBN, page 71:

1. The problem is well bounded, 2. There are many empirical if/thens that lead to a correct solution, 3. The total number of if/thens is sufficient to bring you close to a right answer (Mazur 1987).

1989 December, David W. Long, Michael R. Wagner, “Insect Pest Management Expert Systems in Multiresource Management of Ponderosa Pine”, in Multiresource Management of Ponderosa Pine Forests: Nov. 14 - 16, 1989, Flagstaff, Arizona (General Technical Report RM-185), page 260:

Many if-thens will degrade vector performance below that of a scalar version that computes only the correct branch.

1992, Donald L. DeAngelis, Louis J. Gross, editors, Individual-Based Models and Approaches in Ecology: Populations, Communities and Ecosystems, Chapman and Hall, →ISBN, pages 154–155:

Think of this process as programming with pictures, complete with loops, pauses, if-thens, and so on.

Finally, they use descriptions and statements from set theory to provide material for flowcharting problems that contain multiple decisions (nested if-thens).

2000, Harold J. Rood, Logic and Structured Design for Computer Programmers, Brooks/Cole, →ISBN, page ix:

Simple statements (like assignments and if-thens) are executed serially.

2001, Mark Guzdial, Squeak: Object-Oriented Design with Multimedia Applications, Prentice Hall, →ISBN, page 35:

But I think that the badge system is very motivating, and if one of your goals is to get students to become more proficient in the programming, then this is certainly a way to do that. Because you set not a very high bar toward attaining these things and some of them I think are quite challenging – you know, doing the ones for lists, and the if-thens, and all that.

2004, Jim, quotee, “Co-Evolution of Design and Pedagogy Online”, in Sasha A. Barab, Rob Kling, James H. Gray, editors, Designing for Virtual Communities in the Service of Learning (Learning in Doing: Social, Cognitive and Computational Perspectives), Cambridge University Press, →ISBN, page 253:

However, you can neither create multiple if-thens that execute simultaneously, nor create a rule based on a file’s Kind—so this utility’s utility is limited (November 2003).

Have you noticed any similarities between “programming” a mechanical system and writing software? / The logical problems are absolutely the same. In the mechanical and in the computer, there are equivalents of variables and if-thens.

2005 February, Make: Technology on Your Time, volume 01, O’Reilly Media, Inc., →ISBN, page 160:

There’s some recursive programming in her that gives more weight to associative and metaphorical thinking than to logical if-thens.

2012, Kim Stanley Robinson, 2312, Hachette, →ISBN:

(programming) A conditional statement; a line of code that specifies a Boolean condition to check and a statement to execute when that Boolean evaluates to true.


Erlang

Named after Danish mathematician and engineer Agner Krarup Erlang (1878–1929) and a clipping of Ericsson language, the company where it originated.

named-after

If you need to wring out every drop of performance on a complex task, or want to avoid rewriting a library written in a language other than Erlang, you'll want to explore Erlang's tools for connecting with other programming languages.

2017, Simon St. Laurent, Introducing Erlang: Getting Started in Functional Programming, O'Reilly, →ISBN, page 172:

(computer languages) A functional programming language designed for highly concurrent and fault-tolerant applications.


BEAM

Elixir is a functional, dynamic language built on top of Erlang and the Erlang VM (BEAM).

2016, Kenny Ballou, Learning Elixir, Packt Publishing Ltd, →ISBN, page 1:

Bogdan's Erlang Abstract Machine
w:BEAM (Erlang virtual machine)

(programming, Erlang) Acronym of Bogdan's Erlang Abstract Machine.


bottom type

A new notion to many Java developers will be the idea that a class hierarchy can have common bottom types. These are types that are subtypes of all types. Scala's types Null and Nothing are both bottom types.

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

(type theory, programming) The type that is a subtype of all other types.


carry-lookahead

A simpler scheme is to connect the carry-ins and carry-outs of the units in a ripple chain. This approach is most common in chip design because the wiring for the carry-lookahead tree is hard to design and area-consuming.

2004, Wayne Wolf, FPGA-Based System Design:

(programming) A command that checks whether there will be a carry (bit or digit that is carried in an addition operation) for the current digit in an ongoing addition operation.


multidispatch

From multi- + dispatch, as a shorter form of multiple dispatch.

object-oriented programming
object-oriented programming

function overloading
function overloading#English

(object-oriented programming) Synonym of function overloading


alloc

en-verb

alloc (third-person singular simple present alloc's, present participle alloc'ing, simple past and past participle alloc'ed)

alloc's (present singular third-person)
alloc'ing (participle present)
alloc'ed (participle past)
alloc'ed (past)

If you simply use alloc then init, you can't check for the existence of the object before it gets alloc'ed. If you use a single +new method (or something similar), then you can check for the existence of the object before it gets allocated in memory.

1994 June 12, Eric M Hermanson, “Re: +new vs. +alloc -init”, in comp.sys.next.programmer (Usenet):

Alloc enough space for any possible padding.

2001, John Viega, Gary R. McGraw, Building Secure Software:

Among the things this analyzer is capable of detecting is simple memory leaks. For example, it can find an object you alloc'ed but forgot to release.

2011, Stephen G. Kochan, Programming in Objective-C, page 413:

Could not alloc enough memory

2012, Helmut J. Helpenstein, CAD Geometry Data Exchange Using STEP, page 86:

Generally, the data ins the stack should not be changed, a simple packing would choose to push such information into the stack (to alloc a new space on the stack).


SoA

Coordinate term: AoS

(programming) Initialism of structure of arrays.


Objective-C

In Objective-C, a protocol member can be declared optional, meaning that this member doesn't have to be implemented by the adopter, but it may be.

2016, Matt Neuburg, iOS 10 Programming Fundamentals with Swift: Swift, Xcode, and Cocoa Basics, O'Reilly, →ISBN, page 185:

programming language
programming language

(computer languages) An object-oriented programming language that adds Smalltalk-style message passing to the C programming language, mainly used on Apple platforms.