Language ZOO Flashcards

(27 cards)

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
TIOBE
programming language popularity index based on numbers of search engine results
26
PYPL
ranks based on number of search engine searches
27
IEEE
ranks based on a combination of engine