Language ZOO Flashcards

1
Q

Scala

A

typing: static
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: yes
pattern matching: yes
default API Mutability: immutable/mutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Java

A

typing: static
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: yes
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

C

A

typing: static
garbage collection: no
Objects, subtyping, inheritance: no
traits: no
pattern matching: no
default API Mutability: mutable
first class functions: no(function pointers, no closures)
parametric polymorphism: no (use macros)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

C++

A

typing: static
garbage collection: no
Objects, subtyping, inheritance: yes
traits: no
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: yes(templates)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Python

A

typing: dynamic
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: no
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: no(dynamically typed)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

C#

A

typing: static
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: yes
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

PHP

A

typing: dynamic
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: no
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: no

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

JavaScript

A

typing: dynamic
garbage collection: yes
Objects, subtyping, inheritance: yes/no
traits: no
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: no

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Haskell

A

typing: static
garbage collection: yes
Objects, subtyping, inheritance: no
traits: yes/no (type classes)
pattern matching: yes
default API Mutability: immutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Kotlin

A

typing: static
garbage collection: yes
Objects, subtyping, inheritance: yes
traits: yes
pattern matching: no
default API Mutability: mutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Rust

A

typing: static
garbage collection: no
Objects, subtyping, inheritance: no
traits: yes/no (type classes)
pattern matching: yes
default API Mutability: mutable
first class functions: yes
parametric polymorphism: yes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Lisp

A

typing: dynamic
garbage collection: yes
Objects, subtyping, inheritance: no(library)
traits: no
pattern matching: no(library)
default API Mutability: mutable(common LISP/Scheme); immutable(Clojure)
first class functions: yes
parametric polymorphism: no

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Where is Scala used?

A

finance, web
Twitter, Coursera, NYT, Guardian
known for: mixing object-oriented and functional programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Where is used?

A

web back ends, android apps, business
Minecraft
known for: JVM platform, bit verbose, FoobarFactoryFacadeImplementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Where is C used?

A

systems programming, embedded systems, squeeze out last bit of performance
DOOM, Linux/Unix/Windows/OSX Kernel, Git
known for: small language, low level

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Where is C++ used?

A

games, systems programming, embedded systems, squeeze out last bit of performance
Most AAA-games, Unity, Unreal, browsers
known for: low level (higher than C), complex language

17
Q

Where is Python used?

A

data analysis, machine learning, server side web programming
YouTube, Instagram, AlphaGo
known for: slow, easy to get started, whitespace indentation, initially developed at “centrum wiskunde & informatica”

18
Q

Where is C# used?

A

business, web, games
Stack overflow, banks, indie games, unity in-engine language
known for: developed by Microsoft, similar to Java

19
Q

Where is PHP used?

A

web back end
Facebook, Wikipedia
known for: used with HTML, considered badly designed, intended for non-programmers

20
Q

Where is JavaScript used?

A

web front-end
any interactive webpage
known for: the only language for client side web programming, nothing to do with Java, developed in 10 days, confusing

21
Q

Where is Haskell used?

A

finance, programming language research
Facebook spam filter, Standard Chartered trading software, Glasgow Haskell Compiler
known for: influential, lazy evaluation, type inference, type classes(monads)

22
Q

Where is Kotlin used?

A

android development, banking software
android apps
known for: new JVM language, endorsed by Google, string cannot be null

23
Q

Where is Rust used?

A

systems programming, as modern and safe alternative to C and C++
Firefox, Libra, Discord
know for: ownership types instead of manual management, functional systems programming

24
Q

Where is Lisp used?

A

programming language research in the past, AI research in the past, Web back end(Clojure)
Emacs LISP, Walmart Data management systems
known for: minimal, code as data(homoiconic), metaprogramming(macros), very influential, used for books about structure and interpretations of computer programs

25
Q

TIOBE

A

programming language popularity index based on numbers of search engine results

26
Q

PYPL

A

ranks based on number of search engine searches

27
Q

IEEE

A

ranks based on a combination of engine