Redian新闻
>
Re: 计算机专业编程到底强在哪里?
avatar
Re: 计算机专业编程到底强在哪里?# CS - 计算机科学
R*r
1
编你用来编程的这些东西。。。
avatar
c*c
2
呵呵,今天Slashdot上还有这么个关于编程是不是艺术的讨论:
http://developers.slashdot.org/article.pl?sid=05/07/05/2158213&tid=156
应该说早年计算机刚出现的头二三十年,很多东西没有规范化的
时候,编程算是一种艺术,怎样高效简洁地做成一件事,更多地
要依靠灵感而不是依靠事先定义好的一二三四的步骤。但是艺术
毕竟是小众文化,能从事的人不多,不能适应全社会大规模应用
计算机的需要。于是软件工程应运而生,定出了系统设计、实现、
维护等等环节的框架。尤其是在大系统中,软件的质量除了正确
性(bug越少越好)以外,还表现在易维护性(换了新的程序员
看懂前人写的程序所需的时间越少越好)和性能(消耗的处理器、
存储空间、网络带宽等资源越少越好)上。当时一般认为,需要
多人参与的软件项目里,瀑布模型之类的软件工程框架将是必不
可少的。在这些框架里,要做出质量过硬的系统就得按照既定步
骤一二三四做下来。可以想象那时候会有不少先前自得其乐的程
序员开始抱怨,好好的一门艺术,给变成了工程,一下就无趣多
了,呵呵。不过随后几十年的实践中
avatar
c*c
3
又看了一遍你的帖子。你的问题似乎不光是软件工程?而是不了解
计算机专业的人都在干些啥?
其实你要是光是学过一些语言、做过一些简单程序的话,连算法分
析和数据结构的书都没看过的话,还不能算是入了计算机科学的门。
小打小闹做些小程序可能用不上那些东西,但那些东西是很根本的
思想观念,学了肯定很有好处。我曾经听到这么一个问题:如果有
一堆数据是排好序的,你会用数组来存放还是用链表来存放,为什
么。这么简单的一个问题,却考倒了我们这里不少从其他系跑来计
算机系选课、甚至选够课时拿了个硕士的人。可见你就算上过相关
的课,但没有真正学进去的话,其实也还是没有入门,呵呵。
avatar
c*c
4

高明在哪里。。。问得好,不过好像没有一个简单明了的答案吧。
学计算机专业的人也有很多是偏理论的,博士毕业后编程序未必
就很强吧。不过另外也有很多人是要做大量编程实现的,那动手
能力就会强得多。
如果进的公司做软件产品的过程用了严格的软件工程,像以前一
些玩笑里说日本的软件工程甚至精细到了specification完全写
清楚后,都是一些老太太在根据这些specification来写code,
那么写这些code本身是比较机械、初等的活动;而真正高强度
的智力活动在于specification之前的设计过程。日本软件质量
高也确实是有口碑的,最近俺还在ACM Communications里看到
一篇文章说日本软件平均每一千行程序里的bug比美国软件平均
要少得多,也许就跟这种精细的软件工程有关。
美国这里多数软件项目不会搞这么精细的软件工程吧。多数情
况下程序员必须自己设计自己所负责的模块,然后才去编程实
现。很多东西设计得好不好,就和以前的编程经验以及理论功
底有关了。俺刚来美国的时候,曾经被一个朋友拉去看他的程
序,他早先是学经济的,半路出家念了个计算机,然后找的工
作是在某大型电
avatar
c*c
5
其实很简单,排好序了,用数组存的话可以用二分法查找,
效率高得多,呵呵。
avatar
R*r
6
问题问的是要存放,谁tmd知道要查找 赫赫
这就好比问站着好还是坐着好,最后答案是站着好,因为老板屁股上起了个包。。

【在 c**c 的大作中提到】
: 其实很简单,排好序了,用数组存的话可以用二分法查找,
: 效率高得多,呵呵。

avatar
c*c
7
这个。。。存放了以后总得要查找吧,要不存在那干嘛。:P

【在 R****r 的大作中提到】
: 问题问的是要存放,谁tmd知道要查找 赫赫
: 这就好比问站着好还是坐着好,最后答案是站着好,因为老板屁股上起了个包。。

avatar
f*e
8
哈哈!~!
我也在琢磨那个问题,心想我居然还真不知道答案,正在汗
不过链表就不能用二分法查了?怪嘛。。。。所以还是不懂

【在 R****r 的大作中提到】
: 问题问的是要存放,谁tmd知道要查找 赫赫
: 这就好比问站着好还是坐着好,最后答案是站着好,因为老板屁股上起了个包。。

avatar
a*e
9
how do you do binary search in link-list?

【在 f**e 的大作中提到】
: 哈哈!~!
: 我也在琢磨那个问题,心想我居然还真不知道答案,正在汗
: 不过链表就不能用二分法查了?怪嘛。。。。所以还是不懂

avatar
t*s
10
你不应该花时间编程
你该写个接口然后让计算机系的去编
你想,大厨做完菜之后锅啊,碗啊哪有自己洗的。。。
大夫做完手术之后缝合哪有自己动手的。。。
avatar
r*t
11

让半路出家的CS master去编,嘿嘿

【在 t*s 的大作中提到】
: 你不应该花时间编程
: 你该写个接口然后让计算机系的去编
: 你想,大厨做完菜之后锅啊,碗啊哪有自己洗的。。。
: 大夫做完手术之后缝合哪有自己动手的。。。

avatar
f*e
12
唔,是要麻烦许多。。。。

【在 a*********e 的大作中提到】
: how do you do binary search in link-list?
avatar
e*n
13
Use binary search tree, though it is not link list.

【在 a*********e 的大作中提到】
: how do you do binary search in link-list?
avatar
h*u
14
coding 我觉得差不多,但是真正做一个大型的软件,
在程序设计的时候,受过正规训练就有用了
avatar
h*u
15
hehe

【在 R****r 的大作中提到】
: 问题问的是要存放,谁tmd知道要查找 赫赫
: 这就好比问站着好还是坐着好,最后答案是站着好,因为老板屁股上起了个包。。

avatar
h*u
16

这就不对了

【在 c**c 的大作中提到】
: 这个。。。存放了以后总得要查找吧,要不存在那干嘛。:P
avatar
m*n
17
Hi,
It is not true that CS programming is always better than EE.
Try to study on successful operating system and compiler and networking protoc
ol stack and QoS. How beautifull they are! That is computer science. How can r
ealplayer success? That is due to CS.
On the other hand, to design an efficient hardware/software system is not just
"GUI, writing code for interface and computation". It could be instruction se
t design, the corresponding compiler design, HW/SW codesign, and so on. If it
coul
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。