From e1668eb3d412d8ba99f3846591aaf6734acd3ca5 Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Tue, 7 Nov 2023 21:50:32 -0600 Subject: [PATCH] g --- notes.md | 103 ------------------------------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 notes.md diff --git a/notes.md b/notes.md deleted file mode 100644 index 030b65f..0000000 --- a/notes.md +++ /dev/null @@ -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