Programming and technology in general seem to spawn a lot of acronyms. It might be because older computers had either hard limits on characters you could use in certain places or had limited space or processing ability that could be wasted by writing words out.
Or maybe it’s because specific terms tend to be long, and it’s natural to reduce them to acronyms. Some people have even suggested it’s because programmers are efficient (or lazy) and want to save as much work as possible, down to the typing of individual letters.
Regardless, familiarizing yourself with these programming acronyms or keeping this list handy as you go through an introductory programming book or course can make the material less intimidating, and let you focus on learning new concepts and honing new skills.
Important terms you’re most likely to encounter early on in your coding career have a star (⭐). If you take a look at these, check out our glossary of programming terms, and have the other coding prerequisites down, you’ll be set. Remember that you can use Control-F in most Linux and Windows browsers or Command-F in most macOS browsers to find a term. Mobile browsers also have this feature, but it’s only in a menu.
Networking Names
If you haven’t done programming or otherwise been behind the scenes, your primary association with these might be negative, such as a DNS error that might be why you can’t connect to any webpages.
Often these are protocols that specify the procedure and language for two computers to communicate with each other, and sometimes that communication breaks down. Hopefully, your use of these terms will largely be in a well-functioning context.
- DNS: Domain Name Service. A distributed network of servers that turn names like “www.wyzant.com” into IP addresses that your computer can use to actually connect to a website or other online service.
- HTTP: HyperText Transport Protocol. The primary protocol for communication between clients and servers on the web.
- HTTPS: HyperText Transport Protocol Secure. HTTP with an added security layer to prevent servers and routers along the way from reading the contents of the message.
- IP: Internet protocol. Defines how packets are laid out and the address system for computers on the internet. IPv4 used relatively short addresses, like 127.0.0.1, but as the world starts to run out of them, systems are being switched to its successor, IPv6, which has uses longer addresses that offer more possibilities. Often paired with TCP, and abbreviated TCP/IP.
- SSH: Secure Shell. It’s most often used with programs with a commandline interfaces (see CLI or TUI), but it can be used to connect to web applications or even desktop applications.
- TCP: Transmission Control Protocol. A low-level internet protocol that ensures that data is sent correctly in its entirely over a sometimes busy or unreliable internet.
- TLS: Transport Layer Security. The cryptographic standards that allow computers on the web to communicate securely. The technology behind the S in HTTPS. TLS replaced the older SSL.
World Wide Web…of Words
Perhaps you’ve seen these terms for various web technologies in a URL (the address at the top of a browser).
- AJAX: Asynchronous Javascript and XML. A technology for sending requests in the background, allowing a webpage to update without reloading the entire thing. For example, when you read an email in Gmail or Outlook online, your browser can download new email messages. Despite having XML in the name, it can use other formats.
- CSS (⭐): Cascading Style Sheets. A language for changing the appearance and layout of a webpage. For example, you can write CSS to change the font of a website or to make certain text bold. The cascading refers to the fact that a series of rules can be applied to a certain element of a webpage, and that last and most specific one being the one that actually takes effect.
- HTML (⭐): HyperText Markup Language. A language that uses tags to specifying the contents and structure of a webpage. For example, you can use the tags to indicate where sections of an essay begin and end, and use tags to add images.
- RESTful—Representational State Transfer. A way of designing web services to work consistently and easier to program, including a common way of identifying resources and defining the role of the client and server. For example, if a search returns multiple pages of results, RESTful design dictates that the client keeps track of its position in the list.
- URL: Universal Resource Locator. Path to a page or resource on the web. A full URL consists of a protocol (“http://”), a domain (“www.wyzant.com”), and a path (“/blog”). It’s a path because it allows your browser (with some help from DNS and the server) to find the page you want.
Words for Computers Store Words
Dealing with data formats is a frequent task when programming, sometimes when you don’t expect it, so it’s helpful to know about the key ones.
- ASCII (⭐): American Standard Code for Information Interchange. One of the earliest ways to encode letters and for a long time, ASCII and its extensions represented most text stored on computers. Because computers operate on binary numbers and do not directly handle text, so an encoding like ASCII is required to convert between them. It has since been largely replaced by UTF-8, which isn’t limited it the American English alphabet and includes accented characters and completely different scripts.
- JSON: JavaScript Object Notation. A JavaScript-derived way of structuring data. It is more flexible than XML, as developers don’t need to predetermine how it is structured. Between its flexibility and connection to JavaScript, it has replaced XML in a lot of situations.
- UTF-8 (⭐): Unicode Transformation Format-8. The most common way to encode text on computers, having replaced ASCII, which used to dominate. UTF-8 and other Unicode standards allow for encoding virtually any letter or symbol, whether it’s ß, 日, ÷, or ????. Of the Unicode standards, UTF-8 in particular is common because it’s relatively efficient and has partial compatibility with ASCII, which some old tools are limited to. The 8 alludes to the efficiency – it can store characters in as little as eight bits.
- XML: eXtensible Markup Language. An HTML-inspired language that can be extended for documenting any kinds of structured data, like recipes, government records, or a level in a video game. The extensibility makes it different from HTML, which has an official set of tags specifically for web pages that developers and other users are not meant to extend. An attempt to redefine HTML in terms of XML, called XHTML, was eventually abandoned in favor of HTML5.
(above: Table listing letters, punctuation, digits, and special characters alongside their numeric representation in ASCII)
Interface Initialisms
You’re probably most familiar with a GUI (Graphical User Interface), but you’ll probably want to write programs that communicate with other programs, web sites, or online services, and that will require an API (Application Program Interface) or use developer tools that use a CLI (CommandLine Interface) or TUI (Textual User Interface).
- API (⭐): Application Program Interface. An interface to a program for other programs. For example, rather than writing flaky code to mimic entering text and pressing send, the API might be a library with a send_message function that can be used.
- CLI: CommandLine Interface. An interface that works by entering textual commands, usually from a terminal. While text interfaces were universally used because they were the only option, text-based interfaces are sometimes still used for their power or efficiency once learned. See TUI.
- GUI (⭐): Graphical User Interface. An interface that works by the user clicking on buttons and entry fields.
- TUI: Textual User Interface. An interface with interface elements composed of text. For example, a TUI may have several panes like a GUI, but their borders would be drawn with characters “|” and “─”. Often the main input method is the keyboard, but many of these support mouse input as well. See CLI.
(above: a screenshot of Midnight Commander a TUI program that shows two lists of files in separate panes)
N7ms (Numeronyms) 101
Most abbreviations are pretty self-explanatory, but there’s a few particularly cryptic ones. Numeronyms use numbers as a word or as part of a word. These Numeronyms replace the contents of a long word with the number of replaced, kind of like an apostrophe on steroids, so internationalization becomes I18n. Some non-technical numeronyms are 411 (to mean information), 911 (to mean help or emergency services), or 101 (to mean introduction).
- A13y: Accessibility. The process of designing and programming an application or website to be usable by people with disabilities. For example, you may choose colors that color-blind people can easily distinguish, add inline information that a screen reader can use, or allow for alternative inputs for people with physical disabilities.
- I18n (⭐): Internationalization. Designing or retrofitting a program to be able to support multiple languages or other regional specifics. Strictly speaking, this isn’t the process of translation itself, just adding the flexibility and infrastructure to support those translations.
- L10n: Localization. Adapting a program for a specific region, including its language, measurement system, currency, or conventions. For example, you may have to add units used in a particular region or adapt how names are stored. Sometimes used interchangeably with I18n.
Odds and Ends
A few terms don’t fit naturally into any category.
- I/O: Input/output. Input is both what the user is entering into the program and data coming from other sources. Output is whatever the program emits.
- OOP: Object-Oriented Programming. A style of programming that emphasizes organizing programs around classes and objects. This term is sometimes used broadly to refer to virtually any program that uses objects and classes or any languages that supports them. See the “Language Labels” section of the glossary of coding terms for related terms and alternative programming styles, which happen to not have acronyms.
- OS (⭐): Operating System. The system that manages the hardware and the various programs running on the computer. Windows, macOS, and Linux are common operating systems.
- VCS: Version Control System. Tool for tracking the history of a software project and managing changes from multiple users. A developer can use a VCS to identify places they and another developer modified the same code so those changes can be combined. The most common VCS today is Git, but Subversion and Mercurial are often used as well.
Backronyms and Other Jokes
Because of the large number of acronyms used in computers, particularly when they were new, both joke acronyms and joke acronym names for serious projects became widespread among programmers, IT staff, and hobbyists. While not necessary to know (with the exception of GNU for Linux and avid CLI users), they do give some of the taste around the culture that produced much of the infrastructure of the early internet and other common technologies.
- GNU: GNU’s not Unix. A software project dedicated to replicating a Unix system with source code that users could freely read, modify, and share. GNU has produced the base set of commandline tools used on most Linux systems, and GCC, one of the most widely used C compilers. Recursive and disclaimatory acronyms like GNU were common in certain programmer circules.
- PEBKAC: Problem Exists Between Keyboard and Chair. An exasperated or mean-spirited term referring to issues that aren’t technical but caused by the user’s lack of understanding.
- GIGO: Garbage In, Garbage Out. A now-outdated acronym referring to the fact that entering wrong, incomplete, or inappropriate data, or input, into a program leads to bad results or behavior (output). See I/O.
Expand Your Programming Skills
Hopefully, these definitions demystify the common acronyms you’ll encounter so you can focus on learning the concepts and practicing the skills. No list can be comprehensive, particularly as different areas of programming and different languages have their own. A coding course, book, tutorial, or tutor can help you with these.

