突然感觉自己有点 JVM 老咸鱼了的意思,遇到问题即便只是查 API ,不需要搜索自己就能找到答案,而我对 #Java 不常见语法 (
开始在头脑里设计,然后再去对接底层 API 实现,没有 API 我也会尽量猜个八九不离十的出来,对编程语言的结构组织如数家珍、操纵更加自如
还是 Kotlin 好🤔 记得自己对区间的认知就是从用 Kotlin 开始的
inst.new T() , new T() {{}}, static {}, synchronized 什么的) 和 static,final,interface 的用法也比较习惯了开始在头脑里设计,然后再去对接底层 API 实现,没有 API 我也会尽量猜个八九不离十的出来,对编程语言的结构组织如数家珍、操纵更加自如
还是 Kotlin 好🤔 记得自己对区间的认知就是从用 Kotlin 开始的
真的很希望自己能对编程语言有新的理解,而且通过一些定义式框架的利用,写一些开发工具,能把这份理解用到实际各平台应用开发中去。
最近虽然安排了贼多小编程应用,也在筹划一个数学式的推导/变形工具,而且还打算设计一个基于 CPS 变换的协程实现,这样就能有 await/async 避免任何回调嵌套,不过略困难🤔
这三天我也设计了三个算法了(数学工具的合并连续区间、求值化简过程列表构造法,协程静态编译的一个)
最近虽然安排了贼多小编程应用,也在筹划一个数学式的推导/变形工具,而且还打算设计一个基于 CPS 变换的协程实现,这样就能有 await/async 避免任何回调嵌套,不过略困难🤔
这三天我也设计了三个算法了(数学工具的合并连续区间、求值化简过程列表构造法,协程静态编译的一个)
duangsuse::Echo
🤔 #web #frontend #css uilang.com 虽然挺菜(而且我觉得无意义,直接 EDSL 有何不可 但我突然感觉 CSS 很不错啊,居然只是它就能定义出开关、下拉、收缩栏的动画效果 看到我就想到了『东北语』和『文言文』,基本上都是一类前端应用,感觉是偏创意性的,没有真的结合其领域的哲学
我嘞个去,这个真是……一个一个一个…… 啊啊啊啊啊啊啊啊啊
我就贴一点代码吧
input.value.split(delimiter).forEach(data =>{
params = new InstructionParsing(data.trim())
jsOut+=new EventHandler(params.a, params.b).getEventListener()
})
d_out.textContent=jsOut+"})"
hljs.highlightBlock(d_out);
我就贴一点代码吧
input.value.split(delimiter).forEach(data =>{
params = new InstructionParsing(data.trim())
jsOut+=new EventHandler(params.a, params.b).getEventListener()
})
d_out.textContent=jsOut+"})"
hljs.highlightBlock(d_out);
#statement 本苏在脚本语言里是从来不把 codegen 分着写的,都是 CG 完全等价直接求值的模式,只不过边执行边顺便输出代码而已
我早就习惯了不写任何重复代码了。
https://github.com/duangsuse-valid-projects/TkGUI/blob/master/tkgui/codegen.py
所以我看见有人把 CG 作为拼接字符串实现,就难以想象的头疼
然后这个会写“语言”的大佬不仅看不到某个表达式会用多少遍、闭包要包住哪些外部变量,而且连命名都是生草的,整个人都爆炸了,这个信息量有点大……
我去还有 code.lastIndexOf('a', 0) == 0 这是什么逻辑
还有 var codeBlock, codeBlockContent while(i--) codeBlock=; ... 这又是哪种编程思想草
我早就习惯了不写任何重复代码了。
https://github.com/duangsuse-valid-projects/TkGUI/blob/master/tkgui/codegen.py
所以我看见有人把 CG 作为拼接字符串实现,就难以想象的头疼
然后这个会写“语言”的大佬不仅看不到某个表达式会用多少遍、闭包要包住哪些外部变量,而且连命名都是生草的,整个人都爆炸了,这个信息量有点大……
我去还有 code.lastIndexOf('a', 0) == 0 这是什么逻辑
还有 var codeBlock, codeBlockContent while(i--) codeBlock=; ... 这又是哪种编程思想草
GitHub
TkGUI/tkgui/codegen.py at master · duangsuse-valid-projects/TkGUI
Declarative tkinter wrapper for Python, features quick prototype & codegen - duangsuse-valid-projects/TkGUI
duangsuse::Echo
幸好,我已经准备好弄内部 DSL 版的了😥
中午还没吃饭,那就不吃了,最近浪费时间第一的实践...
#JavaScript 其实最开始我是不打算用 fold 解释器的,打算直接用 eval() 处理变成 clickingOn("wtf").addsClass("") 这种形式的代码,为此还定义了一个
foldReplace(/(\S+)\s+(\S+)("[^"]*")?/, (a,b,c) => a+capitalize(b)+c?
但是发现这样没法区别处理 "" 里的东西,不得不换成兼容 ES5 的 RegExp sticky flag 分词法。
总之,这次感觉血亏,跟着一个30岁,还只会前端、冒鬼点子的大叔,也没学到写CSS。
嗯…… 也不全对,学到了个 requestAnimationFrame((t_ms) => void) 算 start/elapsed
还有魔怔的 +function(){}() 等于 (function(){})() IIFE 技巧
#JavaScript 其实最开始我是不打算用 fold 解释器的,打算直接用 eval() 处理变成 clickingOn("wtf").addsClass("") 这种形式的代码,为此还定义了一个
foldReplace(/(\S+)\s+(\S+)("[^"]*")?/, (a,b,c) => a+capitalize(b)+c?
(${c}):"", "apple fd") function capitalize(s) { return (s=="")?"" : s[0].toUpperCase()+s.substr(1, s.length); } function foldReplace(re, op, input) { var text=input; var matched=false; do { matched=false; text = text.replace(re, (_, ...args) => { matched=true; return op(...args); }); } while(matched); return text; }但是发现这样没法区别处理 "" 里的东西,不得不换成兼容 ES5 的 RegExp sticky flag 分词法。
总之,这次感觉血亏,跟着一个30岁,还只会前端、冒鬼点子的大叔,也没学到写CSS。
嗯…… 也不全对,学到了个 requestAnimationFrame((t_ms) => void) 算 start/elapsed
还有魔怔的 +function(){}() 等于 (function(){})() IIFE 技巧
每次打破计划后都不知道为什么会浪费时间(但是这次是复制粘贴的比较多,然后 EDSL 的数据封装、JS 的歧义语法差错和codegen都浪费了时间),但是站起来的时候腿软了,即便这样还要继续编程么?
#China #Freedom 写好的东西, git push 不了。
有的觉得是 http buf 和压缩的问题,有的说是要上梯子
V2Ray 下了,不知道是不是USB绑定网不能用,完全复制手机的JSON配置也不行。
真棒, GH 的 SSH 和 github.io , githubusercontent.com 都已经屏蔽了,马上中国的开发者就要分为认识GH和墙内的两拨了,嘿嘿嘿嘿嘿嘿…… 不错,真棒。
有的觉得是 http buf 和压缩的问题,有的说是要上梯子
V2Ray 下了,不知道是不是USB绑定网不能用,完全复制手机的JSON配置也不行。
真棒, GH 的 SSH 和 github.io , githubusercontent.com 都已经屏蔽了,马上中国的开发者就要分为认识GH和墙内的两拨了,嘿嘿嘿嘿嘿嘿…… 不错,真棒。
#algorithm 之前 Kotlin 的 DeepRecursiveFunction 有一个建树的示例,如果 n 指二叉树深度那对象分操作数配肯定比 O(n) 大吧……
Forwarded from Phonograph (Ralph 萌新喵)
我人傻了
互评作业,有人说他建树算法时间复杂度是
您把输入的节点遍历一遍都是
互评作业,有人说他建树算法时间复杂度是
O(log n) ❓❓❓您把输入的节点遍历一遍都是
O(n) ,好吗Forwarded from dnaugsuz
emmm
JDK 是
C++ 一般都用 OpenSSL init update finalize
JDK 是
java.util.MessageDigest C++ 一般都用 OpenSSL init update finalize