Python Acronyms and Vocabulary

Guglielmo Feis
Analytics Vidhya
Published in
4 min readApr 3, 2020

This is a short(ish) list of vocabulary pieces that pops out as you start coding but may not be 100% clear. Vocabulary is part of the things that may contribute to make Python look mysterious for beginners (others are here). Here I focus only on Acronyms only. Ok, you may google that, but I’ll save you that. An I’ll also divide them into areas, more or less.

Python (in general)

  • PEP. ‘Python Enhancement Proposal’. This is how Python evolves. You propose an enhancement and if it gets approved that will be featured in the next release. (Actually, it gets more complex than that, see PEP 13). PEPs are a kind of document you need to get used to learn, think about them as special documentation (docs).
  • BDFL. ‘Benevolent Dictator for Life’. A friendly way to refer to Guido van Rossum, creator of Python.
  • IDE. ‘Integrated Development Environment’. A program that helps you gettin your (coding) job done. For R think RStudio. In Python think PyCharm, IDLE, Spyder. The last two are actually acronyms.
  • IDLE. Recursive acronym for ‘Integrated Development and Learning Environment’ with is Monty Python related as one oof the members is called Eric Idle. That’s the IDE that comes distributed with the standard Python distribution.
  • Spyder. The anaconda IDE it itself an acronym: ‘Scientific PYthon Development EnviRonment’. It will give you a lot of the scientific Python libraries.
  • Venv. ‘Virtual ENVironments’. Isolation tools. It’s were you build your programs to avoid any change it the outer environment screws your code without you being able to figure how and why.
[Use the small one to file you own learner’s dict? Photo by Aaron Burden on Unsplash]

Interfaces, file extensions and web-related resources are another source of capitalized letters

  • GUI. ‘Graphic User Interface’. Interacting with a program using something grafical, pointing and clicking. Think: Monkey Island.
  • CLI. ‘Command line interface’. Now we interact with machines using only text commands passed through the command line interface. Think: The first scenes of the Matrix. You may refer to CLI as Bash, Shell or Terminal.
  • CMS. ‘Content Management Systems’. A system that helps you getting your contents across. Think Blogger or Wordpress.
  • CSV. ‘Comma Separated Values’. The safe-haven to store data and pass them around across software.
  • JSON. ‘JavaScript Object Notation’. Standard to exchange data which is both human-readable and machine friendly.
  • REPL. ‘Read-Eval-Print Loop’. Also called a ‘language shell’. It’s an interactive compute programming environment that takes an input (‘read’), execute it (‘eval’) and send out put back (‘print’). All that forever (loop).
  • SSH. ‘Secure SHell’. A cryptographic network protocol used to secure network services over an unsecured network. Think: avoid logging or similar if this is not available.
  • URL. ‘Uniform Resource Locator’. Specific name of the ‘web address’ of normal people.
  • REST. ‘REpresentational State Transfer’. This was defined by Roy Fielding in his doctoral thesis. A RESTful service uses HTTP verbs (i.e. GET, HEAD, PUT) in specific ways. REST is used to provide APIs (see).
  • API. ‘Application Programming Interface’. Computing interface to a piece of software. You call an API to interact with the system. (E.g.: all the Twitter API to have big data streams you can’t have working lonely in the search bar.)
  • YAML. Recursive acronym: ‘YAML Ain’t Markup Language’. YAML is indeed a markup language that is intended to be pleasant both for humans and machines.

Development principles, techniques and philosophies also lead to a fair share of acronyms:

  • YAGNI. ‘You aren’t gonna need it’. Principle of extreme programming according to which you need to add things and function only when they are really needed.
  • XP. ‘Extreme Programming’. It doesn’t have to do with Windows’ former editions. It’s an implementation of agile software development according to with you only implement something new when (and if) you really need it.
  • TDD. ‘Test Driven Development’. You don’t write code. You first write tests that guide your code development. If your code passes the test, you keep on developing. Otherwise you try to fail you test better… You may have heard about the testing goat, haven’t you?
  • BDD. ‘Behavior-driven development’. Remarketing of TDD with a less scary word in the beginning. The Cucumber Book Behaviour-Driven Development for Testers and Developers book made it popular.
  • SOLID. That’s a whole set of acronyms related to SOLID principles of object-oriented programming. Roughly: Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion. Scary, eh?
  • VCS. ‘Version Control System’. This basically means a tool like Git and GitHub. But be sure to check out Maven as well.

Not an acronym, but:

  • DOCs. ‘Documentation’- As in “read the docs” documentation is where you go to find technical information about packages.

Coding Ideas Due to this Post

(We should always strive to find more coding ideas, don’t we?)

Well, I won’t let you with definitions only and no coding input. So there we go. The post was written with my usual RStudio and Markdown setup.

Markdown is cool, but sometimes you want some extra control:

  • Is there a way to sort a markdown list alphabetically?
  • And what about tools to add/remove a level of markdown (italics, bold, being a list, etc.) to some specific features?

Have fun!

Was this interesting? Feel free to connect over on Linkedin or join broader conversation over Twitter (expect some fantavolley struggles).

This work is carried out as part of a CAS Fellowship as CAS-SEE Rijeka. See more about the Fellowship here.

--

--

Guglielmo Feis
Analytics Vidhya

M.A. phil. Ph.D.. Now in tech as a programmer. I send random stuff in your inbox https://1110sillabo.substack.com/ Guitar player, digital gardener and more.