programming - Concepts
Explore concepts tagged with "programming"
Total concepts: 36
Concepts
- Convention Over Configuration - A software design paradigm that reduces decisions developers need to make by providing sensible defaults based on conventions.
- Dead Code - Source code that exists in a program but is never executed, has no effect on the output, or is unreachable.
- Clean Code - Code that is easy to understand, maintain, and modify, following principles of readability, simplicity, and expressiveness.
- Premature Optimization - The practice of trying to improve code performance before it's necessary, often at the expense of clarity and maintainability.
- MIT License - A permissive open source license that allows almost unrestricted freedom to use, copy, modify, and distribute software with minimal conditions.
- Apache License 2.0 - A permissive open source license that allows users to use, modify, and distribute software while providing an explicit patent grant and requiring preservation of copyright notices.
- Open Source - Software whose source code is made publicly available for anyone to view, modify, and distribute, fostering transparency, collaboration, and innovation.
- Pair Programming - An agile software development technique where two programmers work together at one workstation, sharing a single screen and keyboard.
- Bash - A Unix shell and command language that serves as both an interactive command interpreter and a powerful scripting language.
- Python - A high-level, interpreted programming language known for its readable syntax and versatility, widely used in AI/ML, data science, web development, and scripting.
- Design Patterns - Reusable solutions to commonly occurring problems in software design, providing templates for solving design challenges.
- SQL - A domain-specific language for managing and querying relational databases.
- Shell - A program that provides a command-line interface to interact with an operating system by interpreting user commands and executing them.
- Opinionated Software - Software that prescribes a particular way of doing things, making design decisions for users rather than offering maximum flexibility.
- TypeScript - A strongly-typed superset of JavaScript that adds static type checking and compiles to plain JavaScript, catching errors at development time rather than runtime.
- Side Effects - Observable changes to state or interactions with the outside world that occur during the execution of a function or operation.
- Org-mode - A powerful major mode for Emacs that combines outlining, task management, scheduling, literate programming, and document publishing in a plain-text format.
- Error Handling - The practice of anticipating, detecting, and responding to errors in software to maintain system stability and provide meaningful feedback.
- Defensive Programming - A coding practice that anticipates potential errors and edge cases, writing code that fails safely and provides clear error information.
- Code Kata - Programming exercises designed to improve coding skills through deliberate, repeated practice.
- Zsh - A powerful Unix shell that extends the Bourne shell with advanced features like enhanced tab completion, spelling correction, and extensive customization options.
- Data Structures - Specialized formats for organizing, storing, and managing data in computers to enable efficient access and modification.
- Linux - A free and open-source Unix-like operating system kernel that powers the majority of web servers, cloud platforms, supercomputers, and Android devices.
- YAML - A human-readable data serialization format designed for configuration files and data exchange, using indentation-based structure instead of brackets or tags.
- JavaScript - A high-level, interpreted programming language that powers interactive web pages and modern applications across browsers, servers, and mobile platforms.
- JSON - A lightweight, text-based data interchange format that is easy for humans to read and write, and easy for machines to parse and generate.
- Rubber Duck Debugging - A debugging technique where explaining code line-by-line to an inanimate object helps identify the source of bugs.
- Refactoring - The process of restructuring existing code without changing its external behavior to improve readability, maintainability, and design.
- HTML - The standard markup language for creating web pages and web applications.
- Separation of Concerns - A design principle for dividing a system into distinct sections, each addressing a separate concern or responsibility.
- Literate Programming - A programming paradigm that treats programs as literature by interweaving human-readable documentation with executable code.
- Oh My Zsh - A community-driven framework for managing Zsh configuration that provides thousands of themes and plugins to enhance the command-line experience.
- Ubuntu - A Debian-based Linux distribution focused on ease of use and accessibility, making it the most popular desktop Linux distribution worldwide.
- Command Line Interface - A text-based interface where users interact with software by typing commands and receiving text output.
- Pure Functions - Functions that always return the same output for the same input and produce no side effects.
- Code Smell - Surface-level indicators in source code that suggest deeper problems in the design or implementation.
← Back to all concepts