Kirjoittaja Aihe: Ohjelmointikielien historiapuu  (Luettu 127 kertaa)

ilkant

  • Käyttäjä
  • Viestejä: 1605
  • Kubuntu
    • Profiili
Ohjelmointikielien historiapuu
« : tänään kello 02:18 »
Siirsin tuolta Ubuntun uuden version keskusteluketjusta tämän ohjelmointikielien historian tänne omaksi viestiksi. Sopii paremmin tänne alueelle.

Ohjelmointikielien historiapuu. Ja jos tuota kaaviota vähän kritisoisi, niin Pythonissa on mielestäni jonkinmoiset listojen käsittelyominaisuudet kuten Lispissä.

Tein tuolle historiapuulle Linuxin dot-ohjelman ohjaustiedoston ohjelmointikielet.dot ja sen kuva. Saa käyttää, mutta toivon, että lisäyksistä ilmoitetaan, jotta voin lisätä ne tuohon omaan kaaviooni.

Tuossa kaaviossa ei ole Basic-kieltä. Siitäkin on versio Simon's Basic. Ehkä muitakin. Sitten 1970-luvun loppupuolella tuli ohjelmoitavia laskimia. Texas Instrumentsin laskimessa oli AOS-logiikka, jolla pystyi tekemään yksinkertaisia ohjelmia (funktioita).
« Viimeksi muokattu: tänään kello 02:20 kirjoittanut ilkant »

nm

  • Käyttäjä
  • Viestejä: 16773
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #1 : tänään kello 04:45 »
Alkuperäinen lähde lienee tämä: https://rigaux.org/language-study/diagram.html
Tuolla sivulla on suunnilleen vuoteen 2018 saakka päivitetty versio sukupuusta, ja myös laajempi 150 kielen versio. Graphviz-dot-tiedosto on myös saatavilla.
« Viimeksi muokattu: tänään kello 04:49 kirjoittanut nm »

AimoE

  • Käyttäjä
  • Viestejä: 2888
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #2 : tänään kello 06:33 »
Ja jos tuota kaaviota vähän kritisoisi, niin Pythonissa on mielestäni jonkinmoiset listojen käsittelyominaisuudet kuten Lispissä.

Kun ohjelmointikieliä luokitellaan, "listojen käsittely" ei ole oikea kriteeri. Listoja käsitellään kaikissa kielissä jollain lailla, mutta useimmat kielet ovat silti proseduraalisia. Prolog on logiikkaohjelmointiin tehty, Lisp ja Haskell ovat funktionaalisia kieliä. Tämä kolmijako (proseduraalinen, funktionaalinen ja logiikkaohjelmointi) on tärkein. En edes tiedä muita pääkategorioita.

Monissa proseduraalisissa kielissä, myöskin Pythonissa, on mukana ominaisuuksia, joiden avulla koodia voi kirjoittaa funktionaaliseen tyyliin, mutta se ei muuta kieltä funktionaaliseksi, se on vain tyyli.

Snufkin

  • Käyttäjä
  • Viestejä: 654
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #3 : tänään kello 09:41 »
Tämä kolmijako (proseduraalinen, funktionaalinen ja logiikkaohjelmointi) on tärkein. En edes tiedä muita pääkategorioita.

Onhan noita jakolinjoja:
- käänettävä vs tulkattava
- olio-ohjelmointi vs proseduraalinen
- vahvasti vs heikosti tyypitetty
- matalan vs korkean tason kieli

En tiedä onko ohjelmointikielien luokittelu edes kovin mielekästä. Ei ainakaan kovin hyödyllistä.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

_Pete_

  • Käyttäjä
  • Viestejä: 1857
  • Fufufuuffuuu
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #4 : tänään kello 11:16 »

Snufkin

  • Käyttäjä
  • Viestejä: 654
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #5 : tänään kello 11:45 »
Ihmisillä on jostain syystä aina hirveä hinku määritellä ja luokitella asioita. Erityisen voimakasta tämä on länsimaisessa kulttuurissa ja tieteen parissa. Ehkä tässä kulttuurissa eläneinä meillä on tarve saada sanoille joku eksakti merkitys, josta voi tehdä loogisia päätelmiä.

Mutta jos ajattelee asiaa laajasti, niin emme pysty edes määrittelemään mikä on ohjelmointikieli. Skaala lähtee ohjelman ideasta sen konekieliseen koodiin asti ja rajan voi vetää halutessaan mihin vain. Onko vuokaavio ohjelma? Entä onko UML ohjelmointikieli? Onko pseudokieli sellainen vai vasta joku, minkä voi jollain tavalla ajaa prosessorissa? Tuo rajanveto on liki mahdoton ja aina enemmän tai vähemmän subjektiivinen käsitys.

Ja kun itse perustermi on näin epämääräinen, niin miten sitä voisi sitten luokitella jotenkin hyödyllisesti? Mielestäni ei voi. Pitää puhua ohjelmoinnin evoluutiosta hieman vastaavasti kuin luonnollisten kielien parissa. Sieltä löytyy niin standardoidut kielet mutta myös lukuisa joukko murteita ja jatkuvaa uutta sanastoa ja ilmaisua.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

_Pete_

  • Käyttäjä
  • Viestejä: 1857
  • Fufufuuffuuu
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #6 : tänään kello 13:01 »
Ihmisillä on jostain syystä aina hirveä hinku määritellä ja luokitella asioita. Erityisen voimakasta tämä on länsimaisessa kulttuurissa ja tieteen parissa. Ehkä tässä kulttuurissa eläneinä meillä on tarve saada sanoille joku eksakti merkitys, josta voi tehdä loogisia päätelmiä.

Mutta jos ajattelee asiaa laajasti, niin emme pysty edes määrittelemään mikä on ohjelmointikieli. Skaala lähtee ohjelman ideasta sen konekieliseen koodiin asti ja rajan voi vetää halutessaan mihin vain. Onko vuokaavio ohjelma? Entä onko UML ohjelmointikieli? Onko pseudokieli sellainen vai vasta joku, minkä voi jollain tavalla ajaa prosessorissa? Tuo rajanveto on liki mahdoton ja aina enemmän tai vähemmän subjektiivinen käsitys.

Ja kun itse perustermi on näin epämääräinen, niin miten sitä voisi sitten luokitella jotenkin hyödyllisesti? Mielestäni ei voi. Pitää puhua ohjelmoinnin evoluutiosta hieman vastaavasti kuin luonnollisten kielien parissa. Sieltä löytyy niin standardoidut kielet mutta myös lukuisa joukko murteita ja jatkuvaa uutta sanastoa ja ilmaisua.

Kyllä se on ihan tarkasti määritelty mikä on ohjelmointikieli ja mikä ei näin kertoo: https://fi.wikipedia.org/wiki/Ohjelmointikieli

Samaa asiaa mitä wikipediaan on koottu opetettiin yliopiston tietojenkäsittelytieteen opinnoissa 199x ja pitäähän asia olla oikeasti määritelty että sitä voidaan opettaa oikein kouluissa.


Snufkin

  • Käyttäjä
  • Viestejä: 654
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #7 : tänään kello 13:15 »
Kyllä se on ihan tarkasti määritelty mikä on ohjelmointikieli ja mikä ei näin kertoo: https://fi.wikipedia.org/wiki/Ohjelmointikieli

Listasta puuttuu esim. SQL, mikä usein luokitellaan ohjelmointikieleksi, toisaalta puhutaan kyselykielestä.

Ja mitä korkeammalle tasolle kielissä noustaan, sitä kauempana ollaan itse laitteesta ja lähempänä ollaan itse ohjelman (loogista) ideaa. UML:n kohdalla taidetaan puhua vielä mallinnuskielestä, koska yhteys prosessoriin on liian kaukainen.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

AimoE

  • Käyttäjä
  • Viestejä: 2888
    • Profiili
Vs: Ohjelmointikielien historiapuu
« Vastaus #8 : tänään kello 14:28 »
Kyllä se on ihan tarkasti määritelty mikä on ohjelmointikieli ja mikä ei näin kertoo: https://fi.wikipedia.org/wiki/Ohjelmointikieli

Kiitos. Pääjaolla tarkoitin siis paradigmoja.

Kyllä tässä ikä paljastuu, kun minulta jäi tuo olio-ohjelmointi pois. Se alkoi tulla mukaan 80-luvulla mutta ei ehtinyt omaan opinto-ohjelmaani, joten tiedot siitä ovat oma-aloitteisesti hankittuja.