Forwarded from 《一天世界》博客 (Lawrence Li (自由閪如一))
我们不是比谁能摘下有色眼镜,而是比谁的有色眼镜更帅气。「We like our own stickers better」就是这个意思。
/tmp/duangsuse.sock
https://coolshell.cn/articles/4235.html #coolshell (翻译文 与此同时,我们所有的人都在相互地克隆和模仿(译注:参看中国的C2C)。你需要一个Java程序员,我是一个Java程序员,你也是一个Java程序员,我的邻居也是一个Java程序员。我们之间有什么差别?其实,基本没有差别。好吧,我有一些jQuery的经历,太好,所以,你知道怎么来做一个折叠式的菜单?当然,我可以Google一下,然后剽窃别人最好的代码给你 :) 中国编程抄袭之风的确是 🌚 #\№你不知道你不知道的…
为什么酷壳的作者水平那么高,评论者的水平大多数不怎么样呢?
何况我看评论的人似乎并没有那么多... 评论区里也没有太多拿干货出来说事的人...
虽然都是正经的程序员,可是感觉他们了解的似乎又有点太少了,为什么都是在问一些文章里说的很明白的问题了呢...
何况我看评论的人似乎并没有那么多... 评论区里也没有太多拿干货出来说事的人...
虽然都是正经的程序员,可是感觉他们了解的似乎又有点太少了,为什么都是在问一些文章里说的很明白的问题了呢...
😅 评论回复的好像有点多了.... 貌似整个最新评论都是我的名字... 不知道有没有给皓哥造成影响
还是不要写这么长... 多看点书 少在别人的博客答问题... 何况时间也是很宝贵,不是么...
还是不要写这么长... 多看点书 少在别人的博客答问题... 何况时间也是很宝贵,不是么...
/tmp/duangsuse.sock
为什么酷壳的作者水平那么高,评论者的水平大多数不怎么样呢? 何况我看评论的人似乎并没有那么多... 评论区里也没有太多拿干货出来说事的人... 虽然都是正经的程序员,可是感觉他们了解的似乎又有点太少了,为什么都是在问一些文章里说的很明白的问题了呢...
关键是我看到很多人对某些知识的理解太表面太浅层了.... 就是一个名字
我思量着,知道名字,你不去学它,它这个名字有什么用呢?
Mr.Liu说道:
2013年12月28日 12:17
the little scheme 可以一读, — The Little Schemer...
我思量着,知道名字,你不去学它,它这个名字有什么用呢?
Mr.Liu说道:
2013年12月28日 12:17
the little scheme 可以一读, — The Little Schemer...
/tmp/duangsuse.sock
#ACG #Life E-Hentai 又开张喽~ <3
突然觉得会弄数据库好棒的感觉
有运维 Web
HTML, JavaScript, CSS, Flash(迫真), ASP.NET(迫真), Silverlight(迫真), PHP, MySQL, ReactJS, JQuery, Express, Django, htaccess/mod_rewrite
SQL 还有各种 JOIN
有运维 Web
HTML, JavaScript, CSS, Flash(迫真), ASP.NET(迫真), Silverlight(迫真), PHP, MySQL, ReactJS, JQuery, Express, Django, htaccess/mod_rewrite
SQL 还有各种 JOIN
#CS #PLT 入门级别的回答们 #CoolShell
+ 也不要太较真成『语法糖主义』…
也不要太较真成『语法糖主义』… Java 5 之前没 Generics 的时候代码不还是照样写、Assembler 那时没有 C 不还是可以编程,C 从 89 到 17 加了多少特性,vararg、complex、block、pack,多少也是『可有可无』的,甚至因为有内联汇编和底层访问性、低层次的规范,你都可以内联汇编给它“加特性”,你甚至可以说,C 就是汇编的语法糖,哪怕它让代码机器平台无关、提供了类型检查
C++ 的 block 的确是没啥革命性的变更,但是一切皆语法糖这个观点太表面了…
+ 另外你所说的 environment 模型是指 Scheme 系基于 Lambda 演算程序设计语言的 Lexical scoping 变量解析吗?
另外你所说的 environment 模型是指 Scheme 系基于 Lambda 演算程序设计语言的 Lexical scoping 变量解析吗?
Lisp 里这样的… 我还是用 Racket 吧(我不会 R*RS,但多范式融合的也就是那个样子),怎么说,Lisp 首先这个语言本身已经很老了并且也对很多人不那么可获取、其次它的名称被滥用的很严重,有一大堆 『Lisp 方言』 和 『C-like 语言』了…. 我…..
+ First-class 在 PLT(Programing Language Theory)里是指『能够被作为“子程序”的参数、返回值』使 用的一种『值』。
First-class 在 PLT(Programing Language Theory)里是指『能够被作为“子程序”的参数、返回值』使用的一种『值』。
C 里面有函数指针、但一些语言(很难举出例子… 因为又要有子程序又不能有函数指针,我举 Bash 吧)就不存在『函数指针』
同样的,一些语言里没有『变量』而只有『等式』『定义』『侧面』『式子(Term)』这些与之类似的概念,可能在使用上也有相通并且经常被弄混,但把他们混为一谈偏偏就是不准确的
何况〖变量化函数〗这个名称本身也有点不准确 — 是不是说函数就不能被作为参数和返回值呢?虽然很多语言都在低层使用了本地变量来管理参数的状态分配,是不是就意味着子程序的『参数』和『返回值』都是『变量』呢?
而且函数式里说的这个『first-class functions』远远不止一个 functions,还有它依赖的 data,这是一个容易被忽视的侧面。
有的时候我们就是需要一个可以进行『操作』的『值』而已,不需要关心它们是来自『变量』还是『参数』、他们是不是一个『函数变量』。
这个特性就是 1932 年 Lambda calculus 的 lexical scoping,这里 讲的很清楚
任何新知识对任何人来说都是突兀的,所以我们在第一次见到某种概念的时候应该学会闭嘴。我第一次听王垠骂 Type Theory Hindley-Milner 类型推导和 Haskell 的惰性计算引用透明的时候也无脑跟着骂了(那时候是一行 Haskell 都没有看过….)…. 现在是极其后悔 为什么要无脑跟风(给一点建议…)
和变量这个东西有『相通』(都能用)之处,但还是很不一样的。
就像上面那个拿『引用透明』换『确定性』(这个还有和线程安全的某种特例混淆的风险)的人一样,能够准确的就尽可能做到准确,这不正是酷壳大部分技术文和科普/人文写作的风格吗?有多少技术博客还会专门列个引用表给人去找上面的一手资料…
+ 未必啊,我们只是使用了接口,没有规定必须得怎样实现
未必啊,我们只是使用了接口,没有规定必须得怎样实现
for/while 是经典顺序逻辑编程里常用的循环,但实际上计算远远不止这一种可能,有复杂的数据库查询可以分到很多台计算机上去做、复杂的 ray tracing 渲染可以分到计算集群去做,单机对于 DIP 处理/计算机视觉/3D 计算/着色 什么的,未必就 for/while 这一种,比如 X86 的 SIMD 特性(SSE/AVX 什么的)就可以让你一下子处理一批数据,批量完成加减乘除取余什么的,这种情况 map 的语义远远比 for index 好,编译器也更敢做优化一些
+ 也不要太较真成『语法糖主义』…
也不要太较真成『语法糖主义』… Java 5 之前没 Generics 的时候代码不还是照样写、Assembler 那时没有 C 不还是可以编程,C 从 89 到 17 加了多少特性,vararg、complex、block、pack,多少也是『可有可无』的,甚至因为有内联汇编和底层访问性、低层次的规范,你都可以内联汇编给它“加特性”,你甚至可以说,C 就是汇编的语法糖,哪怕它让代码机器平台无关、提供了类型检查
C++ 的 block 的确是没啥革命性的变更,但是一切皆语法糖这个观点太表面了…
+ 另外你所说的 environment 模型是指 Scheme 系基于 Lambda 演算程序设计语言的 Lexical scoping 变量解析吗?
另外你所说的 environment 模型是指 Scheme 系基于 Lambda 演算程序设计语言的 Lexical scoping 变量解析吗?
Lisp 里这样的… 我还是用 Racket 吧(我不会 R*RS,但多范式融合的也就是那个样子),怎么说,Lisp 首先这个语言本身已经很老了并且也对很多人不那么可获取、其次它的名称被滥用的很严重,有一大堆 『Lisp 方言』 和 『C-like 语言』了…. 我…..
(define counter可是要用到副作用啊… 什么是消息传递模型,大概就是类似面向对象 Builder pattern 那个数据依赖构建吧,一般都是高阶函数引用 UpValue… 并且传递的消息,一般都是 immutable 的数据模型对象啊?
(lambda [n] (+ n 1))) ; your definition above
(define effect-couter
(lambda [n] [lambda [] (set! n (+ n 1)) n])) ; using side-effects upvalue assignment like what we does in JavaScipt
(define time-a (effect-counter 0))
(display (a)) ; 1
(display (a)) ; 2
+ First-class 在 PLT(Programing Language Theory)里是指『能够被作为“子程序”的参数、返回值』使 用的一种『值』。
First-class 在 PLT(Programing Language Theory)里是指『能够被作为“子程序”的参数、返回值』使用的一种『值』。
C 里面有函数指针、但一些语言(很难举出例子… 因为又要有子程序又不能有函数指针,我举 Bash 吧)就不存在『函数指针』
同样的,一些语言里没有『变量』而只有『等式』『定义』『侧面』『式子(Term)』这些与之类似的概念,可能在使用上也有相通并且经常被弄混,但把他们混为一谈偏偏就是不准确的
何况〖变量化函数〗这个名称本身也有点不准确 — 是不是说函数就不能被作为参数和返回值呢?虽然很多语言都在低层使用了本地变量来管理参数的状态分配,是不是就意味着子程序的『参数』和『返回值』都是『变量』呢?
而且函数式里说的这个『first-class functions』远远不止一个 functions,还有它依赖的 data,这是一个容易被忽视的侧面。
function konst(x) {
return function immediate() { return x; }; }
let a = konst(1);
console.log(a()) // 1
如果真的只有一个『函数指针』,那这个 x 变量应该从哪里来?所以对于好的程序员,闭包和匿名函数不应混淆,哪怕是概念都应该尽可能做到准确无歧义。有的时候我们就是需要一个可以进行『操作』的『值』而已,不需要关心它们是来自『变量』还是『参数』、他们是不是一个『函数变量』。
这个特性就是 1932 年 Lambda calculus 的 lexical scoping,这里 讲的很清楚
任何新知识对任何人来说都是突兀的,所以我们在第一次见到某种概念的时候应该学会闭嘴。我第一次听王垠骂 Type Theory Hindley-Milner 类型推导和 Haskell 的惰性计算引用透明的时候也无脑跟着骂了(那时候是一行 Haskell 都没有看过….)…. 现在是极其后悔 为什么要无脑跟风(给一点建议…)
和变量这个东西有『相通』(都能用)之处,但还是很不一样的。
就像上面那个拿『引用透明』换『确定性』(这个还有和线程安全的某种特例混淆的风险)的人一样,能够准确的就尽可能做到准确,这不正是酷壳大部分技术文和科普/人文写作的风格吗?有多少技术博客还会专门列个引用表给人去找上面的一手资料…
+ 未必啊,我们只是使用了接口,没有规定必须得怎样实现
未必啊,我们只是使用了接口,没有规定必须得怎样实现
for/while 是经典顺序逻辑编程里常用的循环,但实际上计算远远不止这一种可能,有复杂的数据库查询可以分到很多台计算机上去做、复杂的 ray tracing 渲染可以分到计算集群去做,单机对于 DIP 处理/计算机视觉/3D 计算/着色 什么的,未必就 for/while 这一种,比如 X86 的 SIMD 特性(SSE/AVX 什么的)就可以让你一下子处理一批数据,批量完成加减乘除取余什么的,这种情况 map 的语义远远比 for index 好,编译器也更敢做优化一些
酷 壳 - CoolShell
C/C++语言中闭包的探究及比较 | | 酷 壳 - CoolShell
(感谢投稿人 @思禽饮霜 ) 这里主要讨论的是C语言的扩展特性block。该特性是Apple为C、C++、Objective-C增加的扩展,让这些语言可以用类Lambda表达式的语法来创建闭包。前段时间,在对CoreData存取进行封装时(让开发人员可以更简洁快速地写相关代码),我对block机制有了进一步了解,觉得可以和C++ 11中的Lambda表达式相互印证,所以最近重新做了下整理,分享给大
Forwarded from Math notes | 数学笔记 (Harry Ying)
reasoning-about-knowledge-part-1.pdf
283.3 KB
PDF版本
PDF Version
PDF Version