老外讲师都比较自由奔放,几乎每个都是络腮胡或是长发飘飘,要么西装革履,要么几乎穿个大裤衩。然后 PPT 清一色全是英文长句子,有的篇幅辽阔,有的言简意赅。不管讲的是浅显还是夸张,都透露出一种听我的就对了的口气。国内的讲师基本都是 T 恤衬衫,呆着眼镜,然后拿着反复斟酌排版仍然透露出寒酸气息的 PPT,时刻关注观众反应地小心谨慎地陈述。
总得来说,无外乎以下几种方向:
如何让 AI 更好地理解人类世界(主要是人自身的输入)
如何让 AI 更好地表达自己
Rust 如何赋能安全性/自身如何安全
人类手搓代码不容易,大家行行好给点 financial support
总的看来真是机械降神,科技平权啊。人类前 30 年辛辛苦苦建立的互联网世界,一夜间被 AI 几乎全部给颠覆了。不懂编程的人都能喊出要让所有的程序让 AI 重新写一遍的口号了,程序员的生存空间已然变得极其狭窄。这次几乎没听到讲得通俗易懂的机器人开发,总觉得机器人领域现在也缺少一个降维的过程,翻来覆去还是传感器和控制算法这一套,如何面向更实际用户的需求来进化,可能也会促使这个行业诞生 ChatGPT 这样的巨无霸应用。
结合到现在工作的开发内容,AI 已经在如何和计算机好好相处方面全面超越了人类,目前已有的纯软件方面的问题只剩下如何让 AI 可以互相沟通了。当然还有与人交互,但这就不是 AI 自身需要完善的能力范围了。
下一届大会,是不是就应该出现 AI 讲师了呢?完全由 AI 撰写并完成演讲的讲座,让我们拭目以待吧!
前端三剑客 HTML/CSS/JavaScript。JavaScript 已经飞黄腾达,甚至都不认浏览器这个祖宗了;CSS 痴迷与自己的布局样式、动画和色彩、Houdini 扩展等等,进入了修仙的通道。看来看去只剩 HTML 这个老顽固还在自己的一亩三分地里爬坑,几十年来一点长进都没有。
虽然 web components 让人们看到了重拾 HTML 组件的希望,但随着 Safari 等厂商的不配合,以及深入探究后的继承兼容性问题,最终也没有达成一致。HTML 还是归于一滩死水。但这样的的好处也很明显,像其他领域还在挣破头皮要开发新功能时,HTML 只要能渲染 if/else, for loop,import/include, pipe/filter 就谢天谢地足够日常使用了。
正因如此,其实各家 MVVM 与其说是为了渲染 HTML 而写了个框架,不如说是挂羊头卖狗肉专职搞数据流,只是把随手写的 HTML 模板滥竽充数地塞到了用户面前。而这也造成了各家的模板语言五花八门,根本无法有效互通。
更可恶的是,小程序还有一套模板语言……
这些模板可谓是争奇斗艳,群魔乱舞。但最大的一个问题是,很多模板都在破坏 HTML 自身的图灵完备。几十年后,不要说读懂这段代码,就是运行版本都找不到。
有悲观的博主甚至直接切换到了 web components 来对抗这种不确定性,但这只适合于自娱自乐的自嗨项目,公司级项目肯定不合适。咋办呢?先调研调研用过的模板吧。
In the Ivy model, Angular decorators (@Injectable, etc) are compiled to static properties on the classes (ngInjectableDef). This process takes place without a complete analysis of code, and in most cases with a decorator only. Here, the only exception is @Component, which requires knowledge of the meta-data from the @NgModule which declares the component in order to properly generate the ngComponentDef. The selectors which are applicable during the compilation of a component template are determined by the module that declares that component.
The information needed by Reference Inversion and type-checking is included in the type declaration of the ngComponentDef in the .d.ts. Here, Reference Inversion is the process of determining the list of the components, directives, and pipes on which the decorator(which is getting compiled ) depends, allowing the module to be ignored altogether.