Brottsadvokat
Medlem
- Reg
- 19 Jan 2019
- Inlägg
- 9
Hej!
Nu provar jag att oannonserat starta en programmeringsskola. Skulle ingen vara direkt intresserad kommer det förhoppningsvis i alla fall hjälpa mig att reda ut tankarna och bli en bättre pedagog, och därmed en bättre programmerare själv. Jag började programmera när var 10 år, jag är nu ca 40 år, och har kodat i de flesta vanliga språk (och en del ovanliga). Det bästa nybörjarspråket är enligt mig Tcl, så jag kommer att basera mycket som jag skriver på det. Alla lärdomar och åsikter är givetvis intressanta, men Tcl är det högnivå-/scriptspråk som jag har valt att fortsätta att programmera i.
JavaScripts positiva sida är den vackra, naturliga objektorienteringen, och att språket p.g.a. det kunde designas att vara nästan helt separerat från gränssnittet. Själva språket är exakt detsamma vare sig du kodar ett vanligt program för Windows, en server eller en webbsida, det är bara objekten som du jobbar med - flyttar, kopierar, läser, manipulerar, visar - som skiljer sig. Browsers, menyer och sidor är t.ex. objekt på webben. Filer kan t.ex. vara objekt i ett desktopprogram.
Den friheten har Tcl löst hyfsat, om än lite krystat, genom att allt är kommandon istället för att allt är objekt. Vill du omdefiniera den inbyggda proceduren "puts", som normalt, utan extra argument skriver ut texten man ger den på standard input, dvs vanligtvis skärmen, följt av en radbrytning, varsågod. Sen kan du fortsätta scriptet precis som vanligt och ingen kommer att märka skillnaden.
Möjligheten att göra rekursiva interpreters, som är vanliga i Tcl och faktiskt skapas automatiskt i t.ex. varje if- och while-sats och procedur, "safe", bygger på att en utvald del av alla funktioner/kommandon/procedurer (de är alla samma sak i Tcl) stängs av, t.ex. kommandona för att kunna läsa och skriva filer eller öppna en socket.
Något skydd från DOS (denial of service) finns inte inbyggt, men finns det egentligen i något språk? Startar man en safe slave interpreter och dödar den efter lämplig tid, när den förväntas ha utfört sin uppgift, kan man köra all Tcl-kod som någon förhoppningsvis kan komma på.
Nu provar jag att oannonserat starta en programmeringsskola. Skulle ingen vara direkt intresserad kommer det förhoppningsvis i alla fall hjälpa mig att reda ut tankarna och bli en bättre pedagog, och därmed en bättre programmerare själv. Jag började programmera när var 10 år, jag är nu ca 40 år, och har kodat i de flesta vanliga språk (och en del ovanliga). Det bästa nybörjarspråket är enligt mig Tcl, så jag kommer att basera mycket som jag skriver på det. Alla lärdomar och åsikter är givetvis intressanta, men Tcl är det högnivå-/scriptspråk som jag har valt att fortsätta att programmera i.
JavaScripts positiva sida är den vackra, naturliga objektorienteringen, och att språket p.g.a. det kunde designas att vara nästan helt separerat från gränssnittet. Själva språket är exakt detsamma vare sig du kodar ett vanligt program för Windows, en server eller en webbsida, det är bara objekten som du jobbar med - flyttar, kopierar, läser, manipulerar, visar - som skiljer sig. Browsers, menyer och sidor är t.ex. objekt på webben. Filer kan t.ex. vara objekt i ett desktopprogram.
Den friheten har Tcl löst hyfsat, om än lite krystat, genom att allt är kommandon istället för att allt är objekt. Vill du omdefiniera den inbyggda proceduren "puts", som normalt, utan extra argument skriver ut texten man ger den på standard input, dvs vanligtvis skärmen, följt av en radbrytning, varsågod. Sen kan du fortsätta scriptet precis som vanligt och ingen kommer att märka skillnaden.
Möjligheten att göra rekursiva interpreters, som är vanliga i Tcl och faktiskt skapas automatiskt i t.ex. varje if- och while-sats och procedur, "safe", bygger på att en utvald del av alla funktioner/kommandon/procedurer (de är alla samma sak i Tcl) stängs av, t.ex. kommandona för att kunna läsa och skriva filer eller öppna en socket.
Något skydd från DOS (denial of service) finns inte inbyggt, men finns det egentligen i något språk? Startar man en safe slave interpreter och dödar den efter lämplig tid, när den förväntas ha utfört sin uppgift, kan man köra all Tcl-kod som någon förhoppningsvis kan komma på.