Kirjoittaja Aihe: Tätä ei häpeä tunnustaa  (Luettu 1159 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 682
    • Profiili
Tätä ei häpeä tunnustaa
« : 12.02.25 - klo:00.29 »
Asensin koneeseen YABasic:n !

Tulee mieleen vanhat pahat ajat, jolloin väänsin VIC20, C64, AppleII ja PC:n tulkkaavilla Basiceilla koodia kymmeniä, ellei satoja ohjelmia.
Kääntävät Bascom, QB2.0 ja QB4.5 toivat uutta vauhtia touhuihin ja QB45:llä valmistui lopulta todellinen mammuttijärjestelmä.. Microchipin kiville tuli väännettyä heidän Basiceillaan.  Muutamia isoja projekteja tuli toteutettua FreeBasic:lla. VisualBasic:n mielenkiinto loppui ver 5 kohdalla, jolla vielä ansaitsin hieman konjakkia kahvipöytään.

Tässä välillä on tullut väännettyä koodia monilla kielillä.
Scriptejä pääosin bash:lla ja php:llä.

Koko ajan on harmittanut.
Bash on sekavuudessaan ja vaillinaisuudessaan suorastaan raivostuttava. php vaatii jatkuvaa 'manuaalin' plaraamista.

YABasic:lla syntyi ensimmäinen pikku projekti kahvin tippumista odotellessa.

Miksi ohjelmointikielien pitää olla liian hienoja ja kaikissa perusasiat pitää ratkaista eri tavalla ?
Kun PC:t tulivat markkinoille, väänsivät kanslian naisetkin koodia aina, kun piti tehdä jotain matemaattisia käsittelyitä tai muokata tiedostoja.
Basicilla oli helppo tehdä pikaisia muutamien rivien pituisia ohjelmia.

Basic oli aloittelijalle tarkoitettu järjestelmä. Tarkoittaa sitä, että asiat on tehty selkeiksi. Ainoastaan kaarisulkuja jään kaipaamaan.
Basica syytettiin 'spagettikoodista'. Kokemus on kuitenkin osoittenut, että millä tahansa kielellä pystyy laatimaan lukukelvotonta koodia.
« Viimeksi muokattu: 12.02.25 - klo:23.15 kirjoittanut Mistofelees »

elohope

  • Käyttäjä
  • Viestejä: 150
    • Profiili
Vs: Tätä ei häpeä tunnustaa
« Vastaus #1 : 12.02.25 - klo:13.57 »
Kerro vähän tuosta mammuttijärjestelmästä, mihin tarkoitukseen sen teit, ja kuinka kauan sitä ylläpidit.

Tässä sympatiaa terminaalin/konsolin/komentorivitulkin aiheuttamaan uupumukseen:
https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/


Mistofelees

  • Käyttäjä
  • Viestejä: 682
    • Profiili
Vs: Tätä ei häpeä tunnustaa
« Vastaus #2 : 12.02.25 - klo:23.05 »
Tuo linkkisi on loistava ;)

Se mammutti.
Olin menossa erääseen yritykseen tekemään opastusjärjestelmää heidän rakentamalleen pään alueen rgt-kuvauslaitteistolle.
Työhönotossa piirsin heidän eteensä, mikä heidän senhetkisessä järjestelmässään oli pielessä ja mitä pitäisi tehdä.
Työhönottoon varattu tunti venyi lounaan yli vielä useamman tunnin.
Joten seuraavat viisi vuotta ajoin raskasta matematiikkaa järjestelmän osien kehittelyssä.

Kun tilanne alkoi rauhoittua, päätin, että se alkuperäinenkin opastussysteemi pitää ottaa työn alle.
Asetin järjestelmälle rajat: sen pitää pystyä hoitamaan 999 eri vaihtoehtoista käyttötapaa, neuvoa käyttäjää kuvallisesti ja teksteillä ja sisältää valikkorakenne, joka on niin yksinkertainen, että peruskäyttäjä osaa käyttää sitä.
Lisävaatimuksena oli, että se on sovitettavissa yksinkertaisesti kaikille kielialueille ja että se mahtuu pakattuna yhdelle disketille.

Ratkaisuna oli hakupuu, jonka jokaisessa haarassa oli kuusitoista haaraa. Jokaiseen haaraan pystyi liittämään vapaamuotoista grafiikkaa ja tekstiä. Jokainen haara oli samalla sivu, jossa käyttäjä valitsi haaran, jota lähteä seuraamaan. Jokaisella sivulla oli värikoodattuja osia.
Grafiikka oli suhteellisen yksinkertaista koostuen yksivärisistä polynomi-käyristä ja palloista. Tälläisiä kuvia tuli kuitenkin lopulta lähes 2000 kpl, joten piti kehittää järjestelmä, jolla kuvat sai tiivistettyä. Syntyi eräänlainen tietokantajärjestelmä alkiokoordinaateista. Tekstit sentään olivat perustekstiä, mutta pakkasin ne samaan tietokantaan kuvien kanssa.

Ohjemaa pystyi käyttämään näppäimistöllä, hiirellä, touchscreenillä ja itse rakennetulla ohjauslaitteella. Hiiren käyttö MSDOS-aikaan aiheutti kulmakarvojen nostelua.

Koko ohjelma syntyi QB45:llä ja oli kooltaan maksimi 64kB. Apuohjelmina oli ainoastaan tekstieditori ja translaattori, jolla ohjelman tekstit pystyi kääntämään halutulle kielelle.
Varsinaista ylläpitoa ei kaivattu. Käsitin, että pakettia käytettiin vielä WinXP aikana, vaikka rakensin sen alkujaan MSDOS:lle.

Kun sain paketin kasaan, kysyttiin kokouksessa, miten tämän hinta mielestäni muodostuu.
Minun näkemykseni oli, että ohjelma on ilmaisen, Jaetaan sitä messuilla kaikille halukkaille, jotta he pystyvät tutustumaan järjestelmään ja näkemään, miten varsinainen laite täyttää heidän tarpeensa. Tällä mentiin.

Ensimmäisillä messuilla Texasissa käveli eteeni kaveri rehuisessa paidassa ja kuluneissa farkuissa. Kertoi tutkineensa ohjelmaani jo etukäteen ja tilaavansa saman tien seitsemän laitetta. Ottaen huomioon, että laitteen hinta oli n. 600'000mk, eli nyt n. 600'000€, oli hyvä, että osasin yllätykseltäni hoitaa tilauksen kotiin.
Noilla messuilla jaoin n. 50 diskettiä, eivätkä asiakkaat olleet mitään satunnaisia ohikulkijoita.

elohope

  • Käyttäjä
  • Viestejä: 150
    • Profiili
Vs: Tätä ei häpeä tunnustaa
« Vastaus #3 : 13.02.25 - klo:12.57 »
Herkullinen tarina. Toivoisin että muutkin kertoisivat tällaisista projekteistaan. Ne eivät saisi jäädä unohduksiin. Ne innostavat!

Mistofelees

  • Käyttäjä
  • Viestejä: 682
    • Profiili
Vs: Tätä ei häpeä tunnustaa
« Vastaus #4 : 13.02.25 - klo:14.52 »
Itse hieman häpeilen forumeilla kirjailemista, koska minulla on muutenkin tapana kirjoitella pitkiä jorinoita, enkä haluaisi kiusata niillä ihmisiä.

Tähän saa kyllä joku muukin kertoa tarinansa jatkoksi.

Sivuhuomiona tuosta YABasicista:
Kielen editori ei hyväksy kaarisulkuja.
Sulut eivät ole missään kielessä täydellisen välttämättömiä ohjelman toiminnan kannalta. Tosin esim C:ssä ja php:ssäsuluilla kerrotaan kääntäjälle, mistä jotain alkaa ja mistä loppuu.
Basic:ssa ja bash:ssa käytetään fi ja next -täytesanoja.
Mikään ei estä, että Basic-koodin sekaan saisi lisätä kaarisulkuja, tulkki vaan ohittaisi ne, kuten blancotkin.
YaBasic on vanha järjestelmä. Viimeisimmät fiksaukset ovat kuitenkin vuoden 2025 tammikuulta, joten joku vielä ylläpitää sitä. Keskustelupalstaa tai kehittäjän osoitetta ei kuitenkaan löydy.

YaBasicista on olemassa tuoreempi forkki YAB, johon en ole vielä ehtinyt tutustua.

Yabasic:n syntaksi on hyvin lähellä CBMBasic:a, johon en myöskään ole ehtinyt tutustua.
Niinsanotut 'standardi-Baasicit' ovat kuin EU:n virkamiesten kötöstyksiä: paljon direktiivejä, mutta varsinaista ohjelmaa ei löydy.

Paras Basic olisi minusta sellainen, jonka syntaksi olisi sama IDE:ssä ja terminaalissa ja johon olisi tarjolla kääntäjä.

Eräässä artikkelissa puhuttiin kääntäjästä, joka ottaa käännökseen vain osia kirjastosta. Jäin ihmettelemään, onko sellaisiakin vielä, jotka lataavat koko kirjaston käännetyn ohjelman sisälle.
Linuxissa käännettävä paketti pystyy olemaan pieni, jos kirjastoja ei kopioida paketin sisään. Harmittavasti Linuxin rungon kokoa on kasvattamassa tolkuton määrä eri ohjelmointiympäristöjen kirjastoja.
« Viimeksi muokattu: 13.02.25 - klo:15.10 kirjoittanut Mistofelees »

Whig

  • Käyttäjä
  • Viestejä: 386
  • puppu-generaattori
    • Profiili
    • localhost
Vs: Tätä ei häpeä tunnustaa
« Vastaus #5 : 16.02.25 - klo:18.10 »
Itse hieman häpeilen forumeilla kirjailemista, koska minulla on muutenkin tapana kirjoitella pitkiä jorinoita, enkä haluaisi kiusata niillä ihmisiä.


En tietenkään voi puhua muiden puolesta mutta ainakaan minun mielestäni pitkiä jorinoita ei tarvitse hävetä tai olla niitä kirjoittamatta jos ne edes etäisesti liittyvät asiaan.
Jokainen voi sitten itse päättää lukeeko ne vai ei.