由买买提看人间百态

topics

全部话题 - 话题: goto
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
g****t
发帖数: 31659
1
来自主题: Programming版 - GOTO
如果有了GOTO语句,能消灭一大半语法糖。
我当初什么coroutine,tail call continuation花了很多时间。
以为有什么新东西。其实就是用没有GOTO语句的办法实现GOTO。
Go language的作者不含糊:
https://golang.org/ref/spec#Goto_statements
object-C有GOTO, swift没有,肯定会催生一堆看着牛X的术语,
什么co-routine,tail call continuation,....
任何一个使用GOTO的pattern,你给用没GOTO的
语言实现了,说不定就能造一个名词
d*******r
发帖数: 3299
2
来自主题: Programming版 - GOTO
计算底层模型本来就是 一维数组+Goto语句
所以,你总能用这2个东西模拟所谓"高级逻辑"
比如 if else, function, try catch 之类都是在 程序源码一维数组上做 Goto.
比如 堆栈, 树, hashtable 和其他数据结构,也是一维数组上用Goto 模拟的.
但是"高级逻辑"解决某些问题时候,更符合人类思维习惯, 所以才流行.
任意的 Goto 跳转,主要问题是, 容易破坏人思考问题的上下文边界.
如果注意了这问题,Goto 当然是可以用的.
g****t
发帖数: 31659
3
来自主题: Programming版 - GOTO (2)
个人浅见:
Tail calls
Coroutines
composable continuation
generator
。。。etc
GOTO/label系统是这些高科技的统一界面。类似于一个汇编接口。
因为语法太简单,goto/label不太可能被语法更新给废掉。
所以如果不需要和人合作,只是coding作为研究的工具的话,
千万别被textbook害了。
作为一个工人,先用goto想一想,然后倒过来包装一个名词混饭吃,骗住谁谁倒霉,
也是一个不错的思路。
最后,我承认,20年前我用Fortran写过神经网程序。跟状态机类似.
因为Fortran可以计算expression的值,然后根据这个expression值选择GOTO到
第几行,还是很爽快的。
w***g
发帖数: 5958
4
来自主题: CS版 - C里面goto的用处?
像下面这种情况goto就很有必要.
for (;;) {
for (;;) {
for (;;) {
goto outside;
}
}
}
outside:
其实goto还算好的.要到处是setjmp/longjmp那才麻烦.
g****t
发帖数: 31659
5
来自主题: Programming版 - python goto
https://github.com/cdjc/goto/blob/master/nzpycon2014.pdf
Very interesting though I do not know if it works well.
I wish every languages include Goto/Label and therefore we need not
to learn so many unnecessary grammar games.
A template including goto/label is actually very useful and robust.
g****t
发帖数: 31659
6
来自主题: Programming版 - GOTO
Below is an example:
http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
这哥们没发现他这写的里面,goto label的实现是最强壮的。
认为ugly,折腾了这么长的语法糖。理由就是goto不好看。
其实我们硬件接收ADC来的电流电压数据,最后就是汇编
的几个JUMP然后yield之类的函数包起来。都用了几十年了。
当然我们是故意锁死客户,
就是不用ARM,自己写了几个死循环当OS。

我星宿派威武。请总结几个用goto的pattern看看。
g****t
发帖数: 31659
7
来自主题: Programming版 - GOTO
比较起来,GOTO/Label比exceptions, try, finally,generator....
有某方面的优势。
goto/label的语法不可能随时间改变,因为太简单了没什么改变的余地。
这类永远不会变的语法,适合中老年。

没这事,只能在操统线程内部跳。setjmp longjmp就是动态产生label的goto. c里没有
g****t
发帖数: 31659
8
来自主题: Programming版 - GOTO
I seriously believed他对goto那个实现的评价不成立。
"It's still ugly, though. The worst part of it is that the set of labels
must be maintained manually, and must be consistent between the function
body and the initial switch statement. Every time we add a new return
statement, we must invent a new label name and add it to the list in the
switch; every time we remove a return statement, we must remove its
corresponding label. We've just increased our maintenance workload by a
factor of two."
(1)
他那个实现,如果哪天C把s... 阅读全帖
g****t
发帖数: 31659
9
来自主题: Programming版 - GOTO (2)
弄个高大上的名词,发明一个看着很牛的design pattern。
然后弄个专利,带上老板和老板的老板的名字。
最后,别告诉别人这就是goto.越神秘越好.
把GOtO变成没有goto的OO实现,functional实现,xxx 实现,
这就是展示水平啊。
g****t
发帖数: 31659
10
来自主题: Programming版 - [bssd]goto的现实根据
goto,全局变量,确实不好。
但是现在计算机行业利润大。什么人都出来弄个解决方案,各种语法糖
实在让人受不了。
再说全局变量这种东西。数据库对程序来说难道不是全局变量吗。。。
现在需要尾递归优化什么乱七八糟语法糖的地方,我有时候直接写个文本文件记录下这
个函数
被调用了几次。我看这样最安全。python更新到ver 100,我的程序还是可以跑的。
参考文献:
[1]
lambda,the ultimate GOTO
https://dspace.mit.edu/bitstream/handle/1721.1/5753/AIM-443.pdf?sequence=2
[2]
我看了一下午,clojure,java,python的核心人物或者作者的态度和处理方法都不一
样。
绑定在一个方案上,被洗脑的风险很大啊。反正用的也不多,需要时我还是goto或者
老老实实写下来调用的次数算了。
r*********g
发帖数: 5450
11
来自主题: Thoughts版 - 没有了goto语句
哎,刚知道高级语言都不能goto的时候,我好失落啊
一般都是写状态鸡吧?不需要goto
r****y
发帖数: 26819
12
来自主题: Thoughts版 - 没有了goto语句
跳出循环可以break;之类。
把goto要去的地方提出来做成一个reusable的函数,设法让goto变成调用那个函数。
w******t
发帖数: 241
13
来自主题: CS版 - C里面goto的用处?
好像goto一般都不提倡用,但是在一些嵌入式的软件里面看到频繁用goto,这样用不会
影响或者出错吗?
w******t
发帖数: 241
14
来自主题: CS版 - C里面goto的用处?
不是在程序中频繁出现,但是在几个会被经常调用的callback function处有goto,这
个感觉有点不太严谨,但是程序运行良好。所以想问下是不是goto用用也无妨,尤其嵌
入式设备中
S7
发帖数: 40
15
来自主题: CS版 - C里面goto的用处?
goto用了没啥问题,
我以前用Visual Basic 6,用goto可以保持每个函数就一个出口,very clean.
a****l
发帖数: 8211
16
来自主题: CS版 - C里面goto的用处?
because there are plenty of stupid people who tends to abuse Goto (seriously
).
Like someone said above, after compilation there is only goto in the
compiled code anyway.
b***y
发帖数: 2799
17
来自主题: Programming版 - [合集] goto in C
☆─────────────────────────────────────☆
isup (No) 于 (Thu Sep 22 17:10:06 2005) 提到:
Tell me your felling when you see "goto" in the C source code. I am very very
uncomfortable. Am I too sensetive?
☆─────────────────────────────────────☆
skydive (跳跳~~备战备荒为人民) 于 (Thu Sep 22 18:02:37 2005) 提到:
i feel the guy used this must be a genius,呵呵

very
☆─────────────────────────────────────☆
namdog (南无狗@Chicago) 于 (Thu Sep 22 18:53:18 2005) 提到:
goto 用好了,代码很清晰的。我看过。
very
☆──────────────────────
l*******m
发帖数: 1096
18
来自主题: Programming版 - GOTO (2)
大牛还是可以用goto的。我看过的一个就有这么一句comment
// That's right, I'm using goto. So sue me.
c*******v
发帖数: 2599
r****y
发帖数: 26819
20
来自主题: Thoughts版 - 没有了goto语句
如果不算gotoAndPlay(),好像除了汇编、basic和fortran,我好像就没用过goto。。。
kx
发帖数: 16384
21
来自主题: Thoughts版 - 没有了goto语句
我们计算器老师说过的
理论上能够证明
所有的goto都能用其他方式实现
m*********g
发帖数: 11102
22
来自主题: Thoughts版 - 没有了goto语句
比如要跳出某个循环外很远的一个语句去, 不用goto的话, 怎么实现比较简单?
m*********g
发帖数: 11102
23
来自主题: Thoughts版 - 没有了goto语句
我土人一个, 一直用fortran做计算。 现在突然要用matlab, 没有goto语句, 折腾
了半天还没想出转型的办法。
b*****l
发帖数: 9499
24
来自主题: Thoughts版 - 没有了goto语句
goto 语句就是黄金旧时代的一抹金色夕阳。
x******n
发帖数: 9057
25
来自主题: Thoughts版 - 没有了goto语句
偶尔还是会抓狂一下,要是有goto多好啊。
然后就得refactor
z*****n
发帖数: 7639
26
来自主题: CS版 - C里面goto的用处?
频繁看到GOTO? 用C写的?
o***i
发帖数: 603
27
来自主题: CS版 - C里面goto的用处?
嵌入式里的c,goto很多很正常的
w******t
发帖数: 241
28
来自主题: CS版 - C里面goto的用处?
但是记得C语言里面有写Goto不适宜多用,主要问题在哪里?
P***P
发帖数: 1387
29
来自主题: CS版 - C里面goto的用处?
把c编译了里面一坨坨goto
z*****n
发帖数: 7639
30
来自主题: CS版 - C里面goto的用处?
我的看法是,能不用goto就不用。别把个C语言写得
跟汇编似的。
a****l
发帖数: 8211
31
来自主题: CS版 - C里面goto的用处?
only very experienced people when solving difficult problem will go to read
compiled code, which exactly is the point here: leave goto to experienced
people.
z*****n
发帖数: 7639
32
来自主题: CS版 - C里面goto的用处?
不敢自充experienced,不过我认为越是experienced,
越讨厌用goto。

read
w******t
发帖数: 241
33
来自主题: CS版 - C里面goto的用处?
但是在embedded 环境下,有些时候goto还是很顶用,不然很麻烦啊
M**u
发帖数: 10158
34
来自主题: CS版 - C里面goto的用处?
goto 用的挺多的啊。。。
z*****n
发帖数: 7639
35
来自主题: CS版 - C里面goto的用处?
从嵌套循环跳出的是时候那是没办法。
如果实在是喜欢用goto,那么恭喜,你有
写汇编语言的天赋。
j*******2
发帖数: 386
36
来自主题: CS版 - C里面goto的用处?
Linux Kernel里面大量使用goto
没什么不好,用好了很清晰,函数只有一个出口
而且对于统一错误处理很好。
说不让用主要是不上乱用。
d***q
发帖数: 1119
37
来自主题: CS版 - C里面goto的用处?

goto 有时候可以提高运行的效率。。至于乱用
就是另外一回事了。
易读和性能 总是有取舍的
w***g
发帖数: 5958
38
来自主题: Programming版 - GOTO
我星宿派威武。请总结几个用goto的pattern看看。
g****t
发帖数: 31659
39
来自主题: Programming版 - GOTO
How to eliminate GOTO/label?
All these games are resulted from below paper:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.119.9119&rep=rep1&type=pdf
g****t
发帖数: 31659
40
来自主题: Programming版 - GOTO
another example:
https://en.wikipedia.org/wiki/State_pattern
GOTO/label is clearly much better than the "state_pattern".
g****u
发帖数: 252
41
来自主题: Programming版 - GOTO
没这事,只能在操统线程内部跳。setjmp longjmp就是动态产生label的goto. c里没有
异常,在call stack 里要直接往回跳几层就只能靠这个。还有coroutine, 用户态线程
等magic也可以用这个实现。
h**********c
发帖数: 4120
42
来自主题: Programming版 - GOTO
https://blog.acolyer.org/2015/09/18/buffer-overflows-attacks-and-defenses-
for-the-vulnerability-of-the-decade/
"Likewise a setjmp/longjmp buffer adjacent to an overflowable buffer can
also be overwritten, changing the destination the program jumps to."
This is not my area.

没这事,只能在操统线程内部跳。setjmp longjmp就是动态产生label的goto. c里没有
s********k
发帖数: 6180
43
来自主题: Programming版 - GOTO
embedded system 大把大把的goto
l******n
发帖数: 9344
44
来自主题: Programming版 - GOTO (2)
现在用goto过不了review,要pip的节凑呀
s*******d
发帖数: 132
45
来自主题: Statistics版 - sas 有没有类似goto 那种语句
我用 proc iml 生成随机数dataset -》fit model -> 检查结果
当model fit 不好的时候,我想重新返回proc iml 重新产生随机数dataset
sas 有没有类似goto 那种语句可以实现?谢谢!
s******r
发帖数: 1524
46
来自主题: Statistics版 - sas 有没有类似goto 那种语句
%goto
S******y
发帖数: 1123
47
来自主题: Statistics版 - R 里有没有类似goto的命令
goto is bad programming practice. It should be avoided.
H********g
发帖数: 43926
48
原来如此
#0 print 0 goto 1
#1 print 1 goto 10
#10 print 0 goto 11
#11 print 0 goto 100
#100 print 1 goto 101
#101 print 0 goto 110
#110 print 0 goto 111
#111 print 0 goto 1000
#1000 print 0 goto 1001
#1001 print 1 goto 1010
#1010 print 1 goto 1011
#1011 print 0 goto 1100
#1100 print 0 goto 1101
#1101 print 1 goto 1110
#1110 print 0 goto 1111
#1111 print 1 goto 10000
#10000 print 0 goto 10001
#10001 print 1 goto 10010
#10010 print 1 goto 10011
#10011 print 0 goto 10100
#10100 print 1 goto 10101
#1010... 阅读全帖
d*****1
发帖数: 123
49
那个所谓的木马是批处理文件,人家的源码都给了,用EXEScript打包的。垃圾杀软就
这样。
sigh
附上源代码:
@Echo Off
COLOR 2F
Set Prog=老毛桃制作的 WinPE 专用安装工具
Set L1=      ╭══════════════════╮
Set L2=      ║                  ║
Set L3=   ╭══┤ %Prog%  ├══╮
Set L4=   ║  ║                  ║  ║
Set L5=   ║  ╰══════════════════╯  ║
Set L6=   ║                        ║
Set L7=   ╟════════════════════════╢
Set L8=   ║ 版权所有:老毛桃  仅供网友们交流 翻版不究 ║
Set L9=   ╰————————————————————————╯
Title %Prog%
Set PEFile=WinPE.IS_
Set PEIni=外置程序\WinPE.INI
Set LogFile=PEIn... 阅读全帖
n******e
发帖数: 623
50
来自主题: Astronomy版 - 便携赤道仪总结(2010-02-02更新)
by neveruse(neveruseforever),转载请注明原作者并保留此声明。
随时更新,转载请写明版本(更新日期)。
部分段落引用请至少注明原作者或给出本文连接。
--------目录--------
0. 不便携的选择
1. 概述
1.1 赤道仪
1.2 经纬仪的赤道仪模式
1.3 其他说明
2. 型号列表
2.1 赤道仪
2.2 其他
2.3 国产赤道仪
2.4 自带赤道仪模式的电动经纬仪
2.5 手动经纬仪
3. 参考
--------0. 不便携的选择--------
便携与稳固始终是不可兼得的两个因素,需要权衡,如果更看重后者请参考其他文章。重型赤道仪选择可以参考:
http://www.astropix.com/HTML/I_ASTROP/MOUNTS.HTM
http://lambermont.dyndns.org/astro/pe.html
重型经纬仪选择不多。一些自带赤道仪模式的电动经纬仪自重超出本文收录范围,在相应厂商的轻型产品后面备注说明了。手动经纬仪除了本文列出的之外,只有国際光器T-REX具有微动结构并且可接照相三脚架,而自重超出本文收录范围了:
... 阅读全帖
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)