#statement #dev #design 编程者像舞蹈编排者一样,就是什么时候做什么事情而已。 什么时候是指外部输入和环境变化带来的事件入口及传播;什么事情是指对数据的处理与判断。 编程就是总结物上之事的客观规律并加以主观控制,实际一步就是美感地设计代码/项目的结构和利用下层接口。程序的设计和科学一样,只要习惯了所处的这个死板的「世界」,明白目标的流程和时序/存储关键点、灵活复用代码,无论看起来多么复杂或强大的程序都能按部就班地设计出来!
#functional 程序序列 生成/归纳 ,比如对第一次/第一项的特殊处理或重复语句
数据序列 操作/绑定 恒等关系
嘛,很多方法,我能说出它在编程领域的技巧名,但却不知道它具体是什么,都是经验,甚至赋技巧模式以名字本身也是经验
#math 编程相对于数学最好的一点就是懂把重复的规律提取为常见易懂的子程序
Rect 要是带算法可视化的副作用就更好🤔 #cg #statics 觉得建模易扩展十分有必要! #DOM Rect 还带 x,y 的就很灵性,其实是 Area 吧
#net 想想写局域网聊天测试,tcp recvfrom 和 sendto 两 buf ... 不,其实是两方的 recv buf ,没有主动方或从动方
#relational 关系式, 不是我读一次你,而是我与你相关,双向的关系 (双边 setter )
不过这个不算真关系式…… 但关系式的内心不止是求一个满足等式的变量表 state , React 这些自动更新的、甚至数据库查询都算关系式。
#game #python 想弄个真心话大冒险,当然游戏逻辑本身太简单了,作为 web 应用应该要 9patch 背景图(工具?)和动画什么的
fs:scan/read/save 9patch async-quest-loop xhr-gists&files expand[a,b] listanim
#windows 同学居然做出一个 winform 还是啥的 C++ form+table 『疫情登记表』…… 回头也想做一个
#web #js push&update, form Date, table sort/filter/select, export, grid-opto
#functional 程序序列 生成/归纳 ,比如对第一次/第一项的特殊处理或重复语句
数据序列 操作/绑定 恒等关系
嘛,很多方法,我能说出它在编程领域的技巧名,但却不知道它具体是什么,都是经验,甚至赋技巧模式以名字本身也是经验
#math 编程相对于数学最好的一点就是懂把重复的规律提取为常见易懂的子程序
r.stepCount(nStep).zipWithNext().reduceWithLeft(y) { (acc,x,yL)
Rect(x,0,x+r.step,avg(yL,y(x))).area
}
(求和曲边梯形面积 定积分)Rect 要是带算法可视化的副作用就更好🤔 #cg #statics 觉得建模易扩展十分有必要! #DOM Rect 还带 x,y 的就很灵性,其实是 Area 吧
#net 想想写局域网聊天测试,tcp recvfrom 和 sendto 两 buf ... 不,其实是两方的 recv buf ,没有主动方或从动方
#relational 关系式, 不是我读一次你,而是我与你相关,双向的关系 (双边 setter )
不过这个不算真关系式…… 但关系式的内心不止是求一个满足等式的变量表 state , React 这些自动更新的、甚至数据库查询都算关系式。
#game #python 想弄个真心话大冒险,当然游戏逻辑本身太简单了,作为 web 应用应该要 9patch 背景图(工具?)和动画什么的
fs:scan/read/save 9patch async-quest-loop xhr-gists&files expand[a,b] listanim
datasets=dict(enumerate(basename(fp,".txt") for fp in listdir()))
selBanner=" ".join(f"{k}{v}" for k,v in datasets.items())
while(1) print(randPick(datasets[input(selBanner)]))
#windows 同学居然做出一个 winform 还是啥的 C++ form+table 『疫情登记表』…… 回头也想做一个
#web #js push&update, form Date, table sort/filter/select, export, grid-opto
https://twitter.com/GrantCuster/status/1457786663275413509
Tech-wise this type in WebGL (using three.js). The letters are put together in a canvas sprite sheet, then placed as a texture on *instanced rectangles*. It's a very different set of constraints than text in HTML. 注意单字也有扭矩
#relational #fp #cg
Tech-wise this type in WebGL (using three.js). The letters are put together in a canvas sprite sheet, then placed as a texture on *instanced rectangles*. It's a very different set of constraints than text in HTML. 注意单字也有扭矩
#relational #fp #cg
Twitter
grant
New from me at Constraint Systems: Type - an experiment in directed type. You choose the direction the letters should flow. type.constraint.systems
duangsuse::Echo
#statement 一篇文章,横跨了我3年的见闻,但是我并不觉得这很厚重呢😅.. 就是挺可悲的,一直在熬夜,但是回报给我这点知识,时间都花在不重要的点上了吧! 比如理解那些人自以为是的术语表、比喻…… 我只是想知道为什么,他们却只是不分主次、毫无线索地把他们看到的,甚至可能只是碎片的,连串出来贴上去。 当然我清楚我又没有付钱。知识付费的反而更糟吧?!🌝 所以 我们对知识的渴望中,是否有、掺了多少私货? 为什么一件简单的事情,都描述不清楚,真的是语文差? 我是不信的 如果说代码烂,是不会或不方便以元编程、函数式…
https://zhuanlan.zhihu.com/p/607726793 #zhihu #sb 我为了“撕逼”此事专门重写别人一篇文章... 🤪
总之就是尊重祝福,但那些教科书般的文字还要看,就是很痛苦(
#relational #fp
评论区撕逼甚至促使我写关于类型推导的回答🤪
https://www.zhihu.com/question/22256149/answer/2903222440
总之就是尊重祝福,但那些教科书般的文字还要看,就是很痛苦(
#relational #fp
评论区撕逼甚至促使我写关于类型推导的回答🤪
https://www.zhihu.com/question/22256149/answer/2903222440
知乎专栏
魔理沙的某个回答,但是建议
程序为什么要编译为语法树而不是语法列表或语法图? 另外, 我的回答 。 我不专注于编译原理重写版初稿时间上的花费并未长于原文。当然隔天改稿之类(如果有精力)从长远看,也是优于重复回答类似问题的。 #图的父…
#learn #FP 从“面向运气编程”到“设计程序”,「编程是什么」有许多天差地别的答案。
编程语言的范式。以社区的主流写法而定(FP之前后:统称过程式 vs. 定义式):
PP结构化- C,Go,Perl,Lua
C是会计算(跳转)栈、整数/struct* 类型到成员地址的汇编,它的对象检查很弱,也没有规范的List,KV数据类型(SDL,linux,qemu 这些都有自己的"utils")
GC需要定期"stop THE WORLD"并自 static/调用栈变量遍历对象图,连[]{} 都没有的C当然找不出“0引用”指针,更多人使用shared_ptr<T> 引用计数实现Pair<AB>等数据
OOP面向对象- C++, Java~, .NET~
FP函数式- JS,Py, Rust
若对象用 函数值参数/监听器字典,取代override 那就叫“闭包closure” (其可见/可定性同interface,都为 public open)
类比,
PF纯函数- Haskell Scala Lisp~
冷门:
FRP响应式- Rx,React
- x86 wasm
在 .data 段加个字符常量, 再在 .text push bp;sub sp,N 栈分配调用 libc:printf
甚至需要关心 nasm; ld 仅仅来让print() 能跳转到dll的“地址”,不会SEGV
LP逻辑式- SQL Prolog #relational #types
逻辑问题也有函数域和'=',只是'a=b' 的含义是“解构赋值” 出解集。b能含变量: [1 x]=[y 2]
a=b, b=1 应求出a=1 ,因此执行流程是 cut(=) 深解构, ',|'and or 靠约束过滤解集, 最后 cat 深建构
若等号右边必须已知,在 ([1]+x)=[1 2] 的求解中
当然,变量是值。“解”可以是 [List T] 这样的含“类型”变量,<T> 一定是“类型函数”加过的变量,所以:[List T]就是函数签名
可以取各处T的成员(接口)交来infer调用、单独查找fun重载,但本质上都是这样:
tomstu.art/hello-declarative-world
编程语言的范式。以社区的主流写法而定(FP之前后:统称过程式 vs. 定义式):
PP结构化- C,Go,Perl,Lua
C是会计算(跳转)栈、整数/struct* 类型到成员地址的汇编,它的对象检查很弱,也没有规范的List,KV数据类型(SDL,linux,qemu 这些都有自己的"utils")
GC需要定期"stop THE WORLD"并自 static/调用栈变量遍历对象图,连[]{} 都没有的C当然找不出“0引用”指针,更多人使用shared_ptr<T> 引用计数实现Pair<AB>等数据
OOP面向对象- C++, Java~, .NET~
FP函数式- JS,Py, Rust
若对象用 函数值参数/监听器字典,取代override 那就叫“闭包closure” (其可见/可定性同interface,都为 public open)
类比,
AbstractAnimal=(T={eat,say})=>“构造器”(name)=>{name, __proto__:T“类型T也有proto”}
“弱结构强脚本”轻松于万物class{}。fn=a=>(b=>a+b)
能从词法上文捕获a,不用 new fn$1(fn.arg[1])
手动把a放入匿名对象PF纯函数- Haskell Scala Lisp~
冷门:
FRP响应式- Rx,React
- x86 wasm
在 .data 段加个字符常量, 再在 .text push bp;sub sp,N 栈分配调用 libc:printf
甚至需要关心 nasm; ld 仅仅来让print() 能跳转到dll的“地址”,不会SEGV
LP逻辑式- SQL Prolog #relational #types
逻辑问题也有函数域和'=',只是'a=b' 的含义是“解构赋值” 出解集。b能含变量: [1 x]=[y 2]
a=b, b=1 应求出a=1 ,因此执行流程是 cut(=) 深解构, ',|'and or 靠约束过滤解集, 最后 cat 深建构
若等号右边必须已知,在 ([1]+x)=[1 2] 的求解中
(+) A B即
|A=[], B
|A=[x a], [x (a+B)]
appendo A B O里,O=[x 递归] 就无法匹配出 A=[$x ] 这些输入参数了
|A=[], O=B
|A=[x a], O=[x appendo(a B)]
当然,变量是值。“解”可以是 [List T] 这样的含“类型”变量,<T> 一定是“类型函数”加过的变量,所以:[List T]就是函数签名
可以取各处T的成员(接口)交来infer调用、单独查找fun重载,但本质上都是这样:
fun Box<T>.let(f:(T)->R)=listOf(f(item))阮一峰 体验 👉 swish.swi-prolog.org/example/grammar.pl //在左边粘贴关系, 右边查询,如 murderer(X)
let A B
|A=[Box T],B=[Fn T R], listOf(B.invoke(A.item))
|重载,.
listOf T..|[List T]
tomstu.art/hello-declarative-world
Telegram
duangsues.is_a? SaltedFish
#zhihu 编程的范式
- “初学·面向运气编程”。编程是用英文理解,体验几行代码触发的效果,靠dnSpy修改既有程序的反编译
或创,建样板项目,排开UI“设置”点击,在CSDN上搜索些即贴即用小功能加进去,反复打包安装、调试print 一周里的机械化过程
甚至是让精灵表演舞台动作:拖拽各种动作方块到某事件下方,延时修改角度和距离
只需要魔改别人的源码片段,搜索CtrlV所缺少的变量和平台;像Copilot一样进步着,甚至不如。但,“学会”写法后,你才会有选择与灵感
- “过程式”以语言提供的基…
- “初学·面向运气编程”。编程是用英文理解,体验几行代码触发的效果,靠dnSpy修改既有程序的反编译
或创,建样板项目,排开UI“设置”点击,在CSDN上搜索些即贴即用小功能加进去,反复打包安装、调试print 一周里的机械化过程
甚至是让精灵表演舞台动作:拖拽各种动作方块到某事件下方,延时修改角度和距离
只需要魔改别人的源码片段,搜索CtrlV所缺少的变量和平台;像Copilot一样进步着,甚至不如。但,“学会”写法后,你才会有选择与灵感
- “过程式”以语言提供的基…