Commit 95314a493f6e65e9f5a541b3d9e7d2d1e4fecfb3
rewrite history
Michael Williams committed on 7/18/2017, 1:24:15 PMParent: 42702f740a0ea03165e2dd04a257e95b91775cd7
Files changed
README.md | changed |
README.md | ||
---|---|---|
@@ -26,28 +26,121 @@ | ||
26 | 26 … | --- |
27 | 27 … | |
28 | 28 … | # what? |
29 | 29 … | |
30 | -this talk is a mashup of a few topics: | |
30 … | +luddite.js is a JavaScript framework to make building apps fun again | |
31 | 31 … | |
32 | -- why you only need simple functions and objects to build complex systems | |
33 | -- why the best modules should not have any added sugar | |
34 | -- how "mad science" led to the success of Node.js and thus JavaScript | |
35 | -- why TC39 (the committee behind ES6+) is bad for JavaScript | |
36 | -- why you should ignore "modern JavaScript" (promises, classes, `async` / `await`, generators, and beyond). | |
32 … | +--- | |
37 | 33 … | |
34 … | +## who are the Luddites? | |
35 … | + | |
36 … | +[Luddites](https://en.wikipedia.org/wiki/Luddite) are people against _centralized technology_ which decreases quality of life. | |
37 … | + | |
38 | 38 … | --- |
39 | 39 … | |
40 | -# first, some simplified history..., | |
41 | 40 … | |
41 … | +## what is luddite.js? | |
42 … | + | |
43 … | +a movement against _centralized standards_ which decreases developer experience | |
44 … | + | |
42 | 45 … | --- |
43 | 46 … | |
47 … | +## what centralized standards? | |
48 … | + | |
49 … | +--- | |
50 … | + | |
51 … | +### tc39 | |
52 … | + | |
53 … | +a great team advancing the state of the art in JavaScript, | |
54 … | + | |
55 … | +but is one of _many_ possible opinions about JavaScript. | |
56 … | + | |
57 … | +--- | |
58 … | + | |
59 … | +### what other opinions? | |
60 … | + | |
61 … | +--- | |
62 … | + | |
63 … | +what if i told you... | |
64 … | + | |
65 … | +that you only needed plain functions and objects? | |
66 … | + | |
67 … | +--- | |
68 … | + | |
69 … | +### modules | |
70 … | + | |
71 … | +```js | |
72 … | +// randomCat.js | |
73 … | +const { random: randomCat } = require('cat-names') | |
74 … | + | |
75 … | +module.exports = randomCat | |
76 … | +``` | |
77 … | + | |
78 … | +??? | |
79 … | + | |
80 … | +we first create a `const` variable from a sync `require` function. | |
81 … | + | |
82 … | +we assign the result of this to a global variable `module.exports` | |
83 … | + | |
84 … | +not the hundred million special syntaxes to import and export es modules | |
85 … | + | |
86 … | + | |
87 … | +## functions | |
88 … | + | |
89 … | +```js | |
90 … | +// randomCatAsync.js | |
91 … | +const randomCat = require('./randomCat') | |
92 … | + | |
93 … | +module.exports = function randomCatAsync (cb) { | |
94 … | + try { | |
95 … | + cb(null, randomCat()) | |
96 … | + } catch (err) { | |
97 … | + cb(err) | |
98 … | + } | |
99 … | +} | |
100 … | +--- | |
101 … | + | |
102 … | +## sync functions | |
103 … | + | |
104 … | + | |
105 … | +``` | |
106 … | +function fn () { | |
107 … | + try { | |
108 … | + return value() | |
109 … | + } catch (err) {} | |
110 … | +} | |
111 … | +``` | |
112 … | + | |
113 … | +## async functions | |
114 … | + | |
115 … | +### `cb(err, value()) | |
116 … | + | |
117 … | +## aids | |
118 … | + | |
119 … | +- [eating your own dog food](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) | |
120 … | +- [mad science method](https://github.com/ahdinosaur/mad-science-handbook/blob/master/collaboration.md#the-mad-science-cycle) | |
121 … | +- [do-ocracy](https://communitywiki.org/wiki/DoOcracy) | |
122 … | +- marathon: keep a slow & steady pace one step at a time | |
123 … | +- if you see a job that needs doing, it's your job to do (do-ocrarcy) | |
124 … | +- too much sugar is bad for your health (simple interfaces) | |
125 … | + | |
126 … | +## blocks | |
127 … | + | |
128 … | +- cave method: try to design or implement the _perfect_ system before sharing it | |
129 … | +- [design by committee](https://en.wikipedia.org/wiki/Design_by_committee) | |
130 … | +- sprint: hype, mania, and burn-out | |
131 … | +- [waterfall design](https://en.wikipedia.org/wiki/Waterfall_model) | |
132 … | + | |
133 … | +--- | |
134 … | + | |
44 | 135 … | # 2009 |
45 | 136 … | |
46 | 137 … | ## nobody cares about JavaScript |
47 | 138 … | |
48 | 139 … | > it's a toy language |
49 | 140 … | |
141 … | +--- | |
142 … | + | |
50 | 143 … | ## Ryan Dahl (@ry) creates Node.js |
51 | 144 … | |
52 | 145 … | [watch the original presentation](https://www.youtube.com/watch?v=ztspvPYybIY) |
53 | 146 … |
Built with git-ssb-web