Tech terms

for non-technical Techies

George Mauer

gmauer@gmail.com

@togakangaroo

Compilation

if(order.customer.isPreferred)

order.applyDiscount(0.1);

programming code looks like text, it needs to become instructions the computer can follow

Compilation

if(order.customer.isPreferred)

order.applyDiscount(0.1);

ADD value IN memory location 300 TO memory location 3140

MOVE value IN memory location 22130 TO 3011 IF value > 40

(many many lines of this)

Compilation is the process of taking it and converting it into something that works on the computer’s level

A programming language is...

Handyman

toolbox for doing common things

Interpreter

tool converts source code into machine language

Linguist

what style of source code developers write

Some languages make it really easy to use other languages from them (C# and Visual Basic, Go and C)

This Code Is...

  • Compiled
    • Code is converted to machine language by the developer
    • Production machine has only the machine code

  • Interpreted
    • Code is converted as it runs
    • Production machine has the source code

not manually

Compiled languages tend to be more enterprise-y (C#, Java) as opposed to interpreted languages (Javascript, Python, Ruby)

Many other way of separating languages too. From real differences based in mathematical theory to nonsense about how exactly to write compound words

And languages can be...

High Level

Functional

Object Oriented

Low Level

You’ve heard the term object-oriented

You’ve heard the term functional. There’s at least two definitions

This is not exclusive

Oh and one more big grouping

Runs on most Computers

Runs in Web Browsers

Since a web browser is the only piece of software almost any computer from phone to super fancy gaming desktop have, this is a big deal

Developers use...

Frameworks

code, typically written by someone else, intended to provide a way of doing a common set of related tasks

Libraries

code, typically written by someone else, that’s intended to use make a common programming task easier

Services

code, typically written by someone else, that lives outside your application and helps with a specific task

Developers use...

Frameworks

code, typically written by someone else, intended to provide a way of doing a common set of related tasks

Libraries

code, typically written by someone else, that’s intended to use make a common programming task easier

Services

code, typically written by someone else, that lives outside your application and helps with a specific task

soo...it gets crazy

Those are all tools but so are

Tools

used to write and manage source code

Oh and so are

Tools

Things you need to get your application to run

Web Server

Database

This application is a...

Cross-Platform

can run on windows, mac, linux, maybe mobile, with the same source code

Content Management System

based around the concept of enabling not-technical people to edit content

Single Page Application (SPA)

unlike the old days, each click doesn’t reload the page

And our team does...

Agile

Scrum

Kanban

And we love testing

SOLID Principles / Clean / Idiomatic Code

Design Patterns

Domain Driven Development

Systems Architecture

Systems architecture covers microservices, how to plumb between them and monitor your system as a whole

Distributed

CAP Theorem

Consistency

Availability

Partition Tolerance

Questions?

for non-technical Techies

George Mauer

gmauer@gmail.com

@togakangaroo

Tech Terms for Non-technical Techies - Google Slides