$30 off During Our Annual Pro Sale. View Details »

Reflections on the Craft

Reflections on the Craft

My talk form VarnaConf 2013

Stefan Kanev

July 20, 2013
Tweet

More Decks by Stefan Kanev

Other Decks in Programming

Transcript

  1. Размисли за занаята
    Стефан Кънев
    http://skanev.com/
    @skanev
    VarnaConf
    20 юли 2013
    Варна

    View Slide

  2. Стефан

    View Slide

  3. Every time

    View Slide

  4. “Разчупен лед”

    View Slide

  5. смях на чужд гръб

    View Slide

  6. Мариян

    View Slide

  7. View Slide

  8. Васил

    View Slide

  9. Митьо

    View Slide

  10. Радо

    View Slide

  11. удрям ниско

    View Slide

  12. View Slide

  13. монади

    View Slide

  14. лимонади

    View Slide

  15. David Chelimsky

    View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. Programmer

    View Slide

  20. ⽃⽄ Ruby, Ruby, Ruby ̆̇㽈

    View Slide

  21. View Slide

  22. ❤Programming
    Languages

    View Slide

  23. Ruby & Python

    View Slide

  24. twitter: @skanev
    github: skanev
    blog: http://skanev.com/

    View Slide

  25. ЗА КАКВО ИДЕ РЕЧ?

    View Slide

  26. Размисли
    Наблюдения

    View Slide

  27. без особен ред

    View Slide

  28. ВЪЗМОЖНОСТ
    ПРИЛОЖИМОСТ

    View Slide

  29. Възможност

    View Slide

  30. Приложимост

    View Slide

  31. Common Lisp

    View Slide

  32. Java

    View Slide

  33. Fortran
    възможност спрямо assembly

    View Slide

  34. Structured
    Programming
    приложимост спрямо GOTO

    View Slide

  35. Relational Model
    приложимост спрямо файлове

    View Slide

  36. C++
    възможност спрямо C

    View Slide

  37. Java
    приложимост спрямо C++

    View Slide

  38. Разширяване
    Свиване

    View Slide

  39. “твърде бавно”

    View Slide

  40. “твърде ограничаващо”

    View Slide

  41. Повечето нови технологии и
    подходи са реакция към
    съществуващи технологии и
    подходи

    View Slide

  42. Реакциите са стандартни:
    скептичност и консерватизъм

    View Slide

  43. Няма значение, че сега това
    са едни от най-утвърдените и
    най-сигурни технологии

    View Slide

  44. Като индустрия, ние сме
    ужасно скептични към всяка
    нова технология

    View Slide

  45. “Скептичен” е лоша дума,
    понеже предполага
    съмнение, а не отричане.
    Съответно, ...

    View Slide

  46. Ние сме страхливи

    View Slide

  47. КРАСИВА ТЕОРИЯ
    ГРОЗНА РЕАЛНОСТ

    View Slide

  48. Имаме страхотна теория как
    се правят нещата - езици, бази,
    компилатори, архитектури,
    операционни системи

    View Slide

  49. На практика, всяка стабилна
    система е назадничава, серия от
    компромиси или просто каша

    View Slide

  50. “Чукча писател, чукча не читател”

    View Slide

  51. малко примери

    View Slide

  52. HTML & HTTP

    View Slide

  53. JavaScript
    DOM

    View Slide

  54. View Slide

  55. x86

    View Slide

  56. View Slide

  57. повечето
    програмни
    езици

    View Slide

  58. View Slide

  59. Може би това е нормалният
    цикъл за най-използвания
    софтуер и няма друг начин

    View Slide

  60. Можем да се справим по-добре
    за софтуера, който ние пишем

    View Slide

  61. а дано, ама надали

    View Slide

  62. Ние мислим
    краткосрочно

    View Slide

  63. ИНДУСТРИЯ НА
    МЕТАФОРИТЕ

    View Slide

  64. Използваме много метафори да
    говорим за софтуер помежду си

    View Slide

  65. Заемаме фрази от други сфери,
    понеже нямаме собствени

    View Slide

  66. View Slide

  67. View Slide

  68. View Slide

  69. View Slide

  70. Метафорите са опасни - могат
    да ни поведат по грешен път

    View Slide

  71. В строителството, нещата трябва
    да стават в определен ред. Метър
    грешка струва много. Планът и
    спецификацията са критични.

    View Slide

  72. Имаме copy/paste. Ако
    метафоричния мост се срути,
    може да вдигнем хиляда нови
    за секунди.

    View Slide

  73. Agile не е революция - просто ни
    откъсва от грешната метафора

    View Slide

  74. Ние сме объркани

    View Slide

  75. ПРАГМАТИЦИ
    VS.
    МЕЧТАТЕЛИ

    View Slide

  76. прагматици
    мечтатели

    View Slide

  77. Прагматиците искат предимно
    да свършат работата

    View Slide

  78. Мечтателите искат да
    направят нещо красиво

    View Slide

  79. Рядко някой е в крайност, но
    често сме близо до тях

    View Slide

  80. Не е черно-бяло - има “добри”
    прагматици и “лоши” мечтатели

    View Slide

  81. Прагматиците рискуват да си
    затворят очите за новото

    View Slide

  82. View Slide

  83. Не е лошо да си прагматик,
    но трябва да внимаваш да не
    се затвориш за новото

    View Slide

  84. Трудно е да бъдеш
    единия в екип от другите

    View Slide

  85. Когато прагматиците
    надделеят, това често потиска
    развитието в дадена среда

    View Slide

  86. Ние сме склонни
    към регрес

    View Slide

  87. КАКВО ЗНАЧИ ВСИЧКО
    ТОВА?

    View Slide

  88. 1.Ние сме страхливи
    2.Ние мислим краткосрочно
    3.Ние сме объркани
    4.Ние сме склонни към регрес

    View Slide

  89. View Slide

  90. 1.Ние сме страхливи
    2.Ние мислим краткосрочно
    3.Ние сме объркани
    4.Ние сме склонни към регрес

    View Slide


  91. View Slide

  92. View Slide

  93. Не сме обречени. Винаги ще има
    хора, които да ни дърпат напред.

    View Slide

  94. Къде сме? С тях или в авангарда?

    View Slide

  95. Къде е нашето community?

    View Slide

  96. Какво да възпитаваме?

    View Slide

  97. Страст

    View Slide

  98. Смелост

    View Slide

  99. Hardcore умения

    View Slide

  100. Работещ софтуер

    View Slide

  101. View Slide

  102. fin

    View Slide

  103. View Slide