Software development is full of acronyms. Who has time to say full phrases or explain concepts in between gulps of coffee and the construction of software? We’ve compiled a list of some of the most frequently used coding acronyms in software development to get you up to speed.
1. API: Application Programming Interface
This is the art of building something extensible in software development. It’s the foundation of standard procedures, types, tools, GUI interaction methods, and database access rules that programmers building applications using API can use. In other words, the API developer simplifies the process for other app creators.
Good examples of API programming include the Android APIs, where developers making apps don’t need to know how to talk to the phone’s gyro sensor or have a technical understanding of the chip that the device is using. They use a set of standardised instructions created by Google and the Android Open Source Project (AOSP) to talk to these components quickly.
2. IDE: Integrated Development Environment
The jack-of-all-trades of coding software—a compiler, linker, debugger, text editor, and project manager all in one. The IDE is the software in which you write your code and have tools that help you implement it and test your code once it’s all put together. It also keeps your source code files in one place, and some even offer to throw in version control.
3. SDK: Software Development Kit
These packages are tools given to developers by a platform designed to help create software for their ideas. It usually contains a set of libraries, documentation for the APIs included, and a framework for creating software—and, in some instances, even a bundled IDE.
The Android SDK includes many Android APIs for developers to use, as well as an emulator, so they can test their apps on virtual Android devices. Along with an IDE called Android Studio, this enables developers to make apps for Android with all the extra libraries and tools they need. SDKs can also come with libraries to interact with hardware and other applicable tools. Click here for Android Studio SDK downloads.
4. UI (User Interface) and UX (User Experience)
These two terms are listed together because, more often than not, if one is changed, the other is affected. UI refers to the interface or the portion of the software that interacts with the end-user. In most cases, this will be a window on-screen, with buttons, text, and other assets, for desktop apps or an app UI on a cellphone. Generally, any software that provides some method to interact with a user has a UI. So “Good UI” typically means ‘does it look attractive and engaging?’
UX, on the other hand, refers to the user’s experience using the application. “Good UX” refers to an understandable flow through the UI and the options exposed to the user. Are the essential options in your program easy to see? Are actions that are less obvious explained? Do the button labels or icons make sense for what they do? Addressing these types of question is an integral aspect of the UX process. An example of a popular UI with good UX is Wordle because it uses psychology to gain users. “Bad UX” often relates to “bad UI” in that if your programme looks unattractive or confusing, the user will generally have a difficult time navigating it. Although, that isn’t always true. Bad UI can have great UX and vice versa too.
5. OOP: Object-Oriented Programming
This is an alternative to other programming paradigms in which functions are executed on an event basis. OOP considers “objects” which are manipulated, each object containing attributes (constituent data variables) as well as methods (procedures to modify the attributes). A class is the ‘blueprint’ for what’s being designed, and objects embody the class blueprint. OOP supports class inheritance, where instances of an object in a derived class can be “a type of” the base class. The inheritance means that a derived class can inherit the base class’s methods and instance variables or modify them as needed.
6. SSH: Secure Shell
This isn’t a paradigm but rather a protocol. SSH allows you to conduct remote shell sessions on servers or remote clients in an encrypted fashion. The need for this arose with other remote terminal services like telnet and rlogin, which transmit passwords and sensitive data in plaintext. SSH lets you remotely access computers and servers from another computer. SSH is standard with client-server architecture connections and works on insecure networks such as the internet, where unencrypted data could be freely intercepted. Good examples of this are the ability to remotely access your Linux home server to check its status and perform console tasks when you’re away from home or in cloud computing when you run your code on large remote machines.
If these coding acronyms excite you and you want to learn more, or even if you want more programming tips, our bootcamps are the ideal starting point.
We believe that anyone can code, even if you’ve never tried coding before. Our bootcamps are designed to help you to succeed, with personal expert code review and full career development support. HyperionDev is dedicated to helping you develop top coding skills so that you’re job-ready in less than a year.
Want to start learning the very basics, totally free of charge? Click here to check out our trial, where you can kick-start your journey towards a certification in data science, full-stack web development, or software engineering.
Editor’s note: This post was originally published on 27 November 2015 and has been updated on 26 April 2022.