突然想到,今后是自己西门子plc编程软件还是用软件哪

后使用快捷导航没有帐号?
打开脑洞,用中文来写程序会怎样,中文编程初体验
摘要: 程序猿们都知道目前的各种编程语言指令都是英文单词,有一天我突然想到一个问题:中文能用来编写程序么,这将会是一种怎样的体验呢?看了一下还真有,以下内容来自百度百科上世纪七十年代,中国开发了一个DOS下的中 ...
程序猿们都知道目前的各种编程语言指令都是英文单词,有一天我突然想到一个问题:中文能用来编写程序么,这将会是一种怎样的体验呢?看了一下还真有,以下内容来自百度百科上世纪七十年代,中国开发了一个DOS下的中文编程语言,但由于WINDOWS的流行,还未等推广,就被淘汰。八十年代开始,台湾已见到繁体中言语版本的LOGO语言。今天给大家介绍两种现存的中文编程语言易语言易语言的起源可以追溯到日,早期版本的名字为E语言,由吴涛发明。目前发布了5.6版本,来个体验截图看看,很酸爽有木有习语言习语言被称为中文版的C语言,下面是一个示例,这样的程序相信每个中国人都看得懂吧。习语言竟然还有一帮兄弟姐妹,真是吊炸天,感兴趣的话大家可以自己试试习语言——C语言中文扩展库习佳佳——中文C++开发伴侣习丽妞——linux系统下编程的中文扩展库习51——51单片机中文开发伴侣我已经迫不及待想尝试下这高大上的玩法了。用习语言写了点代码玩玩,可惜不支持mac,好伤心!谁有windows电脑帮我跑跑看看好使不,谢谢。#包含 “习语言系统.接口”整数类型 主函数(无类型){图形开始(400,300)。【表示开始执行图形模式的程序代码 并且制定窗口大小】图形格式输出(“%行报告老板:”)。图形格式输出(“%行我发现了一个秘密”)。图形格式输出(“%行中文居然可以用来写程序”)。图形格式输出(“%行终于找到了写代码就像写作文的感觉%行”)。图形格式输出(“%行老板,今年房租又涨了,西红柿都买不起”)。图形格式输出(“%行我们的工资是不是该涨涨”)。图形格式输出(“%行你看,中文大家都懂”)。图形格式输出(“%行您考虑考虑!”)。暂停(86400)。图形结束(1)。【结束窗口模式 并且在结束之前具有一个暂停的功能】返回 成功。}程序猿们,打开你们的脑洞,放飞你们的梦想,没有什么不可能。脑洞有多大,世界就有多大。声明:本文完全原创,版权所有,北游人,请勿擅自修改转载。
特别推荐:欲深入学习电脑维护、网络编程与黑客攻防,请点击这里
,免费学VIP公开课、论坛与QQ群技术交流,黑基14年技术经验,让您少走弯路、事半功倍!
本文出处:/a6029314/
声明:本文搜集整理自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,请我们一起为维护良好的互联网秩序而努力,谢谢!联系方式见网站首页右下角。
刚表态过的朋友 ()
上一篇:下一篇:you have been blocked小站会根据您的关注,为您发现更多,
看到喜欢的小站就马上关注吧!
下一站,你会遇见谁的梦想?
IT民工必看,你做到了几点?(转)
面整理下该书中我认为对我的学习和以后的工作非常有用的话。
真正基础雄厚的人应该是可以将一个常用的基础性知识熟记成诵的人。提到一个基本的名词或话题能够将其来龙去脉解释清楚的人。
我在简历当中最打动面试官的地方恰恰是我利用课余时间及逃课所写的程序,还有利用背考试题的时间所读的课外书。
要想成为优秀的程序员,对于基本算法有深入与精确的理解应该是一项必须的基本技能。
Your time is limited,(乔帮主)
学知识要注重对本质的掌握,先保证能够将知识点融入到自己的理解里,然后,如果觉得课后作业太弱智,可以尝试新的思路,别一碰到类似的东西就先把以前的搬出来当做&已完成&。
知其然不知其所以然,这是我一贯的问题,的公司总是问到我的软肋。
加 强实践与执行力。不要欠生活,不要欠工作。出来混,总是要还的,你不会的知识,你懒于想通的东西,总是会在一个必要的时候提醒你、惩罚你。将没搞懂、希望 做到的东西,写在纸上、贴在面前,认真实践,当你做到的越来越多的时候,你就会越来越自信,你的层次会提高的。相信我,人与人之间的差距很大,原因在于自 我控制力有差距。&&本书最真诚、我最喜欢的一句话。
每个人都会在自己的简历上写会,但是真正分析过源代码的人并不多,每个人都会声称自己精通各类操作系统,但是真正能说清楚系统启动流程的人也不多。
如果一个事情比别人多付出的努力,就可能拿到相当于别人的回报。
我衡量每一件事的标准就是:这件事够不够我写到简历上?如果够,能不能成为闪光点?&&这句话对我学习工作都很有启示!
世界上没有孤独的高手,却又一堆没人要的半吊子。
始终保持着乐观的心态和自信心在求职的过程中是头等重要的。
疯狂收集电子书自有乐趣,你会沉浸在这种乐趣之中,而忽略真正有用的东西和真正要做的事情。&&这句话对我很有警示作用!
坚持写技术博客,进行有效的自我营销。
你做什么,而不是你想什么,决定你要成为什么样的人。
看一个人,只要看他读的书和见的人。&&真精辟!
今天很残酷,明天更残酷。但后天很美好,大部分人将死在明天晚上,看不到后天的太阳。(马云)
如果我不够强,就会被淘汰。
有问题当场提出来是最搞笑的做法。&&步入职场可能会体会到。
人不能停止思考,思考自己,也思考人生,这才是要紧的,也是永远不会晚的。
零散与不成系统,是网络知识的特点。这样漫无目的的阅读,容易消耗大量的时间,而且容易令人迷失,往往得不偿失。&&告诫自己看书会相对好些。
通常程序员都是伴随着企业一起成长的。
凡事有计划,认真执行计划,勤记录,常总结。&&自知做到这些非易事,但凡做到这都会有大成就,加油吧!
在这个世界上生存下来,只能靠自己的拼搏和努力,万万不可把希望寄托在别人的身上。&&同感,只有自身强大了,才有家庭、家族的荣光!
之所以能够非常快速地进步和成长,非常大的一个原因就是坚持自己认定的方向,持之以恒,坚持不懈,并且坚持参与交流,坚持与人分享。
掌握一门技术不是一蹴而就的事,它需要的是严谨的态度、科学的方法和一个必不可少的积累过程。
有些事情时该做的,有些事情是不该做的,有些事情时可做可不做的;可做可不做的事情做得越少,获得成功的可能性就越大。&&努力所在!
看过了,听懂了,并不意味着真正的理解,只有亲身实践过,能将知识积累消化后分享给他人,才会让学到的东西真正了然于胸,随时拿起来都可以运用自如。
看书一定要动脑子,蜻蜓点水地看一遍只能收获阅读时的快乐,但真正要用到书中的内容,需要在阅读的时候将精华部分用心牢记才有所得。
慢即是快,笨笨地做一遍题是学习的捷径。&&提醒自己:欲速则不达!
一字不漏的敲入一本书的程序成了我推荐别人学习语言的最好方法。
多看书,看好书,并且一定要做笔记。
&&&&在 我看来,成长路径上有很多的偶然,没人知道在一些关键时候需要什么样的知识储备,所以踏实地多储备一些是好事。以前通过看书、自学,彻底地弄懂的一样知 识,会在某个不经意的时候,突然被用到。这时候对当年积累的庆幸和再发现的快乐,就像蓦然回首见到灯火阑珊处的秋水伊人一样,是没法用文字描绘的。&&非常赞同!
一本好书读两次要胜过两本好书各读一次。
谈谈我对攻读计算机研究生的看法(转)
&&&&& 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。
  如果你有实际开发工作经验,感觉自己的水平和实力进入了 一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。 当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。
  你说:&他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处&,我可以向你保证,你所说的人绝对不是开发能力很强的人。因为,1)高手不可能不喜欢读书;2)高手不可能想去混一个学历;3)高手不可能认为晋升是因为学历的原因。
   还需要说明的是,考计算机的人未必个个都是高手,严格来说,大部分都不会编程序。也就是说,庸庸碌碌之辈仍然占绝大多数。研究生毕业的师兄只拿2500 元左右的比比皆是,所以不要寄希望于拿一张研究生文凭出去赚高薪。但是,对于有实际开发工作经验的人,要想自己在3年之中有一个真正的提高的话,计算机学院提供了广阔的平台。就我所知,每一个月拿2万以上的也有。所以,同为研究生毕业,能力的差距是极大的。所以,不要去问 &研究生毕业能拿多少?&,要问&像我这种水平的人,研究生毕业能拿多少钱?&这样人家才能够准确地回答你。
  所谓&有实际开发工 作经验&是指你目前已经具备下列能力:1)你已经认为C++和汇编语言都是很简单的语言,并能够自如地运用;2)你能够在30分钟之内想到正确的五子棋 AI算法设计思路和方向;3)你完全理解STL为什么这么重要;4)你能够独立地解决所有的编译与链接问题,哪怕你从来没有遇到的问题,你也不需要询问任 何人;5)英文网站是你的首要信息来源;6)能够读懂英语写成的国际标准,比如NTFS磁盘格式标准。7)你经常站在集合论的角度思考算法问题;8)能够 理解一个简单的驱动程序,能够理解一个简单3D交互程序;9)你能够认识到线性代数和概率论在实际编程工作中的极端重要性;10)你完全理解COM的设计 思想,尤其能够理解COM为什么要设计成这样;11)当我说到虚函数的重要作用时,你不会急着去找书来翻;12)你能够说出C++为什么比其他语言优秀的 理由,记住这种理由应该来自于你的开发体会,而不是因为其他人都这么说。此外还有很多判断标准,但如果你同时具备5条以上,可以认为你已经具备相应的开发 经验了。在这种状态下读研,你将取得读研效益的最大值。
  读研最重要的是要明白你自己要干什么,不能等导师来告诉你你应该干什么。 研究生的优势在于理论功底深厚,思维具有穿透力,当然编程能力首先要过关,不要读完研究生还不知道MFC程序的WinMain函数在哪里。所以,研究生期 间,你一定要做有理论深度的算法设计,比如大规模数据的搜索算法,性能是首要考虑因素,不要奢望SQL函数能够帮你解决问题,所有的问题你都必须自己解决,你必须解决内外存交换的性能瓶颈。再比如极品飞车的3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型等等,这些都是可以保证你能拿到2万以上月薪的技术。如果你认为这些东西太难,不可能做得出来的话,那么你就不适合读研。真的,要是你认为读研之后还是要去搞一般的程序设计,如信息管理系统之类的软件,那么你读研的价值就完全不会得到体现,因为这些工作根本就不需要读研。
  软件学院宣称培养软件开发人才,恕我直言,我从来没有看见那个高手是培训成功的。成为软件开发高手的路只有一条:自学!软件开发中需要大量的编程实践和独立思考,只有在此过程中,你才能够逐步 成长起来。软件学院宣称培养软件项目经理,这更是搞笑,在某种意义上这是欺骗行为。学院里面能够培养出软件开发经理更是十足的谎言,软件项目经理必须,或者说更强调从战争中学会战争。没有实践经验的项目经理就是绣花枕头一个。
  实话实说,软件学院就是一个蒙钱的机构,公关工作做得很好,善于打广告,而且都是打着高薪的幌子,就如同外面的什么北大青鸟培训班一样。两个字:蒙钱!四个字:还是蒙钱!
   总之一句话,如果你只想成为软件开发高手(比如认为会编驱动程序或杀毒软件就是高手的那种),建议工作,不要考研;完全没有工作经验的,也不建议考研, 你进来了只有瞎混一通。如果你有上述工作经验且想成为高级软件工程师(能够独立理解并设计出快速傅立叶变换算法的那种软件工程师)的话,那么强烈建议考 研。考研让你有3年放松思考的机会,也有3年让你思想和技术积累沉淀的机会。非常难得的机会。不考研的话,这种机会就是一种奢侈,可望而不可即的那么一种 奢侈。
  所以,不管你是哪一种情况,都不建议考软件学院。除非你是女生,把能够成为一个研究生当着一生最大满足的那种女生。
   1)关于读书的机会成本问题。读研的机会成本的确是很高。任何人都可以简单地计算出来。所以,我也不赞成所有的人都去读研。读研只适合那些痛感数学在编 程中的极端重要性的人。如果对理论工具和理论思维的极端重要性没有切肤的认识,那么读研的价值几乎为0;读研的好处在于:A,把你自己放在一个学术和工程 的交叉点上;B,让你具备了进入微软等世界顶级软件研发机构的可能性;记住只是可能性。但是不读研这种可能性为0;C,如前所述,如果没有读研的机会,你 也就没有静下心来好好钻研几年理论的机会;一边工作拿高薪,一边深入地学习各种理论,诸位认为这可能吗?我反正认为不可能,我觉得学习钻研理论最需要的就 是一个长期安静独处的环境,一边工作一边读书是不可能有这样的环境的,你会觉得每天都在疲于奔命。而读研正好可以提供这样一个环境。我同时还反对整天跟着 导师的屁股后面跑,这样会浪费很多时间。读计算机的研究生,主要依靠自己去查阅最新文献,自己去研读文献,和导师的口头交流一个月一次就足够了,前提还需 要导师的水平足够牛。如果导师的水平不牛,这也没关系,不理他就是了,自己做好自己的事情即可。
  2)关于研究生教学质量问题。坦 白地说,全国都是&洪桐县中无好人&,尤其在计算科学领域,大牛极少。那为什么还要去读研?大哉问!把读研的收获寄托在名校或名师的名我认为气上,是注定 要失败的。读研全靠自学,研究生之间的差距全部体现在自学能力上面。又有人问,既然是自学,为什么非要读研?回答是:因为读研就是为你买一份保险,就是买 一份你自学三年之后不会失业的保险。这份保险主要是一种心理上的后盾,让你在自学过程中经得起诱惑,能够从容镇定地去追寻计算机理论发展的坚实足迹,从欧 拉,费马,高斯,康托,图灵等巨匠那里寻找方法论的珠宝。倘若没有这份保证,你在家里面自学3个月,保证你会被失业的压力压得喘不过气来,何谈安心学习?
   3)关于实战经验与理论学习的优劣问题。这没有定论,如前所述,管理信息系统,设备驱动开发,工具软件开发,软件病毒剖析等等这些工作不太需要创造性, 需要的是耐心和经验,需要的是对既有规范的准确理解,这类开发工作最适合在实战中提高,理论学习没什么作用。但是在人工智能,模式识别,图像压缩,虚拟现 实,巨量数据检索,自然语言理解,计算机图形学等等领域,理论学习就占据着绝对的统治地位!这些领域的突破对人类的生活的影响是极其巨大而深刻的。某些领 域处于一个极其快速发展的态势之中,比如计算机图形学,相信诸君能够从众多3D游戏的灿烂辉煌中体认到我的这种说法。在这些领域,如果没有扎实的理论功 底,一切都是那么遥远,不管你花了多少时间在编程上面。
  4)关于高级研发人员的知识结构问题。首先声明,我不是一个纯粹理论激进 分子,即认为除了理论之外,一切都不重要。我认为,纯熟的编程技能是最基本但也是最必不可少的技能。没有这个基础,一切计算机理论就是空谈(研究图灵可计 算性理论的研究者除外)。有了这个基础之后,下列理论学习方向必须重点突破:
  1,科学哲学。这是核心中的核心!可惜国内不开这门 课。不但不开课,而且还作为批判对象来引用,实在是遗憾至极!这是一门教你如何&钓鱼&的学科,在一切科学研究中居于最核心的地位。它是古今科研方法和思 维方法的集大成者,很难想象一个成熟的研究者没有一套自己的方法论体系。科学哲学最需要的是领会与总结,它的思想与启示会伴随我们的一生。
   2,康托集合论,矩阵方法,离散结构,图论方法,群论方法之间的紧密关系。最重要的认识这些理论对实践的重要启示和方法引导。我始终认为,如果你学了一 门理论之后,却不知道这门理论有什么作用,那么你的理论就白学了,你什么东西都没有捞着。所以,学习任何理论之前,先问自己:它有什么用?在哪里用?如何 用?带着这些问题去学习理论,你才会真正地学到东西。用这三个问题去问你的理论课老师,他的回答就是判断其实际水平的最佳标准。
   3,思维要有极强的穿透力,学会看透文献作者没有写出来的动机。绝大部分大师都有隐瞒自己最具有方法论启示意义的思考环节的习惯。牛顿和华罗庚先生都有这 个坏习惯。这让大家认为他们是天才,因为很多问题他想到了,我们想不到。但是为什么他们能想到,我们想不到?他们是怎样想到的?没有人告诉我们牛顿发现万 有引力定律时的思考过程,当然,牛顿可以慷慨地把他的思考结果告诉我们,但是,他那可以点石成金的&金手指&却没有教给我们。我们的任务就是要培养透过文 章看穿作者背后意图和动机的能力,在这方面,台湾的侯捷和美国的Donbox是绝佳典范。这两只老狐狸(呵呵,是爱称)凭着其猎犬一般的嗅觉,抽丝剥茧, 一个把COM背后的幕后设计动机揭开并暴露到了光天化日之下,另一个把MFC的宏观架构做了一次完美的外科手术。其非凡的思维穿透力令人惊叹。
  4,英语。英语本身不重要,但是用英语写成的文献就极其重要了。所以,专门把英语作为一个重头戏列出来。大家不要相信英语无用论的鬼话。对于搞计算机的而言,英语就是你的母语!
  5,其它的具体理论还有很多,但是都不如这三个方面重要,因为我觉得这三个方面是最具有根本性,全局性的能力培养环节。需要指出的是,很多高深理论对你的工作是无意义的,当心时间陷进去。一定要把效率最高的时间段用在最具有决定性意义的理论学习上。
   5)关于读研之后的出路是否光明的问题。我们应该承认,读研之后,你的工作机会不是变多了,而是变少了。而且越是高手,他的工作机会和工作范围就越少。 这是因为,越是搞前沿研发的公司,其数量越少,在这个圈子的人也就越少。你找工作的范围就越小,试问:如果微软的OS设计专家出来找工作,能够让他选择的 公司能有几家?但是,这种公司数量的减少是以工资待遇的急剧上升为补偿的,同时,你在工作中所受到的充分尊重也是在一般公司中体会不到的。所以不要担心学 了高科技用不上,呵呵,你只会越来越感觉自己学的不够用。相信接到过猎头公司电话的人会体会得到。真正的高手从来就不会担心工作的问题,也从来不会到人才 市场上去找工作。既然选择了理论深入,那么就应该把眼光放得更远。
谈一谈我对本科计算机专业的认识(转)
新的一年开始了,我大学的所有课程也刚刚结束不久,想一写篇文章谈一谈我对计算机专业的认识。博主学的专业是&计算机科学与技术&,今年大四,三年半的校园生活使我对计算机专业的认知一次又一次的改变;由于没有一个好的&引路人&,自己总是摸索着前进,走了不少的弯路。刚上大学的时候对计算机没有什么概念,当时除了会打字以外也不会什么,印象中的计算机专业是编程,是写软件,或者是做些什么PS,网页三剑客,甚至修电脑之类的东西。
在大一下学期,有了编程课,对编程有了初步的认识,也改变了原来的想法,把计算机专业认为就是编程,也尝试着做一些入门级&项目&;在大二上学期学习了数据结构,当时也不觉得它有什么用,视乎跟我那些所谓的&项目&没什么关系。由于我们学校没有开设&算法分析与设计&这门课,根本不知道&算法&为何物,直到这学期结束,才认识到编程的本质是数据结构+算法,记得当时花了一上午的时间写了个不到40行&快速排序&感觉满满的收获,相比而言,那些我做了十天半个月所谓的&项目&显得那么的空虚,直到大二结束,我对计算机的认识虽然还只是编程,但对编程的理解深入了,意识到了数据结构,算法和架构的重要性。
大一,大二的时候我一直想计算机考研为什么是数据结构、组成原理、操作系统、网络四门课,除了数据结构我认识到了它的重要性外,其他的理论课跟以后的&软件开发&有什么关系,而且这些理论课无一例外都是高学分课,这个问题一直到大三大量开了专业课我才意识到这些理论课的重要性,这些都是计算机基础,想成为一个好的科研人员或者高级码农,这些都是必备的,这些才是&计算机科学&,以前只看到了后面的&技术&两个字,我觉得&计算机科学与技术&专业中要学的&科学&要占80%,&技术&占20%。大三开始随着读的书多了,网上的各种大牛见的多了,看的多了,见的也多了,越来越觉得&编程&只是计算机的一部分,甚至是&冰山一角&,或者说只是一种实现或验证&科学&的工具(这里的科学不仅包括计算机,还有数学,物理,化学,生物等),但是编程还是很重要,并且大师级人物都是软硬通吃的,不仅对软件理论很熟悉,模电数电,组成原理,微机原理等硬件原理也十分了解,典型的例子就是著有经典的《windows程序设计》的Charles Petzold,很多人不知道他还是另一本神作《编码的奥秘》的作者。这是我大三上学期对计算机的理解,跟以前的认识还是有不小的转变。
刚上大学时就听说计算机学的好的人,数学也好,但一直不知道它们之间有何种联系,而且大二的时候也有老师告诉我&数学不能扔,要经常拿出来做一做&,但是我一直也没理解,直到大三下学期,随着读一些科研领域的初级东西,有了对计算机更深一层次的认知,觉得概率论、线性代数应用是如此之广,高数更是哪里都会用到,还有像数论,组合数学,复变函数,随机过程等等,视乎计算机每一个领域都与数学有着密不可分的关系,印象尤为深刻的是《数学之美》中那用余弦定理计算文本相似性的一章更是让我大呼过瘾,当然后来才知道那是KNN算法中一种求距离的方法而已,再看看那些图灵奖得主和那些真正搞学科研究的人大部分研究的都是数学相关。以前只知道计算机教授是很多数学专业转过来的,或者像物理这种理科专业教授是数学专业转过来的,没想到甚至很多经济学老师也是从数学系转过去的(经济学对数学的要求视乎比计算机更高),才体会到数学是一切科学的基础。
写到这里,我想罗列一下&计算机专业&那些重要的课程,当然这些每个人有每个人的想法,下面只是我的看法,如果学弟学妹看了希望不要误导你们(针对软件从业者而言):
★代表学科的重要程度
离散数学:★★★★★
高等数学:★★★★★
组成原理:★★★★★
数据结构:★★★★★
概率论:★★★★
线性代数:★★★★
数值分析:★★★★
编译原理:★★★★
操作系统:★★★★
数据库原理:★★★★
英语:★★★★
数字逻辑:★★★
体系结构:★★★
计算机网络:★★★
C语言:★★★
PS:以上是我的学过的课程,还有几门我们学校没有开设的课程我也觉得很有必要:
算法分析与设计:★★★★
数理统计与随机过程:★★★★ 汇编语言:★★★&
所以我觉得计算机专业(打算从事软件方向)本科阶段,学习以上课程足够了,其他的课都不是很重要对于本科生,本科阶段最重要的是打下扎扎实实的基础。很遗憾,我的弯路走多了,没有在最恰当的时机学习必要的内容。
从上大学开始,就经常听到类似&大学学的工作中都用不到&,&大学读完感觉没学到什么&这样的话,虽然我是一个尚未工作的本科生,但不可否认的是我所列举的&重要课程&在工程上大部分都不会直接涉及。短期来看,想得到高薪酬好像还不如学一些像嵌入式,ios,hadoop等来的实惠,因为找工作时候面试官视乎更看重经验丰富比基础扎实多一些,但为什么我们要学这些理论课,记得我的软件工程老师说过&大学的课程学完不用很快也就忘了,但为什么还要学,因为大学中,学的是学习的方法&,这句话我觉得还是很有道理的,但我不是完全赞同,我觉得不仅是学习&学习的方法&,内容本身还是很重要的,因为它们都是计算机基础,在潜移默化的体现在程序,算法,或者架构中。就在前不久我去某校招的BOSS面试的时候,BOSS跟我从数据库原理谈到离散数学,令我吃惊的是人家位高权重,离开校园那么久,离散数学的知识掌握的那么好,很有耐心的给我讲了十分钟离散数学,实在令我自惭形秽。
当然,不是每个人都能到达一定的职业高度,或者接触不了很多高端研发,那这些基础科学就对我们不重要了吗?我想不是的,因为这些基础是计算机出身的人的职业文化,或者说是职业素养,就好比大部分中国人都会背&窗前明月光&,但我们生活中几乎遇不到说&床前明月光&的时候,但我们为什么还要背?这就是中国人的文化,这就是中国人的&职业素养&。学其所爱,爱学所学,才是积极向上的人生哲学。
随着&大数据时代&的到来,我觉得&大基础&的重要性不但没有降低,反而更加凸显出来,计算机的提升空间还是不可想象的大,所以我想理解计算机的本质才能不断创新,不断提高,从而应对不可预知未来。
程序员必读,说的真心好(转)
这篇文章是我好久以来的想法,有一些感悟,有一些激烈的言辞,我很自豪我就是一名程序员,我希望给程序员或者前程序员们带来一点启发。也许你认可我的言辞,也许你不屑我的观点,无论如何,欢迎谈谈你的看法。
让程序员做更多种类的事
为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为&自己吃自己狗食&)。
然而到了某些公司,在一些正规的流程下,&人&反而显得不那么重要了:一个完、整的流程被切分成若干环节,程序员只能负责那小小的一环,更严重的是,他们显示出消极和片面的情绪,他们称自己码农,自嘲并且觉得在总做一些低级和毫无技术含量的事情。
关于&码农&&&这似乎是一件很悲哀的事情,在美国,程序员是一个相当值得尊敬的行业,去年硅谷的技术员工年薪平均;在中国,教师的行业起码获得了人们口头上的尊敬(虽然实质上也许并没有获得应有的待遇),而程序员,往往只能看到自己给自己呐喊。
这里没有绝对的对错之分,但我一直在博客中强调软件开发实质是一种创造性的劳动,只是在一个流程严格控制的公司内,这样的创造的火花可能被扼杀,换来的好处是人员的流动中,代价最小化:谁都可以走、谁都可以代替谁,所有问题都被认为只是时间问题&&那么,程序员,你的自我价值何在呢?
我听到很多真实的声音,都在抱怨测试工作乏味、加班辛苦。我认为,国内大部分的测试,其实完全是程序员扭曲的工作形态导致的。
专职的测试人员去做专项测试、整个系统的集成测试等等,我都能理解,但是绝对不应当深入模块内部去测试开发人员的代码,绝对不应该去考虑所谓的代码覆盖率&&因为这些,比如白盒测试,本都是程序员自己该完成的事情。程序员自己开发的程序,当然要自己验证功能,很多软件公司在一些项目流程里就是没有专职测试介入测试执行,原因很简单,难道自己拉了稀,让别人给你擦屁股?
另一方面,测试该掌握哪些技能?
我见过许多测试人员,他们抱怨工作总是被轻视,没有说话的分量,但是每天的工作就是了解开发的流程,根据流程完成用例的编写,然后执行那些用例,发现bug并填写bug report。如果一名测试只需要做这些事情,那么确实太没有技术含量了、太没有入门门槛了,太单调乏味了。
测试需要成长,既为自己考虑,也为团队中的程序员考虑。
做一名优秀的测试,除了要有分析能力、辨识能力等等软实力以外,基础技能如通信协议、脚本、编译原理、操作系统等等,亦视情况掌握,只有这样,才能和程序员从并不清晰的需求开始,一起去分析、设计、实现和质量保证、去和上上下下的环节做沟通、论证。微软的测试(QA)都把算法和编码视为基础要求,敢问国内一些公司的测试人员,有几个敢这么说?
让程序员远离浮躁
去看看国内几家知名博客和论坛,多少浮躁的博文和帖子四处乱飞?多少人在骂公司狗血,在自嘲薪水,甚至在人身攻击?
浮躁的心态可能是造成这种现象的罪魁祸首,有一位同事说得好,很多具体的技术都可以学,但是执着的心和对技术的热爱是不容易学得的。
整个社会都在日益浮躁,微博的流行正验证了社会浮躁的趋势,很多人没有时间和耐心去写完整的文章,但是两三句感慨、甚至一词半句的惊叹却容易得多;程序员像寻找速配男女一样,在这个概念翻飞的时代,茫然地寻找自己应该进入的领域,应该了解的技术,于是,很容易看到许多所谓的架构师和咨询师可以把这些东西讲得海阔天空、天花乱坠,这个概念、那个素语,但是&&给他一个具体问题吧,要他写写实际代码吧,你会要了他的命。
给程序员一点宽松和鼓励
都在说国内的IT环境不如欧美,大量劳动力的富余让人力成本变得无比廉价,能让青年付出卖肾代价以购买大部分配件都&Made In China&的iPhone,,这些都让人感叹,为什么中国做不出苹果系列这样的产品?为什么中国始终要给别人套上&廉价劳动力&的帽子?中国的程序员,你们的创造力呢?你们精彩的点子呢?
好吧,我听到有人在说是教育体制的问题。,可惜我们不是教育工作者,我们也没有那么大的影响力,不过,在团队中间,我们应当多给予这些脆弱的程序员们一点鼓励,让他们表达出自己的想法,特别是在设计上、实现上的想法,不要嘲笑任何人弱智,不要咒骂评审的代码狗屁,多一点沟通,把眼光放长远一些。
这些能表达出想法的人起码可以证明两点:有思考、有勇气,仅这两点,仅足以让旁观的人鼓掌。
一名优秀的Team Leader,不应该整天陶醉在跟踪项目进度和获取程序员工作反馈上。我们都明白,所谓一张一弛,在工作压力恰当的时候,是最适宜工作的,程序员的工作本来就需要创造性,没有适度宽松的环境,就没有思维的火花。
让程序员自己去布置工作台,给他们创造机会聊聊天,把各个团队、各个角色放到一起说说话,组织分享一些有趣的话题,做一些有意思的研究(最初程序员都很腼腆,得劳烦您多牵线搭桥了),Team Leader的工作,绝不仅仅是说&行&或&不行&。
程序员的理想
1983年,乔布斯对百事可乐的CEO John Sculley说:&Do you want to sell sugar water for the rest of your life, or do you want to change the world?&()就这样,一段传奇的合作开始了。
我们已经不在战火纷飞的年代,有多少程序员还愿意怀抱那些原始的理想,还能说出&做互联网的弄潮儿&、&用技术改变世界&这样的话来?
这个世界执着的人并不多,用这样的理念去吸引程序员的公司,则更少。
我始终觉得,做软件的公司是需要依赖于技术的,当然国内可以称得上是&技术公司&的并不多,但是,优秀的技术能让程序员脱颖而出,也作为一种谋生的手段,为其觅得不错的回报。
做技术能不能一直有饭吃?我想答案是肯定的,有许多公司声称技术路线可以一直有发展的可行性,但是技术牛人还是转了管理或者一走了之,有一种粗暴但是易行的鉴别技术公司的办法,就是寻找里面有没有40岁,甚至50岁以上还在做实际设计和编码的人(不是那些脱离了具体实现向客户吹嘘的角色)。
世界上有两种最赚钱的人,一种是真正的生产者,他们用自己独一无二的聪慧、灵感和劳动创造了价值;一种是极其老道的投机者,专门从别人口袋里把钱掏出来放到自己口袋里。他们都受人尊敬、受人瞩目,后一种让自己的生活变得更美好,但是前一种,让整个世界更美好。
如果你不能在技术的道路上坚决地走下去,在大部分公司做市场、做管理、做咨询,顺便鄙视一下别的辛苦工作的程序员,那么也可以混得很好&&毕竟,生活的解总是有很多种。
《黑客与画家》读书笔记 (转)
大家有看过《黑客与画家》这本书吗?目前,我已经认认真真从头至尾仔细的看了两遍,并且还会再看,计划每年都会温故一遍,为什么不呢。&这是一本难得的浅显易懂又极具启发性的技术书籍,作者Paul Graham是一位真正才华横溢的人,在IT领域早已声名鹊起,至少在硅谷几乎是无人不知,由于其经营的科技孵化公司Y Combinator扶持的创业公司成功率超过80%,因而被誉为&硅谷创业之父&。&顺便说一句,我看的版本的是&人民邮电出版社&出版的中译本,译者为阮一峰先生。阮先生是我非常欣赏的一位学者,知识渊博,为人谦逊,大家可以通过访问他的个人博客来间接地了解其为人与学问,博客地址为:。下面是从《黑客与画家》中做的一些摘抄:&
我们的时代是计算机的时代。
编程语言就是程序员的思维方式。
为什么黑客那么在乎言论自由?我认为,部分原因在于,革新对于软件行业实在是太重要了,而革新和异端实际上是同一件事。
我真正想要的是,能够设计奇妙的火箭,写出漂亮文章,理解编程原理。一句话,我想要做伟大的事情。
在一个人产生良知之前,折磨就是一种娱乐。
你在其他地方有所得,就会在这个地方有所失。
它是现在这个样子,大部分是因为没人去改变它。
创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来。
编程语言是用来帮助思考程序的,而不是用来表达已经想好的程序。
坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变得可见了。
看到代码前面的缩进乱七八糟,或者看到丑陋的变量名,都会把我逼疯。
在你厌倦的时候,再去做那些比较容易的工作,这是个不错的注意。
现在正是编程的黄金年代。
找出&不能说的话&的第一种方法:判断言论的真伪。
关注&异端邪说&,是找出&不能说的话&的第二种方法。
找出&不能说的话&的第三种方法:将当代观念与不同时期的古代观念diff一下。
第四种寻找&不能说的话&的方法:寻找那些一本正经的卫道者,看看他们到底在捍卫者什么。
第五种找出&不能说的话&的方法,那就是观察禁忌是如何产生的。
如果一个团体强大到无比自信,它根本不会在意别人的抨击。
优秀作品往往来自于其他人忽视的想法,而最被忽视的想法就是那些被禁止的思想观点。
训练自己去想那些不能想的事,你获得的好处会超过所得到的想法本身。
我还没想好。
如果你想清晰地思考,就必须远离人群。
如果互联网软件能够击败桌面软件,一定是赢在更方便这一优势上。
设计桌面软件就像设计一幢大楼,而设计互联网软件就像设计一座城市。
硬件需要考虑的地方,不仅仅在于怎么才能避免出问题,还在于怎样才能最大的发挥他们的作用。
桌面软件开发之中的许多棘手问题,都是源自于它的那种灾难性的发布方式。
只要想到好的构思,我们就立刻着手实现。
提高软件可靠性的关键在于开发时全神贯注,而不是减低开发速度。
你想知道应该优化什么地方,那就登录到服务器,看看什么程序最消耗CPU。
如果你放弃对服务器的直接控制,那就放弃了互联网软件的大部分优势。
如果不打算自己动手设计和开发,那就不要创业。
如果你想赚100万美元,就不得不忍受相当于100万美元的痛苦。
目前还存在的最大的手工艺人群体就是程序员。
我们这个世界,你向下沉沦或者向上奋进都取决于你自己,不能把原因推给外界。
真正重要的是做出人们需要的东西,而不是加入每个公司。
如果你想通过创造财富使得自己致富,那么你必须知道人们需要什么。
每个人的技能不同,导致收入不同,这才是贫富分化的主要原因。
把品味说成个人偏好可以有效的杜绝争论,防止人们争执哪一种品味更好。但是问题是,这种说法是不正确的。只要你自己开始动手设计东西,就能明白这一点。
当你被迫把东西做的很简单时,你就被迫直接面对真正的问题。当你不能用表面的装饰交差时,你就不得不做好真正的本质部分。
幽默感是强壮的一种表现,始终拥有幽默感就代表你对厄运一笑了之,而丧失幽默感则表示你被厄运深深伤到。
人们常常觉得野生动物非常优美,原因就是它们的生活非常艰苦,在外形上不可能有多余的部分。
好设计是什么?好设计是简单的设计;好设计是永不过时的设计;好设计是解决主要问题的设计;好设计是启发性设计;好设计通常是有点趣味性的设计;好设计是艰苦的设计;好设计是看似容易的设计;好设计是对称的设计;好设计是模仿大自然的设计;好设计是一种再设计;好设计是能够复制的设计;好设计常常是奇特的设计;好设计是成批出现的;好设计常常是大胆的设计。
如果你非常关注运行速度,那么最好使用接近机器的语言。
一种语言的内核设计的越小,越干净,它的生命力就越强。
对速度的追求是人类内心深处根深蒂固的欲望。
浪费程序员的时间而不是浪费机器的时间才是真正的无效率。
无论怎么想,并行计算似乎都是未来生活的一部分。
选择使用哪一种技术的时候,你不能考虑别人的想法,只能考虑什么样的技术能最好的完成工作。
如果开发只在自己服务器上运行的软件,这意味着你想用什么语言就能用什么语言。如果开发桌面软件,就完全不一样了,大多数情况下,你只能使用操作系统所用的开发语言。
让用户感到满意才是你的设计方向。只要赢得用户,其他事情就会接踵而来。如果没有用户,谁会关心你选择的&正统&技术是多么令人放心。
虽然语言的核心功能就像大海的深处,很少有变化,但是函数库和开发环境之类的东西就像大海的表面,一直在汹涌澎湃。
简洁性最重要的方面就是要使得语言更抽象。
黑客改造语言的乐趣就好比外科医生摆弄病人内脏的乐趣,或者成年人喜欢用手挤破青春痘的那种感觉。
人们真正注意到你的时候,不是第一眼看到你站着那里,而是发现过了这么久那居然还在那里。
设计与研究的区别看来就在于,前者追求&好&,后者追求&新&。
画作永远没有完工的一天,你只是不再画下去而已。
站长在关注

我要回帖

更多关于 java编程软件 的文章

 

随机推荐