⑴ 辞掉了一份没前途低级的程序员工作,入职了国企重工业工厂做钳工,很多人不理解我,笑话我,我对吗
辞职跳槽是一件很正常的事情,何况你也说了是辞去一个低级没前途的工作,入职到国企工作,可能很多人不了解你之前的工作,也不了解你目前的工作,可以尝试着解释一下,说明自己的选择,同时要树立自信,坚定的走好自己的人生路,没有人比你更了解自己,别人的意见可以参考但是不必都在意。
⑵ 新手java程序员,想转行业做游戏开发,应该学些什么
个人认为目前主要VC、DELPHI和JAVA。其中VC使用最广,现在比较大的游戏也由此开发;DELPHI功能也很强,很多网游:比如网金、传奇都用到了DELPHI;JAVA用于开发手机游戏。
重要先看你想要做什么游戏然后再去学习相关技能,或者先找个公司尝试从最低级开始学起。
⑶ 初学者JAVA程序员怎样快速提升自己技术
一、提升对java技术的思考
很多人口里嚷着要提升java技术,行动也有,但就是不奏效,是怎么回事呢?因为行动前没有好好的思考,比如老是盯着已经掌握熟练的java技术练习,你为什么不考虑多练练你不熟习的java技术呢?那么应该思考些什么关于java技术的问题呢?
1、这个技术能解决什么问题(why)
2、比较适合在哪些场景应用(where+when)
3、这个技术跟我已经掌握的哪个知识或技能类似,有什么差别、有什么特点、有什么优点和缺点(what)
4、了解前面的问题后,你在开始考虑提升java技术那么效果会比较好。
二、善于模仿,把他人的变成你的
你的代码刚开始是怎么学会的呢?不外乎模仿,但是模仿也有诀窍,有的人模仿的快,有的人模仿的慢。时常强调,多去看看其他人的代码是怎么编写的,你可以从其他人的代码中模仿出很多的东西,甚至你可以尝试去修改其他人的代码,让它跟你的想法更加接近,看看你下次是不是可以这样做,看看学习效率有没有提高或者变得简单,长此以往,你的java技术一定会有质的提升。
⑷ 如何自学成为程序员
问题一:如何自学成为初级程序员 [经验之谈]30岁,我的程序,我的梦!
程序人生 : 30岁,我的程序员梦想
作 者: redbridge (雪燃)
30岁,开始实现我的程序员梦,从一个编程爱好者,从一个业余的程序员,一个水平不高的程序员,一个半道出家的程序员......
我的经历到这里就告一段落了,五年里跳了五次槽,不知道和大家比算不算多J,没有什么太多起伏,但我想很多朋友可能会和我有类似的经历,不知道能不能引起你们的共鸣。我想对我上面所说的话给一个总结:
1. 如果你觉得自己应该追求什么,不管遇到什么困难千万不要放弃,一定要坚持下去。
2. 不要因为自己年轻就找理由挥霍时间,少玩一点SC、CS、魔兽3、传奇、魔力或者…….,多看点书,多练练题。
3. 如果你还是在校的学生,英语很差,专业课也很差。没关系,想怎么学计算机就怎么学计算机吧。其它地只要能混到毕业证就行了。除非你对自己的未来没有信心。(当然,如果你的理想不仅仅是要做一个程序员,那你别丢掉英语。)
4. 如果你不是科班出身,想要转行而不知该怎么开始的话,建议你先看两类书:(1)计算机原理;(2)数据结构和算法。(看数据结构之前先看C语言)。
5. 什么时候努力都不晚,关键是你明白要努力了,大器晚成总比一事无成要好的多。
6. Java、、C++、PB、VB、Delphi、汇编到底应该学哪个?我的经验,哪碧郑余个最简单就先学哪个、公司用哪个你就学哪个、哪个和你有缘(比如刚好你认识一个愿意帮助你的Delphi高手)你就学哪个,如果你都学,或者三天两头的换,我可以告诉你结果肯定是什么都不会,不要心浮气燥,他们都只是工具,学精一门其它的就相通了,重要的是掌握编程的思想。如果你问我面向对象(好像现在已经是面向需求了)、UML、WebLogic、WebService、软件工程、XML…….应该怎么学呀,对不起,这些我也确实不是都会,但请相信,你先实实在在的写上十万行以上的代码以后,那些东西你自然就慢慢会了。
7. 不要以为程序员的工资都很高,程序员之间的水平差异也大。公司衡量一个人的待遇标准是他能给公司带来多大的效益。如果你体现了自己的价值,公司会主动给你加薪的,当然你也可以自己主动提,但一定要在你表现出了自己的价值之后。
8. 轻易不要跳槽,如果非要跳,也要保持工作经验上的延续,而不是从新开始,不丛喊然就会象我一样走很多弯路。
9. 如果你以为程序员都是熬夜熬出来的,那么你错了,因为它的代价就是缩短你的青春!大家不要象我一样,真的,熬夜一点也悔滚不好!记住老毛的话:如有恒,何须三更起,半夜眠;最怕莫,三天打鱼两天晒网,竹篮打水一场空!
10. 这一点是我觉得最精华的一点:“君子性非异也,善假于物也。”这句话的本意是一个水平很高的人本身并不一定很高明,关键是他善于利用别人的高明!我在这里做个借鉴,就是要充分利用自己身边的资源,不放过任何一个可以提高自己的机会。大家不要误会,这里的假于物可不是指抄袭别人的源代码,而是指通过学习别人的源代码把他的思想扩展到自己的思想里去。
注:上面的十大“精华”纯属我个人的“谬论”,您自己看着消化,有用的收下,没用的请拖入“回收站”。如果你觉得这些总结不过是一些浮华之词,那请你先问问自己:“是不是在行动上都真正做到了。”
这就是我,一个不算优秀,不算勤奋;玩能玩通宵,学也学能学通宵;对梦想的追求很执着;到了30才开始真正写程序;一个很平凡但又不甘于平凡的人……我的经历相信很多朋友都有过的,我现在也不能算是一个成功人士,但我相信我的经历却是值得大家借鉴的,因为我终究代表了一类人......>>
问题二:如何成为一名程序员? 首先先选择一门语言 现在比较火的是sun公司的java 和微软的C#
友情提示:java移植性很好,这是网络平台所需要的。C#只能运行在微软的平台,有局限性。
我不排斥其他的计算机语言 不过一般只要学懂一门语言后就相当进入程序的天堂,在学其他的语言时候就能简单的多,因为很多软件语言是相同的,学懂一门就能够看懂其他的。
买书,见意买比较薄的书开始学,太厚的书看不完会打击心灵。
需要有耐心,其实是非常有耐心,因为学软件做软件是一辈子的,没有任何一门技术能做到老,必须一路学下去。每当度过一个阶段尽量总结所学过的。
一定要沉得住寂寞,无论是学软件还是做软件。
只要认真学,一般一年自学都可以有所小成,程度还要看个人的领悟。
做软件是需要注意很多细节,正是这些细节所以让人很头疼,所以需要耐心。
顺便提一句:学软件就尽量学比较火的,因为市场需要,才会火。
我不是鄙视某某某语言,而是实话说,毕竟学出来需要应付工作的,如果工作不需要,就算学的很有本事,没人雇也没用,对吧!
你完全可以去招聘网看看软件这个行业哪些软件需要的人才多。
别听谁谁谁说哪种语言火,火不火招聘的数量就能说明一切。
一定要对软件充满信心,千万别轻易放弃。相信软件是有“钱”途的。
本人现在也是在自学软件,也有三年的学习。
以上是我一些经验,如果有需要,可以按右下角Hi我,相互促进。
问题三:程序员能自学吗? 首要之首:不要急于选择一种语言新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的、最该先学的。 我们有很多的选择,但你不能说那种语言“最好”。 我们应该理解:说到底,什么语言并不重要。 重要的是理解数据结构、控制逻辑和设计模式。 任何一种语言―甚至一种简单的脚本语言―都会具有所有编程语言都共有的各种特征,也就是说各种语言是贯通的。 我正在攻读我的计算机学学位,我编程使用Pascal,汇编,和C语言,事实上我从来没有把它当成职业以求获得回报。 我一直在自学编程,工作上用不到它,我使用现有的知识,参考各种文档和书本,学习它们的用法。 因此,不要急于选择何种编程语言。 找出你想要开发的东西,使用一种能够完成这项任务的语言,这就可以了。根据各种开发平台的不同,有很多不同的软件开发形式可供你选择:从网站应用到桌面软件到智能手机软件到命令行脚本工具。 这篇文章里,我将重点介绍一些很受欢迎的入门教程和资源,它们能帮助你学会如何在各种主流的平台上编程开发。 我先假设你是一个悟性很强的读者,但对于新手,当我谈论程序代码时还是要按照入门级的水平。 因为即使是你自己看一篇编程入门手册,如果发现都能理解时,心情自然会很高兴,这样利于你进一步学习。桌面脚本想要动手在Windows里或苹果系统里编程,最简单的方法是从一种脚本语言或宏语言开始,例如AutoHotkey(Windows) 或Automator(苹果系统)。 如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是“真正”的编程语言。 也许他们说的是对的―技术上,这些种类的语言只能做一些上层的编程。 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口―而且你会吃惊于它们丰富的功能。例如,大家都喜爱的Texter就是Adam使用AutoHotkey开发的能独立运行的Windows应用程序,所以说这种脚本语言远不是只能开发小规模脚本软件。 如果你想从AutoHotkey入手,可以参考Adam的指导:how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下载Texter源代码看看这个功能齐全的使用AHK开发的Windows应用程序的内部结构)。Web开发HTML 和 CSS:开发网站,你第一件要知道的事情就是HTML(网页就是由它组成的)和CSS(一种让外观更好看的样式标记)。 HTML 和 CSS 并不是编程语言―它们只是页面的结构和样式信息。 然而,在开始开发web应用程序之前你必须要学会如何手工的编写简单的HTML和CSS,web页面是任何webapp的前端显示部分。 这个HTML 指导是你入手的好地方。JavaScript:当你可以通过HTML和CSS构建一个静态页面后,事情就开始变得有趣了―因为到了该学JavaScript的时候了。 JavaScript是一种web浏览器上的编程语言,它的魔力就是能在页面里制造一些动态效果。 JavaScript可以做bookmarklets,Greasemonkey脚本, 和Ajax, 所以它是web上各种好东西的关于因素。学习JavaScript从这里开。服务器端脚本:一旦你学会了网页里的知识,你就要开始对它添加一些动态服务器操作―为了实现这些,你需要把目光转移到服务器端脚本语言,例如PHP, Python, Perl, ......>>
问题四:如何成为一个程序员 1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你)
2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白点就是,在你没有找到乐趣以前,它很枯燥)
3、你有对新技术追求的热情吗?你有刨根问底的探索精神吗?(热情绝对是最重要的!你仔细思考一下自己的性格适合当程序员吗?)
4、当程序员决不是什么好差事,时刻需要学习,需要思考。(直到你成为那个可以引导别人去学习和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序员的未来很迷茫。(但我认为关键看你自己!我希望你是一个有追求的人,不仅仅是混碗饭吃。因为真正的乐趣在于创造;如果你能改变软件业的历史,那才是英雄;不想成为Bill Gates,不想成为Dennis Ritchie和 Bjarne Stroustrup,我会说你没有追求。有个关于程序员未来的笑话,也许你还没听过,你该听一听,摘抄如下:
一个程序员对自己的未来很迷茫,于是去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的”
于是他去问Lippman。
Lippman说“程序员的未来就是驾驭程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的”
于是他去问Gates。
Gates说“程序员的未来就是榨取程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的”
于是他去问侯捷。
侯捷说“程序员的未来就是诱惑程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝摇摇头“唉,我的孩子,你还是别当程序员了”)
6、当程序员还是很有乐趣的。(当你学到新知识时,当你有新的思想见解时,当你有新的产品问世时,和知己探讨你的成果时…我问你,觉得这些是乐趣吗?)
7、当程序员不易也不难。(世间事有难易乎?为之…;不为…。你有决心和信心吗?)
8、你真的要当程序员?是你自己的想法?
9、你舍得花钱买书吗?(读好书绝对是学习编程的最佳捷径。你一定会说,现在电脑书籍真他XX的贵,没法子,谁让知识和技术在人家的脑袋,在人家的书里呢;等你写书时可以把价格定低一点,记着还有好多没钱但想买书的兄弟很困难呀。要舍得买书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好就买下,记住要读,别光买不看。) 10、我告诉你,程序就是:任何有目的的、预想好的动作序列,它是一种软件。
11、编程序就是编写程序。
12、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,你可以继续寻找别的出路了。)
(三) 一个程序员应该具备的基础知识和概念
1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)
2、机器语言和微指令集的概念。
3、程序的概念。
4、汇编语言是低级语言但不是机器语言。
5、高级语言主要有那些?(C......>>
问题五:如何才能成为一名优秀的程序员 中国的信息技术发展迅速,由它所带来的浪潮已经渗入到了人们生活的每一个角落,而程序员们成为了这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。熟知数据库为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。对操作系统有一定的了解当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。懂得网络协议TCP/IP在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。
问题六:怎样才能快速成为一名程序员 1 学习如何编程
这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。
如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。
当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。
这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。
学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名着,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。
过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...
2 得到一个开放源码的Unix并学会使用、运行它
我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。
除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)
So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。
关于学习Unix的更多信息,请看 The Loginataka.
要得到Linux,请看: 哪里能得到 Linux...>>
问题七:如果想成为一个程序员应该学习什么知识 程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”
如果做一个专业的程序员:
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
问题八:20岁如何通过自学成为一名程序员 努力追求,坚定自己的信心,一直坚持。
不要挥霍时间,少玩一点电脑大型网络游戏,多看点这方面的书,多练练这方面的题。
建议看两类书:(1)计算机原理;(2)数据结构和算法。(看数据结构之前先看C语言)。
java、、C++、pb、vb、Delphi、汇编里自己认为哪个最简单就先学哪个,不要都学,也不要过一段时间换一个学,不要心浮气燥,他们都只是工具,学精一门其它的就相通了,重要的是掌握编程的思想。
调整作息时间,不要总是熬夜,有一个好的身体是做任何事的前提。
懂得充分利用自己身边的资源,不放过任何一个可以提高自己的机会。
问题九:怎样自学成为程序员并进入微软 微软的官方网站上写着我们期待具有独创性、开拓性的智者加入队伍,我们的面试程序也是为网罗这样的人才专门设计。程序员只是具备了编程序的能力,微软看中独创性和开拓性。所以职业潜力更重要,独创性需要一些人文要求,开拓性需要一些创业能力,而不完全是就业的能力。
问题十:怎么才能成为一个优秀的程序员 优秀的程序员要具备很强的分析,和思维能力,我是一个Java JSP 的程序员,以我自己的感觉,程序员的理解能力要很强,因为我们做一个业务系统需要了解这个业务的逻辑,才可以去开发,至于学什么语言,我觉得只要你可以精通一种语言,其他的你就都可以自学的。但是C除外。
至今我都不是很懂那个,我刚开始学的时候就是学的VB,但是我觉得可以直接学JAVA。搐可以选择JAVA .NET C# 这都是现在很流行的。
如果你可以的话C是最好的。我们单位C的 开的工资是我们的几倍。你要学一种语言,就必须先了解他的思想,所以你还是先看看理论上的东西吧。呵呵,其实程序员挺枯燥的,你要有思想准备哦。最大的困难就是你需要让自己有恒心。
⑸ 成为优秀程序员的十个有效方法
如何快速成为一个优秀的程序员?
优秀的程序员是在穿过一条单行道的时候还会往两边看的人。
作为一个IT行业的软件程序员,每天驱使我们日复一日的辛勤工作的,是来自我们对编程的兴趣和激情。但是要让编程变得始终有趣,我们必须学会坚持某些成为优秀程序员的基本原则。
我并不是要写出一些咒语,你照着执行就可以成为一个优秀程序员了。我的目的是想记录下我学习到的和用过的一些有用的经验,它们帮助我获得比较好的结果。对于优秀程序员是没有明确定义的,这里北大青鸟web前端培训专家(web.te.cn)指的是那些创造出了优秀IT解决方案的以及帮助这个行业增长的那些人。
对于任何行业任何工作来说,融会贯通是获得成功的关键。一个人想要成为优秀程序员,就必须有坚实的基础。核心理念的理解会帮助你用最好的方法设计和实施出最完美的方案。如果你感觉到不能掌握核心的计算机科学或者某个编程语言的知识点,现在开始回顾基础一点都不晚。
1.开始为你写过的代码贴上标签(怎么做,做什么)
我发现优秀的程序员和普通程序员漏森之间有一条明显的分界线,优秀程序员渴望深究每行代码做了些什么,以及如何实现的。有那么一小群人,他们一定要弄懂每一行代码。我知道如果时间非常紧张的时候,我们经常不能够遵循这个原则,仅仅写出些代码,知道它实现了需要的功能。如何处理这种情况又是另外一个话题,但是作为一个程序员,我们经常要尽可能深入探索。相信我,随着时间的推移这会变成一个习惯,之后每次你都会不知不觉的这样做了。
2.帮助他人,你可以学到更多
许多人都有个共同特点,只有当他需要帮助的时候,他才会求助于论坛或者群。优秀程序员不同之处在于他们会经常浏览论坛去帮助他人。相比较于靠别人帮助解决问题,他们帮助他人让自己学到更多。在一个团队中也是一样,帮助他人解决问题收获更多。相信我,了解他人的问题,思考并最终提供解决方案吧,你会比之前学到的更多。
3.写简单易懂,有逻辑性的代码
正如KISS原则(保持短小精悍)适用于生活的方方面面一样,它也适用于编程。尽量写有逻辑的代码,避免复杂化。有时人们写复杂的代码仅仅是为了展示他们有能力写出这样的代码。我的经验告诉我,简单而富有逻辑的代码非常的好,会产生的问题更少,也更容易扩展。我记得一句话:
好的代码本身就是最好的文档。当你想要加注释的时候,问问你自己,“我能如何改进我的代码,才能不写注释也读得懂呢?”
4.花更多的时候分析问题,你将会花更少时间去解决问题
花更多的时间理解和分析问题,然后再设计方案吧。你会发现剩下的事情很容易了。设计不是说要用建模语言和工具,可以是仅仅看看天空在脑子里构思。那些在遇到问题就开始敲代码的人往往会最终偏离需求。
如果你洗澡的时候不能理清整个程序的结构,那么你还没准备好开始编程。_RichardPattis
5.成为第一个检查你的代码的人
虽然有一点点难,但试着在其他人修改你代码之前修改它,随着时间的推移,你会写出几乎没有bug的代码。对你的代码做没有任何偏见的检查,也不要犹豫让其他人来检查你的代码。和其他优秀的程序员一起工作,接受他们的意见能够帮助你也成长为一个优秀的程序员。
6.不要迷失在快速更迭的科技世界
在IT行业中,我经常遇见许多人,他们对现在的工作不满,甚至离开它去追寻新的工作,理由是因为他们想要学习最新的科技。我们每天听到的都是新工具、接口、框架,能让程序更简单,速度更快。这在科技世界中司空见惯并会一直如此。但是最基本的最核心的科技变化比那些框架、工具和接口的变化小得多袜尺。就像大海,大海表面上波涛翻滚,但大海深处却相当平静,而那里才是水生生物生存的地方。所以将你自己置身于核心技术的大海深处吧。举个例子,在Java企业级应用中,每个星期都会返好亩出现新的框架,但是核心的技术是不变的,譬如基于客户端-服务器端的请求,MVS模式,filters/servlets/JSP,数据源绑定,XML解析等等。所以要花功夫去学习核心概念,而不是去担忧日新月异的框架和工具的出现。相信我,有了核心技术的基础,你会发现学习新的框架,工具以及接口变得更容易了。
7.应急方案不会持续很长时间
很多时候软件师们会采用应急方案(可能是时间不够,可能是问题理解不透彻或者是缺少经验)。但是这样往往带来的结果是,代码混乱,缺乏可扩展性和维护性,后来浪费了更多的时间。请在你清楚整个方案后再开始实施。我知道有些情况下应急方案无可避免,就好像,一个人应该说实话,但是你在某些情况下不得不说谎。
8.阅读文档
阅读很多文档是作为优秀程序员的必备习惯之一。可能是产品说明书、JSR、API文档、教程等。阅读文档帮助你获得必要的基础知识,写出更好的代码。
9.你可以学习他人的代码
我接触过一些优秀的程序员,他们在IDE里面一直放着JAVA源代码,并经常在日常工作中阅读和查阅。他们这样做不仅是满足求知的渴望,还从中学习了如何写优秀的程序。阅读和查阅那些你认为可靠的出名的开源代码或者比你资深的程序员的代码,你会写出更棒的程序。
最后,我想说的但没有将其列在上面的:不要和他人比较
和他人的比较往往会造成消极的情绪和不健康的竞争。每个人都有他的长处和短处。扬长避短很重要。我也经常看到一些基础很厉害的程序员范很低级的错误。所以仅仅和自己比较,列举你自己需要改进的地方,并持续改进它。编程是很有意思的事情,享受它吧。
任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。
⑹ 如果,我想当一名程序员,如何从零开始
1、程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练兄核灶摊,真的,兄弟,这份工作不适合你)
2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白点就是,在你没有找到乐趣以前,它很枯燥)
3、你有对新技术追求的热情吗?你有刨根问底的探索精神吗?(热情绝对是最重要的!你仔细思考一下自己的性格适合当程序员吗?)
4、当程序员决不是什么好差事,时刻需要学习,需要思考。(直到你成为那氏枣个可以引导别人去学习和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序员的未来很迷茫。(但我认为关键看你自己!我希望你是一个有追求的人,不仅仅是混碗饭吃。因为真正的乐趣在于创造;如果你能改变软件业的历史,那才是英雄;不想成为BillGates,不想成为DennisRitchie和BjarneStroustrup,我会说你没有追求。有个关于程序员未来的笑话,也许你还没听过,你该听一听,摘抄如下:
一个程序员对自己的未来很迷羡扮茫,于是去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的”
于是他去问Lippman。
Lippman说“程序员的未来就是驾驭程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的”
于是他去问Gates。
Gates说“程序员的未来就是榨取程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的”
于是他去问侯捷。
侯捷说“程序员的未来就是诱惑程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝摇摇头“唉,我的孩子,你还是别当程序员了”)
6、当程序员还是很有乐趣的。(当你学到新知识时,当你有新的思想见解时,当你有新的产品问世时,和知己探讨你的成果时我问你,觉得这些是乐趣吗?)
7、当程序员不易也不难。(世间事有难易乎?为之;不为。你有决心和信心吗?)
8、你真的要当程序员?是你自己的想法?
9、你舍得花钱买书吗?(读好书绝对是学习编程的最佳捷径。你一定会说,现在电脑书籍真他XX的贵,没法子,谁让知识和技术在人家的脑袋,在人家的书里呢;等你写书时可以把价格定低一点,记着还有好多没钱但想买书的兄弟很困难呀。要舍得买书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好就买下,记住要读,别光买不看。)10、我告诉你,程序就是:任何有目的的、预想好的动作序列,它是一种软件。
11、编程序就是编写程序。
12、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,你可以继续寻找别的出路了。)
(三)一个程序员应该具备的基础知识和概念
1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)
2、机器语言和微指令集的概念。
3、程序的概念。
4、汇编语言是低级语言但不是机器语言。
5、高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中国软件业的英雄,你也写一门语言,最好不用英语)6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的)
7、HTML、XML等是标识性语言。
8、Prolog是人工智能语言。
9、操作系统OS的概念和原理。(Windows98,Windows2000,WindowsNT,UNIX,Linux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手)
10、Windows编程说白了就是WindowsAPI的调用。(中国的程序员很多只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder)
11、VC++、VB、BC、BCB、Delphi、VF等都只是编程的工具和环境,不是编程语言。
12、面向结构的设计概念。
13、面向对象的概念。(好好理解,兄弟,这个东西还是很重要的)
14、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)
15、数据库的概念。(要熟悉一些着名的数据库系统和语言的名字,如Orcle,SQL,DB2,DyBase等)
16、了解网络概念。
17、了解多媒体概念。
18、熟悉和掌握数据结构和基本算法。
19、是不是要求太高了,别着急慢慢来,进步在不知不觉之中。(一旦开始学习,一个月以后你就会有一个基本的概念;两个月以后你就会感觉自己有了全面的基础知识;当你知道编程序是怎么回事时,说明你已经入门了。也有很多人编了很多年程序还没有入门呢,你不会希望自己步其后尘吧。要有信心和耐心。沉不住气怎么能成大事?!)
(四)教材推荐
——-推荐的教材主要还是针对概念来的,最好选用名校的教学用书。
1、《计算机组成原理》(熟悉)
2、《数据结构》(掌握)
3、《操作系统》(了解->熟悉)
4、《TheClanguage》(掌握)
5、《编译原理》(了解原理)
6、《汇编语言》(了解)
7、《计算机网络》(了解)
8、《软件工程》(了解)
9、《关系数据库》(熟悉)
10、《TheC++Languege》(掌握)
11、《面向对象设计》(掌握;结合C学习)
(五)一些经验和体会
1、真正的程序员用C;(一位专家说的)
2、动手去编程序;
3、动脑去思考;
4、要有良好的编程风格;
5、读书,读好书,尽量读原版书!(我反复强调这一点,读书要有选择,坚持读好书,名家出的经典书,不要浪费实践在一些粗制滥造的书上面;坚持博览群书)
6、有自己的学习计划;
7、总结自己的经验教训;(准备一个笔记本,记录错误和心得)
8、不要怕学新东西;
9、要有软件工程的思想;
10、善于发现问题,然后去寻找答案;
11、向高手请教;(要虚心直到你成为高手)
12、和同行交流;(不善于交流肯定不行)
13、懂得软件的实质,不要被千变万化的表象所迷惑;
14、真正要学习用的是编程语言和方法,不是什么库,什么类,什么工具;(学用那些什么库都比较简单,但光会这些库,我觉得还远远不够)
15、学习wiodows编程主要是学习windowsOS和win32API;
16、有空了解一下嵌入式开发;
17、有空了解一下PDA软件开发;
18、了解一下.NET框架和C#语言,也许它是你新的衣食父母;
19、要有耐心,不要作浮躁的人;20、对程序加注释,并保留你的老程序;
21、学到的东西越多,了解的越多,你就越接近专家;
22、有空去逛逛CSDN,那里有你很多知己;
23、要有信心成为一个优秀的程序;
(六)一些好书的推荐
1、《TheCProgramminglanguage》(Keinighan&DennisRitchie1988)
2、《TheCProgrammingLanguague》(BjarneStroustrup1997)
3、《InsideTheCObjectModel》(lippmans)
4、《EffectiveC》(同上)
5、《MoreEffectiveC》(同上)
6、《Exceptionalc》
7、《C面向对象高效编程》
8、《设计模式》
9、《ThinkingInC》
10、《TheStandardCBible》(一般推荐)
11、《TheArtofComputerProgramming》
12、《ProgrammingWindows》(CharlesPetzold)
13、《VC5.0技术内幕》
14、《MFC深入浅出》
15、《软件需求》
16、《AdvancedWindows》
17、《Cprimer》
18、《win32程序员参考手册》
19、《用TCP/IP进行网际互连》
20、《COM本质论》
(七)学习计划
——-这个学习计划是我个人定的,也共享给大家参考一下,共同进步吧。1、《计算机组成原理》
2、《操作系统》
3、《数据结构》
4、《汇编语言》
5、《C》
6、《C》
7、《VC技术内幕》
8、《ProgrammingWindows》
9、《深入浅出MFC》
10、《AdvancedWindows》
11、《InsideTheCObjectModel》
12、《ThinkinginC》
13、《EffectiveC》
14、数据库
15、网络
16、嵌入式OS和编程
17、硬件单片机
18、.NET和C#
19、软件工程
20、UNIX和Linux