Helsingin yliopisto / tietojenkäsittelytieteen osasto / © Arto Wikla 2019
Ohjelmointikielten periaatteet:
harjoitustöissä tarkasteltavia kieliä
(Muutettu viimeksi 5.11.2019. Sivu perustettu 15.10.2019.)
Tarjolla olevat kielianalyysikohteet:
Koska osaston perusopetuksen uudeksi kieleksi kaavaillaan Python-kieltä,
"pakko-Pythonia", kaikille ryhmille yhdeksi vertailtavaksi
kieleksi annetaan juuri Python, eriyisesti kielen versio 3.
Sitä voi käyttää vertailukohtana ja
"mittatikkuna" työryhmän muihin kieliin. Koska Java on kaikille osaston
opiskelijoille tuttu, myös sitä voi käyttää vertailuun.
- Python,
ALGOL 60,
Lua
- Python,
Fortran,
Go
- Python,
Smalltalk,
Rust
- Python,
Ada,
Erlang
- Python,
APL,
C#
- Python,
C++,
Ruby
- Python,
COBOL,
Haskell
- Python,
Pascal,
Clojure
- Python,
Perl,
Groovy,
- Python,
C,
JavaScript
- Python,
Visual Basic,
ML
- Python,
PHP,
Curry
- Python,
BASIC,
Swift
- Python,
SNOBOL,
Objective-C
- Python,
Scheme,
F#
- Python,
Prolog,
D
- Python,
PL/I,
Elixir
- Python,
Java,
Lucid,
- Python,
Eiffel,
Scala
- Python,
R,
Julia
Lyhyitä luonnehdintoja joistakin kielistä:
-
Ada:
kokosi aikansa kaikki hienot ideat, turvallisuustavoitteinen
– sisältää monia vielä(?) yleistymättömiä hienouksia
- ALGOL 60:
historiallinen kieli, joka esitteli paljon merkittäviä ominaisuuksia
-
APL:
erikoisten ratkaisujen klassikko, josta ei tullut tiennäyttäjää:
erittäin ilmaisuvoimainen
-
C:
"aikamme assembler"
- C++:
C:n oliolaajennus, joka laajentaa paljon muutakin...
-
C#:
MS:n vastaus Javalle, kiinnostavia eroja
- Clojure:
"moderni" Lisp-murre
- COBOL:
"hallinnollisen tietojenkäsittelyn" klassikko
- Common Lisp:
muodosti vanhoista Lisp-murteista uuden yhteisen "lingua francan",
mutta olikin itse uusien Lisp-murteiden lähtökohta
-
Curry:
yhdistää funktionaalista ohjelmointia ja logiikkaohjelmointia
-
D:
C++-lähtöinen mutta kovasti "modernisoitu" kieli
-
Dylan:
funktionaalinen oliokieli, dynaaminen ja refleksiivinen
-
Eiffel:
Design by contract -lähtöinen kieli, paljon muutakin mielenkiintoista
-
Erlang:
paljon uusia ideoita, mm. aktorimalli rinnakkaisuuteen ym.
-
F#:
MS:n "moderni" kieli
- Fortran:
numeerisen laskennan ehdoton ykkönen jo 50 vuotta,
todellinen klassikko
-
Go:
Googlen "moderni" kieli
-
Groovy:
Javan päälle rakennettu javamainen "moderni" kieli
-
Haskell:
tosimiesten ja -naisten funktionaalinen kieli
- JavaScript:
ikäisekseen nykyaikainen – usein käytetään triviaalisti,
mutta aidosti vahva ja jännä kieli
-
Lua:
"erilainen kieli", suosittu mm. peliohjelmoinnissa
-
ML:
monien "modernien" kielten äiti – uuden ajan klassikko
-
Objective-C:
Smalltalkilla modernisoitua C:tä – vaikka Smalltalk on vanhempi...
-
Pascal:
aikansa uudenaikainen ja tyylikäs kieli
- Perl:
kehittyneiden skriptikielten äiti
- PHP:
yleiskäyttöinen skriptikieli, alunperin verkkosivujen laadintaan,
"Personal Home Page"
- Prolog:
pitkään suurin piirtein sama asia kuin "logiikkaohjelmointi"
-
Python:
"moderni" kieli "lentävän sirkuksen" hengessä
-
Ruby:
tyylikäs "moderni" kieli
-
Scheme:
merkittävä Lisp-murre – joillekin miltei palvonnan kohde
- Simula 67:
oliokielten esiäiti – Algolin lapsi ja Smalltalkin
ideapankki
- Smalltalk:
oliokielten ehtoisa äiti
- SNOBOL:
symbolimanipulaatiokielten äiti
- Swift:
Applen kehittämä moniparadigmakieli
- Visual Basic:
"helppo" kieli pienten graafisten sovellusten tekoon
Luennoilla käytettäviä esimerkkikieliä:
Kieliluetteloita yms.
by WebCounter
starting
15.10.2019