top of page
Search

Programming and Development Reference Guide



Web Development

iOS Development

Android Development

Game Development

Data Science/AI

System Programming

HTML

Swift

Java

C++

Python

C

CSS

Objective-C

Kotlin

C#

R

C++

JavaScript

SwiftUI

Java

Lua

Julia

Rust

PHP

Objective-C with Swift

XML

JavaScript (Node.js)

MATLAB

Assembly

TypeScript

Cocoa Touch (Obj-C)

Kotlin with Android SDK

C# (Unity3D, Unreal Engine)

TensorFlow, Keras (Python)

Go

React.js

Cocoa Framework

Java with Android SDK

C++ (Unreal Engine)

Pandas, Numpy (Python)

Rust

Angular

Swift (UIKit)

Dart (Flutter)

JavaScript (Phaser, Unity)

SciPy (Python)

Swift

Vue.js

(Objective-C with Swift)

Java (Android Studio)

Unity (C#, JavaScript)

PyTorch, TensorFlow (Python)

Python

Django



Game Engines (C++)

Scikit-learn (Python)

Rust

Node.js



Unity (C#)

OpenCV (Python)

C++

jQuery



Godot (GDScript)

TensorFlow.js (JavaScript)






Frameworks and Libraries


Category

Framework/Library

Description

Web Frameworks

React

JavaScript library for building interactive UIs using components.


Angular

Full-stack JavaScript framework for building dynamic web apps.


Vue.js

Progressive JavaScript framework for building UIs and single-page applications.


Django

Python-based framework that follows the "batteries-included" philosophy for rapid web app development.


Flask

Lightweight Python web framework for building small to medium-sized applications.


Ruby on Rails

Full-stack Ruby framework for building web applications quickly with built-in conventions.


Laravel

PHP framework for building modern, scalable web applications.


Express.js

Web framework for Node.js, provides minimal and flexible architecture for building server-side applications.


Framework for building web apps using C# and .NET.


Spring

Java-based framework for building web and enterprise applications, known for its modularity and security.

Mobile Frameworks

Flutter

Open-source framework for building natively compiled mobile, web, and desktop apps from a single codebase (using Dart).


React Native

JavaScript framework for building mobile apps for iOS and Android using React.

Game Development

Unity

Game engine and development environment for building 2D and 3D games. Uses C# scripting.


Unreal Engine

Powerful game engine for developing high-quality 3D games with C++ and visual scripting.


Godot

Open-source game engine for building both 2D and 3D games.

Machine Learning/AI Frameworks

TensorFlow

Open-source framework for machine learning and deep learning, used in neural networks.


PyTorch

Deep learning framework with a flexible architecture, popular for research and production.


Keras

High-level neural networks API, running on top of TensorFlow or Theano.


Scikit-learn

Simple and efficient tools for data mining and machine learning in Python.


OpenCV

Open-source computer vision and machine learning software library.


NLTK

Toolkit for working with human language data in Python.




Tools & Environments

Category

Tool/Environment

Description

IDEs (Integrated Development Environments)

Visual Studio Code

Lightweight code editor with rich extension support for various languages.


PyCharm

Python-specific IDE with features like debugging, testing, and code completion.


IntelliJ IDEA

Java IDE with extensive support for Java and JVM-based languages like Kotlin and Scala.


Eclipse

Open-source IDE primarily used for Java, but supports many other languages.


Xcode

Apple’s IDE for developing iOS/macOS applications with Swift or Objective-C.


Sublime Text

Lightweight text editor with a focus on speed and efficiency.

Version Control Systems

Git

Distributed version control system, allowing for code collaboration and history tracking.


GitHub

Web-based platform for Git version control, enabling collaboration and sharing of code.


GitLab

Git repository manager with CI/CD, issue tracking, and DevOps tools.


Bitbucket

Git-based source code repository hosting service, with built-in CI/CD support.

CI/CD Tools

Jenkins

Open-source automation server used for continuous integration and delivery.


Travis CI

Continuous integration service used for building and testing software.


CircleCI

Continuous integration and delivery platform to automate the software development process.


GitLab CI

Built-in continuous integration and deployment feature in GitLab.


Bamboo

Continuous integration and deployment tool from Atlassian, integrated with Jira.

Containerization Tools

Docker

Platform for developing, shipping, and running applications in lightweight containers.





Web Technologies

Category

Technology/Concept

Description

Web Servers

Apache

Open-source HTTP server software used for serving websites.


Nginx

High-performance web server and reverse proxy server.

APIs

REST

Architectural style for designing networked applications using stateless communication.


GraphQL

Query language for APIs that allows clients to request only the data they need.

Authentication/Authorization

OAuth

Open standard for access delegation, often used for secure authorization.


JWT (JSON Web Token)

Compact, URL-safe means of representing claims to be transferred between two parties.


OpenID Connect

Identity layer on top of OAuth 2.0 that enables verification of user identity.



Databases

Category

Database/Technology

Description

Relational Databases

MySQL

Open-source relational database management system.


PostgreSQL

Advanced open-source relational database with support for complex queries.


SQLite

Lightweight, serverless database that stores data in a single file.

NoSQL Databases

MongoDB

Document-based NoSQL database for handling large amounts of unstructured data.


Cassandra

Highly scalable NoSQL database for managing large amounts of data across many servers.

ORMs (Object-Relational Mapping)

Sequelize

ORM for Node.js, supports multiple SQL-based databases.


SQLAlchemy

ORM for Python, facilitates the communication between Python code and relational databases.


Hibernate

ORM for Java, allows mapping of Java objects to database tables.





Cloud & DevOps

Category

Tool/Technology

Description

Purpose

When to use it

Cloud Platforms

AWS

Amazon’s cloud computing platform offering IaaS, PaaS, and SaaS services.

Hosting applications, managing servers, databases, and scaling infrastructure in the cloud. AWS offers everything from compute power to storage.

Building scalable, high-availability systems


Google Cloud

Google’s cloud platform for computing, storage, and machine learning.

Building, testing, and deploying applications on Google’s cloud infrastructure.

Big data analytics, machine learning, and scalable applications


Microsoft Azure

Cloud computing platform by Microsoft offering a range of services.

Hosting, deploying, and managing applications and services through Microsoft’s cloud infrastructure

Enterprises, cloud-native apps, hybrid cloud solutions

Containerization/Orchestration

Kubernetes

Open-source platform for automating the deployment, scaling, and management of containerized applications.

Managing and scaling large numbers of containers efficiently, making sure they run smoothly in production environments.

Large-scale applications, microservices, DevOps automation


Docker

Platform for building, running, and shipping applications in containers.

Simplifies application deployment, scalability, and portability. It isolates dependencies and configurations into containers.

Containerized environments, microservices, cross-platform development




Web Development

Language/Tool

What it is

Key Use

Example

HTML

HyperText Markup Language: Defines the structure of web content using tags. It’s the building block of the web.

Structuring the content of a webpage (headings, paragraphs, images, links). Every webpage starts with HTML to structure its elements.

<h1>Heading</h1><p>This is a paragraph.</p>

CSS

Cascading Style Sheets: A styling language that controls the layout and appearance of HTML elements.

Styling web pages (fonts, colors, spacing, margins, layout). It’s like the clothing and design of a webpage.

h1 { color: blue; font-size: 30px; }

JavaScript

A scripting language used to add interactivity to web pages by manipulating the DOM and handling events.

Dynamic content updates, form validation, animations, event handling, creating interactive elements without reloading the page.

document.getElementById("demo").innerHTML = "Hello, World!";

TypeScript

A statically-typed superset of JavaScript that compiles down to JavaScript.

Adds strong typing to JavaScript for better maintainability, scalability, and debugging. Ideal for larger applications.

let age: number = 25;

PHP

Hypertext Preprocessor: A server-side scripting language mainly used for web development.

Building dynamic websites that interact with databases (e.g., user profiles, forms). Integrated with MySQL or PostgreSQL.

<?php echo "Hello, World!"; ?>

React.js

A JavaScript library for building user interfaces with reusable components.

Building SPAs (Single Page Applications) with a focus on state management, component reuse, and virtual DOM for performance.

const element = <h1>Hello, world!</h1>;

Angular

A TypeScript-based open-source framework used for building dynamic single-page applications.

Building large-scale applications with two-way data binding, directives, routing, and deep integration with APIs.

@Component({ selector: 'app-root', templateUrl: './app.component.html' })

Vue.js

A progressive JavaScript framework used for building modern user interfaces.

Flexible and easy to integrate with other libraries or existing projects. Focuses on simplicity, progressive enhancements, and scalable applications.

const app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } });

Node.js

A JavaScript runtime that allows JavaScript to run server-side, enabling full-stack development with JS.

Server-side scripting for building fast, scalable web applications. Real-time data applications, APIs, and server-side rendering.

const http = require('http'); http.createServer((req, res) => res.end());

Django

A high-level Python web framework designed for rapid development and security.

Building secure and maintainable websites. Includes built-in features like user authentication, admin panel, and ORM for database management.

from django.http import HttpResponse; def hello(request): return HttpResponse("Hello, World!")




iOS Development

Language/Tool

What it is

Key Use

Example

Swift

A powerful, open-source language developed by Apple for iOS, macOS, watchOS, and tvOS development.

Building fast and safe applications with modern syntax. Preferred for iOS apps. Focus on safety, performance, and modernity.

let message = "Hello, iOS!"

Objective-C

The predecessor to Swift, an object-oriented language used for iOS/macOS development.

Older apps or legacy projects are often in Objective-C. It uses a dynamic runtime and includes powerful memory management.

NSString *str = @"Hello, World!";

SwiftUI

A declarative framework for building user interfaces across all Apple platforms.

Designing UIs with less code. Emphasizes declarative syntax, automatically updating the UI based on state changes.

Text("Hello, World!").font(.largeTitle).foregroundColor(.blue)

UIKit

A framework for graphical, event-driven user interfaces in iOS.

For creating UIs with views, buttons, labels, gestures, etc. Provides tools for handling user interaction.

let label = UILabel()

Xcode

The IDE used for developing applications on Apple's platforms.

Integrated environment for writing Swift, Objective-C, and SwiftUI code. It includes tools for debugging, testing, and deployment.

Xcode > File > New > Project




Android Development

Language/Tool

What it is

Key Use

Example

Java

A general-purpose, object-oriented programming language traditionally used for Android development.

Building Android apps, backend systems, enterprise solutions, and cross-platform apps (using tools like React Native).

String message = "Hello, World!";

Kotlin

A modern, statically typed language for Android development, now the preferred language for Android apps.

Writing Android apps more concisely and safely compared to Java. It works interoperably with Java.

val message = "Hello, World!"

Android SDK

A software development kit containing tools, libraries, and APIs to build Android applications.

Provides necessary tools to develop Android apps, including emulator, debugger, and Android libraries.

android.widget.TextView

Android Studio

The official IDE for Android development, based on IntelliJ IDEA.

Integrated development environment for writing, testing, and debugging Android apps.

Android Studio > Create New Project

Gradle

A build automation tool used by Android to handle project dependencies, build processes, and deployment.

Automates tasks like compiling code, linking resources, and managing project dependencies for Android apps.

apply plugin: 'com.android.application'





Backend Development

Language/Tool

What it is

Key Use

Example

Python

A high-level, general-purpose language used in web and backend development.

Popular in web frameworks like Django and Flask, as well as for scripting, automation, data science, and APIs.

def hello(): print("Hello, World!")

Ruby

A dynamic, object-oriented language often used with the Rails framework for web development.

Building scalable applications with a focus on simplicity and developer happiness.

puts "Hello, World!"

Node.js

A JavaScript runtime built on Chrome’s V8 engine to build scalable server-side applications.

Server-side JavaScript used to build web applications and APIs. Efficient for real-time applications like chat apps.

const http = require('http');

Go (Golang)

A compiled, statically typed language developed by Google, known for its efficiency and speed.

Writing high-performance backend services, particularly in cloud computing and distributed systems.

package main; import "fmt"; func main() { fmt.Println("Hello, World!") }





Database Technologies

Language/Tool

What it is

Key Use

Example

SQL

Structured Query Language used for managing and querying relational databases.

Used for data retrieval, insertion, deletion, and modification in relational databases like MySQL, PostgreSQL.

SELECT * FROM users WHERE age > 18;

MongoDB

A NoSQL database that stores data in flexible, JSON-like documents rather than tables.

Storing and handling unstructured data with high scalability. Useful for applications requiring dynamic data models.

db.users.find({ age: { $gt: 18 } })

MySQL

An open-source relational database management system that uses SQL.

Storing and managing structured data in relational databases.

CREATE DATABASE testdb;

PostgreSQL

An advanced, open-source relational database system known for reliability and advanced features.

Handling complex queries, supporting JSON, and ensuring ACID compliance.

SELECT * FROM employees WHERE salary > 50000;




Backend Development

Category

Technology/Tool/Library/Concept

Description/Use Cases

Languages

Node.js

JavaScript runtime for backend, non-blocking I/O, and asynchronous processing.


Python

High-level language popular for backend development (Django, Flask). Easy to learn, used for APIs, automation, and data analysis.


Java

Object-oriented language, widely used for enterprise-scale backend systems and large web applications (Spring, Hibernate).


Ruby

Dynamic, object-oriented language used with the Ruby on Rails framework for rapid development of web applications.


Go (Golang)

A statically typed language developed by Google. Known for high performance and scalability in web servers and APIs.


PHP

Server-side language for building dynamic websites. Often used in CMSs like WordPress and for e-commerce.

Frameworks

Express.js

Web framework for Node.js, essential for building REST APIs and handling HTTP requests.


Django

Python framework that encourages rapid development and clean, pragmatic design.


Flask

Lightweight Python framework that provides the basics for web development, ideal for small projects or microservices.


Spring Boot

Java-based framework for building production-ready, stand-alone, and web applications.


Ruby on Rails

Full-stack Ruby framework that emphasizes convention over configuration. Helps speed up web app development.

Databases

MySQL

Relational database management system, ideal for structured data and supports SQL queries.


PostgreSQL

Advanced open-source RDBMS with support for complex queries, transactions, and analytics.


MongoDB

NoSQL document-based database used for handling large volumes of unstructured data.

Authentication

JWT (JSON Web Tokens)

Standard for securely transmitting data between parties, especially for authentication in web apps.


OAuth

Open standard for access delegation commonly used in login systems (e.g., Google, Facebook login).




Mobile Development

Category

Technology/Tool/Library/Concept

Description/Use Cases

Languages

Swift

Language for building iOS/macOS applications with modern features and high performance.


Kotlin

Preferred language for Android app development, offering concise syntax and full interoperability with Java.


Java

Android's primary language for building native apps, widely used in Android development for years.

Cross-Platform

React Native

Framework for building mobile apps using JavaScript and React, supporting both iOS and Android.


Flutter

Google's UI toolkit for building natively compiled apps for mobile, web, and desktop from a single codebase (Dart language).


Xamarin

Microsoft’s cross-platform framework for building mobile apps with C# and .NET.

Development Tools

Xcode

Integrated development environment (IDE) for macOS to build iOS and macOS applications.


Android Studio

Official IDE for Android development using Java, Kotlin, and other languages.


 
 
 

Comments


bottom of page