Jaakko Suominen, Digitaalinen kulttuuri

[Luentorungot]

A11.7 Digitaalitekniikan pehmeä puoli? Ohjelmistohistorian harjoituskurssi (2 ov)

Sisältö: Ohjelmistojen historia on varsin uusi ja kasvava tutkimusalue tietotekniikan historian tutkimuskentällä. Kurssilla tutustutaan erilaisiin tietokoneohjelmiin ja ohjelmatyyppeihin, niiden historiaan ja merkitykseen osana digitaalista kulttuuria. Kurssi koostuu luennoista ja yksin tai ryhmissä tehtävästä harjoitustyöstä.
Suoritustapa: Kurssi koostuu luennoista ja yksin tai ryhmissä tehtävästä harjoitustyöstä.
Opetus: Viikot 10-11 maanantai klo 16-18 (ls 267) ja keskiviikko klo 16-18 (sh 268), viikot 18-20 maanantai klo 8-10 (ls 267) ja keskiviikko klo 10-12 (sh 268), viikko 21 maanantai klo 8-10 ja keskiviikko 10-12 (sh 268).
Opettaja: Professori Jaakko Suominen

Alustava kurssiohjelma

Luentorungot

luento 1, luento 2, luento 3, luento 4, luento 5, luento 6 (ei verkkoaineistoa), luento 7

LUENTO 1

A11.7 Digitaalitekniikan pehmeä puoli? Ohjelmistohistorian harjoituskurssi (2 ov)

Jaakko Suominen, kevät 2005

Kurssisisältö

Ohjelmistojen historia on varsin uusi ja kasvava tutkimusalue tietotekniikan historian tutkimuskentällä. Kurssilla tutustutaan erilaisiin tietokoneohjelmiin ja ohjelmatyyppeihin, niiden historiaan ja merkitykseen osana digitaalista kulttuuria. Kurssi koostuu luennoista ja yksin tai ryhmissä tehtävästä harjoitustyöstä.

Suoritustapa: Kurssi koostuu luennoista ja yksin tai ryhmissä tehtävästä harjoitustyöstä.

Opetus: Viikot 10-11 maanantai klo 16-18 (ls 267) ja keskiviikko klo 16-18 (sh 268), viikot 18-20 maanantai klo 8-10 (ls 267) ja keskiviikko klo 10-12 (sh 268), viikko 21 maanantai klo 8-10 ja keskiviikko 10-12 (sh 268).

Opettaja: Professori Jaakko Suominen

Alustava kurssiohjelma

vko 10 ma 16-18 Orientaatio kurssiin: suoritustavat, ohjelma, harjoitustyöaiheiden esittely, mitä ovat tietokoneohjelmat, ohjelmistojen ja niiden tutkimuksen yleislinjat suppeasti

vko 10 ke 16-18 Ohjelmien ja ohjelmoinnin tarpeen synty 1800-luvulta 1900-luvun alkupuolelle ja harjoitustöiden aiheiden valinta

ohjelmointitavat, ohjelmien tallentaminen (kortit, nauhat, magneettimuistit, levykkeet, romput jne)

konekieliohjelmointi, ohjelmointikielten kehityksen alkuvaiheet

vko 11 ma 16-18 ohjelmointiteollisuuden käynnistymisvaiheet, käyttöjärjestelmäkehityksen alkuvaiheet, ohjelmatyyppien kehitys modernin tietotekniikan ajalla sekä myytti "tappajasovelluksista"

vko 11 ke 16-18 Ohjelmointi ammattina 1950-luvulta 2000-luvulle ja tietoteknisen lukutaidon osana

vko 18 ma 8-10 Harjoitustöiden dispositioiden ja kysymyksenasettelun käsittelyä

vko 18 ke 10-12 Harjoitustöiden dispositioiden ja kysymyksenasettelun käsittelyä

vko 19 ma 8-10 Ohjelmavirheet ja haittaohjelmat kulttuurisena ilmiönä (bugit, virukset, vakoiluohjelmat, roskapostitusohjelmat jne)

vko 19 ke 10-12 Esimerkkejä ohjelmistoyritysten historiasta (esim. Microsoft)

vko 20 ma 8-10 Ohjelmistohistorian tutkimus ja aineiston tallentaminen, säilyttäminen ja arkistointi

vko 20 ke 10-12 Harjoitustöiden käsittelyä

vko 21 ma 8-10 Harjoitustöiden käsittelyä

vko 21 ke 10-12 Harjoitustöiden käsittelyä ja kurssiyhteenveto sekä palaute

Esseeaiheita

Valitse joku tunnettu tietokoneohjelmoija ja käsittele, esittele hänet henkilöhistoriallisesti ja käsittele, miksi hänestä on tullut kuuluisa (esim. Linus Torvalds, Richard Stallman, Ada Lovelace, Grace Hopper, peliohjelmoijat: Sid Meier, Richard Garriot, Shigeru Myamoto, Warren Spector tms.)

Tutustu peliohjelmointiin: miten peliohjelmointi on muuttunut 1980-luvulta 2000-luvulle tultaessa

Graafistentysvaiheita: ohjelmistourakointi (1950-l-), yritysten ohjelmistotuotteet (1960-), massamarkkinatuotteet (1970-l lopulta)

Software-termi esiteltiin 1959-1960, sitä ennen puhuttu ohjelmoinnista tai koodaamisesta

Lähde: Campbell-Kelly (2003)

Muita huomioita

Varhaisvaiheissa tietokoneita ja konttorikoneita ohjelmoitiin kytkemällä

Suurista laitevalmistajista esim. IBM paketoi laitteet, ohjelmat ja huollon, mutta joutui eriyttämään toimintojaan monopolisyytösten takia

Ohjelmia on tallennettu mm. reikäkorteille ja nauhoille, magneettilevyille ja nauhoille sekä myöhemmin mm. cd- ja dvd-levyille

Ohjelmistohistorian tutkimuksen mahdollisia näkökulmia

Biografiset esitykset (henkilöhistoriat)

Instituutiohistoriat (ohjelmistoyhtiöt jne.)

Sovelluskohtaiset tutkimukset

Kansallisesti orientoituneet tutkimukset

Kokonaisesitykset esim. ohjelmistoteollisuudesta

Entä millaisia olisivat kulttuurintutkimukselliset ja historialliset esitykset tietokoneohjelmista?

Vastaus edelliseen

Esim. ohjelmoinnin arvostusta tai julkisen kuvan muutosta käsittelevät tutkimukset

Sukupuolijärjestelmiä käsittelevät tutkimukset (ammattikunnan tutkimus, ohjelmistotuotteiden tutkimus)

Vastakulttuurisuuden ja vaihtoehtoliikkeiden analyysi

Ohjelmoinnin kytkeminen tallentamisen mediakulttuuriseen tai laajempaan digitalisoinnin kontekstiin

Erilaiset ohjelmien sisältöanalyysit jne. jne.

ß ohjelmistoihin liittyvien kulttuuristen merkitysten ja käytäntöjen ymmärtäminen ja tulkinta teknologian suunnittelun ja käytön kokemusten matriisissa

Seuraavalle kerralle

Mieti alustavasti oman harjoitustyösi (esseen) aihetta (ks. lista aiheista)

Seuraavalla kerralla lyödään lukkoon töiden aiheet ja käsitellään ohjelmoinnin ja ohjelmien tarpeen syntyä 1800-luvulta 1900-luvun alkupuolelle

Huom! Kurssin WWW-sivu, jossa esim. lisätietolinkkejä löytyy osoitteesta http://www.tuug.fi/~jaakko/opetus/ohjelmahistoria2005/

 

LUENTO 2

 

A11.7 Digitaalitekniikan pehmeä puoli? Ohjelmistohistorian harjoituskurssi (2 ov)

Luento 2: Ohjelmien ja ohjelmoinnin tarpeen synty

Jaakko Suominen, kevät 2005

Kurssikerran sisältö

Esseeaiheiden valinta ja esitysaikataulu

Ohjelmien ja ohjelmoinnin tarpeen synty 1800-luvulta 1900-luvun alkupuolelle ohjelmointitavat, ohjelmien tallentaminen (kortit, nauhat, magneettimuistit, levykkeet, romput jne)

Ohjelma

Ohjelma: ohjeiden koodattu kokonaisuus, jolla (tieto)kone saadaan suorittamaan haluttuja operaatioita

Ohjelma perustuu germaanisperäiseen ohja-sanaan, ohjelma oppitekoinen uudissana, Yrjö Koskinen ottanut käyttöön 1880, tätä ennen ruotsin program suomennettiin esim. julistuskirja, kutsumuskirja, myös käsky, sääntö, käytöksen osoitus (Häkkinen 2004)

Nykysuomen sanakirjan (1966) mukaan luettelomainen suunnitelma, selonteko jonkun tapahtuman sisällöstä tai jotain tilaisuutta varten laadittu järjestelmällinen selonteko

Tietokoneohjelma-termin tulo suomen kieleen

Jo 1950-luvun alkupuolen populaariesityksissä (esim. Laurila 1953) kirjoitettiin numerokoneen ohjauselimestä ja ohjeista, jotka on tietyn koodin mukaan painettu reikänauhalle koneen toimintaa varten

Tietokoneohjelma ja ohjelmisto ovat edellisistä johdettavia termejä, jotka tulivat laajempaan käyttöön luultavasti 1950-luvun lopulta 1960-luvun alkupuolelle

Software

Hardware = tietokoneen fyysiset osat, käyttöön tässä merkityksessä 1947 (yleisesti jo 1515)

Software = tietokoneen ohjelmat, käyttöön tässä merkityksessä 1950-1960-luvun taitteessa, aikaisemmin (1851-) villa- ja puuvillakankaat tai kaikkein herkimmät (hajoamaan tai pilaantumaan) kulutustavarat

Käsitteestä vielä

"Tietokonevalinnan yhteydessä ratkaisevaa osaa näyttää usein nykyään "soft-ware" (vastakohtana hardware=kone ja sen teknilliset ominaisuudet). Tällä tarkoitetaan lähinnä erilaisia ohjelmointiapuvälineitä sekä systeemikokemusta (Systems Know-How), joita edellytetään toimitettavan "pakkauksina" jo ennen koneen toimitusta." (joht. K. Dickman, Tietokone 2/1961, 6)

Taustahistoriaa

Tausta mm. teollistumisesta ja kapitalistisessa talousjärjestelmässä: töiden jakaminen, rationalisoiminen ja vaiheistaminen

Keskeisiä teoreetikoita mm. Adam Smith (1723-1790), Suomessa ehkä Antti Chydenius (1729-1803, vapaakauppa, ei niinkään muuten)

Keskeisiä teknisiä ideoijia: Joseph-Marie Jacquard (1752-1834) ja Charles Babbage (1791-1871)

Adam Smith ja ajatus työnjaosta

"Yksi mies venyttää langan, toinen suoristaa sen, kolmas katkaisee, neljäs teroittaa, viides hioo toisen pään nuppia varten [--] nuppineulan valmistamisen tärkeä tehtävä on täten jaettu noin noin kahdeksaantoista erilliseen käsittelyyn[.]" Kansojen varallisuus I (1933 (1776)), Työnjaosta, s. 7.

à Teollistamisen kuvaus, mutta miten edellinen liittyy tietokoneohjelmointiin?

Vastaus

Työn kuvaaminen ja jakaminen osiin, mahdollistaa tehostamisen ja automatisoinnin

Tarvitaan ohjeita koneita varten, algoritmeja, joissa tehtävä on jaettu osiin ja joissa osataan ottaa huomioon myös erilaiset toimintatilanteet ja ympäristöt

Reikänauhat ja kortit tekstiiliteollisuudessa

Käytössä osin jo 1700-luvun alkupuolelta

Reikäkorttiohjaus erit. Joseph-Marie Jacquardin (1752-1834) kutomakoneissa 1700-1800-luvun vaihteessa

Charles Babbage (1791-1871)

Tavoitteena työprosessien automatisointi koneiden avulla, mm. erotuskone ja analyyttinen kone, joista etenkin jälkimmäinen muistutti suunnitelmien perusteella rakenneosiltaan modernia tietokonetta ja oli tarkoitettu kaikenlaisten merkkisymbolien käsittelyyn

Analyyttiseen koneeseen suunniteltiin reikäkorttiohjausta

Ada Lovelace (1815-1852) ja ajatus ohjelmoinnista

"Voimme sanoa mitä osuvimmin että [Babbagen] analyyttinen kone kutoo algebrallisia kuvioita tai kuoseja [patterns] aivan kuten Jacquard-kudin neuloo kurki- ja lehtikuvioita." (Cit. Gere 2003)

Tallennetun ohjelman periaate

"Keskusmuisti sisältää käsiteltävän datan lisäksi suoritettavan ohjelman käskyt. Ohjelman käskyt suoritetaan yksi kerrallaan. Tietokone hakee muististaan käskyn, suorittaa sen, ja jatkaa käskyjen hakemista kunnes tehtävä on suoritettu." perustuu: John von Neumann (1903-57) "First Draft of a Report on the EDVAC" (1945)

Ensimmäiset tallennetun ohjelman periaatteella toimivat tietokoneet rakennettiin Iso-Britanniassa: Manchester Mark I (1948) ja EDSAC (1949). (Ks. esim. Jarmo Pulkkinen: Tietokone ihmismielen metaforana http://cc.oulu.fi/~pulkkine/metaforat_handout04.html)

Mekaanisempia tapoja koneiden ohjaamiseen ja tietojen syöttämiseen sekä tallentamiseen

Reikäkortit

Reikänauhat

Erilaiset metalliset sylinterit (esim. soittorasiat, automaattipianot ja muut vastaavat koneistot)

Myöhemmin mm. magneettinen tallentaminen ja lasertekniikka jne.

Erilaisia reikäkortteja

Lähde: Suomen tietojenkäsittelymuseoyhdistyksen sivut (http://www.tietokonemuseo.saunalahti.fi/)

Lisää reikäkortteja

Reikäkorttikoneiden kytkentä

Myös ENIAC-konetta (1945) ohjelmoitiin kytkemällä

Humoristinen mainos reikänauhan käytöstä

Myös suomalaisia varhaisia tietokoneita ohjattiin nauhalla

ESKO, Helsinki 1955-1960 ja Wegematic-1000, Turku 1960

Ohjelmien koodaamisen tapoja

Ohjelmien kirjoittaminen suoraan konekielimuodossa (esim. EDSAC 1948-1949) binäärilukuina

Symbolisen konekielen käyttäminen (tekeekö muunnoksen ihminen vai kone?), operaatiokoodi ja osoiteosa

Ohjelmakirjastojen luominen (valmiit testatut tavat toistuvien ja yhteisten tehtävien hoitamiseen), aluksi puhuttiin rutiineista (routine), ohjelmista (programs) vasta 1950-luvulla

Ohjelmointikieli FORTRAN

FORmula TRANslator (kaavankääntäjä), John Backus, IBM

Lähemmäs "normaalia kieltä", esim. X=2.0 * FSIN(A+B)

Lyhensi ohjelmointiin tarvittavan ajan tiettyjen sovellusten osalta viikoista päiviin tai tunteihin

Käytetään yhä tiettyjen teknis-tieteellisten sovellusten tekemisessä

Muita varhaisvaiheiden ohjelmointikieliä

COBOL (COmmon Business Oriented Language), 1960, keskeinen vaikuttajahenkilö Grace Hopper

ALGOL, eurooppalaisena ja amerikkalaisena yhteistyönä (kehitelmiä myös Pohjoismaissa)

Satoja ohjelmointikieliä kehitetty mutta suuri osa hävinnyt käytöstä, FORTRAN ja COBOL hallitsivat paria ensimmäistä vuosikymmentä

Huom! Y2K

Ohjelmointikielten keskeisiä piirteitä

Syöttö- ja tulostuslauseet

Peruslaskutoimitusten suorittaminen

Mahdollisuus poiketa peräkkäisyydestä lauseiden suoritusjärjestyksessä

Tiedon tallettaminen ja noutaminen muistista

Tyypillistä peräkkäisalgoritminen tiedonkäsittely (imperatiiviset kielet) mutta myös vapajärjesteistä tietojenkäsittelyä (esim. funktionaaliset ohjelmointikielet ja logiikkaohjelmointikielet)

Ensi kerralla

vko 11 ma 16-18 ohjelmistoteollisuuden käynnistymisvaiheet, käyttöjärjestelmäkehityksen alkuvaiheet, ohjelmatyyppien kehitys modernin tietotekniikan ajalla sekä myytti "tappajasovelluksista"

LUENTO 3

A11.7 Digitaalitekniikan pehmeä puoli? Ohjelmistohistorian harjoituskurssi (2 ov)

Luento 3:

Ohjelmistoteollisuuden historiaa

Jaakko Suominen, kevät 2005

Kurssikerran sisältö

vko 11 ma 16-18 ohjelmistoteollisuuden käynnistymisvaiheet, käyttöjärjestelmäkehityksen alkuvaiheet, ohjelmatyyppien kehitys modernin tietotekniikan ajalla sekä myytti "tappajasovelluksista"

Kurssikerran alku luentona, loppuosa (1980-1990-l) paritehtävänä ja keskusteluna

Luento pohjautuu pitkälti Campbell-Kellyn teokseen From Airline Reservations to Sonic the Hedgehog

Perustietoja ohjelmistoteollisuudesta (kertaus)

Ohjelmistoteollisuuden liikevaihto on kasvanut räjähdysmäisesti 1950-60-luvuilta ja erityisesti 1980-luvulta lähtien

Yhdysvallat ohjelmistoteollisuuden johtava maa

Kolme osa-aluetta, osittain peräkkäisiä kehitysvaiheita: ohjelmistourakointi (software contracting, 1950-l-), yritysten ohjelmistotuotteet (corporate software products,1960-), massamarkkinatuotteet (mass-market software products 1970-l lopulta)

Software-termi esiteltiin (1958)1959-1960, sitä ennen puhuttu ohjelmoinnista tai koodaamisesta

Lähde: Campbell-Kelly (2003)

Tyypillisiä eri vaiheiden yrityksiä

Urakoijat: SDC (1956), CUC (Computer Usage Company 1955), CSC (Computer Sciences Corporation 1959), Informatics (1962)

Yritysmarkkinoiden tuottajat: ADR (1959), Informatics (1962), Computer Associates (1976), Oracle (1977)

Massamarkkinat: Microsoft (1975), MicroPro (1978), Software Arts (1979), Lotus (1982), Activision (1980), Broderbund (1980)

Ohjelmoinnin aliarvostus

1940-luvulla ohjelmointi naisten työtä

1950-luvulla vielä usein aliarvioitiin ohjelmointikoodimäärän tarve ja projektien vaikeus

Aivan aluksi suurin osa ohjelmista käyttäjien tuottamia, ei laitevalmistajien, syntyi käyttäjäyhteenliittymiä kulujen karsimiseksi

IBM oli ohjelmistotuen edelläkävijä 1950-luvulla verrattuna esim. Univaciin, kuitenkin tarvittiin käyttäjien yhteenliittymiä kustannusten karsimiseksi (esim. SHARE)

Ohjelmointiurakoinnin synty

Yhdysvaltojen suuret tietokonejärjestelmäprojektit: Whirlwind ja SAGE, tarvittiin ohjelmia, useita puolustusvoimien urakoitsijoita mukaan

SAGEn ohjelma oman aikansa mittavin, yli miljoona ohjelmakäskyä (hinta n. $50/rivi)

-> Kylmään sotaan kytkeytynyt projekti takasi erinomaisen liiketuloksen esim. IBM:lle, joka oli mukana

Urakointiyritysten tausta

Perustajina yksittäiset henkilöt, joilla laajaa teknistä asiantuntemusta ja markkinataitoa (kiinnostusta)

Ohjelmointitaito oli tullut joko tietokonevalmistajan tai käyttäjäyrityksen palveluksessa

Kun taito oli, yrityksen perustaminen sinällään helppoa

Perustajat käyttivät aikaisemman uransa sosiaalisia verkostoja hyväkseen liiketoiminnan laajentamisessa

1950-luvun ohjelmointi

Käytännöt ja standardit alkoivat vasta muotoutua, samoin tietokonejärjestelmät

Helpommat ohjelmointitavat (ohjelmointikielet, esim. FORTRAN ja COBOL) alkoivat kehittyä

Syntyi tarve ohjelmistotuotteille ja teollisuudelle, kun tietokonejärjestelmien käyttö laajeni

1960-luvun ohjelmistoyritykset

Useita tuhansia alan yrityksiä (perust. erit. 1960-l jälkipuoliskolla), mutta vain alle puolet pysyi pystyssä 1970-luvun yli

Yrityksiä myös Yhdysvaltojen ulkopuolella (esim. Eurooppa, Japani) mutta suppeammin, Suomessa ehkä yksittäisiä

Menestyneet yritykset erikoistuivat, alalle oli helppo tulla, mutta menestyäkseen jatkuvasti uudistuttava ja kehityttävä

Ohjelmistoja edelleen etupäässä räätälöitiin asiakkaiden tarpeisiin, vaikka valmiita ohjelmistotuotteitakin alkoi tulla markkinoille

Ohjelmistotuoteyritykset 1960-luvun loppupuolella

Laitevalmistajien koneiden mukana tulleet ohjelmat eivät enää tyydyttäneet asiakkaiden tarpeita

1960-1970-luvun vaihteessa ohjelmistoteollisuuden toimintaa vaikeuttanut lama

1960-luvun loppupuolen ohjelmistokriisit

Pula ohjelmoijista

Ohjelmoijien heikko tuottavuus

Ohjelmavirheet ja epäluotettavuus

Projektien kustannusten karkaaminen käsistä

Käyttöjärjestelmäkehityksen alkuvaiheet

IBM S/360 (1964) ensimmäisiä yhteensopivia laiteympäristöjä, jossa voitiin pyörittää samoja ohjelmia

1960-l alussa ollut pelkästään IBM:llä 7 yhteensopimatonta laiteympäristöä

OS/360-käyttöjärjestelmäprojekti, merkittävä, mutta viivästyi ja epäluotettava tuote aluksi

1960-luvun ATK

Koneiden määrän kasvu, myynti USA 1955 240 (maailma 246), 1960 4400 (5500), 1965 21600 (29600), 1970 48500 (79000)

Suomi: 1960 muutamia, 1965 n. 80, 1971 n. 210

Kapasiteetin kasvu: isot koneet vaativat isompia ohjelmia (mukana toimitettavien ohjelmien koodin määrä kymmenkertaistui tietokonesukupolvesta toiseen)

à pitkään vallinnut harhakuvitelma, että laitteiden ja ohjelmistojen kustannussuhde (80/20) muuttumassa ohjelmistojen puolelle

Ohjelmistotuote

Termi software product käyttöön 1966

Ei juuri edellyttänyt muokkausta tai räätälöintiä vaan oli otettavissa käyttöön sellaisenaan (vrt. ohjelmistopaketointi ja urakointi) à myytävä tuote, kiinnostus patentointiin

Yksi ensimmäisistä esitysgrafiikkaohjelma Autoflow

Entä Suomi?

Toistaiseksi niukalti kokoavaa tutkimustietoa, seuraavassa varovaisia hahmotelmia

1960-luvulla ohjelmointi tapahtui pitkälti käyttäjäorganisaatioissa tai laitemaahantuojien tuella niiden laskukeskuksissa (erit. IBM ja Suomen Kaapelitehdas)

Lehtimainonnan perusteella yrityskentässä laitemaahantuojat sekä oheistuotemyyjät (paperit, kortit, nauhat, kalusteet jne), vähän palveluyrityksiä mutta ensimmäiset perustettiin 1960-luvulla

Tyypillistä piirien pienuus, samat henkilöt mukana koulutushankkeissa, yrityksissä, järjestöissä jne.

Palveluyritykset 1960-l

Konsulttipalvelut laitteistojen hankinnassa, käyttöönotossa jne, koulutuspalvelut

Alan asiantuntijoiden kerhoutuminen ja sitä kautta yritystoiminnan synty (erit. Tietojenkäsittelyneuvonta)

Käyttäjien liiketoiminnan laajeneminen (esim. Yhdyspankki perusti Tietotehtaan (nyk. Tieto-Enator) 1960-l lopussa)

Alueelliset toimijat, esim. Tietosavo (nyk. Enfo)

Ohjelmistoyritykset 1970-l

Teollisuudenala alkoi saada nykyään tunnetun muotonsa

Hidas kasvu, painopiste kohti ohjelmistotuotteita, minikoneympäristöt antoivat uusi mahdollisuuksia, samoin IBM:n varovaisuus monopolisyytösten kohteena

Ohjelmistotuottajat 1970-l

Laitevalmistajat suur- ja minikoneympäristöissä (IBM, DEC, Singer, HP)

Itsenäiset ohjelmistotalot (sekä ohjelmistotuotteet että ohjelmointipalvelut, esim. ADR, UCC)

"Pakettikauppiaat" (laite-, ohjelma- ja huoltopalvelut yhdessä, erit. pienempien järjestelmien osalta, esim. Triad, Wang)

Softanvälittäjät (hyvien asiakkaiden tuottamisen sovellusten markkinointi muille, esim. COSMIC)

Suurkoneiden monikäyttöpalvelut (erit. tieteellis-tekninen laskenta)

Killer Application

Application = hakemus, sovellus, ahkeruus, kangaskollaasi (applikointi), käyttökohde

-> taas yhteys tekstiiliteollisuuteen

Killeriaplikaatio on yksittäinen ohjelmistotuote, sovellus, joka saa aikaan räjähdysmäisen kysynnän myös tietynlaisille laitteille tai laitejärjestelmille

Tehtävä

Lukekaa annettu pätkä From Airline Reservations to Sonic the Hedgehog-kirjasta (kahdella ihmisellä aina sama pätkä), keskustelkaa sitten sisällöstä (mitkä ovat tekstin pääasiat), sen jälkeen käydään läpi tekstipätkät järjestyksessä ja esitellään ne kaikille kurssilaisille

Lukuaikaa 10 min, parikeskustelu 5 min, yleiskeskustelu 10-15 min

Sivut

s. 165-168, 197-199

s. 201-205

s. 206-211

s. 212-219

s. 269, 274-279

(s. 251-256)

Ensi kerralla

vko 11 ke 16-18 Ohjelmointi ammattina 1950-luvulta 2000-luvulle ja tietoteknisen lukutaidon osana

4. Ohjelmointi ammattina ja tietoteknisen lukutaidon osana

Jaakko Suominen, kevät 2005

Luennon osat

Ohjelmoijan ammatin synty, arvostus ja sukupuolijakauma

Ohjelmoinnin merkityksen muutos

Ohjelmointi tietotekniikan perustaitona ja osana tietoteknistä lukutaitoa

Tehtävä

Lue Valittujen Palojen artikkeli "Ihmisten ja koneiden vuorokeskustelu" (VP elokuu 1961, 56-60)

Kiinnitä huomiota seuraaviin kysymyksiin: mitä on ohjelmointi, millaista kyvykkyyttä ohjelmointityön kerrotaan vaativan, mikä on ohjelmoinnin merkitys tulevaisuutta, miten jutussa käsitellään ohjelmoijien sukupuolta, miten ihminen ja kone jutun mukaan keskustelevat?

Aikaa noin 7 minuuttia, jonka jälkeen keskustelu

1960-luvun ATK

Koneiden määrän kasvu, myynti USA 1955 240 (maailma 246), 1960 4400 (5500), 1965 21600 (29600), 1970 48500 (79000)

Suomi: 1960 muutamia, 1965 n. 80, 1971 n. 210

Kapasiteetin kasvu: isot koneet vaativat isompia ohjelmia (mukana toimitettavien ohjelmien koodin määrä kymmenkertaistui tietokonesukupolvesta toiseen)

à pitkään vallinnut harhakuvitelma, että laitteiden ja ohjelmistojen kustannussuhde (80/20) muuttumassa ohjelmistojen puolelle

Ohjelmoijien määrä USAssa

1955 arviolta 200-250 haastavampiin töihin pystyvää ohjelmoijaa ehkä 1200 yksinkertaisempia ohjelmointitöitä tehneitä

1966 Business Week lehden mukaan 120 000 ohjelmoijaa ja tarve 60 000-120 000 uudelle

Sen jälkeen tapahtunut ohjelmoinnin yleistyminen kulttuurisena ilmiönä (kuvastot, koulutus, ohjelmistoteollisuus jne)

Tietojenkäsittelyalan henkilöstö Suomessa 1960-l

1961, alan ammatit: osastopäällikkö, ohjelmoitsija, konsolioperatööri, operatööri, tarkistuslävistäjä, lävistäjä, tekninen henkilökunta, matemaatikko, konttorisuunnittelija

Yhteensä Suomessa 1313 henkilöä, seuraavan kolmen vuoden kasvun ennakoitiin olevan n. 50 %

Ohjelmoitsija ainoa uusi ammatti verrattuna rk-aikakauteen (48 henkilöä, joista 4 naista)

Naiset toimivat alemmissa ja rutiininomaisissa tehtävissä, miehet johto- ja suunnittelutehtävissä

Henkilöstö 1970-luvulla

Ohjelmoijia ja (systeemin)suunnittelijoita kumpiakin n. 1000, yhteensä alalla 7100 henkilöä (yli 50 % työstä tietokonetyötä)

Naisia ohjelmoijista 33 % ja suunnittelijoista 12 %

Pyrkimys em. töiden erottamiseen

Muodollinen koulutus avasi naisille pääsyn atk-asiantuntijoiksi, naisten osuus ammattilaisista suurempi kuin muissa länsimaissa 1980, naisten osuus tietojenkäsittelyopin opiskelijoista nousi 1970-l vajaaseen kolmannekseen, sittemmin määrä kääntyi laskuun (lama, koulutus, harrastustausta)

Ohjelmoijien määrän lisääntyminen ja ammattien kehittyminen 1960-1970-l

Uudet ATK-järjestelmät

Poliittinen päätöksenteko ja suunnittelu

Koulutusrakenteiden luominen

Alan tilanteen hahmottaminen ja tulevaisuuden suunnittelu

Ohjelmointikoulutuksen kehittyminen Suomessa

1950-luvulla käytännössä "kisällijärjestelmä" sekä maahantuojien lyhyitä kursseja ja esittelytilaisuuksia ja opin hakemista ulkomailta

1960-luvulla selvitykset koulutustarpeesta

seurauksena mm. koulutuksen valmistelu yliopistoissa (paljon muutakin kuin ohjelmointia) sekä kauppaopistoissa

Koulutusrakenteinen kehittyminen 1970-luvun alussa (mm. ATK-Instituutin perustaminen, ks. erillinen aikajanamoniste sekä lukioiden opetuskokeilut)

Ohjelmointi uuden aikakauden taitona

Tietokoneohjelmointi tulevaisuuden kielenä ja ajattelutapana, ajatus alkoi vahvistua informaatioyhteiskuntakeskustelun myötä 1970-1980-luvun vaihteessa (vrt. Mattelart ja kalkyylin kieli)

Kuluttajamarkkinoille suunnatut kotitietokoneet mahdollistivat laajamittaisemman ohjelmoinnin kokeilun (erit. kotimikrojen BASIC (Beginners All-purpose Symbolic Instruction Code) -tulkkien avulla (suunniteltu alun alkaen alkeisopiskeluun)

Ohjelmoinnin levittäminen

Tietokonekurssit alkoivat usein ohjelmoinnilla

Ohjelmalistausten julkaiseminen lehdissä ja kirjoissa, ohjelmointia käsittelevät radio- ja tv-ohjelmat

BASICin ristiriitaisuus 1980-luvulla

Ohjelmointi ei jaksanut kiinnostaa kaikkia tietokoneen käyttäjiä

Joidenkin ammattilaisten mukaan BASIC ei soveltunut monimutkaisempaan käyttöön ja antoi jopa vääränlaisen käsityksen tietokoneohjelmoinnin luonteesta

Ohjelmalistausten julkaiseminen

1970-l lopussa, mikrotietokoneille, keino ohjelmien levittämiseen ja ohjelmointitaidon kehittämiseen

Listaukset tärkeä osa mikrotietokoneisiin keskittyneiden lehtien sisällössä 1970-l lopulla ja 1980-l alkupuolella (perustui myös lukijatutkimuksissa havaittuun ohjelmoinnin suosioon, tästä tosin ristiriitaista tietoa)

Esim. Mikrobitissä 1985 noin puolet sisällöstä listauksia, suuri osa pelejä, hyötyohjelmien määrä lisääntyi

Ohjelmointi radiossa

Suomessa Yle otti mallia mm. BBC:n Computer Literacy projektista, mm. ohjelma Kansanmikrokerho (1982), jossa suurin osa lähetyksistä BASIC-ohjelmoinnin opetusta, myös ohjelmointikilpailu, toinen ohjelma Silikoni, jolla parhaimmillaan yli 110 000 kuuntelijaa

Ohjelmien välittäminen äänisignaalina radiolähetyksissä, yksi keskeinen maa myös Alankomaat

Paikallisradioilla omia ohjelmia tietokoneista (Saarikoski 2004a, 2004b)

Merkityksen muutos

Ohjelmoinnin merkitys tietokoneharrastuksen keskiössä kapeni 1980-luvun kuluessa à käytettiin sovellusohjelmia, joita oli saatavilla ja ohjelmat muuttuivat yhä monimutkaisemmiksi

Kehitys näkyi kotimikrolehdissä, joissa ohjelmistoa koskevien artikkelien määrä ja etenkin listausten määrä väheni (MikroBitti lopetti listausten julkaisemisen jouluk. 1989)

Ohjelmointi Internetin aikakaudella

Koodaamisen uusi tuleminen tietyssä mielessä (yhteydessä mm. sisällöntuotantokoulutukseen)

Tyypillistä jatkuva muutoksen tila, jatkuva tarve ylläpitää ja päivittää tietoja, epävirallisten tiedonhankintakanavien tärkeys, ei välttämättä muodollinen koulutus (uudelleenohjautuva työvoima, Castells)

Lisätietoja

Petri Saarikoski: Koneen lumo (2004a)

Petri Saarikoski: "Basicilla tietoyhteiskuntaan. Ohjelmointi ja varhaisten kotitietokoneiden käyttötarpeet." (2004b)

Jaakko Suominen: Koneen kokemus (2003)

Timo Joutsivuo: Tietojenkäsittelyn opetuksen eturintamassa. ATK-instituutin historia (2003)

Nalini P. Kotamraju: ""Kaikenlaista hässäkkää" - WWW-suunnittelun taito." mediumi 2.2 (27.6.2003) <http://www.m-cult.net/mediumi/article.html?articleId=224&print=1&lang=fi>

Dispositioiden ja töiden esittelyaikataulu

Dispositiot ja kysymyksenasettelut: vko 18 ma 8-10, vko 18 ke 10-12

Esseet: vko 20 ke 10-12, vko 21 ma 8-10, vko 21 ke 10-12 (ei yhtä monta työtä viimeiseen kertaan)

LUENTO 5. Ohjelmavirheet ja haittaohjelmat kulttuurisena ilmiönä

Jaakko Suominen, kevät 2005

Luennon sisältö

Termien määrittely: ohjelmavirheet, virukset, haittaohjelmat

Em. ilmiöiden kulttuurihistoriallista tarkastelua

Tekninen ja kulttuuritieteellinen näkökulma ohjelmavirheisiin ja haittaohjelmiin

Tutkimusnäkökulmat

Yleisesti haittakeskeisyys ja pyrkimys ongelmien korjaamiseen esim. lainsäädäntöön tai asenteisiin vaikuttamalla tai teknisen kehitystyön avulla

Kulttuurintutkimuksellisesta näkökulmasta haittaohjelmia voidaan tarkastella esim. osana riskiyhteiskuntaa (Beck) tai vaikkapa teknologian mentaliteetti- ja mentaalihistoriaa (ihmisen teknologiansuhteen, käsitysten ja tuntemusten muutosten ja luonteen tutkimus) ß tarkoitus ei ehkä niinkään puolustella mutta selittää ilmiöitä osana laajempaa kulttuurista merkitysympäristöä

Kysymyksiä

Muistele, miten ja milloin törmäsit ensimmäistä kertaa tietokoneviruksiin

Mitä tietokoneviruksia muistat nimeltä?

Virukset (perustuu erit. Jussi Parikan artikkeliin "AIDSia, aivoja, rakkauden tunnustuksia ja mustia kostajia. Tietokoneviruksen kulttuurihistoriaa." Tekniikan Waiheita 2/2004, myös PS:n väikkäri)

Fred Cohen: Virus on symbolien joukko, koodi, joka aiheuttaa muiden symbolien joukon muutoksen tietyssä ympäristössä niin, että kohdeympäristö tulee sisältämään viruksen à ts. virusohjelma tartuttaa itsensä muihin ohjelmiin

-->  "klassinen määritelmä" 1980-luvulta, virus ei välttämättä määrity vahingontekijäksi

Fred Cohen

Aloitti tietokoneviruskokeet 1983, ei ensimmäinen tekijä tai kokeilija mutta ensimmäisiä, joka otti tietoturvallisuusriskin vakavasti

Cohenin virusmäärittelyistä muodostunut alan standardilähtökohta

Viruksen osat

Tarttumismekanismi

Kuorma (payload, se, mitä virus tekee)

Laukaisija (trigger, jokin joka käynnistää viruksen toimintaan)

Tavallisia alalajeja

Matovirukset (mm. John Shochin ja Jon Huppin tutkielma 1982, Robert Morrisin Internet-mato 1988)

Troijan hevoset (naamioidaan joksikin muuksi ohjelmaksi)

Makrovirukset (erit. Microsoft Office ohjelmien makrokomentojen haittasovellukset)

Polymorfiset virukset (pyrkivät muuttamaan jatkuvasti muotoaa ja vaikeuttamaan virustorjuntaohjelmien toimintaa)

Tietokonevirusten esihistoriaa

Virusmaisesti käyttäytyvät ohjelmat, muistin tyhjennys 1940-luvulla

Ajatukset itseään kopioivista sekä keskusmuistin valtaavista ohjelmista (1940-1950-luvut) (esim. Darwin ja Core Wars)

Varhaiset tieteiskirjallisuuden viruskuvaukset, esim. 1972 David Gerold: When Harlie was One, John Brunner: The Shockwave Rider (1975), Thomas J. Ryan: Adolescence of P-1 (1977)

Tunnettu 1980-luvun kuvaus, jossa sivutaan viruksia, William Gibson: Neuromancer (1984)

--> yhteydet mm. genetiikan kehitykseen sekä tekoälytutkimukseen

Ensimmäiset tunnetut virukset

Elk Cloner Apple II koneissa 1981-1982

Brain eli pakistanilainen 1986

Christmas Tree, joulukuu 1987 IBM:n verkossa

Morrisin mato 1988 à Laajamittaisempi julkinen ja yhteiskunnallinen huomio, virusuhkakuvat

Virusjulkisuuden varhaisvaiheet Suomessa

1987 Printti-lehden juttu "Tietokonemaailman musta surma. Piileekö ohjelmissasi virus"

SCA virus Suomeenkin Amiga-tietokoneisiin 1987 à Mikrolehdet seurasivat ja tiedottivat virustilanteesta

1988 Internet-mato ei saanut Suomessa niin suurta huomiota, koska Suomi vasta liittymässä Internetiin mutta ylitti uutiskynnyksen

1989 Aki Korhosen provosoiva juttu tietokoneviruksen teko-ohjeista MikroBittiin, kantelu JSN:oon

1990 tietojenkäsittelyopin pro gradu työ (Kimmo Kauranen) viruksista, kaksi tietokirjaa aiheesta

Virukset ja julkisuus 1990-luvulla

Ajoittaista virushysteriaa julkisuudessa erit. harrastajien mukaan

Suojausohjelmista bisnes (esim. suomalainen F-Secure) (taloudellinen voitto ja kilpailu)

Erityisesti jo aiemmin peli- ja ohjelmapiratismi nähtiin viruksen leviämisen keskeisenä tekijänä

Finnish Sprayer, suomalainen virus 1993-1994

Lisää tietokirjallisuutta aihepiiristä

Virukset ja julkisuus 2000-luvulla

Tietokoneiden, Internetin ja Microsoft Officen sekä Windowsin yleistyminen ovat tehneet viruksista keskeisen osan tietotekniikan käyttökulttuureita, virustiedotukset ja tietoturvauutisointi yleistyneet mm. päivälehdissä ja televisiouutisissa, tiedotus pitkälti virustorjuntaohjelmistojen valmistajien kautta

Edelleen hyödynnetään biologista tautimetaforiikkaa niin virusten nimissä, populaarikuvauksissa kuin virusaiheisessa huumorissakin

Tietokoneistetun toimiston riskit (Edward Tenner: Why Things Bite Back 1996)

Lisääntyvä kontrolli, turvattomuus, riippuvuus, taloudelliset riskit, ohjelmien epäluotettavuus

Ongelmia on myös vaikeampi ennustaa

Yhteensopimattomuusongelmista johtuvat viivästykset

Ohjelmien monimutkaistuessa virheet lisääntyvät

Yksittäisten työntekijöiden tehtävät lisääntyvät (vrt. Swartz Cowan "More work for mother") ß illuusio siitä, että kone tekee työn

Ohjelmabugi

Ohjelman piirre, jota ei ole haluttu ja jota ei ole tarkoitettu, joka aiheuttaa toimintahäiriön, virheen: ohjelma toimii väärin tai esim. tietyn operaation jälkeen jumiutuu, vastakohta ominaisuus (joskus ohjelmistovalmistaja voi jopa väittää käyttäjän bugiksi luulemaa toimintaa vakio-ominaisuudeksi)

Tietokoneslangissa voidaan puhua myös bugisista ihmisistä (henkilökohtaiset ongelmat, kummallinen käytös tietyissä tilanteissa) ß tyypillistä siis tässäkin leikittely biologisilla metaforilla, antropomorfismilla ja teknomorfismilla

Bugin käsitehistoria

Vahva myytti siitä, että varhaisessa tietokoneessa todellakin ötökkä, joka aiheutti tietokonevirheen

Termi kuitenkin laitevirhemerkityksessä käytössä jo aiemmin mm. lennättimen (ainakin jo 1870-luvulta lähtien), radioamatööritoiminnan sekä II MS:n tutkajärjestelmien käyttäjien keskuudessa

Tehtävä: kuuluisat ohjelmavirheet

Etsikää tietoa seuraavista kuuluisista ohjelmavirheistä. Mitä tapahtui? Mistä virhe johtui?

Vuoden 1970 Suomen eduskuntavaalien prognoosi

Y2K

Pentium-prosessorin ensimmäiset versiot

1960-luvun kuulennot ja avaruusluotaimet, viimeaikaiset Mars-luotaimet

Falklandin sota 1982 ja Britannian aluksen (HMS Coventry) upottaminen

Joku muu ohjelmointivirhe, joka tulee mieleesi

Tehtävä, jatkoa

Aikaa mikroluokka- tai kirjastotyöskentelyyn n. 30 minuuttia

Sen jälkeen takaisin luentotilaan ja tehtävien läpikäynti ja keskustelu

LUENTO 7. Ohjelmistohistorian tutkimus ja aineiston tallentaminen, säilyttäminen ja arkistointi

Luennon sisältö

Tietotekniikan historian tutkimuksen eri näkökulmia

Ohjelmistohistorian tutkimus mitä oikein tutkitaan ja mitä voitaisiin tutkia

Aineiston tallentamisen ja säilyttämisen haasteet

Ohjelmistohistorian trendit ja tutkimusnäkökulmat

Tietotekniikan historian kirjoittajat ja näkökulmat

Kolme tai neljä näkökulmaa tietotekniikkaan
- luokitteluja tehneet mm. William Aspray ja Michael S. Mahoney, tietotekniikan historioitsijat (viitanneet yleensä esim. ammattilaisten, journalistien ja historioitsijoiden kirjoitustapojen eroon, oma laajennus siitä)

Tietojärjestelmätieteen vaiheet (systeemiteoreettinen, sosiotekninen, humanistinen (Nurminen))

-> verrattavissa esim. elokuvan tai taidehistorian esitystapoihin

Ammattilaiset ja journalistit kirjoittajina

Insinöörihistoriallinen tai internalistinen

kaksi alalajia: matemaattisesti (tietotekniikka on kehittynyt matemaattisessa ajattelussa tapahtuneiden murrosten kautta (ajatus teknologiasta soveltavana tieteenä) ja teknisesti painottunut (laitteistokehitys, laitteistosukupolvet jne)

Vastakulttuurinen (osin journalistinen)

mikrotietokonevallankumouksen keskeisyys

"Käänteiden" jälkeiset tutkimusnäkökulmat

Konstruktionistinen, sosioteknologinen innovaatiotutkimus ("kova" teknologian sosiaalinen konstruktio, innovaatioprosessien tutkiminen, miten teknologia kehittyy ja syntyy innovaatioprosessien aikana)

Kulttuurihistoriallinen ("pehmeä" teknologian kulttuurinen konstruktio), keskiössä ei välttämättä niinkään teknologia materiaalisena faktojen kautta tai innovaatioprosessien kautta vaan laajemman kulttuurisen kontekstin tutkiminen, merkkien ja merkitysjärjestelmien kartoittaminen

Nykykiinnostus

Voidaan hahmottaa ero 1) perinteisemmän historiantutkimuksen ohjelmistohistoriakiinnostuksen ja 2) kulttuurin- ja teknologiantutkimuksellisen kiinnostuksen välille

Ohjelmistohistoria perinteisemmän historiantutkimuksen kentässä

Kiinnostunut varhaisemmasta historiasta, tieteellisestä ohjelmoinnista, ohjelmointikielien kehittämisestä, toisaalta ohjelmistoteollisuuden historiasta ß Suomessa vähäisempää toistaiseksi, tietotekniikan historian tutkimus lähtenyt liikkeelle toisista suunnista

Ohjelmistohistoria Yhdysvalloissa

The Software History Center (ks. http://www.softwarehistory.org/ (sivuilta löytyy mm. bibliografia): The SHC is working to preserve for future generations information about the companies, people, products, and events that shaped the evolution of this vital industry.

Iterations: An Interdisciplinary Journal of Software History (http://www.cbi.umn.edu/iterations/tc.html), Charles Babbage instituutin alaisuudessa, instituutilla projekteja, jotka liittyvät ohjelmistohistoriaan ja sen tallentamiseen ja esittämiseen)

Computer History Museum (http://www.computerhistory.org/): Kerätty myös ohjelmistoja kokoelmiin

Ohjelmistohistorian tutkimus yleensä

Yleistynyt pikku hiljaa muutamien viime vuosien aikana (julkaisut, konferenssit, tutkimushankkeet jne.), edelleen kuitenkin tietotekniikan historiaa lähestytään laitepainotteisesti

Ohjelmistohistoriasta on keskitytty aiemmin pitkälti tietokonekielten historiaan

Ohjelmistot pohjoismaisessa tietotekniikan historian tutkimuksessa

History of Nordic Computing. IFIP WG9.7 First Working Conference on the History of Nordic Computing (HiNC1), June 16-18, 2003, Trondheim, Norway. Series: IFIP International Federation for Information Processing, Vol. 174 Bubenko, Janis; Impagliazzo, John; Solvberg, Arne (Eds.) 2005, 488 p..

Ohjelmistojen osalta käsitelty lähinnä ohjelmointikielten kehittämistä (erit. Algol ja Simula) mutta myös ohjelmointitapojen muutosta sekä ohjelmointiammatin muutoksen varhaisempia vaiheita

-> ei hallitseva mutta huomattava asema kokonaisuudessa

Kulttuurin- ja teknologiantutkimus

Kiinnostus enemmän vaihtoehto-, vasta- ja populaarikulttuurin suunnasta ja nykypäivästä: erityisesti vapaiden ohjelmistojen sekä pelien luonteen ja mahdollisuuksien tutkimus ß Suomessa kansainvälisesti vahvaa tutkimusta esim. Linuxiin (esim. Helsingin alueen yliopistot ja tutkimuslaitokset) ja pelikulttuureihin kytkeytyen (tutkimusyksiköt ja laboratoriot eri puolilla maata)

-> Sinänsä historiallisen tai kulttuurihistoriallisen tarkastelun rooli tämän näkökulman mukaisessa ohjelmistotutkimuksessa on vähäisempi

Ohjelmistohistorian aineiston tallentamisen haasteet

Ohjelmistohistorian tallentamiseen liittyvän keskustelun alkuvaiheita USA:ssa

1986 David Bearmanin raportti, jossa käsiteltiin ohjelmien arkistoinnin kysymyksiä (valinta, säilyttäminen, institutionaaliset puitteet, tekijänoikeudet, käyttäjät)

1988 Kongressin kirjaston hanke, jossa pyrittiin luomaan "konehuone" vanhojen ohjelmien käyttöön ja konvertointiin

1990 Columbian yliopiston seminaari mikrotietokoneiden ohjelmistojen säilyttämisestä

1993 "First National Software Archives Conference" Seattlessa, mukana ohjelmistoteollisuuden, valtion, arkistojen ja yliopistojen edustajia à Yleisempi konsensus ohjelmistojen säilyttämisen tärkeydestä, useita erillisiä hankkeita, jossa ohjelmistojen lisäksi on kerätty ja dokumentoitu niihin liittyvää oheismateriaalia ja muistitietoa, valtakunnallista organisaatiota tai museota ohjelmistojen tallentamiseen ja esittämisen ei kuitenkaan saatu aikaan

Vanhojen ohjelmien säilyttämisen tarpeellisuus

Keskustelua siitä, onko alkuperäisen lähdekoodin saatavuus olennaista: toisten tutkijoiden mielestä koodi on primaarilähde, jota voidaan käyttää esimerkiksi erilaisten ohjelmistotekniikoiden keksimisen, muutoksen ja vaikutuksen tutkimiseen

Toisten mielestä taas tärkeämpää on se, että tallennetaan pikemminkin ohjelmien dokumentaatio, selostus siitä, mitä ohjelmat tekevät, tutkijan ei voida edellyttää pystyvän sujuvasti lukemaan ja ymmärtämään kaikissa ympäristöissä tehtyä tietokonekoodia, tärkeämpää esim. muistitiedon tallentaminen ja kirjallisen sekä kuvallisen aineiston kokoaminen

Säilyvätkö vanhat ohjelmat

Tarvitseeko niitä käyttää alkuperäisissä koneissa, mikä on hankalaa: osittain koneita on käyttökunnossa, osittain voidaan korvata esim. vanhat massamuistilaitteet uusilla, osittain voidaan käyttää emulaattoreita ja simulaattoreita (esim. vanhojen pelikoneiden emulointilaitteet ja ohjelmat)

Toisten tulkintojen mukaan datan säilyttäminen itse asiassa helpompaa kuin fyysisten artefaktien, data on ainoastaan tuoreutettava säännöllisin väliajoin

Lisätietoja edellisistä

Ks. erit.

John G. Zabolitzky, "Preserving Software: Why and How," Iterations: An Interdisciplinary Journal of Software History 1 (September 13, 2002): 1-8. http://www.cbi.umn.edu/iterations/zabolitzky.html

Elisabeth Kaplan, "A Response to 'Preserving Software: How and Why,'" Iterations: An Interdisciplinary Journal of Software History 1 (September 13, 2002): 1-3. http://www.cbi.umn.edu/iterations/kaplan.html

Tietokonealan museokokoelmat Suomessa

Tekniikan museossa jotain laitteistoja, samaten esim. yliopistojen hallussa

Laajin kokoelma Suomen tietojenkäsittelymuseoyhdistyksellä Jyväskylässä, osa näytteillä JY:n tiloissa, suurin osa varastossa

Mikrotietokoneita keräilijöillä sekä media-, sähkö- ja elektroniikka-alan museoilla ja museohankkeilla (esim. Salon elektroniikkamuseohankkeen kokoelmat)

Suomen kokoelmien suhde ohjelmistohistoriaan

Alan museotoiminta Suomessa vasta kehitteillä

Ohjelmia tai ohjelmistohistorian muita aineistoja ei yhtä laajalti kerätty saati dokumentoitu, laitteita käyttökunnossa joinekin ohjelmineen erit. Jyväskylässä

Paras tilanne lienee koti- ja mikrotietokoneiden osalta, sillä harrastajilla toimivia laitteita, niihin ohjelmia tai vähintään emulaattoreita, systemaattinen dokumentointi ja kokoaminen yhteen kuitenkin vähäistä

Ohjelmistohistorian dokumentoinnin tilanne

Osittain verrattavissa audiovisuaalisen materiaalin arkistointiin, osin minkä tahansa informaation digitalisoimiseen (kysymykset arkistoinnin laajuudesta, arkistoijasta, tuoreuttamisesta)

Sen sijaan käyttötarve ja -muodot osin erilaiset (koodiluonne, teknologian historian tutkimus)

Voidaan (ja on ehkä hyväkin) erottaa toisistaan varsinaisten tietokoneohjelmien arkistointi ja tutkimus sekä digitaalisen datan arkistointi ja tutkimus (erilaiset aineistot, joiden käsittelyyn on käytetty tietokoneohjelmia)