Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Programmeringens metatrender (Från Fortran till Lisp...) <ul>&quot;90% of coding is debugging. The other 10% is writing bu...
” Java and JavaScript are similar like Car and Carpet are similar”
Vem är jag? <ul><li>Boråsare, 66:a, gift med @penilla
”itpastorn”
WaSP Education Task Force
OWEA
Ämnesexpert åt Skolverket </li><ul><li>Webbteknik
Gränssnittsdesign
Fjärde året (”mjukvarudesign”) </li></ul></ul>
Vilka är ni? <ul><li>Programmeringslärare
Webbdesign, multimedia?
C, C++, C#, Objective C?
VB?
Java?
PHP?
JavaScript?
Python?
Erlang, Haskell, Clojure, Scala?
Common Lisp? </li></ul>
Upcoming SlideShare
Loading in …5
×

Programmering metatrender-mini

759 views

Published on

Föredrag om utvecklingstrender inom programmering. Jag höll detta på KTH i Haninge 1 april 2011. (Inget aprilskämt)

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Programmering metatrender-mini

  1. 1. Programmeringens metatrender (Från Fortran till Lisp...) <ul>&quot;90% of coding is debugging. The other 10% is writing bugs&quot; </ul>
  2. 2. ” Java and JavaScript are similar like Car and Carpet are similar”
  3. 3. Vem är jag? <ul><li>Boråsare, 66:a, gift med @penilla
  4. 4. ”itpastorn”
  5. 5. WaSP Education Task Force
  6. 6. OWEA
  7. 7. Ämnesexpert åt Skolverket </li><ul><li>Webbteknik
  8. 8. Gränssnittsdesign
  9. 9. Fjärde året (”mjukvarudesign”) </li></ul></ul>
  10. 10. Vilka är ni? <ul><li>Programmeringslärare
  11. 11. Webbdesign, multimedia?
  12. 12. C, C++, C#, Objective C?
  13. 13. VB?
  14. 14. Java?
  15. 15. PHP?
  16. 16. JavaScript?
  17. 17. Python?
  18. 18. Erlang, Haskell, Clojure, Scala?
  19. 19. Common Lisp? </li></ul>
  20. 20. Twitter? #gymprg
  21. 21. Om inte Gy-11 hade hänt... Hur hade din undervisning ändrats ändå?
  22. 22. Paradigm <ul><li>” Goto”
  23. 23. Strukturerad
  24. 24. Objektorienterad
  25. 25. Funktionell
  26. 26. Deklarativ </li></ul>
  27. 27. ” I invented the term Object Oriented and I did not have C++ in mind.” Alan Key
  28. 28. Paradigm (forts) <ul><li>Sekvens – vänta – sekvens – vänta... </li></ul><ul><ul><li>STDIN – STDOUT – STDERR </li></ul></ul><ul><li>Händelsedriven </li></ul><ul><ul><li>”Event loopen”
  29. 29. Från timers till intelligenta events </li><ul><li>setTimeout
  30. 30. MozBeforePaint </li></ul></ul></ul>
  31. 31. Abstraktion 1 <ul><li>Assembler
  32. 32. Högnivå med ”peek och poke”
  33. 33. C
  34. 34. Virtuella maskiner med garbage collection
  35. 35. ”Program i program” </li><ul><li>JavaScript i Webbläsaren </li></ul></ul>
  36. 36. Abstraktion 2 <ul><li>Koda för hårdvaran
  37. 37. Koda för operativsystemet
  38. 38. Koda för webbmiljön </li><ul><li>Webben är framtidens RTE </li></ul><li>Cloud computing/distribuerade system </li><ul><li>Cloud storage (Evernote, Dropbox)
  39. 39. Äkta distribuerade system (CouchDB) </li></ul></ul>
  40. 40. Prestandagapet? <ul><li>Från mer än 100 x till mindre än 10 x
  41. 41. Dagens JavaScript är snabbare än C++ var för 5 år sedan
  42. 42. Gapet kommer minska ytterligare
  43. 43. Matematisk gräns på 2-3 x (?) </li></ul>
  44. 44. ”Script” är inte dimunitiv <ul><li>Frau – Fraulein
  45. 45. Brot – Brötchen
  46. 46. Java – JavaScript? (nej) </li></ul>
  47. 47. Utvecklingstempo slår allt <ul><li>Programmerarens tid är mer dyrbar än CPU-tid
  48. 48. Detta är programmeringens kopernikanska vändning från 70-talet till idag
  49. 49. Varför är Google Chrome snabb? Den ”slösar” med CPU och RAM...
  50. 50. Men O(log n) är fortfarande bätte än O(n 2 )... </li></ul>
  51. 51. Flaskhalsar <ul><li>Enkelfnutt eller dubbelfnutt? </li><ul><li>Kapar en miljarddels sekund </li></ul><li>Men: Vänta på databasen kostar sekunder
  52. 52. ”Fast” vs. ”responsive” </li><ul><li>Den som fryser UI förlorar!
  53. 53. Blockera inte webbläsaren, använd ”progressive enhancement”
  54. 54. Hitta balans mellan klient och server </li></ul></ul>
  55. 55. Webbutveckling är programmering <ul><li>Och programmering är webbutveckling </li></ul>
  56. 56. Ambient Computing
  57. 57. Strukturen
  58. 58. Praktikplatser? Också i Open Source projekt? http://keryx.se/blogg-64

×