'Declarative Thinking, Declarative Practice' - Kevlin Henney [ ACCU 2016 ]
00:00:00 : Start
00:01:59 : Real start (end of meta talk)
00:03:55 : 'Make' as a declarative language
en DOT wikipedia DOT org/wiki/Make_%28software%29
00:06:22 : Reference to Fred Brooks' The Mythical Man-Month
en DOT wikipedia DOT org/wiki/The_Mythical_Man-Month
00:11:36 : Illiteracy and software developers.
00:18:17 : FizzBuzz
en DOT wikipedia DOT org/wiki/Fizz_buzz
00:39:26 : Table-driven (instead of very redundant purely procedural code)
00:44:05 : The collection pipeline solution
00:51:42 : By search/replaces (Bash / Perl)
00:53:10 : Stacks
00:54:11 : Indirect reference to Bertrand Meyer's Eiffel book. Pre- /post conditions (asserts).
en DOT wikipedia DOT org/wiki/Eiffel_(programming_language)
en DOT wikipedia DOT org/wiki/Eiffel_(programming_language)#Design_by_contract
en DOT wikipedia DOT org/wiki/Design_by_contract
01:05:48 : Concurrency vs. pre- /post conditions
Do this, do that. Coding from assembler to shell scripting, from the mainstream languages of the last century to the mainstream languages now, is dominated by an imperative style. From how we teach variables – they vary, right? – to how we talk about databases, we are constantly looking at state as a thing to be changed and programming languages are structured in terms of the mechanics of change – assignment, loops and how code can be threaded (cautiously) with concurrency.
Functional programming, mark-up languages, schemas, persistent data structures and more are all based around a more declarative approach to code, where instead of reasoning in terms of who does what to whom and what the consequences are, relationships and uses are described, and the flow of execution follows from how functions, data and other structures are composed. This talk will look at the differences between imperative and declarative approaches, offering lessons, habits and techniques that are applicable from requirements through to code and tests in mainstream languages.
Видео 'Declarative Thinking, Declarative Practice' - Kevlin Henney [ ACCU 2016 ] канала ACCU Conference
00:01:59 : Real start (end of meta talk)
00:03:55 : 'Make' as a declarative language
en DOT wikipedia DOT org/wiki/Make_%28software%29
00:06:22 : Reference to Fred Brooks' The Mythical Man-Month
en DOT wikipedia DOT org/wiki/The_Mythical_Man-Month
00:11:36 : Illiteracy and software developers.
00:18:17 : FizzBuzz
en DOT wikipedia DOT org/wiki/Fizz_buzz
00:39:26 : Table-driven (instead of very redundant purely procedural code)
00:44:05 : The collection pipeline solution
00:51:42 : By search/replaces (Bash / Perl)
00:53:10 : Stacks
00:54:11 : Indirect reference to Bertrand Meyer's Eiffel book. Pre- /post conditions (asserts).
en DOT wikipedia DOT org/wiki/Eiffel_(programming_language)
en DOT wikipedia DOT org/wiki/Eiffel_(programming_language)#Design_by_contract
en DOT wikipedia DOT org/wiki/Design_by_contract
01:05:48 : Concurrency vs. pre- /post conditions
Do this, do that. Coding from assembler to shell scripting, from the mainstream languages of the last century to the mainstream languages now, is dominated by an imperative style. From how we teach variables – they vary, right? – to how we talk about databases, we are constantly looking at state as a thing to be changed and programming languages are structured in terms of the mechanics of change – assignment, loops and how code can be threaded (cautiously) with concurrency.
Functional programming, mark-up languages, schemas, persistent data structures and more are all based around a more declarative approach to code, where instead of reasoning in terms of who does what to whom and what the consequences are, relationships and uses are described, and the flow of execution follows from how functions, data and other structures are composed. This talk will look at the differences between imperative and declarative approaches, offering lessons, habits and techniques that are applicable from requirements through to code and tests in mainstream languages.
Видео 'Declarative Thinking, Declarative Practice' - Kevlin Henney [ ACCU 2016 ] канала ACCU Conference
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Kevlin Henney - Functional C++What Do You Mean? - Kevlin Henney [ACCU 2019]Seven ineffective coding habits of many programmers - Kevlin HenneyDeclarative GTK Programming in Haskell - Oskar WickströmOld Is the New New • Kevlin Henney • GOTO 2018Talking Architecture With Kevlin HenneyDeclarative thinking, declarative practice - Kevlin Henney - Meeting C++ 2017Why Isn't Functional Programming the Norm? – Richard FeldmanGiving code a good name - Kevlin HenneyAgility ≠ Speed - Kevlin HenneyWorse Is Better, for Better or for Worse • Kevlin Henney • GOTO 2013Paradigms Lost, Paradigms Regained: Programming with Objects and Functions and More - Kevlin HenneyClean Coders Hate What Happens to Your Code When You Use These Enterprise Programming TricksA system is not a tree - Kevlin Henney🚀 DevTernity 2019: Kevlin Henney - Lean CodeTest Smells and Fragrances - Kevlin HenneyCode as Risk • Kevlin Henney • GOTO 2017Programming Paradigms - Computerphile"Why Julia?" A high level description of the features and benefits of programming in Julia.Functional Programming in 40 Minutes • Russ Olsen • GOTO 2018