Programming Keyword Cheat Sheet
A few keywords and phrases that you may not know, but probably should.
As I go through my coding journey I keep coming across words and phrases repeatedly. Some of them I’m familiar with, but some I have to look up. So I’ve decided to create a little cheat sheet. This will have a collection of popular words and phrases, with a brief description and then links to more information. Some will pretty obvious for most, but I want this list to be helpful for all levels of learning.
CLI: Command Line Interface — This is a user interface that uses lines of text to control a computer. Usually referred to just as the command line.
GUI: Graphical User Interface — This is a form of user interface that allows users to interact with visual representations of icons instead of text-based interfaces such as the Command-Line.
HTTP: Hypertext Transfer Protocol — Developed by Tim Berners-Lee and his team at CERN in 1989. It is the foundation of data communication, where hypertext can link to other resources.
HTML: Hypertext Markup Language — Also developed by Tim Berners-Lee, it is the standard markup language for anything displayed on the internet.
CSS: Cascading Style Sheets — This is the style sheet language used for the presentation of documents written in a mark-up language.
Yaml: Yaml Ain’t Markup Language — This is a human-readable date-serialization language. Commonly used for configuration files.
XML: Extensible Markup Language — This is a language that defines a set of rules for making something both human and machine-readable.
Sass: Syntactically Awesome Style Sheets — This is a preprocessing scripting language that is compiled into CSS. Basically, it’s CSS with superpowers(their words not mine).
MVC: Model, View, Controller — This is a design pattern that breaks an application into three parts. A prime example of the phrase “Separation of concerns”.
TDD: Test-Driven Development — This is a development process where software requirements are converted to test cases, before fully being developed. Write a test, then write the code to fulfill the test, repeat until the application is complete.
Regex: Regular Expressions — This is a sequence of characters that define a search pattern.
API: Application Programming Interface — This is a computing interface that defines the interaction between different software intermediaries. It defines the kinds of requests that can be made, how to make them, the data formats that should be used, the conventions to follow.
DOM: Document Object Model — This is the representation of the objects that make up the structure of a website.
Package Manager — This is a collection of software tools that automates the process of maintaining computer programs for operating systems.
Git — This is a free and open-source version control system, created by Linus Torvalds. This link has a ton of info, I found it super helpful. Two popular versions are Github and Gitlab.
IDE: Integrated Development Environment — This is an application that normally consists of at least a source code editor, build automation tools, and a debugger.
MERN Stack: MongoDB, Express, ReactJS, Node- This is similar to the MEAN stack except it uses React instead of angular.
SAAS: Software as a Service — This is a software licensing and delivery model, in which software is marketed on a subscription basis or is centrally hosted. It is one of the three main categories of cloud computing.
MVP: Minimum Viable Product: This is the product that has just enough features that to be usable by customers.
Agile — Agile is a process by which a team can manage a project by breaking it up into several stages and involving constant collaboration with stakeholders and continuous improvement and iteration at every stage.
Scrum —Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. It is a simple framework for effective team collaboration on complex products
SDK: Software Development Kit — This is a collection of software development tools in one installable package.
This is not an exhaustive list by any stretch of the imagination. I wrote this as a way for me to remember some of the terms I hear and read on a regular basis. Hopefully, you find this helpful as well. I plan to add to this list as I come across items I’m not familiar with. If you have anything you think I should add shoot me a comment, I’d love to hear from you.