Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Reflections on the Craft
Stefan Kanev
July 20, 2013
Programming
0
170
Reflections on the Craft
My talk form VarnaConf 2013
Stefan Kanev
July 20, 2013
Tweet
Share
More Decks by Stefan Kanev
See All by Stefan Kanev
GraphQL
skanev
0
180
Automated Testing: Getting it Right
skanev
1
38
From Novice to Expert
skanev
0
370
Inbetween Code and Profession
skanev
0
220
Clojure & ClojureScript
skanev
2
80
Extreme Programming
skanev
0
230
За смъртта на TDD
skanev
0
190
Python 0 2014
skanev
1
1.5k
Clojure 0 2014
skanev
0
350
Other Decks in Programming
See All in Programming
Enterprise Angular: Frontend Moduliths with Nx and Standalone Components @jax2022
manfredsteyer
PRO
0
290
Blazor WebAssembly – Dynamische Formulare und Inhalte in Aktion
patrickjahr
0
160
Microsoft Teams の 会議アプリ開発のはじめかた / How to start Microsoft Teams app development
karamem0
0
1.6k
Is Rust a great language for building Kubernetes ecosystem
deepu105
0
140
Reinventing the wheel ... as a service
mariofusco
3
260
スモールチームがAmazon Cognitoでコスパよく作るサービス間連携認証
tacke_jp
2
340
WindowsコンテナDojo:第2回 Windowsコンテナアプリのビルド、公開、デプロイ
oniak3ibm
PRO
0
140
人類には難しいZynqで組み込みRust
ikemori
0
490
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
3
490
機能横断型チームにおける技術改善
takeshiakutsu
3
450
How useEvent would change our applications
koba04
1
1.6k
From Java 11 to 17 and beyond
josepaumard
0
290
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
31
5.8k
Designing the Hi-DPI Web
ddemaree
272
32k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
12k
Code Review Best Practice
trishagee
41
6.7k
The Invisible Customer
myddelton
110
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
238
11k
A better future with KSS
kneath
225
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
We Have a Design System, Now What?
morganepeng
35
2.9k
The Language of Interfaces
destraynor
148
20k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Transcript
Размисли за занаята Стефан Кънев http://skanev.com/ @skanev VarnaConf 20 юли
2013 Варна
Стефан
Every time
“Разчупен лед”
смях на чужд гръб
Мариян
None
Васил
Митьо
Радо
удрям ниско
None
монади
лимонади
David Chelimsky
None
None
None
Programmer
⽃⽄ Ruby, Ruby, Ruby ̆̇㽈
None
❤Programming Languages
Ruby & Python
twitter: @skanev github: skanev blog: http://skanev.com/
ЗА КАКВО ИДЕ РЕЧ?
Размисли Наблюдения
без особен ред
ВЪЗМОЖНОСТ ПРИЛОЖИМОСТ
Възможност
Приложимост
Common Lisp
Java
Fortran възможност спрямо assembly
Structured Programming приложимост спрямо GOTO
Relational Model приложимост спрямо файлове
C++ възможност спрямо C
Java приложимост спрямо C++
Разширяване Свиване
“твърде бавно”
“твърде ограничаващо”
Повечето нови технологии и подходи са реакция към съществуващи технологии
и подходи
Реакциите са стандартни: скептичност и консерватизъм
Няма значение, че сега това са едни от най-утвърдените и
най-сигурни технологии
Като индустрия, ние сме ужасно скептични към всяка нова технология
“Скептичен” е лоша дума, понеже предполага съмнение, а не отричане.
Съответно, ...
Ние сме страхливи
КРАСИВА ТЕОРИЯ ГРОЗНА РЕАЛНОСТ
Имаме страхотна теория как се правят нещата - езици, бази,
компилатори, архитектури, операционни системи
На практика, всяка стабилна система е назадничава, серия от компромиси
или просто каша
“Чукча писател, чукча не читател”
малко примери
HTML & HTTP
JavaScript DOM
None
x86
None
повечето програмни езици
None
Може би това е нормалният цикъл за най-използвания софтуер и
няма друг начин
Можем да се справим по-добре за софтуера, който ние пишем
а дано, ама надали
Ние мислим краткосрочно
ИНДУСТРИЯ НА МЕТАФОРИТЕ
Използваме много метафори да говорим за софтуер помежду си
Заемаме фрази от други сфери, понеже нямаме собствени
None
None
None
None
Метафорите са опасни - могат да ни поведат по грешен
път
В строителството, нещата трябва да стават в определен ред. Метър
грешка струва много. Планът и спецификацията са критични.
Имаме copy/paste. Ако метафоричния мост се срути, може да вдигнем
хиляда нови за секунди.
Agile не е революция - просто ни откъсва от грешната
метафора
Ние сме объркани
ПРАГМАТИЦИ VS. МЕЧТАТЕЛИ
прагматици мечтатели
Прагматиците искат предимно да свършат работата
Мечтателите искат да направят нещо красиво
Рядко някой е в крайност, но често сме близо до
тях
Не е черно-бяло - има “добри” прагматици и “лоши” мечтатели
Прагматиците рискуват да си затворят очите за новото
None
Не е лошо да си прагматик, но трябва да внимаваш
да не се затвориш за новото
Трудно е да бъдеш единия в екип от другите
Когато прагматиците надделеят, това често потиска развитието в дадена среда
Ние сме склонни към регрес
КАКВО ЗНАЧИ ВСИЧКО ТОВА?
1.Ние сме страхливи 2.Ние мислим краткосрочно 3.Ние сме объркани 4.Ние
сме склонни към регрес
None
1.Ние сме страхливи 2.Ние мислим краткосрочно 3.Ние сме объркани 4.Ние
сме склонни към регрес
☹
None
Не сме обречени. Винаги ще има хора, които да ни
дърпат напред.
Къде сме? С тях или в авангарда?
Къде е нашето community?
Какво да възпитаваме?
Страст
Смелост
Hardcore умения
Работещ софтуер
None
fin
None