duangsuse::Echo
717 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#PL #sysadmin #Windows #China 体验 EPL 4.0 Preview 🤔 话说,EPL 的创作者们还真的是资深的后端、Windows 开发人员,有些人真的还好意思笑话 EPL... 完全没有意识到自己那个知识面... EPL 虽然几乎完全是过程式,而且特性基本都是靠抄、IDE 支持比较老式,但它还是有它的特色之处的
#CSharp #dev #dotnet 试用 MonoDevelop
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
😀 Sticker
好了,闲杂事物已经处理完毕,现在来干 ♂ 正事 ❤️ #weekly #tech

这星期(虽然就一天)的事情,将会包含:
+ 两个到三个 Excited 的项目(BinaryStreamIO 1.0、SimpleCat)(Android 的 Perferences 封装)

+ 两个小型 PoC 项目(PartitionSortableList、Delete/Insert/Modify sorted Lists Android 应用、TextTag)(吐槽:其实 duangsuse 也不会多少排序算法呢,他连 Bin sort、Merge sort 都不会,插入排序只有简单排序支持、交换排序支持快排和冒泡排序... 当然这是因为他不主要是看算法的... 再说不是有 Wikipedia 嘛)(吐槽:TextTag 只是重写,不是 PoC,而且这个所谓的 PoC Proof 的是我自己的能力... 虽然也不是多厉害的能力 hhhh)

+ 三个项目计划和一些抽象程度比较高的设计(BinaryStreamIO 2.0、Cat 程序设计语言、GeekSpec 1.0)
==> Cat 程序设计语言打算作为一个 Kotlin Common 项目开发,开放 JavaScript 和 Java API,它的简单概述是 "Cute weak-typing multi-paradigm programming language with dynamic scoping/pattern matching/reflection/coroutines"
==> GeekSpec 1.0 的特色是:支持基于预处理(preprocessing)的模块化编程和跨平台抽象、此外,GeekSpec 1.0 将是一个基于 Markdown 的结构标记语言!

+ 还有一群可爱的餐前甜点。 🍰

此外,还有一个本频道之前关于 #CS 计算机科学的概念定义错误需要修正:

+ 关于 NP-hard 问题和停机问题、确定性问题 出现了混淆 🐛
#JavaScript #backend(上一条消息) 🤔 啊好难看的逻辑,其实就是 ObjUtil.<P> 的时候

$_ = 函数(self、属性、补充项) 若 self 不为空且 self 有这个属性:
设 n 为 self[此属性]
若 n 不为空且 n 不为 undefined: (void 0,我也不知道为啥 ES6 又有这种奇葩语法了,JavaScript 为啥会有 void?)
返回 n
返回补充项

$_(e.ObjUtil || 定义 map e.Objutil, undefined, undefined)

好奇怪下面小括号里的 e 是哪里来的。
代码 before 和 after 又有什么区别,看不出... 缩进?
Forwarded from 羽毛的小白板
Before & After
duangsuse::Echo
#JavaScript #backend(上一条消息) 🤔 啊好难看的逻辑,其实就是 ObjUtil.<P> 的时候 $_ = 函数(self、属性、补充项) 若 self 不为空且 self 有这个属性: 设 n 为 self[此属性] 若 n 不为空且 n 不为 undefined: (void 0,我也不知道为啥 ES6 又有这种奇葩语法了,JavaScript 为啥会有 void?) 返回 n 返回补充项 $_(e.ObjUtil || 定义 map e.Objutil…
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void

好愚蠢啊,居然连个例子都不会举,看了半天我才明白它是要说这个... 这么 trivial 的东西有啥好 show 的... 🤔

void function test() {
console.log('boo!');
// expected output: "boo!"
}();


弄了半天我才看到 void 领在 function 表达式前面,而我又看了两遍才注意到 {} 后面有个小括号... 也就是说它立即调用了 test 函数... hhh


ES6 好奇怪啊,为什么 test 被 function 赋 undefined 了,这么说还不能简单地认为 void 是 AST 合成属性咯?function test 难道不是说 var test = ... ? 居然还是先等语句真正的值 void ...; 计算出来了再赋值?听起来真有 ES6 的风范

ES6 也是可怜,要背负这么重的历史包袱
这样看应该明白吧
duangsuse::Echo
这样看应该明白吧
啊,是,谢谢,我最近设计的 Cat 正好需要一个 Reflection Access 的组件模块来抽象 Kotlin JVM/JS 的 Reflection 系统

我刚才没有注意到这是 ES6 模块
#ES6 #PL 🤔 计算机科学要从前端抓起?

== UPDATE: 和计算机科学无关

这个回答以一种诙谐的方式解说了前端工程师们会遇到的这种『坑』。

说的是 ES6 的 OOP 模型而已,[[Set]] 使用 Prototype 对象模型(定义在对象的 Prototype 对象里)[[Define]] 却使用 Object 的自属性 Own Properties

Object.getPrototypeOf("") //=> String
"".hasOwnProperty("repeat") //=> false
"".__proto__.hasOwnProperty("repeat") //=> true


而且,JavaScript 界通用的 ES6 翻译器,Babel,在一个大版本里修改了自己的默认属性行为,从 [[Set]] 到 [[Define]]
莫名就会被坑,万恶的向前不兼容...

至于我为啥会把它当成计算机科学相关,是因为我把 Set 理解成集合(Set)了(Dependent Type,或者反正啥处理 Type subtyping 的程序,都会把比较基本的变量类型认为是『可取的类型集合』Set,当然依赖类型我完全不会但是后面一个是真的)... Define 被我当成是定义(Define)函数了... 😵

所以 🤔

... 祈祷不要再有人折腾我们可怜的前端了,他们成天设计一大堆页面 UI 也是很累的,有些人还要写 Animation...
Forwarded from 羽毛的小白板