g
This commit is contained in:
parent
cc0d2286ab
commit
e1668eb3d4
1 changed files with 0 additions and 103 deletions
103
notes.md
103
notes.md
|
@ -1,103 +0,0 @@
|
||||||
# WWW
|
|
||||||
|
|
||||||
- Didn't really have much put together but still wanted to do a talk, so here we are.
|
|
||||||
|
|
||||||
# Who am I
|
|
||||||
|
|
||||||
- Former webmaster
|
|
||||||
- Programming languages
|
|
||||||
- Hate every language
|
|
||||||
- 4 years industry
|
|
||||||
- 10+ years complaining
|
|
||||||
|
|
||||||
# History
|
|
||||||
|
|
||||||
- HTML
|
|
||||||
- Javascript
|
|
||||||
- Rather unglamorous
|
|
||||||
- CSS
|
|
||||||
- Don't know much, let's gloss over it
|
|
||||||
- Flash
|
|
||||||
- Super easy to make and publish things
|
|
||||||
- jQuery
|
|
||||||
- One of the longest lasting web frameworks
|
|
||||||
- Coffeescript
|
|
||||||
- Introduced a lot of funny little syntax
|
|
||||||
- Transpiling wasn't new, but warmed a lot of people up to the idea of transpiling
|
|
||||||
- Used by a lot of big projects and companies
|
|
||||||
- Benefits not really helpful anymore since they got added to ES6
|
|
||||||
- Angular
|
|
||||||
- ES6
|
|
||||||
- fetch
|
|
||||||
- spread operator
|
|
||||||
- arrow functions
|
|
||||||
|
|
||||||
This is where my list ends, but still lots of new and interesting Javascript projects today.
|
|
||||||
|
|
||||||
# Things we fixed
|
|
||||||
|
|
||||||
- Scoping
|
|
||||||
- Var/Let
|
|
||||||
- Arrow functions
|
|
||||||
- Eliminated `this`
|
|
||||||
- Modules
|
|
||||||
- Massively improved analyzability + tree-shaking
|
|
||||||
- STDLIB
|
|
||||||
|
|
||||||
# Good things
|
|
||||||
|
|
||||||
- Bundling
|
|
||||||
- This is basically just preprocessors
|
|
||||||
- Other languages should have this
|
|
||||||
- HMR
|
|
||||||
- Incredibly useful and versatile
|
|
||||||
- `watchexec`
|
|
||||||
- SSR
|
|
||||||
- Solved the problem of not being able to render immediately
|
|
||||||
- Good for static site generators like Astro
|
|
||||||
- X-plat UI
|
|
||||||
- Electron/Tauri
|
|
||||||
- Lot of people could develop really fast
|
|
||||||
- Compare to Qt
|
|
||||||
- Don't play the "familiarity" card
|
|
||||||
|
|
||||||
# Reactivity
|
|
||||||
|
|
||||||
- Flux
|
|
||||||
- Single point of update
|
|
||||||
- Redux
|
|
||||||
-
|
|
||||||
- Signals
|
|
||||||
- Enables better reactivity
|
|
||||||
- Note on Svelte+friends: they talk about compiling but it seems a lot of their compiled code isn't really that much more concise, large runtime
|
|
||||||
|
|
||||||
Which brings me to my controversial take:
|
|
||||||
|
|
||||||
# Web is a solid choice
|
|
||||||
|
|
||||||
- "Small" software as we know it today pretty much doesn't really exist, given the complexity of hardware and needs of users
|
|
||||||
- We have optimized for "having nice things" a lot, and there's no point in taking it
|
|
||||||
|
|
||||||
# Bad
|
|
||||||
|
|
||||||
- Equality
|
|
||||||
- Truthy /falsy
|
|
||||||
- `==` still in the language, typescript doesn't really fix this
|
|
||||||
- Macros
|
|
||||||
- JS was supposed to be a Lisp
|
|
||||||
- No nice features from homoiconicity
|
|
||||||
- Runtime
|
|
||||||
- Privacy discussion
|
|
||||||
- Ecosystem
|
|
||||||
- NPM sucks
|
|
||||||
- Lots of packages for small simple things
|
|
||||||
- Supply chain attacks
|
|
||||||
- Security of running npm software on ur own computer, possibly an OS problem instead
|
|
||||||
- Lack of competition in browsers
|
|
||||||
- WEI / FLOC / google mess
|
|
||||||
|
|
||||||
# What's next?
|
|
||||||
|
|
||||||
- HTMX
|
|
||||||
- CCSS
|
|
||||||
- Declarative web framework
|
|
Loading…
Reference in a new issue