GithubHelp home page GithubHelp logo

unfortunately-named-programming-terms's Introduction

Unfortunately-Named Programming Terms

Because programming would be hard enough if we had good names for things. I mean seriously. For an activity that requires such relentless, fastidious precision of its practitioners, it's miraculous we can even communicate at all.

If you've ever tried teaching programming to beginners, maybe you've noticed. Or maybe this is the first time you're deliberately considering how overloaded our terms of art are, and are maybe surprised by what you find.

Either way, welcome!

Hope you find this interesting, and please feel welcome to contribute.

Note: documentating != proposing replacement

Without further ado:

term meanings issues
key
  1. unique value allowing efficient lookup of associated values (e.g. in a map, datastore, etc.)
  2. (non-unique) attribute of data in a collection by which it can be ordered, grouped, etc.
  3. a secret value used for encryption/decryption/authentication
  4. a public value used for encryption and authentication
  • overloaded, difficult to google
  • the metaphor works for symmetric key crypto ("only those with the key can lock/unlock access") but only causes confusion for public key crypto ("I give my key out to everyone?")
value
  1. the value that a key (e.g. in a map) is associated with
  2. any data (e.g. that can be stored in a variable)
  • overloaded, difficult to google
set
  1. to assign a value
  2. a collection of unique elements
  • overloaded, difficult to google
map
  1. to apply a function to a collection of of elements
  2. a data structure associating keys with values
  • overloaded, difficult to google
class    
type    
object    
heap
  1. a pool of memory managed by an allocator
  2. a type of tree-based data structure
  • overloaded, difficult to google because a heap-tree is typically allocated on the heap, and a memory heap is itself implemented with some sort of a data structure
constant
  1. a hard-coded value or 'magic number'. typically a literal expression. possibly even a value computed at compile-time ('constexpr')
  2. an attribute of an access path to a value, through which the value cannot be modified. However the value itself might be mutable
  • if you have a 'constant', it would be reasonable to assume that its value will remain constant, rather than being inadvertently modified by some other piece of code which holds a mutable reference to the data.

    ambiguous synonyms: - immutable (D, transitive) - persistent (Clojure, intransitive) - final (Java, intransitive) - frozen (JavaScript, intransitive) - readonly (C#, intransitive)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.