由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 竟然有人鼓吹自动生成代码的?
相关主题
FP的可读性是最大问题求学习新语言的方法
有适合存取lisp表达式的database吗?[合集] call-by-ref降低了C++程序可读性
说说python (转载)未来ruby能不能挤掉python
groovy整个就是一个better pythonpython象C/C++, ruby象java
说go写东西超快的都是跟什么语言比的呀python并不算google带火的
FP的主要问题是两个Scala这次又被比下去了
functional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)最近感觉了一下市场上对scala的需求
python缩进最大的问题是 (转载)python这语言解决了什么问题?
相关话题的讨论汇总
话题: 代码话题: 生成话题: ide话题: python话题: 机器
进入Programming版参与讨论
1 (共1页)
w***g
发帖数: 5958
1
而且生成出来的代码还需要人看!简直就是本末倒置了。
人写代码是为了让机器执行任务,最好的设计自然是应该把人写的代码和机器产生的数
据分开。Linux下也有lex/yacc, gperf, rpcgen等自动生成代码的工具,但那写都只是
作为中间数据直接传入编译器的,不需要人看的,中间代码也不用存入版本管理软件。
有些情况下因为现在技术水平制约,偶尔用机器产生代码是可以提高生产力。但是把这
个看成先进技术是不对的。
我知道你IDE用得很爽。大部分人用IDE都用得很爽,你自己爽爽就可以了。又不是什么
了不起的本事,也值得拿出来吹。
z****e
发帖数: 54598
2
错误
代码分成两部分
一部分是解释给机器去执行,也就是执行效率,这更多的是可行性
另外一部分是可读性,也就是你的代码需要便于他人阅读
不会造成混乱,也就是可维护性,项目之所以失败
很多时候不是因为代码不可执行,而是代码不可维护
别人看不懂,接盘的人看不懂,他自然也就做不下去
到最后,接盘的人发现,与其维护你的代码
不如推倒他自己做,这个时候,你的项目就已经失败了
软件工程最经典的一个图形就是维护成本随着时间的增长
呈指数级上升,最后挂了,没法维护,你这个搞毛
可行性只是第一步,能让机器执行,这个只是软件整个生命周期中
其实很微不足道的一步,谁写的代码机器执行不了了?
z****e
发帖数: 54598
3
自动生成代码你不如说是自动生成注释
如果你纠结于代码行数的话
set/get读起来比case class要容易太多
set/get看不懂属于iq问题
case class看不懂,这个就是没学过,当然iq达不到也看不懂
没学过很正常,当你一个软件需要phd才能做的时候
多半前途就堪忧了,市场一般就小很多
p***o
发帖数: 1252
4
别提lex/yacc,每次都有问题,不是flex/bison版本太新没法生成中间代码,
就是gcc版本太新没法编译中间代码。

【在 w***g 的大作中提到】
: 而且生成出来的代码还需要人看!简直就是本末倒置了。
: 人写代码是为了让机器执行任务,最好的设计自然是应该把人写的代码和机器产生的数
: 据分开。Linux下也有lex/yacc, gperf, rpcgen等自动生成代码的工具,但那写都只是
: 作为中间数据直接传入编译器的,不需要人看的,中间代码也不用存入版本管理软件。
: 有些情况下因为现在技术水平制约,偶尔用机器产生代码是可以提高生产力。但是把这
: 个看成先进技术是不对的。
: 我知道你IDE用得很爽。大部分人用IDE都用得很爽,你自己爽爽就可以了。又不是什么
: 了不起的本事,也值得拿出来吹。

z****e
发帖数: 54598
5
qxc和古德霸其实一直都在说scala可读性差
也就是维护起来成本高昂,接盘太困难
python什么也都有类似的问题
big data python学生作业把叫兽看晕菜是常事
不过有人要是坚持认为叫兽iq不够,那我也没话说
java很繁琐,但是java代码你要说看不懂
嗯,这么多年,我好像还没怎么遇到过
z****e
发帖数: 54598
6
ide不值得吹
问题是有人吹千万行
那不妨看看这个骗子是怎么现形的

【在 w***g 的大作中提到】
: 而且生成出来的代码还需要人看!简直就是本末倒置了。
: 人写代码是为了让机器执行任务,最好的设计自然是应该把人写的代码和机器产生的数
: 据分开。Linux下也有lex/yacc, gperf, rpcgen等自动生成代码的工具,但那写都只是
: 作为中间数据直接传入编译器的,不需要人看的,中间代码也不用存入版本管理软件。
: 有些情况下因为现在技术水平制约,偶尔用机器产生代码是可以提高生产力。但是把这
: 个看成先进技术是不对的。
: 我知道你IDE用得很爽。大部分人用IDE都用得很爽,你自己爽爽就可以了。又不是什么
: 了不起的本事,也值得拿出来吹。

c******g
发帖数: 4889
7
蟒蛇不是老推崇说只有一种方法写代码吗?怎么代码也没有易读性?

【在 z****e 的大作中提到】
: qxc和古德霸其实一直都在说scala可读性差
: 也就是维护起来成本高昂,接盘太困难
: python什么也都有类似的问题
: big data python学生作业把叫兽看晕菜是常事
: 不过有人要是坚持认为叫兽iq不够,那我也没话说
: java很繁琐,但是java代码你要说看不懂
: 嗯,这么多年,我好像还没怎么遇到过

w***g
发帖数: 5958
8
逆混淆了两个不同的概念。如果确定语言和库,你说的那套都成立。
我是说如果一个语言/库抽象得足够好才会产生需要机器自动生成代码的情况。
以前的C++编译器产生的是C代码,有时候还要人手工改了才能用。
有人看到的是这么做牛B的一面,有人看到的是不足的一面。
显然是后者促进了技术的发展。我相信你做得都是有用的东西,
但我觉得你IDE点多了眼界有点太狭隘了。
所有机械的劳动,包括点IDE,包括用vi写boilerplate代码,最终都应该
被机器代替。

【在 z****e 的大作中提到】
: 错误
: 代码分成两部分
: 一部分是解释给机器去执行,也就是执行效率,这更多的是可行性
: 另外一部分是可读性,也就是你的代码需要便于他人阅读
: 不会造成混乱,也就是可维护性,项目之所以失败
: 很多时候不是因为代码不可执行,而是代码不可维护
: 别人看不懂,接盘的人看不懂,他自然也就做不下去
: 到最后,接盘的人发现,与其维护你的代码
: 不如推倒他自己做,这个时候,你的项目就已经失败了
: 软件工程最经典的一个图形就是维护成本随着时间的增长

z****e
发帖数: 54598
9
定义的变量你不知道是啥东西
比如col,cols,set,sets,ss
这种乱七八糟的变量满天飞
压根没有声明,就算看到了声明
你也不知道中间是不是被改动过
到最后乱七八糟
一种方法主要说的是动词,函数
而非变量,变量名这个你控制不了
java一旦定下来,就不允许换类型
ide你可以通过快捷查找定位变量的声明
然后你看到声明,就知道,哦,是这个东西
然后不会变来变去

【在 c******g 的大作中提到】
: 蟒蛇不是老推崇说只有一种方法写代码吗?怎么代码也没有易读性?
w***g
发帖数: 5958
10
这些都是过时技术了,现在写parser都是直接上库了,C++和haskell写出来都很漂亮。
java不会没有对应的库。正好证明了我的观点。

【在 p***o 的大作中提到】
: 别提lex/yacc,每次都有问题,不是flex/bison版本太新没法生成中间代码,
: 就是gcc版本太新没法编译中间代码。

相关主题
FP的主要问题是两个求学习新语言的方法
functional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)[合集] call-by-ref降低了C++程序可读性
python缩进最大的问题是 (转载)未来ruby能不能挤掉python
进入Programming版参与讨论
z****e
发帖数: 54598
11
那你太理想了
等机器会写代码
skynet差不多可以准备屠杀人类了
现阶段还只能指望人来维护代码

【在 w***g 的大作中提到】
: 逆混淆了两个不同的概念。如果确定语言和库,你说的那套都成立。
: 我是说如果一个语言/库抽象得足够好才会产生需要机器自动生成代码的情况。
: 以前的C++编译器产生的是C代码,有时候还要人手工改了才能用。
: 有人看到的是这么做牛B的一面,有人看到的是不足的一面。
: 显然是后者促进了技术的发展。我相信你做得都是有用的东西,
: 但我觉得你IDE点多了眼界有点太狭隘了。
: 所有机械的劳动,包括点IDE,包括用vi写boilerplate代码,最终都应该
: 被机器代替。

w***g
发帖数: 5958
12
看你是想造机器还是想维护机器了。有人看到的是现有的机器提供了很多就业机会,
有人看到的是新机器的发明会摧毁很多现有的职业。很多时候不是能力大小问题,
而是观念问题。
我要是哪天发现工作变得越来越容易了,我会开始担心饭碗问题。

【在 z****e 的大作中提到】
: 那你太理想了
: 等机器会写代码
: skynet差不多可以准备屠杀人类了
: 现阶段还只能指望人来维护代码

z****e
发帖数: 54598
13
ejb时代就有很多人认为机器可以自动书写ejb了
结果ejb的失败不是因为机器搞不定
而是很多人搞不定,看不懂ejb里面的各种符号
尤其是xml,所以挂了,现阶段你只能指望人
机器要智能,还有很长的距离要走

【在 w***g 的大作中提到】
: 看你是想造机器还是想维护机器了。有人看到的是现有的机器提供了很多就业机会,
: 有人看到的是新机器的发明会摧毁很多现有的职业。很多时候不是能力大小问题,
: 而是观念问题。
: 我要是哪天发现工作变得越来越容易了,我会开始担心饭碗问题。

z****e
发帖数: 54598
14
我担心饭碗问题啊
所以我一直在探索新的领域
别人做过的,我就不感兴趣了
因为很难有什么学习的可能性
顶多说是我会抄而已
你不是phd嘛?phd没教你这个?
phd没有鼓励你创新?

【在 w***g 的大作中提到】
: 看你是想造机器还是想维护机器了。有人看到的是现有的机器提供了很多就业机会,
: 有人看到的是新机器的发明会摧毁很多现有的职业。很多时候不是能力大小问题,
: 而是观念问题。
: 我要是哪天发现工作变得越来越容易了,我会开始担心饭碗问题。

b*******s
发帖数: 5216
15
second this

【在 w***g 的大作中提到】
: 看你是想造机器还是想维护机器了。有人看到的是现有的机器提供了很多就业机会,
: 有人看到的是新机器的发明会摧毁很多现有的职业。很多时候不是能力大小问题,
: 而是观念问题。
: 我要是哪天发现工作变得越来越容易了,我会开始担心饭碗问题。

f******x
发帖数: 98
16
LISP 几十年前已经给出正解了, IDE 生成code的功能和LISP macro比是纯粹小儿科。
C**********r
发帖数: 8189
17

蟒蛇可读性高,机器运行慢。所以学校拿来教学生。
机器生产代码其实有很实用的地方的,程序猿可以写高级语言,然后生成的低级语言可
以比程序猿自己去写低级语言要运行的快。当然这是case-by-case的。
语言的进步很有意思的,不要局限于某一种(类)语言很重要。

【在 c******g 的大作中提到】
: 蟒蛇不是老推崇说只有一种方法写代码吗?怎么代码也没有易读性?
z****e
发帖数: 54598
18
变量多一点就乱了
可读性高啥
你说hello world可读性高,我信
你说python代码可读性高
lol
google都有人做python做挂了
很多东西都只是宣传,骗子太多
做下去就发现,压根不是那么一回事

【在 C**********r 的大作中提到】
:
: 蟒蛇可读性高,机器运行慢。所以学校拿来教学生。
: 机器生产代码其实有很实用的地方的,程序猿可以写高级语言,然后生成的低级语言可
: 以比程序猿自己去写低级语言要运行的快。当然这是case-by-case的。
: 语言的进步很有意思的,不要局限于某一种(类)语言很重要。

ET
发帖数: 10701
19
https://github.com/google/j2objc
java -> objective-C
google's project. I heard Google internal uses it a lot.

【在 w***g 的大作中提到】
: 而且生成出来的代码还需要人看!简直就是本末倒置了。
: 人写代码是为了让机器执行任务,最好的设计自然是应该把人写的代码和机器产生的数
: 据分开。Linux下也有lex/yacc, gperf, rpcgen等自动生成代码的工具,但那写都只是
: 作为中间数据直接传入编译器的,不需要人看的,中间代码也不用存入版本管理软件。
: 有些情况下因为现在技术水平制约,偶尔用机器产生代码是可以提高生产力。但是把这
: 个看成先进技术是不对的。
: 我知道你IDE用得很爽。大部分人用IDE都用得很爽,你自己爽爽就可以了。又不是什么
: 了不起的本事,也值得拿出来吹。

g****t
发帖数: 31659
20
Facts:
1.你开的车的刹车电控系统,很可能相当一部分c code
是simulink 写好自动生成c。
2.多年前我还有个专利可以把相当
一部分修改Resulted c的工作都给省掉。
不见得人工写的代码就能让车的事故和召回少些。

【在 w***g 的大作中提到】
: 而且生成出来的代码还需要人看!简直就是本末倒置了。
: 人写代码是为了让机器执行任务,最好的设计自然是应该把人写的代码和机器产生的数
: 据分开。Linux下也有lex/yacc, gperf, rpcgen等自动生成代码的工具,但那写都只是
: 作为中间数据直接传入编译器的,不需要人看的,中间代码也不用存入版本管理软件。
: 有些情况下因为现在技术水平制约,偶尔用机器产生代码是可以提高生产力。但是把这
: 个看成先进技术是不对的。
: 我知道你IDE用得很爽。大部分人用IDE都用得很爽,你自己爽爽就可以了。又不是什么
: 了不起的本事,也值得拿出来吹。

相关主题
python象C/C++, ruby象java最近感觉了一下市场上对scala的需求
python并不算google带火的python这语言解决了什么问题?
Scala这次又被比下去了[bssd] 教小孩functional programming
进入Programming版参与讨论
g****t
发帖数: 31659
21
机器生产代码很多时候错误率低.

【在 C**********r 的大作中提到】
:
: 蟒蛇可读性高,机器运行慢。所以学校拿来教学生。
: 机器生产代码其实有很实用的地方的,程序猿可以写高级语言,然后生成的低级语言可
: 以比程序猿自己去写低级语言要运行的快。当然这是case-by-case的。
: 语言的进步很有意思的,不要局限于某一种(类)语言很重要。

v*******e
发帖数: 11604
22
python小程序可读性高。
大程序可能成问题。
D***n
发帖数: 6804
23
算了吧,Java是那些混日子人的天堂语言。
看起来一大堆,实际上大多数都是一些没有用的自动代码,干货特少。阅读调试的时候
才烦人,经常在一大堆文件里跳来跳去。
Python的语言一句就是是实在在一句,简洁没什么废话。
只不过现在支持的语言特性太多了,要是能精简一些,提高性能(PYPY已经做的很不错
),那干掉java这种老旧语言指日可待。

【在 z****e 的大作中提到】
: 错误
: 代码分成两部分
: 一部分是解释给机器去执行,也就是执行效率,这更多的是可行性
: 另外一部分是可读性,也就是你的代码需要便于他人阅读
: 不会造成混乱,也就是可维护性,项目之所以失败
: 很多时候不是因为代码不可执行,而是代码不可维护
: 别人看不懂,接盘的人看不懂,他自然也就做不下去
: 到最后,接盘的人发现,与其维护你的代码
: 不如推倒他自己做,这个时候,你的项目就已经失败了
: 软件工程最经典的一个图形就是维护成本随着时间的增长

D***n
发帖数: 6804
24
我们这里也有上万行的python程序。当然这上万行的Python放到Java就是小10万行+几
十个jar了。
说python大程序有问题的都是module本身没搞好。

【在 v*******e 的大作中提到】
: python小程序可读性高。
: 大程序可能成问题。

g*****g
发帖数: 34805
25
上万行的有啥好吹得,eclipse一个项目都61M.

【在 D***n 的大作中提到】
: 我们这里也有上万行的python程序。当然这上万行的Python放到Java就是小10万行+几
: 十个jar了。
: 说python大程序有问题的都是module本身没搞好。

D***n
发帖数: 6804
26
恩,好大,里面有多少是自动生成的代码?有多少是人真正写的?

【在 g*****g 的大作中提到】
: 上万行的有啥好吹得,eclipse一个项目都61M.
D***n
发帖数: 6804
27
变量一多就乱了? LOL
听起来像某些人计算机基础课不及格,连scoping都不会。
Python 有能多重继承的class,有module,有function
你还想要什么?

【在 z****e 的大作中提到】
: 变量多一点就乱了
: 可读性高啥
: 你说hello world可读性高,我信
: 你说python代码可读性高
: lol
: google都有人做python做挂了
: 很多东西都只是宣传,骗子太多
: 做下去就发现,压根不是那么一回事

z****e
发帖数: 54598
28
lol
你说叫兽基础课不及格?
那你怎么不去数数apache到底哪个语言多?
你小学算术及格了没?

【在 D***n 的大作中提到】
: 变量一多就乱了? LOL
: 听起来像某些人计算机基础课不及格,连scoping都不会。
: Python 有能多重继承的class,有module,有function
: 你还想要什么?

z****e
发帖数: 54598
29
什么干货?
又装逼
你的代码除了给机器下命令以外
有用到初中数学么?
100以内加减乘除有了多少?
这也叫干货?
你除了所谓的性能以外还说得其他度量不?
是不是除了快,你其他什么都可以不考虑了?

【在 D***n 的大作中提到】
: 算了吧,Java是那些混日子人的天堂语言。
: 看起来一大堆,实际上大多数都是一些没有用的自动代码,干货特少。阅读调试的时候
: 才烦人,经常在一大堆文件里跳来跳去。
: Python的语言一句就是是实在在一句,简洁没什么废话。
: 只不过现在支持的语言特性太多了,要是能精简一些,提高性能(PYPY已经做的很不错
: ),那干掉java这种老旧语言指日可待。

z****e
发帖数: 54598
30
lol
这样做也便于维护
要写成上万行得java代码也不是不可以
全部扔static里面去就行了
但是一个文件超过5000行的代码属于不可维护的
这就是屎坑
傻逼看了屎坑才不跑,非要在里面呆着
实践中,一般超过500行就要分了,已经是上限了
200行就分比较理想

【在 D***n 的大作中提到】
: 我们这里也有上万行的python程序。当然这上万行的Python放到Java就是小10万行+几
: 十个jar了。
: 说python大程序有问题的都是module本身没搞好。

相关主题
Java的readability不佳 (转载)有适合存取lisp表达式的database吗?
有人用Haskell吗说说python (转载)
FP的可读性是最大问题groovy整个就是一个better python
进入Programming版参与讨论
h*****a
发帖数: 1718
31
这个感觉不太合理。系统规模大了,目前在后端Java还是首选。Python上手快,创业初
期搞搞或者写写script不错。

【在 D***n 的大作中提到】
: 算了吧,Java是那些混日子人的天堂语言。
: 看起来一大堆,实际上大多数都是一些没有用的自动代码,干货特少。阅读调试的时候
: 才烦人,经常在一大堆文件里跳来跳去。
: Python的语言一句就是是实在在一句,简洁没什么废话。
: 只不过现在支持的语言特性太多了,要是能精简一些,提高性能(PYPY已经做的很不错
: ),那干掉java这种老旧语言指日可待。

h*****a
发帖数: 1718
32
自动生成的代码不是什么问题吧。读代码有几个人一行一行读啊。IDE还能让读code更
容易。

【在 D***n 的大作中提到】
: 恩,好大,里面有多少是自动生成的代码?有多少是人真正写的?
1 (共1页)
进入Programming版参与讨论
相关主题
python这语言解决了什么问题?说go写东西超快的都是跟什么语言比的呀
[bssd] 教小孩functional programmingFP的主要问题是两个
Java的readability不佳 (转载)functional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
有人用Haskell吗python缩进最大的问题是 (转载)
FP的可读性是最大问题求学习新语言的方法
有适合存取lisp表达式的database吗?[合集] call-by-ref降低了C++程序可读性
说说python (转载)未来ruby能不能挤掉python
groovy整个就是一个better pythonpython象C/C++, ruby象java
相关话题的讨论汇总
话题: 代码话题: 生成话题: ide话题: python话题: 机器