Ubuntu Suomen keskustelualueet
Muut alueet => Yleistä keskustelua => Aiheen aloitti: Mistofelees - 04.04.20 - klo:11.35
-
Seuraava, joka kehittää taas uuden ohjelmointikielen voisi tehdä mukaan yhden fiitserin
Kun yhteenkuuluvat rakenteet paketoidaan sulkumerkkien sisään, voisi näihin sulkumerkkeihin lisätä myös tunnisteen. Vaikkapa vain numeron tai merkkisarjan, joka noudattaisi muuttujien nimeämiskäytäntöjä.
Fiksu IDE pystyisi ylläpitämään numerointia käsin koskematta ja ilmoittamaan virheistä lennossa.
Ohjelman kasvaessa ja sisäkkäisten rakenteiden määrän kasvaessa on vaikea enää tunnistaa, mikä loppusulku liittyy mihinkin alkusulkuun.
Ehdotukseni esimerkin muodossa:
void setup() asetukset{
WiFi.begin()
}asetukset
for( ; ; ) 1{
for( ; ; ) 2a{ plapla }2a
for ( ; ; ) 3{
plaplapla
}3
}1
Joku jo ehdottikin, että sulut merkittäisiin väreillä. No ei kiitos näin värisokeiden puolesta. Eikä kukaan muutenkaan erota kymmeniä värejä toisistaan. Ei varsinkaan mv-laserilla paperille tulostettuna.
Joku hehkutti, että monet IDE:t korostavat loppusulun, kun vie kursorin alkusulun päälle. Ei ole tainnut ko henkilö koskaan kirjoittaa yhtä kuvaruutua pidempää ohjelmaa.
Sulkumerkkien korvaaminen sisennyksillä on suoraan p*stä. Se toimii kyllä, jos editoit koodia koko ajan samalla editorilla samassa koneessa, mutta tuo ongelmia koneelta toisella vaihtaessa.
-
Eli jonkinlainen pakollinen kommentointi? Tuon varmistaminen onnistuisi varmasti jollain staattisella analyysillakin. Tämähän ei suuresti eroa tuosta omasta esimerkistäsi:
void setup() /* asetukset */ {
WiFi.begin()
} /* asetukset */
for( ; ; ) /* 1 */ {
for( ; ; ) /* 2a */ { plapla } /* 2a */
for ( ; ; ) /* 3 */ {
plaplapla
} /* 3 */
} /* 1 */
Tai vähän kevennettynä:
void setup() { // asetukset
WiFi.begin()
} // asetukset
for( ; ; ) { // 3
for( ; ; ) { plapla } // 2a
for ( ; ; ) { // 3
plaplapla
} // 3
} // 1
Muokkaus: lisätty pari unohtunutta välilyöntiä tyylin vuoksi
-
Eikös Adassa vähän tuollainen systeemi ollutkin? Tosin se ei käyttänyt sulkuja vaan Pascalin tapaan avainsanoja begin ja end, mutta niiden perään piti (tai sai, en muista) panna toisen sanan, jolla osoitti, minkä loppu on kyseessä (esim. begin loop…end loop).
Rehellisesti pidän itse enemmän Pythonista, jossa pakollinen sisennys osoittaa tämän aivan riittävän selvästi ilman tyhmiä sulkujakin.
-
Pythonin sisennys on ihan jees niin kauan kuin editori konsistentisti tuottaa halutun sisennyksen. Sitten kun ei tuota alkaa käämit kärytä.
-
Pythonin sisennys on ihan jees niin kauan kuin editori konsistentisti tuottaa halutun sisennyksen. Sitten kun ei tuota alkaa käämit kärytä.
Eikös sama päde kaikkiin ohjelmointikieliin? Täytyyhän koodi joka tapauksessa sisentää yhdenmukaisesti, jotta siitä saa jotain selvää seuraavallakin lukukerralla. :)
-
Mulla oli muutaman editorin kanssa vääntöä, kun ei se sisennyksen tuotantotapa pysynyt yhtenäisenä. Tuotti kivasti neljää välilyöntiä tai yhtä tabbia, ja kääntäjähän ei moisesta pidä. Siinä sitä sitten saa etsiskellä jollei pistä erikoismerkit päälle näkymää, että missäs kaikkialla mahtaa olla ryttyileviä sisennyksiä. Sitten päädyin käyttämään IDLE:n editoria.