而一个靠谱的合格的程序员就俺看来只要两点足够了:
1. 明白并熟练使用SCM环境可以同他人协同开发
2. 知道如何测试自个儿的代码
什么IDE/SQL/正则表达式... 都是知识,不是素质!
特别是IDE,this is pure evil thing!
中国软件行业之所以不发达就是因为太多的程序员将太多的精力花费在不断学习不
断升级中的IDE环境了!
技能再NB,也只是小工,无法持续成长的
> >
> > 程序员必备的七种武器(排名无分先后)
> >
> > 一,正则表达式 & 文本处理
> >
> > .理解正则表达式的运作机制
> > .理解贪婪与非贪婪的含义
> > .掌握一门内置正则表达式的语言(perl,javascript,ruby....)
> > .养成正则的思维习惯
> >
> > 二,调试技术
> >
> > .调试信息输出
> > .断点
> > .单步跟踪
> > .日志记录
> > .掌握工作相关的调试器使用
> >
> > 三,SQL(与数据库的交互)
> >
> > .保持一致的设计风格
> > .索引的建立和运行机制
> > .用explain测试sql语句
> > .了解何时使用冗余
> > .了解工作所使用数据库的锁机制和同步机制
> >
> > 四,编程语言
> >
> > .掌握不同思想的编程语言(两种或以上)
> > .基础语言(c)
> > .动态脚本语言(php,python,ruby...)
> > .面向对象语言(c++,java,c#...)
> > .函数式语言(lisp...)
> >
> > 五,编程环境
> >
> > .找到适合自己的IDE(eclipse,emacs....)
> >
> > 六,编写软件的思想
??? 这也是技能的话,那些大师还真的很贱哪…………
> >
> > 七,基本数据结构
> >
> > .熟悉最常接触的数据结构
> > .熟悉最普遍使用的数据结构(数组(栈),链表,hash表)
> >
--
'''Time is unimportant, only life important!
http://zoomquiet.org
blog@http://blog.zoomquiet.org/pyblosxom/
wiki@http://wiki.woodpecker.org.cn/moin/ZoomQuiet
scrap@http://floss.zoomquiet.org
douban@http://www.douban.com/people/zoomq/
____________________________________
Pls. use OpenOffice.org to replace M$ Office.
http://zh.openoffice.org
Pls. use 7-zip to replace WinRAR/WinZip.
http://7-zip.org/zh-cn/
You can get the truely Freedom 4 software.
'''
在我看来真正的技能中对知识的掌握并不算主要的,象上面的技术不管你怎么列都是有局限性的,不同行业的程序员的要求不同,做图像处理的,你要求他会数据库可能没多大意义。真正有用的技术在我看来不外乎两方面:
1. 自省的能力,包括有明确的目标,会主动学习,会搜索知识,会自我改进,会不断尝试,喜欢新东西,经常有灵感,会发现自身的不足,良好的心态,善于总结等
2. 交流的能力,包括分享自已的经验,善与他人沟通,善于吸取别人的经验和教训,有团队意识,有良好的组织管理能力,有良好的判断能力,有丰富的经验积累等
其实作为人的因素才是最重要的。
--
I like python!
UliPad <<The Python Editor>>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
[转发]收到一个积极进取的程序员的邮件,有些悲哀...
> > 本月的程序员杂志刊出了一个专题,主旨是探讨程序员的七种基本技能,这里将
> > 各部分提纲摘要如下,希望大家以后可以进行深入的探讨,更好地指导我们的学习
> > 和工作。
[转发]收到一个积极进取的程序员的邮件,有些悲哀...
> > 本月的程序员杂志刊出了一个专题,主旨是探讨程序员的七种基本技能,这里将
> > 各部分提纲摘要如下,希望大家以后可以进行深入的探讨,更好地指导我们的学习
> > 和工作。
什么是SCM? Supply Chain Management?
估计你这一竿子掀翻好多人啊。
> 2. 知道如何测试自个儿的代码
>
> 什么IDE/SQL/正则表达式... 都是知识,不是素质!
> 特别是IDE,this is pure evil thing!
> 中国软件行业之所以不发达就是因为太多的程序员将太多的精力花费在不断学习不
> 断升级中的IDE环境了!
> 技能再NB,也只是小工,无法持续成长的
你这些话是来源于内心的想法还是外国某些大牛说过,所以你也跟着说?
有句话叫没有笨女人,只有懒女人。同样的,没有evil的IDE,只有不合手的IDE
其它人我不了解,至少对于我(c++程序员)来说,从98年到现在,我工作中只用到过
VC5, VC6。现在平时私底下在用VC2005。
vc5有的功能vc6都有,转换的时候,基本上没什么不适应。
现在在用2005,感觉也就一开始的那两天不适应,找不到class wizard,项目属性的排列不大一样,其它都是功能增强。Win32
API, MFC, ATL变化都不大。
十年就学了两个差别不大的IDE,这不叫"将太多的精力花费在不断学习不断升级中的IDE环境了"吧?
不得不承认,IDE在调试和代码的智能提示方面真的很强大,很方便。
看看最新的Visual Assist build 1548就知道了。
什么软件的功能强就用什么,没什么软件是pure evil的。
--
Best Regards,
Leo Jay
看来Leo兄和我是一样的,我是从VC4开始的,呵呵
但是我部分理解Zoom.Quiet的意思,估计说的是Delphi的?
程序员确实是有能力高低的区分,怎么样修炼到更高境界确实是个大问题,每个人情况都不一样,有的可能广度更适合,有的深度更适合。
我觉得最重要的是"把复杂的问题简单化"的能力,也就是悟性,这个是非常重要的。
>
> 你这些话是来源于内心的想法还是外国某些大牛说过,所以你也跟着说?
>
> 有句话叫没有笨女人,只有懒女人。同样的,没有evil的IDE,只有不合手的IDE
>
> 其它人我不了解,至少对于我(c++程序员)来说,从98年到现在,我工作中只用到过
> VC5, VC6。现在平时私底下在用VC2005。
> vc5有的功能vc6都有,转换的时候,基本上没什么不适应。
> 现在在用2005,感觉也就一开始的那两天不适应,找不到class wizard,项目属性的排列不大一样,其它都是功能增强。Win32
> API, MFC, ATL变化都不大。
> 十年就学了两个差别不大的IDE,这不叫"将太多的精力花费在不断学习不断升级中的IDE环境了"吧?
>
> 不得不承认,IDE在调试和代码的智能提示方面真的很强大,很方便。
> 看看最新的Visual Assist build 1548就知道了。
>
> 什么软件的功能强就用什么,没什么软件是pure evil的。
vcc
_
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
听阁下口气,emacs难道不是IDE?
From: python-chin...@lists.python.cn [mailto: python-chin...@lists.python.cn] On Behalf Of 刘鑫
Sent: Tuesday, March 06, 2007 1:21 PM
To: python-...@lists.python.cn
Subject: Re: [python-chinese][python-cn:23603] [OT]关于程序员基本技能的探讨
IDE是有很大的积极作用,但是现在很多人,离开IDE就不会写程序,那就是舍本求末,买椟还珠了。我强迫自己丢开IDE,用 Emacs写程序后,发现自己对编程技术的理解加深了一个层次。
由于它的扩展性, 他功能可不比一般的IDE弱. 不过, 你非把它说成IDE, 倒也不是说不可以.
On 3/6/07, 刘星 <liu...@nanjing-fnst.com> wrote:
>
>
>
>
> 听阁下口气,emacs难道不是IDE?
>
>
>
>
> ________________________________
>
>
> From: python-chin...@lists.python.cn
> [mailto:python-chin...@lists.python.cn] On Behalf
> Of 刘鑫
> Sent: Tuesday, March 06, 2007 1:21 PM
> To: python-...@lists.python.cn
> Subject: Re: [python-chinese][python-cn:23603]
> [OT]关于程序员基本技能的探讨
>
>
>
>
我对IDE的依赖就很严重。离开IDE就很不习惯。缺乏语法提示,简直就无法忍受。
把时间花在一个字一个字的马代码上实在是很浪费(比如javabean里的get/set)。
刘鑫 wrote:
> IDE是有很大的积极作用,但是现在很多人,离开IDE就不会写程序,那就是舍本求
> 末,买椟还珠了。我强迫自己丢开IDE,用Emacs写程序后,发现自己对编程技术的
> 理解加深了一个层次。
> 对于需要IDE的人,IDE当然有用,但是,想要真正驾驭IDE,就要作到可以离开它
> 生活。一个程序员当然可以自己选择做一个衣食饱足的IDE熟练工或者一个痛苦的
> 编码思考者。我倒不认为前者一定是错的。但是,这要在自愿,自知的前提下。不
> 被IDE束缚只是第一步。
我认为这是社会分工的需要。打个比方,手工艺品非常精致,手工艺人非常辛苦,
需要花费许多时间才能够成为第一流的高手,可是有了工业以后,人们才得以丰衣
足食。手工艺人并不应该痛恨工业的出现,因为它使得他们的生活水平得到了提
升,而另一方面,它也使手工艺人的门槛变得更高,提高了他们的收入 :-)
在70年代,所有的开发人员都必须十分清楚计算机的内部组成原理;在80年代成长
起来的开发人员,无一例外地都拥有"摸黑"调试的能力;而90年代末成长起来的开
发人员,许多只能够依赖IDE,甚至缺少非常基本的调试能力。我们看到的是,开
发人员的门槛越来越低,而另一方面,高层次的开发人员在开发者中所占的比例越
来越小,而对于他们的要求则一点也没有下降。
强求初级开发人员掌握所有高级开发人员需要掌握的技能,甚至能够理解一些开发
方面的理念等等东西是不现实的,我个人认为这些应视作每一位热衷于研究开发技
术的开发者提高自己和寻求自身提升的手段。
我个人很不赞同IDE is evil这样的观点。一个好的IDE能够成百倍地节省开发人员
的时间,因为它是在让计算机去帮助人去做原本计算机应该做的事,而不是让人去
做计算机应该做的事情。语法点亮、拼写检查、自动补齐、在线调试等等这些,没
有一个不在提高我们的开发效率,作为一个从黑底绿字那个时代成长起来的开发人
员,我从中感受到的是技术的进步带给我的无穷力量。有人认为IDE使得人们惰于
去寻求事物内部的规律,我不这样认为,因为懒惰的人永远都是懒惰的人,这并不
会因为他手中的是一把普通的螺丝刀还是一把电动改锥,使用的是ed或VC而改变。
Cheers,
--
Xin LI <del...@delphij.net> http://www.delphij.net/
FreeBSD - The Power to Serve!
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
至于程序员必须掌握的基本机能,怎么列都是不合适的。
IDE的话,不管是挺IDE还是贬IDE的,都大有人在,也都有牛人,这就证明了,IDE不是一个必要的选项么.
> 在我看来真正的技能中对知识的掌握并不算主要的,象上面的技术不管你怎么列都是有局限性的,不同行业的程序员的要求不同,做图像处理的,你要求他会数据库可能没多大意义。真正有用的技术在我看来不外乎两方面:
>
> 1. 自省的能力,包括有明确的目标,会主动学习,会搜索知识,会自我改进,会不断尝试,喜欢新东西,经常有灵感,会发现自身的不足,良好的心态,善于总结等
> 2. 交流的能力,包括分享自已的经验,善与他人沟通,善于吸取别人的经验和教训,有团队意识,有良好的组织管理能力,有良好的判断能力,有丰富的经验积累等
>
> 其实作为人的因素才是最重要的。
>
> --
> I like python!
> UliPad <<The Python Editor>>:http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog:http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chin...@lists.python.cn
> Subscribe: send subscribe to python-chinese-requ...@lists.python.cn
> Unsubscribe: send unsubscribe to python-chinese-requ...@lists.python.cn
> Detail Info:http://python.cn/mailman/listinfo/python-chinese
wxWindows就是copy MFC的那一套,在N年前,MFC就是最棒的创新,以致于把最NB的Turbo C++都干倒了(还记得DOS吗,还有那个曾经牛的不能再牛的borland吗),现在很多人都不记得历史了,OK,也许都不知道这些历史。
> > scrap@http://floss.zoomquiet.org
> > douban@http://www.douban.com/people/zoomq/
> > ____________________________________
> > Pls. use OpenOffice.org to replace M$ Office.
> > http://zh.openoffice.org
> > Pls. use 7-zip to replace WinRAR/WinZip.
> > http://7-zip.org/zh-cn/
> > You can get the truely Freedom 4 software.
> > '''
> >
> > > >
> >
>
--
'''Time is unimportant, only life important!
http://zoomquiet.org
blog@http://blog.zoomquiet.org/pyblosxom/
wiki@http://wiki.woodpecker.org.cn/moin/ZoomQuiet
scrap@http://floss.zoomquiet.org
scrap@ http://floss.zoomquiet.org
douban@http://www.douban.com/people/zoomq/
____________________________________
Pls. use OpenOffice.org to replace M$ Office.
http://zh.openoffice.org
Pls. use 7-zip to replace WinRAR/WinZip.
http://7-zip.org/zh-cn/
You can get the truely Freedom 4 software.
'''
--
Nicholas @ Nirvana Studio
http://www.nirvanastudio.org
integrated与assistant是不同的,不是说有任何一点帮助都算。
当一个工具同时集成了编辑,编译和调试于一身的时候才能算是IDE,
emacs, eclipse都算是。ultraedit, editplus, vi都不能算的。
嗯嗯嗯,其实程序员往好里成长,最必要的素质/品质/能力就是类似Limodou 说的
"沟通"!
对内,与自个儿的沟通,不断的察觉自身的偏差进行学习弥补;
对外,与他人有效沟通,不断的验证自身的不足进行重构增强;
其它的都是小乘尔 (^___^)||
大师之所以大师就是以极丰厚的经验和技能,将内外的沟通渠道扩展到极致 ,
写代码/文章如同呼吸般自然无碍而已…………
热帖定律:
在一个以讨论技术的为主的论坛或者邮件列表中,人气最旺的帖子通常是非技术性的帖子。
此外,我发现很多人编程技术水平很高,但讨论的技术水平却差点。比如讨论IDE的问题,
应该先定义什么是 IDE,那些软件叫IDE,那些不叫。再讨论 IDE 如何如何,这才像个讨论
的样子。
呵呵,随便说说,大家继续。
Zoom.Quiet wrote::
> [转发]收到一个积极进取的程序员的邮件,有些悲哀...
--
Vim 中文 Google 论坛 http://groups.google.com/group/Vim-cn
热帖定律:
在一个以讨论技术的为主的论坛或者邮件列表中,人气最旺的帖子通常是非技术性的帖子。
呵呵,随便说说,大家继续。
IDE的本意是:高效、方便。
我想找一个这样的python IDE:控件的布局是可视化的,像VB一下。你们说,你写得快,还是我用鼠标拖得快??
请问,有没有这样的IDE??
我曾以在网上看到:程序员的懒惰 是他们的优势。
--
注意身体,身体是革命的本钱!!
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
以前在这个论坛看家有人发帖,关于几个大师论程序员素质,c++作者提出分析问题,理解问题本质的能力和设计正确解决问题的方法。我想这大概要包括一定
的智慧,组织条理能力和知识面。
On Mar 6, 6:29 am, "Linker Lin" <linker.m....@gmail.com> wrote:
> 有点跑题了。
> 不过我认为,其实,作为一个程序员,最重要的一个素质,(注意不是技能)
> 是:
> 理解所有的技术都是实现需求的工具,并对此深信不移,而且不带一丝丝拜物教的思想。
>
> On 3/6/07, jessinio smith <jessi...@gmail.com> wrote:
>
>
>
>
>
> > IDE的本意是:高效、方便。
>
> > 我想找一个这样的python IDE:
> > 控件的布局是可视化的,像VB一下。
>
> > 你们说,你写得快,还是我用鼠标拖得快??
>
> > 请问,有没有这样的IDE??
>
> > 我曾以在网上看到:程序员的懒惰 是他们的优势。
>
> > --
> > 注意身体,身体是革命的本钱!!
> > _______________________________________________
> > python-chinese
> > Post: send python-chin...@lists.python.cn
> > Subscribe: send subscribe to python-chinese-requ...@lists.python.cn
> > Unsubscribe: send unsubscribe to python-chinese-requ...@lists.python.cn
> > Detail Info:http://python.cn/mailman/listinfo/python-chinese
>
> --
> Linker M Lin
用pyqt的话,qt designer也很好.
--
my blog: http://karronqiu.spaces.live.com/
my pages: http://karronqiu.googlepages.com/
IDE的本意是:高效、方便。
我想找一个这样的python IDE:控件的布局是可视化的,像VB一下。你们说,你写得快,还是我用鼠标拖得快??
请问,有没有这样的IDE??
我曾以在网上看到:程序员的懒惰 是他们的优势。
--
注意身体,身体是革命的本钱!!
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
你用不带语法高亮的notepad写写看?ide其实并不一定是指多复杂的开发工具。ide永远只是为开发带了辅助的一个工具。如果愿意notepad+shell+资源管理器,你页可以叫他ide。不同语言对ide的依赖也是不同的。你用notepad写delphi?众多ide可以辅助完成的东西你用手写,太过痛苦(当然你页可以定制N个脚本)。重构的时候要改N个函数名,当然你也可以用脚本。但,如果有好用的工具的时候为什么不用?
在 07-3-7,刘鑫< marc...@gmail.com> 写道:
Enough
On 3/7/07, alan <al...@nj.cebbank.com> wrote:
> 好一个"热贴定律"。
> 其实这是程序员危机意识的一种体现。这个帖子看似非技术,其实很有些技术含量,最重要的是他关系到程序员的命运。
>
同意。大家的思想在这里碰撞,有很多值得学习和借鉴。
--
GoogleTalk: qcx...@gmail.com
MSN: qcx...@hotmail.com
My Space: tkdchen.spaces.live.com
BOINC: boinc.berkeley.edu
中国分布式计算总站: www.equn.com
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
BSD 的"纯"vi 也许不算,
但是标准的 vim/gvim 肯定不比 emacs 弱。
vim 的项目管理、代码补全、单元测试哪点都不差。
贬 IDE 的多使用 vim/emacs , 但是 vim/emacs 用好了都就是很好的 IDE 。
或有人把 vim 用成记事本 ?
汗,不知道你是哪个行业的。业务都不熟悉,还能搞什么开发,连做什么东西都搞不清楚,能把东西做好吗?
From: python-chin...@lists.python.cn [mailto:python-chin...@lists.python.cn] On Behalf Of Ben Luo
Sent: 2007年3月8日 13:30 PM
To: python-...@lists.python.cn
Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
On 3/7/07, Deng Patrick-q19285 <ked...@motorola.com> wrote:没想到第二天了还在争这个问题。我个人认为,未来程序开发的趋势是:开发工具越来越智能化(尽量把能由工作做的事情都做掉),而程序员只需要关注业务部分就好了(现在的技术发展趋势也不正是如此么)。再将来。。。弄不好人人都可以编程了,可能通过语言(甚至脑电波)把自己想要做的事情告诉电脑,电脑帮你把软件弄好:)...毕竟工具出来是为了方便人的,既然方便,为什么不用?"偷懒"才是人类发展的根本动力,不然轮子有什么用?
业务部分也不程序员关注的吧。有几个程序员对专业领域的业务非常熟悉(比如外贸,比如财务)。
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
这些都是在非成熟软件团队中不可能体验到的,
这也是鼓励大家参与自由软件项目的重要原因之一;
体验到好的过程,自然的会潜移默化给现实生活中非理性的组织;
一个合格的程序员无法永远作 coder 的,
一个合格的程序员必然会成长到可以传授好经验的程度,
进而其主要义务和责任从保证代码质量转化为保证工程质量,
再进而保证过程的质量 ,进而给公司创造一个成熟的"可产生靠谱的人的稳定组织";
这才是整个行业和公司真正的价值所在…………
知识/技能可以学习得来,
素质/品质却只能通过长期训练获取,
这其中没有必然关联,
但是,足够的知识/技能是产生行业对口的高职业素质的基本条件;
沟通技法则是必要条件...
=)
On 3/8/07, 刘星 <liu...@nanjing-fnst.com> wrote:
> 为了设置合理的过程改进目标,必须了解不成熟软件组织和成熟软件组织间的区
> 别。在不成熟软件组织中,软件过程一般由实践者及其管理者在项目过程中临时拼凑而
> 成。即使已规定了软件过程,也不能严格地遵守和贯彻它。不成熟的软件组织是反应式
> 的,通常经理们集中精力于解决即时危机(称为消防)。由于制定进度和预算不是基于
> 现实的估计,因而超出进度和预算已成惯例。当硬性规定时限时,为满足进度要求,常
> 在产品功能和质量上作出让步。
>
> 在不成熟组织中,不存在判断产品质量或者解决产品或过程问题的客观基础。因
> 此,产品质量难以预测。当项目进度退后时,常缩短或去消像评审和测试这些旨在提高
> 质量的活动。
>
> 可是,一个成熟软件组织具有全组织范围的管理软件开发和维护过程的能力。软件
> 过程被正确无误地通知到现有职员和新雇员,工作活动均按照己规划的过程进行。强制
> 式的过程适于使用(Humphrey 9lb),而且和实际进行工作的方式相一致。需要时就对
> 这些已定义的过程进行更新,并且通过可控的先导性试验和(或)费效分析使其得到改
> 进。在已定义的过程中,遍及所有项目和在整个组织中,所有的岗位及其职责都是清楚
> 的。
>
> 成熟组织中,经理监控产品的质量和顾客的满意程度。在判断产品质量和分析产品
> 及过程问题方面有客观的、定量的基础,进度和预算是基于以前的性能数据,因而是现
> 实的;通常都能达到产品的成本、进度、功能和质量的预期结果。一般讲,成熟组织一
> 致地遵循一个有纪律的过程,因为所有的参加者都了解这样做的价值,而且存在支持该
> 过程的必要基础设施。
>
> 要从这些有关不成熟和成熟软件组织的观察资料中获益,需要构造一个软件过程成
> 熟度框架。该框架描述一条从无序的、混乱的过程到成熟的、有纪律的软件过程的进化
> 途径。没有此框架改进大纲可能显得无效,因为尚未建立起支持连续改进的必不可少的
> 基础。软件过程、软件过程能力、软件过程性能和软件过程成熟度概念集为一体,形成
> 了软件过程成熟度框架,在下面几节中将定义所有这些概念。
>
> ------ CMM 1.1
>
> > -----Original Message-----
> > From: python-chin...@lists.python.cn
> [mailto:python-chin...@lists.python.cn] On
> > Behalf Of Deng Patrick-q19285
> > Sent: Thursday, March 08, 2007 4:04 PM
> > To: python-...@lists.python.cn
> > Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
> >
> >
> > 大公司以及较专业的小公司都有自己一套开发规范和流程,做得好的话,可能最后到
> 开发人员这边只剩下了简
> > 单的Coding工作了,但是对于开发人员本身来说,你如果不熟悉你当前行业的
> 业务,只会Coding,那真
> > 是means nothing,因为招个代码写得不错的人太容易了,招个懂行业的又能把技术
> 弄好的才难。一个开发人
> > 员要是不管业务只管开发,试问,我给你一个专业项目,你先别Coding,能先
> 给我分析设计出来么,不
> > 可能的啊,你连这个项目做得东西是什么都搞不清楚呢。除非你想永远根据上面传来
> 的文档照着Coding
> > 不求大长进,那你可以选择不关心业务。
> >
>
> _______________________________________________
> python-chinese
> Post: send python-...@lists.python.cn
> Subscribe: send subscribe to python-chin...@lists.python.cn
> Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
--
这些都是在非成熟软件团队中不可能体验到的,
这也是鼓励大家参与自由软件项目的重要原因之一;
体验到好的过程,自然的会潜移默化给现实生活中非理性的组织;
SCM也是这个的缩写,不过上面提到的应该是指 Source Control
Management,也就是CVS/Subversion/Darcs之类的东西。现在的团队开发离不开这些工具。
> Management,也就是CVS/Subversion/Darcs之类的东西。现在的团队开发离不开这些工具。
大公司以及较专业的小公司都有自己一套开发规范和流程,做得好的话,可能最后到开发人员这边只剩下了简单的Coding工作了,但是对于开发人员本身来说,你如果不熟悉你当前行业的业务,只会Coding,那真是means nothing,因为招个代码写得不错的人太容易了,招个懂行业的又能把技术
弄好的才难。一个开发人员要是不管业务只管开发,试问,我给你一个专业项目,你先别Coding,能先给我分析设计出来么,不可能的啊,你连这个项目做得东西是什么都搞不清楚呢。除非你想永远根据上面传来的文档照着Coding不求大长进,那你可以选择不关心业务。
Subject: =?gb2312?B?UmU6IFJlOiBbcHl0aG9uLWNoaW5lc2VdW09UXbnY09qzzNDy1LG7+bG+vLzE3LXEzL3M1g==?=
Message-ID: <2007030909...@163.com>
X-mailer: Foxmail 6, 5, 104, 21 [cn]
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="=====003_Dragon865271746101_====="
不要偷换概念,我从未说过不要守规范,我说的是你如果不了解行业不懂业务,是做不出好的产品来的;尽管你在这个产品线上可能只是一个螺丝钉,不需要管流程之前的需求分析模型设计,但不关心不代表可以不用理解,一句话,你不通行业不懂业务,给你一份HLD/LLD,别说Coding了,恐怕连看你都看不懂。
-----Original Message-----
From: python-chin...@lists.python.cn [mailto:python-chin...@lists.python.cn ] On Behalf Of 刘星
Sent: 2007年3月9日 10:58 AM
To: python-...@lists.python.cn
Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
安不安于做一颗螺丝钉,那是个人的问题。
关乎一个软件工程,还是守规范的好。
> -----Original Message-----
> From: python-chin...@lists.python.cn
[mailto:python-chin...@lists.python.cn ] On
> Behalf Of Deng Patrick-q19285
> Sent: Friday, March 09, 2007 10:39 AM
> To: python-...@lists.python.cn
> Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
>
> 不明白概念模糊在哪里?
> 1.对于公司来说,特别是对于大公司守规范的公司来说,当然希望你一个开发人员只
是生产线的一个螺丝钉,
> 随时可以把你换掉而不影响公司,这也是一个比较安全的策略;但对于你个人来说,
你如果安于做这么一个螺
> 丝钉,那是对自己的发展不利的
> 2.我所在的公司(非国内)是pass了CMM/CMMI 5的500强之一,整个软件开发的流程
之细致和复杂真是难以
> 用简单的语言来描述。但对研发人员的要求一样是首先必须要有相关的资深的行业背
景知识,而在对开发技术
> 上的要求我觉得反而比小公司的要求低很多。
>
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
_______________________________________________
python-chinese
Post: send python-...@lists.python.cn
Subscribe: send subscribe to python-chin...@lists.python.cn
Unsubscribe: send unsubscribe to python-chin...@lists.python.cn
Detail Info: http://python.cn/mailman/listinfo/python-chinese
但是,主要是99%的大家都一直在中国这一软件的相对莽荒之地成长,
极少有机会接触靠谱的开发环境/思想/过程…………
所以,都成了忆苦思甜,但是关键,没有几个真正品尝过"甜";
俺也是仅仅有个人身份掺合过不多的自由软件项目,而且不是核心成员,
所以…………
向大家学习!
> > -----Original Message-----
> > From: python-chin...@lists.python.cn
> [mailto:python-chin...@lists.python.cn] On
> > Behalf Of Deng Patrick-q19285
> > Sent: Friday, March 09, 2007 11:03 AM
> > To: python-...@lists.python.cn
> > Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
> >
> > 不要偷换概念,我从未说过不要守规范,我说的是你如果不了解行业不懂业务,是做
> 不出好的产品来的;尽管
> > 你在这个产品线上可能只是一个螺丝钉,不需要管流程之前的需求分析模型设计,但
> 不关心不代表可以不用理
> > 解,一句话,你不通行业不懂业务,给你一份HLD/LLD,别说Coding了,恐怕连看你
> 都看不懂。
> >
> > -----Original Message-----
> > From: python-chin...@lists.python.cn
> [mailto:python-chin...@lists.python.cn] On
> > Behalf Of 刘星
> > Sent: 2007年3月9日 10:58 AM
> > To: python-...@lists.python.cn
> > Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
> >
> > 安不安于做一颗螺丝钉,那是个人的问题。
> > 关乎一个软件工程,还是守规范的好。
> >
> > > -----Original Message-----
> > > From: python-chin...@lists.python.cn
> > [mailto:python-chin...@lists.python.cn] On
> > > Behalf Of Deng Patrick-q19285
> > > Sent: Friday, March 09, 2007 10:39 AM
> > > To: python-...@lists.python.cn
> > > Subject: Re: [python-chinese][OT]关于程序员基本技能的探讨
> > >
> > > 不明白概念模糊在哪里?
> > > 1.对于公司来说,特别是对于大公司守规范的公司来说,当然希望你一个开发人员
> 只
> > 是生产线的一个螺丝钉,
> > > 随时可以把你换掉而不影响公司,这也是一个比较安全的策略;但对于你个人来
> 说,
> > 你如果安于做这么一个螺
> > > 丝钉,那是对自己的发展不利的
> > > 2.我所在的公司(非国内)是pass了CMM/CMMI 5的500强之一,整个软件开发的流
> 程
> > 之细致和复杂真是难以
> > > 用简单的语言来描述。但对研发人员的要求一样是首先必须要有相关的资深的行业
> 背
> > 景知识,而在对开发技术
> > > 上的要求我觉得反而比小公司的要求低很多。
> > >
> >
--
On 3月6日, 下午12时24分, limodou <limo...@gmail.com> wrote:
> > ??? 这也是技能的话,那些大师还真的很贱哪............
>
> > > > 七,基本数据结构
>
> > > > .熟悉最常接触的数据结构
> > > > .熟悉最普遍使用的数据结构(数组(栈),链表,hash表)
>
> 在我看来真正的技能中对知识的掌握并不算主要的,象上面的技术不管你怎么列都是有局限性的,不同行业的程序员的要求不同,做图像处理的,你要求他会数据库可能没多大意义。真正有用的技术在我看来不外乎两方面:
>
> 1. 自省的能力,包括有明确的目标,会主动学习,会搜索知识,会自我改进,会不断尝试,喜欢新东西,经常有灵感,会发现自身的不足,良好的心态,善于总结等
> 2. 交流的能力,包括分享自已的经验,善与他人沟通,善于吸取别人的经验和教训,有团队意识,有良好的组织管理能力,有良好的判断能力,有丰富的经验积累等
>
> 其实作为人的因素才是最重要的。
>
> --
> I like python!
> UliPad <<The Python Editor>>:http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog:http://www.donews.net/limodou
这个是学习能力的体现,我觉得也不只限于程序员,也是任何工作都需要地。。
On 3月6日, 下午12时27分, "Bruce Wang" <numb...@gmail.com> wrote:
> On 3/6/07, Zoom. Quiet <zoom.qu...@gmail.com> wrote:
>
>
>
> > [转发]收到一个积极进取的程序员的邮件,有些悲哀...
> > > > 本月的程序员杂志刊出了一个专题,主旨是探讨程序员的七种基本技能,这里将
> > > > 各部分提纲摘要如下,希望大家以后可以进行深入的探讨,更好地指导我们的学习
> > > > 和工作。
>
> 基本技能:
>
> 1. 能够独立阅读并理解各式文档(中英文)
> 2. 会使用Google查找资料,解决开发中遇到的问题
>
> 就这两条,很多到列表里提问的人都做不到
>
> --
> simple is goodhttp://brucewang.net
> skype: number5
这位同学能先解释什么是IDE吗?
On 3月6日, 下午12时38分, "Leo Jay" <python.leo...@gmail.com> wrote:
> On 3/6/07, Zoom. Quiet <zoom.qu...@gmail.com> wrote:
>
> > [转发]收到一个积极进取的程序员的邮件,有些悲哀...
> > > > 本月的程序员杂志刊出了一个专题,主旨是探讨程序员的七种基本技能,这里将
> > > > 各部分提纲摘要如下,希望大家以后可以进行深入的探讨,更好地指导我们的学习
> > > > 和工作。
> > 嗬嗬嗬,CSDN 总是在作这些无聊的事儿,
> > 以下列出的是完美程序员的素质,
> > 其实,就现在IT市场的程序工作看,已经大致分解为两类程序员:
> > 1. 生产系统级应用的低端高素质程序员
> > 2. 在应用系统上生产应用的高端低素质程序员
>
> > 而一个靠谱的合格的程序员就俺看来只要两点足够了:
> > 1. 明白并熟练使用SCM环境可以同他人协同开发
>
> 什么是SCM? Supply Chain Management?
> 估计你这一竿子掀翻好多人啊。
>
> > 2. 知道如何测试自个儿的代码
>
> > 什么IDE/SQL/正则表达式... 都是知识,不是素质!
> > 特别是IDE,this is pure evil thing!
> > 中国软件行业之所以不发达就是因为太多的程序员将太多的精力花费在不断学习不
> > 断升级中的IDE环境了!
> > 技能再NB,也只是小工,无法持续成长的
>
> 你这些话是来源于内心的想法还是外国某些大牛说过,所以你也跟着说?
>
> 有句话叫没有笨女人,只有懒女人。同样的,没有evil的IDE,只有不合手的IDE
>
> 其它人我不了解,至少对于我(c++程序员)来说,从98年到现在,我工作中只用到过
> VC5, VC6。现在平时私底下在用VC2005。
> vc5有的功能vc6都有,转换的时候,基本上没什么不适应。
> 现在在用2005,感觉也就一开始的那两天不适应,找不到class wizard,项目属性的排列不大一样,其它都是功能增强。Win32
> API, MFC, ATL变化都不大。
> 十年就学了两个差别不大的IDE,这不叫"将太多的精力花费在不断学习不断升级中的IDE环境了"吧?
>
> 不得不承认,IDE在调试和代码的智能提示方面真的很强大,很方便。
> 看看最新的Visual Assist build 1548就知道了。
>
> 什么软件的功能强就用什么,没什么软件是pure evil的。
天生就内置了良好的编码模式(语法检查,自动缩进,自动补完),shell互动,详尽文件管理,甚至有Vision Control的东西不是
IDE???
那什么才算是IDE???
On 3月6日, 下午1时20分, "刘鑫" <march....@gmail.com> wrote:
> IDE是有很大的积极作用,但是现在很多人,离开IDE就不会写程序,那就是舍本求末,买椟还珠了。我强迫自己丢开IDE,用Emacs写程序后,发现自己对编程技术的理解加深了一个层次。
> 对于需要IDE的人,IDE当然有用,但是,想要真正驾驭IDE,就要作到可以离开它生活。一个程序员当然可以自己选择做一个衣食饱足的IDE熟练工或者一个痛苦的编码思考者。我倒不认为前者一定是错的。但是,这要在自愿,自知的前提下。不被IDE束缚只是第一步。
>
> 在07-3-6,vcc <v...@163.com> 写道:
>
>
>
>
>
> > 看来Leo兄和我是一样的,我是从VC4开始的,呵呵
> > 但是我部分理解Zoom.Quiet的意思,估计说的是Delphi的?
>
> > 程序员确实是有能力高低的区分,怎么样修炼到更高境界确实是个大问题,每个人情况都不一样,有的可能广度更适合,有的深度更适合。
> > 我觉得最重要的是"把复杂的问题简单化"的能力,也就是悟性,这个是非常重要的。
>
> > > 你这些话是来源于内心的想法还是外国某些大牛说过,所以你也跟着说?
>
> > > 有句话叫没有笨女人,只有懒女人。同样的,没有evil的IDE,只有不合手的IDE
>
> > > 其它人我不了解,至少对于我(c++程序员)来说,从98年到现在,我工作中只用到过
> > > VC5, VC6。现在平时私底下在用VC2005。
> > > vc5有的功能vc6都有,转换的时候,基本上没什么不适应。
> > > 现在在用2005,感觉也就一开始的那两天不适应,找不到class wizard,项目属性的排列不大一样,其它都是功能增强。Win32
> > > API, MFC, ATL变化都不大。
> > > 十年就学了两个差别不大的IDE,这不叫"将太多的精力花费在不断学习不断升级中的IDE环境了"吧?
>
> > > 不得不承认,IDE在调试和代码的智能提示方面真的很强大,很方便。
> > > 看看最新的Visual Assist build 1548就知道了。
>
> > > 什么软件的功能强就用什么,没什么软件是pure evil的。
>
> > vcc
> > _
> > _______________________________________________
> > python-chinese
> > Post: send python-chin...@lists.python.cn
> > Subscribe: send subscribe to python-chinese-requ...@lists.python.cn
> > Unsubscribe: send unsubscribe to python-chinese-requ...@lists.python.cn
> > Detail Info:http://python.cn/mailman/listinfo/python-chinese
>
> --
> Blog搬家了
>
> 刘鑫
> March.Liu
hmm...长篇大论居然被google搞丢了,决定只用emacs看Google Group。
把重点再写一下:
提问:
1,请问如何区分低端高端?你认为什么素质是区分这两种?
2,IDE/Regexp/SQL都是最常用,最有效率(生产效率和运行效率),最可靠的技术,而且都是需要时间和训练才能掌握,为何你认为这些不是技
能?
论点:
1,IDE可以比喻成程序员的办公室,很难想像一个有效率的办公室不需要电话,打印机,复印机,传真机,等等。我认为那些说Notepad就够了的程序
员要么脑子进水,要么还没有开窍。你用过Emacs和VIM中的一种吗?IDE在调试的时候帮助有多大我就不说了。
2,学习程序语言,不是学几种,而是不同种类的都要学一下,不要去研究其语法(比方说把Ruby说成最高级的语言),而是去了解其执行模型,效率模型
(编译成寄存器机器代码后的执行模型)。
3,作为Lisper,应该看SICP,应该学会如何写简单的解释器,懂得Eval/Apply模式,懂得不同方式的Parsing技术,能够实现
Pattern Matching,Unifier,懂得如何抽象算法成高阶函数,如何运用Closure抽象出函数及其状态,了解
Continuation(不一定是First Class Continuation,call/cc只有scheme有,但是只要有closure
就可以根据自己的需要构建不同的continuation),会把Haskell的程序翻译成Lisp code(stream, monads),
etc, etc... 然后再去写什么AI算法:)
Cheers,
Huang
test
前面的回复居然丢了......
中国的素质教育喊了不少年,但是除了学费越來越高,E文越來越重视,出国跑路的人越來越多,
并没有给各个行业带来没有基础动力哪…………
>
> 我怀疑是因为自己人品不好,所以才被发配来干这个差使……
> 但我终于知道,程序确实有好坏之分的,那些"设计模式"暂且不说,就是开发的基本概念,重构的各种"臭味"
> ,这次算是真的体会到了
>
>
> >
>
和SQL没有关系,他说的是PHP中读取数据的代码。相反,如果了解SQL语句被执行的模型,自然懂得合并不同的查询来提高效率。如果是个好程序员,写
出的代码必然是高效,可靠,易懂。因为难懂的程序正好说明你没有理解问题的本质。至于效率,在对实现非常了解之前没必要强调效率,最后根据
profiler把瓶颈的部分优化掉就可以,对于web系统,往往瓶颈在IO和数据库(很显然上面的程序还停留在开发阶段)上。
> 却没有一丁点儿的素养所至---开发的东西根本不是自个儿认同的,而且也不打算持续维护升级的,
> 只读想着通一次,拿一次的钱继续跳槽而已............
我不知道你如何联想到这个层面,似乎在你的世界观里好程序员就应该默默拿着工资,鞠躬尽瘁,拿出自己最满意的程序。如果Albert Lee所指的是一
个商业项目,那么代码的质量,文档的质量必然是根据deadline,cost, 还有程序员的经验相关的。如果是商业项目,升级维护不是义务,代码规
范如何,文档标准,如何维护,都应该写在项目合同里。
另外,人们应该感谢程序员,任何写过稍微大点规模系统的人都知道软件不单单是程序,而是程序+规范及整个运行平台。 里面的复杂性,从上往下看,可以分
为问题分析,逻辑,程序语言,规范,库,编译器,运行平台,每一层都有其相当复杂和晦涩的地方。建议看Joel Spolsky的《The Law
of Leaky Abstractions》。一个好的程序员必然要掌握不同环境下最有效的工具以及使用这些工具的技能,光有什么素质并不能让你在规
定时间内拿出高质量的东西。如果是开源项目,你大可不必搭理你认为的"没有素质"的人,但如果是商业项目,你合同里没有考虑的问题应该你自己负责。
>
> 中国的素质教育喊了不少年,但是除了学费越來越高,E文越來越重视,出国跑路的人越來越多,
> 并没有给各个行业带来没有基础动力哪............
>
重视英文我认为有相当大的必要性,1)有多少计算机的著作被翻译成中文了?2)质量如何?(我想大家都明白)
Cheers,
Huang