- Agile - A software development method that defers major design decisions until it's too late to do it any other way
- AS2 - A meta-protocol designed to convey wealth from the buyer of AS2 software to the seller without any accidental reciprocation of value
- AOP (Aspect Oriented Programming) - A programming technique, plus language features, for separating concerns--as long as the concern happens to be logging
- Big Design Up Front - A software development technique that casts a design in stone before the chiseling has begun
- Bytecode (AKA P-code) - Machine language for an imaginary machine. MSIL - Machine language for an imaginary machine that just happens to be the x86
- CASE (Computer-Aided Software Engineering) - A grown-ups version of SimCity that won't get you fired
- Cloud - Computers with a higher TCO than those you own yourself
- Code Review - A practice for discovering code worthy of submitting to thedailywtf.com
- CSS - A typesetting language designed to be abused for layout
- Declarative Programming - A language feature for placing policy and logic in areas inaccessible to debuggers
- Design By Contract - A programming technique, plus language features, for throwing exceptions early
- Distributed Computing - Using multiple, networked computers to reconcile datasets that have been broken up and munged on multiple, networked computers
- DRY (Don't Repeat Yourself) - A principle used by novice programmers to justify the creation of gigantic "utility" classes
- DSL (Domain Specific Language) - A programming or markup language designed by non-language designers
- EDI (Electronic Document Interchange) - A document standard for creating incompatible business messages
- Enterprise - Software priced according to how much money you have
- Evidence Based Scheduling - Estimating development time by measuring bathroom, lunch and smoke breaks
- Functional Programming - Language features or paradigm that maximizes the use of nested parens
- Hello World - A metric for judging how impatient the language designer was
- IDE (Integrated Development Environment) - A code editor with a seamless front-end for the compiler, debugger, documentation, and vendor's upsell
- Java - A C derivative powering major banks and institutions such as Bear Sterns, Lehman Brothers, AIG, Washington Mutual and Iceland
- Key-Value Store (AKA hash table) - A very scalable data storage model that transfers the burden of maintaining indexes and relational integrity from the database to the developer
- KISS (Keep It Simple, Stupid) - A philosophy that encourages coding only what the dumbest developer understands
- Lambdas - Hit-and-Run programming
- LINQ (Language INtegrated Queries) - Functional extensions to .Net languages, designed to be mistaken for another ADO.Net replacement
- Map/Reduce - A programming technique for making an entire building full of cheap PCs behave like a departmental mainframe
- MVC (Model-View-Controller) - The division of data representation, its presentation, and business logic, as applied to whatever code the developer feels like calling it
- .Net ("dot net") - A strategy by Microsoft to hide their best work from reasonably phrased Google queries
- OOP (Object Oriented Programming) - A language feature for converting boxes drawn on whiteboards into compilable code as literally as possible
- ORM (Object Relational Mapping) - Hiding the features of a relational database behind an impotent machine-generated abstraction
- Pair Programming - A way to discourage surfing the web when you're supposed to be working
- Perl - A utility and scripting language with built-in obfuscation
- PHP - Perl for web pages, but without the discipline or foresight
- Procedural Programming - A language feature for hiding GOTOs behind names
- RAD (Rapid Application Development) - Shortening development time by putting the entire program in Form1.vb
- Refactoring - Fixing what isn't broken
- Relational model - A way of representing data in terms of its relation to surrogate keys
- Scrum - Part of the Agile process that ensures development is in agreement with the strongest personality at the table
- SOA (Service Oriented Architecture) - A way to isolate the greater system from the incompetence of one team or developer
- TDD (Test Driven Development) - An approach to programming that doubles the coding effort in exchange for proving the inverse of the Halting Problem
- UML (Unified Modeling Language) - Writing classes without the hassle of making them work
- Waterfall - A software development method that completes the requirements gathering phase before the customer knows what they want
- XAML (XML Application Markup Language) - A form definition language that gives you all of the placement and alignment flexibility of nested HTML tables
- XSLT (XML Stylesheet Language Transforms) - A Turing equivalent declarative language for encouraging the proliferation of XML dialects
- XML - A hierarchical document format that emphasizes syntax over substance
- XP (Xtreeme Programming) - A software development method that maximizes head-count
- YAGNI (You Aren't Gonna Need It) - A philosophy that discourages making preparations for the future
|
|