This commit is contained in:
Michael Zhang 2023-11-07 21:50:32 -06:00
parent cc0d2286ab
commit e1668eb3d4

103
notes.md
View file

@ -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