Mikä on oikea tapa suunnitella ohjaamattoman / tietokoneohjatun auton tai veneen ohjelmistoa, minkälaiset suunnitteluperiaatteet kannattaa laittaa minkälaiseen tehtävään, mitä käsitteellisiä viitekehyksiä on tehokasta käyttää? Aiemmassa ketjussa näytti siltä, että joku torjui erittäin voimakkain sanankääntein ja värikkäällä retoriikalla, ajatuksen minkäänlaisten - edes käsitteellisten - poikkeuskäsittelijöiden käytöstä ylimmillä abstraktiotasoilla. Tosin mitään syytä ei kerrottu.
Kai sentään luokkia ja olioita kannattaa käyttää? Vai torjuuko joku nekin? Entä ns. aspektiohjelmointi?
Olisiko mielipuolisuutta lähestyvä ajatus, että korkeimmilla abstraktiotasoilla auton tai veneen toimintaa määriteltäisiin jollain korkean tason scriptikielellä? lua? erikseen tehty? tai scheme? tai sellainen ohjelmointisysteemi mikä on tullut Android-järjestelmiin?
Säästäkää typerä retoriikka lääkkeiden otosta ym., ja keskittykää teknisiin ja metatieteellisiin argumentteihin. Tai vaikka yhteiskunnallisiin.
Kai sentään luokkia ja olioita kannattaa käyttää? Vai torjuuko joku nekin? Entä ns. aspektiohjelmointi?
Olisiko mielipuolisuutta lähestyvä ajatus, että korkeimmilla abstraktiotasoilla auton tai veneen toimintaa määriteltäisiin jollain korkean tason scriptikielellä? lua? erikseen tehty? tai scheme? tai sellainen ohjelmointisysteemi mikä on tullut Android-järjestelmiin?
Säästäkää typerä retoriikka lääkkeiden otosta ym., ja keskittykää teknisiin ja metatieteellisiin argumentteihin. Tai vaikka yhteiskunnallisiin.
Vastaukset 1
Vanhimmat
Suunnitteluperiaatteena varmaan on varmaan tehdä hyvin tiukasti eriytettyjä kokonaisuuksia ja ehkä jopa tehdä API:en sijaan protokollia, jotta toisen kokonaisuuden bugit eivät pääse hajottamaan toista. Ja tällöin eri osat voi tehdä eri ohjelmointikielillä. Olioparadigma on ihan hyvä tapa abstrahoida ohjelmiston toimintaa näiden kokonaisuuksien sisällä eikä se sinänsä riipu ohjelmointikielestä mitenkään. Funktionaalinen ohjelmointityyli lienee myös ihan hyvä idea. Aspektiohjelmointi ei ole minulle tuttua, mutta ainakin hyvin ilman sitä on tähän asti pärjätty.
Poikkeuksissa pitää varmaan pitää huolta, että missään tilanteessa poikkeus ei pääse "livahtamaan" niin, että ohjelman suoritus keskeytyy. Poikkeuksien käsittely on hieman sukua goto-lauseelle (= the ultimate evil) ja varsin ei-funktionaalista ohjelmointia. Ehkäpä näistä syistä niitä jotkut vierastavat?
Monissa sulautetuissa systeemeissä on nykyään tarjolla skriptikieliä kuten python. Ihan ylimmällä tasolla tällaista voi ehkä harkitakin, kun siinä on aika hyvät matematiikkakirjastotkin mitkä ovat varsin tarpeen tässä sovelluksessa. Reaaliaikaohjaukseen tämä ei kyllä toki käy.