V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  wizardforcel  ›  全部回复第 62 页 / 共 110 页
回复总数  2184
1 ... 58  59  60  61  62  63  64  65  66  67 ... 110  
2016-08-18 21:44:01 +08:00
回复了 xiqingongzi 创建的主题 C 你们会向新人推荐 C++么?
我们大一必须学 C++,之后的项目就用得少了。到现在,有人投奔了 Golang ,有人投奔了 Rust ,还有人在等 Swift 和 C# native 上岸(手动笑 cry )。。。

C++这几年就是各种“从学会到重学”。有学习成本更低、开发效率和运行效率都很不错的语言,我干嘛不去学呢。
2016-08-18 21:37:57 +08:00
回复了 geeti 创建的主题 Python Python 用 list 来模拟循环双链表有什么好处么?
离散序列结构在插入和删除上省时间,在随机访问上花费时间。

lru 并不需要随机访问,删除倒是很频繁。
2016-08-18 21:30:23 +08:00
回复了 bwangel 创建的主题 Python 请教一段 Python 代码!
生成器是惰性的,你不遍历它就不生成啊。

echo 之前所有的可迭代对象都被后一个 Pipe 遍历, echo 生成的只能手动再遍历一次了。
2016-08-18 21:21:05 +08:00
回复了 awolfly9 创建的主题 C 程序员要不要为了面试刷很多面试题
刷两个月就行了。

既然国内公司喜欢装逼考算法,你不刷怎么能打面试官的脸呢??
2016-08-18 21:13:36 +08:00
回复了 mikicomo 创建的主题 程序员 甲骨文要求重审安卓侵权 Java 专利案 称谷歌隐瞒证据
很庆幸谷歌选择了跟乌龟壳死磕,而不是给它一笔钱来支持它的闭源运动。
2016-08-17 18:51:45 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

[ 这是规范,一个编译器模型的架构。 ]

龙书叫“规范”??你先问问人家作者同意不同意。

[ if else 不是自然语言,难道是火星语言。 ]

if else 对于自然语言叫“单词”,对于编程语言叫“关键字”,啥时候能钦定“语言”了??

印欧语系的语言里相同的单词多了,都是一种语言?

你家的狗会汪汪叫,你也会汪汪叫,所以你也是狗??
2016-08-17 16:08:42 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

[ typescript coffescript 翻译后生成的 JavaScript ,你家的机器能运行?你 TMB 没有解释器能运行? ]

我家的机器不能运行不代表不能编译。编译出来 js 不代表不用解释。

那我问你包含几个 phase 才叫“编译器”??谁给你钦定的包含所有 phase 才叫“编译器”??

[ 一大波设计编程语言的大师,告诉你为了自然语言的方式,记住了吗? ]

自然语言能写程序??笑死爹了。一篇自然语言文章能分析出正面和负面就不错了。

[ 十进制,你 TMB 怎么不用呢? ]

你用脑袋思考问题的时候不用十进制用二进制??

[ Java 生成中间代码后,传递给 VM ,然后由 VM 进行边解释边运行。 ]

即时编译运行( jit ), java 如果不上 jit ,会跟 py 一样慢。

[ 笑死人了。你家的解释器怎么跑动的?我挺奇怪,你家的解释器,不是二进制的,而且一直在跑着。 ]

非二进制的计算机上跑二进制的解释器??又混淆模型和实现。

人类完全可以手动模拟来解析一段简单的代码,你说人类也是二进制??
2016-08-17 14:16:04 +08:00
回复了 levn 创建的主题 奇思妙想 将来浏览器可不可以变成微信?
反过来还差不多。毕竟朋友圈链接满天飞。没几个好好说“话”的。
2016-08-17 14:02:49 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

浏览器能直接解释 ts 和 coffee ??(手动滑稽)
2016-08-17 13:13:22 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

[ 你编译出来的不是二进制,计算机能理解个逼啊? ]

你知道 typescript 和 coffescript 嘛??真是孤陋寡闻。

[ 你爹写的尾递归版本归并排序,自己 TMB 去体会 ]

体会啥??体会你把尾递归写成“ [parse(), parse(), parse()] ”嘛??
2016-08-17 12:04:32 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

[加法器是 NMB 怎么变出来的? 你来说说计算机不懂加法,怎么做加法]

你来说说计算机不懂乘法,怎么做乘法。乘法器拿加法器实现,计算机怎么就不懂乘法了??懂你 MB 。

[你觉得这是运算符的意思?自己打自己的脸。你 TMB 自己写的解析程序都搞不懂原理?]

谁给你钦定“必须用运算符”了??懂啥叫调用表达式和标识符嘛??

程序大了你不定义子过程??定义了子过程之后你的运算符够用??

不懂就玩你的前缀表达式去。

[不懂递归,难道 TMB  不懂百度谷歌?]

尾递归允许多个递归调用??你这“[parse(), parse(), parse()]”叫“出现在函数末尾”?

来来来,你手动把你那三个 parse()给我展成循环。
2016-08-17 10:19:16 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

另外你最好拿本编译的书看看 delimiter (定界符)是啥意思。

你说的+-*/叫 operator (运算符),不叫 delimiter 。

我的 add 、 mul 叫做 token (标识符),也不叫 delimiter 。

delimiter 这种简单、固定的东西有利于机器扫描。你的式子前后那个括号就属于 delimiter 。

我需要扫描 token ,那是必然的。不扫描还能写啥 parser ?你的式子就只需要 delimiter ,不扫描其他的东西??

真是无知。
2016-08-17 10:09:22 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

[计算机用二进制是因为二进制对计算机来讲只有两个符号 0 和 1 ,是最简单的实现。 ]

是因为数字电路只认高电位和低电位,是最简单的实现。图灵机,或计算过程随便用什么进制都可以。人类也能够计算,你平常拿二进制计算嘛? naive 。

你的计算机很难让别人知道指物理实现还是概念模型。智障还是故意偷换概念??

[ 计算机不只只用二进制 0 1 ,而且只懂加法,不懂减法、乘法、除法。 ]

计算机懂加法??滚回去看加法器是怎么实现的。乘法器的确拿加法器实现,但加法器也不是凭空变出来的。

和你讲话真 TM 累!你不会连组成原理都没学过吧。。。
2016-08-16 10:53:15 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
2016-08-15 19:35:20 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

你的表达式括号之前是不用判断,后面是不是还得判断非空白字符??跟我判断字母数字有啥区别??我只不过是把括号和第一个操作数换了个地方,你这弱智就理解不了了。

我就是看不惯前缀表达式,跟你这傻逼说道说道,没想到你丫就是故意来找茬的。 你他娘的没用正则??双标狗爱滚多远滚多远。
2016-08-15 19:14:18 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

懒得理你了。

1. 我的代码解析“ mul(add(sub(1, 2), 3), 4)”,不解析你的 sb 前缀表达式

2. 你没用正则? istoken 和 isnumeral 很容易拿 while 来写出来,我就不多说了

3. 你的 literal 怎么解析的??还不是用循环判断非空白字符??那跟我判断字母和数字有什么区别??可笑。


实际情况就是,你的 isblank 和我的 istoken 复杂度差不多,自己好好想想,别他娘的整天自以为是。
2016-08-15 15:53:43 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

你不就认为'('这个东西能“定界”嘛??我问你定界是为了什么??那好,我让规则尽量少,不是 literal 就是调用,还需要这个定界符干什么?

你也知道 token 解析需要时间,你怎么不说你的 literal 解析还需要时间呢?而且规模一多我就不信你的表达式不抽象成各种过程,到时候+-*/就不够用了,你还得用 token 都命名,这是一百步笑五十步??(手动 doge )

滚回去做你的工程吧,别忘了下次来的时候带上 IO 的跑分。

@FrankHB 这个讨论是有前提的,也就是“整个程序是一个表达式”,显然通用语言有各种语句,不符合前提。

既然是一个表达式,那么就可以针对性地优化,即完全使用调用表达式把优先级捋直,从而使机器可读。由于它不是 literal 就是 call ,那么我就判断完 literal 就可以钦定。

我的 BNF 也是为了不使用 parser 就能简略表明我的意图。现在看起来也不必要了。
2016-08-15 15:39:40 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial 代码拿好不谢。

tokenRE = /^[A-Za-z_]\w{0,31}/;
numeralRE = /^\d+/;

function matchAndReturn(str, re) {
var r = str.match(re);
return r? r[0]: null;
}

isToken = s => matchAndReturn(s, tokenRE);
isNumeral = s => matchAndReturn(s, numeralRE);

function parse(expr) {
var r = parseExpr(expr, 0);
return r? r[0]: null;
}

function skipBlank(expr, at) {
while(expr[at] === ' ')
at++;
return at;
}

function parseExpr(expr, at) {
at = skipBlank(expr, at);

//literal
var r = isNumeral(expr.substr(at));
if(r) {
at += r.length;
return [parseInt(r), at];
}

//call
return parseCall(expr, at);

}

function parseCall(expr, at) {
var arr = [];

//operator
at = skipBlank(expr, at);
var r = isToken(expr.substr(at));
if(!r) return null;
arr.push(r);
at += r.length;


//'('
at = skipBlank(expr, at);
if(expr[at] != '(')
return null;
at += 1;

//operand 1
at = skipBlank(expr, at);
r = parseExpr(expr, at);
if(!r) return null;
at = r[1];
arr.push(r[0]);

//other operands
while(true) {
//','
at = skipBlank(expr, at);
if(expr[at] != ',')
break;
at += 1;

//operand
at = skipBlank(expr, at);
r = parseExpr(expr, at);
if(!r) return null;
at = r[1];
arr.push(r[0]);
}

//')'
at = skipBlank(expr, at);
if(expr[at] != ')')
return null;
at += 1;

return [arr, at];
}
2016-08-14 15:02:27 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@FrankHB 给 python 垫背的多了。 php5 、 matlab 、 r 、 shellscript ,甚至还有 xpcshell 上的 js 。只要不谈二进制, python 绝对排在前头。如果说 python 的性能不如 c/c++/java 就是垃圾,那么 @serial 跑不过刘翔博尔特是不是就该去死??(手动滑稽)
2016-08-14 14:52:46 +08:00
回复了 SlipStupig 创建的主题 Python 最近研究 python 的一个小失落
@serial

我为啥写 BNF ??我问你机器可读性是怎么来的??规则越少越可读!现代编程语言判断多是因为 statement/expression 的规则多。只要不把规则变复杂,谁放前面谁放后面完全无所谓!

你他娘的会分析复杂度吗??你睁大眼睛仔细看看,我的 expression 只有一条规则,也就是说对每个(包括嵌套)的表达式只判断一次,懂吗??我不需要判断 delimter ,这个位置就应该是个 token ,不是就不合法,懂吗??

你的式子不照样要分析运算符??一开始的确只需要判断个括号就行了,复杂性都在后面,都被你吃了??

你对编译的理解还处于外行的阶段。只有感性认知,只是知道写成什么样是可读的,但是根本就不知道其中的原理。

会写个 AST 就代表你有本事了?你咋不把我的表达式的 AST 写出来看看一不一样??每个程序员都应该知道的东西就别拿来显摆了。
1 ... 58  59  60  61  62  63  64  65  66  67 ... 110  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1936 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 00:05 · PVG 08:05 · LAX 17:05 · JFK 20:05
Developed with CodeLauncher
♥ Do have faith in what you're doing.