① 怎么成为一名程序员
1、有明确的职场定位
2、有好的计算机基础
3、身体健康能顶住强大的工作压力
4、保持敏锐的互联网意识
5、Htmi语言
6、常见的编程软件使用
1. 【有明确的职场定位】怎么成为一名程序员?程序员也分为很多种,使用的软件和工作范围也不同。想当程序员,就要做好职场生涯规划,然后朝着自己的目标进发。
2. 【有好的计算机基础】搞程序不是简单的工作,写好程序需要很全面的计算机知识,一个好的程序员需要懂很多东西,比如一些基础语言等等,这就要求程序员必须要有好的计算机基础,否则学个几年依旧一事无成。
3. 【身体健康能顶住强大的工作压力】搞程序是对着电脑的工作,有着互联网工作经验的人都知道,从早到晚对着电脑很累人。而程序员不仅需要对着电脑,还要经常加班熬夜。身体不好是干不了程序员的。
4. 【保持敏锐的互联网意识】好的程序员不是“死魂灵”,之前小编从事的互联网公司有位程序员被炒鱿鱼了。理由是“太笨,学不会。叫干什么就干什么”。这样的程序员只能拿死工资,好的程序员会创新,有敏锐的互联网意识。
5. 【html语言】当程序员需要学什么?html语言也叫超文本语言,是最基本的计算机语言,不要说后台需要滚瓜烂熟,就连做前端web的人都需要熟练。如果这个不会,一辈子也当不了程序员。
6. 【c语言】c语言也是编程的基础。其实很多搞程序的人只懂c语言的皮毛。的确c语言不一定要会。但是小编想说的想成为最顶级的程序员,肯定要会c语言的,如果说会e语言而不会c语言,这没关系,学起来非常快。
7. 【常见的编程软件使用】程序员要会的软件并不固定。每个程序员都有适合自己的软件,哪个高效便捷就用哪个。甚至有的程序员还保持用txt写代码的习惯,只要自己觉得好就行
② 做一个程序员要具备什么_当一名程序员需要什么
要搞清楚程序员需要具备什么,先要了解程序员是做什么的,程序员(Programmer)是从搜吵腔事程序开世衫发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,除了大厂或者规模很大,一般公司两者的界限并不非常清楚。
程序员需要具备什么呢?
1、程序员要有足够的知识储备,一般要求专科及以上学历,当然高中、中专也可以从事网站开发、APP开发等一些工作,稍微有规模的公司要求会比较高,大厂对学历都有一定要求。
2、要对程序开发有足够的兴趣和热情,因为开发工作需要投入很大的精力,特别是后端开发。前端碰岩开发工作相对开发量小,程序员一般是入门后需要不断学习和积累,如果没有足够兴趣很难继续深入学习下去。
3、目前很多公司程序按工作时间较长,主要是编码耗费时间,所以对身体素质也有一定要求,当然不是所有公司都是这样
③ 如何自学成为程序员
问题一:如何自学成为初级程序员 [经验之谈]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的 开的工资是我们的几倍。你要学一种语言,就必须先了解他的思想,所以你还是先看看理论上的东西吧。呵呵,其实程序员挺枯燥的,你要有思想准备哦。最大的困难就是你需要让自己有恒心。
④ 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。
程序员必备技能
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。
网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。
编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
⑤ 如何成为一名合格的程序员
很多人想要成为程序员,在学习编程的过程中,面对各种bug和源源不断的问题,有时会对自己是否适合编程这一问题产生困扰。
作为一名教授全栈Web开发的教育工作者,我已经带领很多新手成为了程序员。好消息是,我发现没有任何人是不能学习编程的。我把它看作是一种基本的人类技能,就像阅读、写作和算术一样,任何人都可以做到。它是我们人类能力的一部分,只是需要学习。
在过去的几年的教学中,我目睹了不同的学生在学习过程中的斗争,以及在他们的挣扎中出现的一些共同问题。
下面的列表将帮助你了解你是否喜欢编程
1、缺乏好奇心
如果你对计算机是如何工作的缺乏好奇心,那么,作为一个程序员,你将永远不会成功。
学习的一个基本要求是对你所学的东西有积极的兴趣。如果你没有一个对技术好奇的头脑,你就没有精力去坚持学习要成为一个成功的程序员所需要的广博而深入的知识。相比之下,技术的世界就像一个巨大的海洋,里面充满了各种有趣的领域、相互联系的思想和各种可能,它们可以激发人们的想象力。想要潜入这片海洋并发现你所能发现的一切,需要内在的动力。
找到你的好奇心:问问你自己,编程是否真的让你感兴趣?如果没有兴趣,去找你感兴趣的东西,以节省时间和精力。但是如果你的答案是感兴趣,那么就强迫自郑袜己去发现一些你以前没有注意到的新事物,认识到浩瀚的技术海洋,再往下潜一点。
2、缺乏自主性
如果你不培养自己解决问题的能力,你就永远不会成为一个成功的程序员。
毫无疑问,要成为一个成功的开发人员,你必须对自己的学习能力充满信心。这实际上是一项基本的生活技能,如果你年满18岁,没有人有义务教你任何东西。这就是现实。当你想学习技术所需的技能时,首先要学会的是,在谷歌中输入你想要的任何东西并获取你需要的信息。除此之外,所有编程语言都有文档和规范,这些文档和规范对语言的工作方式解释的非常清楚,它们就像字典一样。作为一个程序员,最快速、最可靠的学习方法就是简单地阅读这些文档。
当你有问题的时候,在问别人答案和查阅官方文档之前,强迫自己先搜索一下,节省别人的时间。
3、面对问题缺乏毅力
如果你在遇到问题时轻易放弃,作为一个程序员,你将永远不会成功。
编程的本质是解决问题,这也是计算机产生的全部原因!每当你开始编写一个程序时,你总是会遇到一大堆问题。一旦你解决了一个问题,那么几乎总是有另一个问题在后面等着你。你在进步,但总是会有新的问题要面对。
这堆问题会让人望而生畏,令人感到沮丧。如果你觉得程序应该“能用就好”,那么你就没有精力坚持下去,因为问题还在继续出现,它们会一点一点地击溃你的情绪和决心。从字面上来说,你的工作就是找出程序为什么不能跑起来。
从我在授课上的经验来看,通常每个班都有一两个学生,和其他学生相比,他们似乎更容易遇到更多的问题——通常是非常随机和模糊的问题。我提醒学生,他们面对的问题越多,学习越深入、越彻底的可能性就越大。如果他们能通过这些问题获得深刻的理解,他们会很快发现他们变得更加自信了,因为他们面对和解决的问题比普通学生多。
你需要认识到,问题不仅仅只是问题,它实际上也是挑战。你所面临和克服的每一个挑战都能让你更深入地理解技术,更好地面对新的挑战,并迅速解决旧的挑战。
4、解决问题之后没有成就感
如果你在解决一个问题后没有兴奋感和成就感,作为一个程序员,你将永远不会成功。
与上一个问题相关的是,你成功地解决了一个问题,却缺乏“良好的感觉”。当修复bug和问题变成了一个永远不会结束的事情时,你会失去与克服问题的动力。
当你解决一个问题时,你需要的是多巴胺的释放。这类似于在电子游戏中完成了一个关卡,或者解决了一个像纵横字谜或数独这样的挑战。我们都知道,坚持通过一项挑战,然后最终赢得比赛,一般都会有成就感和兴奋感。但是如果你失去了感受这些快乐的能力,或者从一开始就没有真正有过这些感受,你将无法体验到编程带来的快乐。如果你把编程看作是一种磨砺,你只想尽可能容易地得到结果,那么你永远不会真正成为一个成功的程序员。
无论何时,当你解决了一个一直在努力解决的问题时,无论这个问题多么微小,你总是为你的成就感到骄傲。你需要休息一下,祝贺你自己完成了一项出色的工作,让成功的感觉渗透进你的心里,为你即将面临的下一个问题注入活力。
5、无法独立思考
如果你期望别人为你着想,并且主动看到你自己所在的处境喊纯激的细节,你将永远不会成为一个真正成功的裤脊程序员。
当你在学习新的东西时,很容易感到缺乏知识和经验,并没有自己的观点。主动做事或者说错话似乎是有风险的。对于错误,我们的内心都有一种恐惧感。当对错误的恐惧抑制了你的探索和好奇心时,你会扼杀开发真正知识、从经验中获得的知识和“失败”的能力。当你需要依靠“权威”的观点、一个受欢迎的博客、一个最佳实践或“教科书”的答案时,那么你就没有真正地整合编程的知识。你需要对什么有效,什么无效形成自己的观点。你需要理解为什么你认为你的解决方案有效,以及使用这个方案有什么好处。你需要建立一个微妙的视角,超越那些显而易见的东西。你需要能够“证实”你的立场。
为自己着想。通过你的经验和批判性思维技巧,发展出你自己的思想体系。做出合理的猜测,坚定立场,并愿意随着新信息的出现而改变立场。
6、僵化、狭隘、混乱的思维
如果你的思维僵化,并且难以保持代码的条理化,那么你将永远无法成为一名真正成功的程序员。
我有时在学生中看到两个极端。第一种是僵化和狭隘的思维方式。拥有这种态度的人拒绝帮助,尽管会有反馈,但不会有改变。他们看事情只从一个角度看,别人给的建议被忽略。
我看到的第二个极端是思维混乱。学生们似乎使事情变得更加复杂,他们的代码杂乱无章,难以理解。他们过度思考问题,写100行代码,而其中只有10行是有用的。
当这两种心态结合在一起时,结果就是一种用蛮力的方法去设计程序。我们需要的是回顾解决方案,重新评估它,放弃最初的方法,并重新组织方法。
无法看到其他可能性或无法反思反馈会抑制成长的能力。思维杂乱无章会减慢你的成长速度,阻止你看到那些原本显而易见的模式。你的工作质量也会下降。
自我反省。你需要退后一步,看看你是接触的事物的大局是什么样子的。你要怎样才能做得更好?你能做些什么让你的生活更轻松吗?你需要什么来帮助你?
7、需要“正确”的答案,而不是识别一系列“好”和“坏”的答案的方法
如果你认为编程的最终目标是找到正确的解决方案,而不是一系列解决方案,那么作为一个程序员,你将永远不会真正成功。
当开始学习技能或编程时,学生往往想知道他们所做的是否“正确”,而答案总是“视情况而定”。
计算机科学是一门评估权衡的科学。在不同的环境下,哪条路更好,这完全取决于所处的环境和目标。当你把编程看作是一个有正确答案或错误答案的测试时,你就失去了对全局的认识,放弃了你的创造力。任何答案都可以是“正确的”,前提是你能根据具体情况证明这一点。现实情况是,编程更像是写诗或写短篇小说(如果程序很大,则可能是小说)。在你的代码中可以看到一种美学和美丽,这些东西有时只有你和其他程序员能够识别出来。你决定解决方案的原因,以及你对答案的设想,比“正确的方式”或“错误的方式”更重要。拥有一个艺术家的头脑可以让你编的程序具有选择和可能性,而不是认为只有一种处理方式。这就是编程的美——有很多方法可以解决问题,考虑不同的可能性,然后决定哪种方法最适合当前的情况。
创造性很重要。你要认识到,解决问题的方法有很多种,通过经验和积累,你会对哪些解决方案比其他解决方案感觉更好产生细微的理解。纵观全局,想象不同的可能性,相信你的直觉,你会得到更满意、更好的解决方案
如果你对学习编程感兴趣,我鼓励你开始这段旅程。记住提到的七条,并开始学习、探索在线资源,这些资源可以让你快速学习。你不会后悔的!
合格程序员,对于一种计算机程序设计语言,我们将其分为语法、语义、语用三个层面。仅仅掌握语法是不够的,不算学好。但是很多人,在履历上写自己掌握(甚至精通)了某种语言,其实就是解了语法,会写简单的程序而已。这就是为什么我们行业特别不喜欢“精通”这个词的原因。
现代软件开发,规模都比较大,不是写个HelloWorld那么简单,也不可能每个项目每件事都从头开始造轮子,我们都是站在前辈、同行们的肩膀上工作的。也就是说,语言之外,还有“库”这个东西需要掌握,不然就寸步难行。库有语言级别支持的BuildIn的库,比如JAVA里面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更丰富的还有第三方提供的库,比如JDBC、Servlet、EJB的implementations等等。这些东西掌握了,干活儿才可能得心应手,不然寸步难行。
比Libaray更高层一些的,是Framework。框架的作用在于,将某一方面开发的BestPractices搞到一起,给你提供一个更易用的、不关注底层的脚手架。比如做企业应用的,SpringFramework是标配了;访问数据,Hibernate或者MyBatis也离不开,很少直接用JDBC去干活的了;做WEB的,各种MVCFramework起码得掌握一两个(springmvcorstruts2?);做网络的,Netty,MINA怎么也得掌握一个......总而言之,框架是绕不过去的一个门槛。
然后呢,就是环境、辅助工具。应用服务器,怎么也得会调试配置那么两个吧。TOMCAT是入门标配,JBOSS,WEBLOGIC之类,起码要弄得跑得起来;针对不同应用场景,还要会选择。开发/管理工具,ECLIPSE是标配、GIT和SVN起码要搞熟一款;其它比如单元测试工具、Build工具、测试覆盖率、CodeReview这些插件...也得知道怎么用。
最后,通用的,计算机科学的基础,不说多扎实,至少不能一窍不通。说起来就那几大件,操作系统、数据结构&算法、编译原理、体系结构。要懂一点点,你才知道你编的程序是怎么run起来的,哪儿可能存在效率问题性能瓶颈,除了问题知道怎么debug。如果仅仅把计算机当作一个黑盒子,那也不算学好了。
最最后,还有一样,就是你要训练一下,快速理解领域知识的能力。你参与做一个项目,你懂的只是上面这些专业知识,但并不懂客户的行业知识。如何尽快地理解业务,并用你手头的工具实现业务逻辑,这点对程序员而言是非常重要的,否则你做的东西客户总不满意,GET不到重点,很麻烦。
我觉得这是一个合格的程序员的基本要求。你看,我并没要求你懂需求工程、懂项目管理、懂架构设计、懂很多算法、模式,甚至更深的专业知识。
⑥ 如何成为一名程序员 6种方法来成为一名程序员
目录方法1:网络编程1、了解网络编程的含义。2、浏览不同的网站,了解它们的外观。3、学习至少一种头脑风暴技术/方法,并学习一个用来实现头脑风暴的软件。4、熟悉网站结构。5、赶紧学一门图形设计的课程。6、了解网络下部构造的基本情况。7、学习HTML和CSS语言。8、学习XML及其相关技术,比如XSL和XPath(不是必需,仅作推荐)。9、先建立简单的静态网站,直至你熟悉并习惯HTML语言。10、学习客户端脚本语言。11、熟悉你所学的客户端脚本语言。12、学习至少一种服务器端脚本语言。13、学完服务器端编程语言之后就开始创建一个试验项目。14、获得你的网站,开始用你自己的网页实验。方法2:桌面软件编程1、弄清楚桌面软件编程是怎么回事。2、了解不同的电脑硬件结构。3、学习一种入门级(小孩子学的那种)编程语言。4、学习程序化、面向对象、函数设序设计规范的入门。5、学习一种程序化程式设计语言的入门课程。6、学习至少一种高级建模技术,比如UML 或ORM。7、开始编写一些小的主控台应用程式或类似的应用程式。8、学习一门你选择的编程语言的更高级课程。9、应用你所10、至少再学习一门编程语言规范的入门课程。11、试着比较你所学的两门编程语言。12、利用你学过的一种语言来学习可视化编程概念。13、开始把你所学的知识运用到你设计的软件小工程中。14、创建一个虚拟的"毕业工程"。15、通过学习更高级的课程、更加注意细节以及在网上学习搭建架构的技巧,来加深对你学过的可视化架构/库/包的理解。16、搜索其他含可视化元素的包/库并学习它们。17、学习图形学课程(而非图形设计)。18、成为游戏程序员(不是必须的)。方法3:分布式程序设计1、处理分布式应用编程。2、快速了解通信系统及其硬件。3、熟悉网络硬件结构和设备,比如集线器、接线台和路由器。4、学习网络协议的课程。5、学习XML 语言,并熟悉它。6、开始学习一门shell脚本语言。7、开始时用上你学的脚本知识,只运用程序化程式设计。8、使用你所学的脚本语言,写出实现机器之间通信的脚本。9、转移到桌面脚本/编程语言。10、专注于语言的核心部分,尤其hi那些支持网络。11、学习分布式应用设计与结构的课程。12、使用你所学的编程语言来了解服务部分建构和服务。13、学习如下技术中一种或更多。方法4:库/平台/框架/核心编程1、了解什么是核心编程。2、学习一门支持创建可重复使用内容/包的编程语言,如果你还没学过的话。3、学习一门UML 和ORM的高级课程。4、学习软件工程的课程。5、学习至少一个模块,基于内容的、面对对象的和 事件驱动编程技术和概念。6、进一步了解不同的操作系统及其支持的编程架构。7、集中学习独立平台架构、编程语言和技术。8、如果到目前为止你学习的编程语言具有ANSI/ISO/EEE/W3C标准版本,那么掌握这些标准。9、尝试模拟简单的、已经建立的库,尤其是开源的库。10、在你的编程领域内寻找开源的包。11、学习不同方法。方法5:系统编程1、了解系统编程的定义。2、跟着"桌面应用程序员"的前三个步骤。3、学习线性代数的入门课程。4、学习微积分课程。5、学习逻辑学和/或离散数学课程。6、了解不同的"准操作系统"。7、学习计算机硬件结构的课程(或者作为替代,看看书)。8、深入理解不同的计算机硬件平台。9、初步熟悉你所选择的硬件平台/操作系统的汇编语言。10、学习ANSI C 和 C++ 语言,还有程序化程式设计的一些概念。11、在你选择的平台上理解并实践C/C++标准库。12、搜索网络资源、书籍和课程来理解你的平台独特的C风格。13、用C/C++练习编写高级代码。14、学习更高级的Assembly。15、学习操作系统设计的课程。16、寻找并阅读你所选择的平台的相关文章。17、练习你已经掌握的知识。18、以最有益的顺序学习语言。方法6:编程科学1、了解编程科学家是做什么的。2、累积和四年制计算机科学学历同等多的科学知识。3、选择特定的领域。4、考虑获取更高级的学历。5、了解你选择的编程领域的相关技术和编程语言。成为程序员是一个日积月累的过程,需要日复一日年复一年的技能增长。编程本身是有趣的,并且有回报(脑力层面、精神层面、经济层面)。这份指南不能保证你轻松当上程序员。不要神化下面这些步骤,从中你大概能了解在现今编程界如何成为一名程序员。
方法1:网络编程
1、了解网络编程的含义。网络应用是指设计在网络结构顶层的软件部分。这就意味着这些应用是通过诸如火狐或IE之类的浏览器来处理的。架构于网络结构的顶层并不一定要连接到网络。这就是说网络应用建立在如下标准网络技术的顶层:HTTP
FTP
POP3
SMTP
TCP
IP协议
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2、浏览不同的网站,了解它们的外观。(右击,选择"查看源"或按F12。)寻找网站类型/内容的多样性,而非数量。通常你需要访问以下网站类型中至少一种: 团体网站(商业公司,非营利机构/组织,政府组织)
网络索引引擎(搜索引擎,meta搜索网站,专业化搜索引擎,目录)
数据挖掘网站
个人网站
信息/网络全书式网页(维基,数据单,技术规格,人工列表目录,博客和日志,新闻和新闻机构网站,黄页,等等。)
社交网站(社交门户,书签网站,记录笔记网站)
合作网站(这包含了上面提及的目录,比如维基和博客)
3、学习至少一种头脑风暴技术/方法,并学习一个用来实现头脑风暴的软件。例如:头脑风暴图和微软Visio。
4、熟悉网站结构。指的是创建概念化网络范式、网络地图和导航结构。
5、赶紧学一门图形设计的课程。尽量学习至少一个图形编辑/操作软件包(不是必须的,但强烈推荐)
6、了解网络下部构造的基本情况。包括了解以下: 基本网络服务协议(HTTP,FTP, SMTP和POP3或IMAP4)
网络服务器软件(最好其中一个就是你以后主要工作的平台)
网络浏览软件
邮件服务器和客户端软件
7、学习HTML和CSS语言。或许你还想要"所见即所得"软件包来编辑HTML。
8、学习XML及其相关技术,比如XSL和XPath(不是必需,仅作推荐)。
9、先建立简单的静态网站,直至你熟悉并习惯HTML语言。
10、学习客户端脚本语言。多数人要么学Java,要么学VB,但也有一些人学习Perl和DHTML。
11、熟悉你所学的客户端脚本语言。潜意识里提醒自己只用你学的那个语言。只有在你熟悉你的客户端脚本语言之后才能进入下个步骤。
12、学习至少一种服务器端脚本语言。如果你只用一种服务器软件,那就学其中一种编程语言。否则,你得每个服务器软件都学至少一种编程语言。
13、学完服务器端编程语言之后就开始创建一个试验项目。
14、获得你的网站,开始用你自己的网页实验。
方法2:桌面软件编程
1、弄清楚桌面软件编程是怎么回事。多数桌面软件程序员都是编写商务需要的代码,所以好好了解一下商业及其组织和经济结构将对节省时间、提高效率大有裨益。
2、了解不同的电脑硬件结构。看看数字电路设计和电脑结构的入门级课程,但是也有人认为这对于刚起步来说太超前了,所以看两三篇说明的文章(比如 这一篇 和 这一篇)就够了。学完第一种编程语言后你可以再返回这个步骤。
3、学习一种入门级(小孩子学的那种)编程语言。不要因为你不是个小孩子就不好意思去学。这些入门级语言能大大减轻你正式学习第一门编程语言时的痛苦和压力。然而这一步也不是必须的。你也可以在上一步之前完成。
4、学习程序化、面向对象、函数设序设计规范的入门。
5、学习一种程序化程式设计语言的入门课程。无论你以后选择何种编程语言,在某种程度上它都要求程序化程式设计。此外,据多数程序员反映,程序化程式设计总的来说是了解编程的一个很好的切入点。
6、学习至少一种高级建模技术,比如UML 或ORM。
7、开始编写一些小的主控台应用程式或类似的应用程式。你可以利用编程书中的常见小练习。选择一个工具,用你所学的编程语言编写程序。
8、学习一门你选择的编程语言的更高级课程。确保进展之前先理解下列概念,并能熟练运用。对程序用户输入输出信息。
程式化设计语言写成的程序中的逻辑流程和执行流程。
声明、分配和比较变量
编程结构分支,比如if..then..else 和 select/switch..case.
循环结构,比如while..do, do..while/until, for..next.
创建、调用程序与函数的编程句法
数据类型及如何操控
用户定义数据类型(records/structs/units)及其使用
如果你的语言支持超载函数,理解它。
你选择的语言的内存处理方式(指针,变量窥视,等等。)
如果你的语言支持运营商超载,理解它。
如果你的语言支持delegates/函数指针,理解它。
9、应用你所学的高级技能 面向对象的规范
10、至少再学习一门编程语言规范的入门课程。推荐学习每种范式的编程语言,多数高级程序员确实是这么做的,然而,通常你开始时只学一种,应用所学知识训练了一段时间,获得了编程的鲜活经验,然后接着学习另一种。试试下面的语言: 逻辑编程范式
函数编程范式
面向对象的范式
11、试着比较你所学的两门编程语言。评估各自利弊。通常可按以下方法完成拿出你在学习第一门编程语言时编写的简单范例,现在用第二门语言重新编写。
创建一个工程,尽量用上两种语言完成它。有时取决于你选择的工程和语言,你可能仅用一门语言还无法完成这个工程呢!
写一份两种语言之间相似结构和独特之处对比的速查表或一览表。
尽量使用另一门语言找到模仿这两门语言中独特之处的办法。
12、利用你学过的一种语言来学习可视化编程概念。几乎所有的编程语言都具有支持可视化编程和其他支持控制台或类似控制台编程的版本/库。同时进行的包括: 初步了解事件驱动编程。在某种程度上,多数可视化编程依赖事件及事件处理(用上你选择的语言)。
尽可能多的尝试桌面软件,理解软件是做什么的。多数软件开发公司会提供产品的测试版,你可以拿来测试软件。在完善用户界面方面保持更新。
阅读关于图形用户界面的文章或教程。
13、开始把你所学的知识运用到你设计的软件小工程中。尽量把你的编程专业知识运用到你日常生活中的问题上。比如,编写程序,批量重命名文件,视觉上比较文本文件,复制目录里的文件名到内存/文本文件之类的东西。刚开始简单一点。
14、创建一个虚拟的"毕业工程"。把这个放到最后完成,用上你到目前为止学到的可视化编程技术。
15、通过学习更高级的课程、更加注意细节以及在网上学习搭建架构的技巧,来加深对你学过的可视化架构/库/包的理解。
16、搜索其他含可视化元素的包/库并学习它们。
17、学习图形学课程(而非图形设计)。对于想要写出吸引人的用户界面元素的程序员来说,这将大有裨益。
18、成为游戏程序员(不是必须的)。很大程度上游戏编程是被当作桌面编程的。如果你想成为游戏程序员,完成这些步骤后你需要进一步学习游戏编程。对于游戏程序员而言,图形学课程是必须的,后续步骤中第二门语言应该选择逻辑/函数编程语言(最好是Prolog或Lisp)。
方法3:分布式程序设计
1、处理分布式应用编程。分布式应用编程被许多人认为是最难学的一种,它要求计算机和通信技术中的不同知识。
2、快速了解通信系统及其硬件。这个步骤不是必须的,但是对于理解网络拓扑结构很有用。
3、熟悉网络硬件结构和设备,比如集线器、接线台和路由器。
4、学习网络协议的课程。在你开始分布式应用编程之前,你需要好好理解"开放系统互联 (OSI) "模型、以太、IP、TCP、UDP和HTTP 。
5、学习XML 语言,并熟悉它。
6、开始学习一门shell脚本语言。对基于Windows的编程,可以是任何能与Windows脚本宿主兼容的脚本。对基于Linux的编程,Bash脚本和 Perl就够了。对这两个平台都强烈推荐Java,原因如下: 几乎所有操作系统的都支持脚本宿主(Windows 脚本宿主默认支持java ,大多数Linux发行版都有支持java脚本控制的包)。
许多开发者认为它很容易学。
当你需要学第二门编程语言(C,C++,C#,Java和J#都有ALGOL开源句法)时,它拥有的ALGLO开源句法就能使你熟悉更多编程语言
通过学习java,你会熟悉网页的客户端脚本,这可谓一大福利!
7、开始时用上你学的脚本知识,只运用程序化程式设计。之后,根据你的脚本语言和它所支持的,你可以用上更高级的编程技巧和范式。所有的脚本语言在某种程度上都有程序化程式设计的一些方面。
8、使用你所学的脚本语言,写出实现机器之间通信的脚本。学习完成这个所必需的东西。简单的通信就足够了。
9、转移到桌面脚本/编程语言。一个比较好的是多范式语言,比如Python。简单了解第二门语言。有许多理由让多数程序员选择java。然而,在这个领域内C#正在获得多数优势。Java和C#被青睐的原因如下:它们是面向对象的编程语言,使大量程序员免遭实现细节之苦,因为它们都支持组成部分(代码单元、预编译,它们可以执行特定任务,并被用到其他程序中)。
它们支持事件驱动编程,在某种程度上还支持OO和程式化程序设计。
建立语言的架构按属性分布(比如Java)。
有许多现成的包来处理。社交网络同时作为开源代码和架构内置包,这使得程序员继续其他人工作更加容易。
10、专注于语言的核心部分,尤其hi那些支持网络。少注意用户界面元素,比如输出,窗口设计和技术等。
11、学习分布式应用设计与结构的课程。可以通过书本、网上教程或学术课程来完成。然而,十分有必要理解分布式应用的结构及其概念。
12、使用你所学的编程语言来了解服务部分建构和服务。
13、学习如下技术中一种或更多。推荐你每一种都了解以下。多数分布式应用程序员不会止于一两门编程语言,他们会每个操作系统各学至少一种语言。这是因为如果你希望你的应用"分布式",你应该至少为每个主要的操作系统各提供一个版本。公共对象访问代理体系结构(CORBA)
简单对象访问协议(SOAP)
异步JavaScript和XML(AJAX)
分布式组建对象模型(DCOM)
.NET远程处理
XML 网络服务
方法4:库/平台/框架/核心编程
1、了解什么是核心编程。核心程序员几乎都是高级程序员,已经从编写应用转变为给其他程序员编写代码汇编。
2、学习一门支持创建可重复使用内容/包的编程语言,如果你还没学过的话。
3、学习一门UML 和ORM的高级课程。多数库开发者使用其中一种,或两种都用。
4、学习软件工程的课程。
5、学习至少一个模块,基于内容的、面对对象的和 事件驱动编程技术和概念。你所学覆盖越多编程范式和语言,你就能成为越成功的库/包程序员。
6、进一步了解不同的操作系统及其支持的编程架构。
7、集中学习独立平台架构、编程语言和技术。
8、如果到目前为止你学习的编程语言具有ANSI/ISO/EEE/W3C标准版本,那么掌握这些标准。无论何时尽可能使用标准代码。
9、尝试模拟简单的、已经建立的库,尤其是开源的库。这在成为库/包程序员的早期阶段十分有用。从简单的包开始,比如单位转换和中间科学计算包。如果你是大学生,利用你的非编程课程,尝试把这些课程的方程式与核心科学用作库。
10、在你的编程领域内寻找开源的包。首先下载包的二进制/可执行文件。尽量去用,并发现它的利弊。之后,下载源,尽量弄明白它是怎么完成的。尝试再创造这些库或其部分。刚开始,看完代码再做;之后,先做再看代码。后期阶段,尝试完善那些库。
11、学习不同方法。给程序员分发、配送内容。通常,库/包程序员倾向于以递归和/或迭代的思想来思考他们面临的所有问题 。尽量把每个问题当作一个小问题的汇编(一系列更小的任务)或一个重复的不断缩小问题范围直至把这些更小的范围彼此堆到一起的处理过程去思考。
库/包程序员倾向于概括化。也就是说,当面临一个特定的简单的问题时,他们通常会想到一个更为概括的问题,并努力解决这个更概括的问题,如此,小问题便不攻自破。
方法5:系统编程
1、了解系统编程的定义。系统编程处理的是编程的"科学",而不是具体的编程实现。不要把你自己栓到特定平台上。
2、跟着"桌面应用程序员"的前三个步骤。
3、学习线性代数的入门课程。
4、学习微积分课程。
5、学习逻辑学和/或离散数学课程。
6、了解不同的"准操作系统"。这可以通过以下途径完成:了解操作系统是如何安装的。
了解在一台PC上如何安装不同的操作系统(不是必须的,但作为推荐)
安装不止一种操作系统。不要在系统中安装任何辅助包,相反,仅利用操作系统本身提供的函数。
7、学习计算机硬件结构的课程(或者作为替代,看看书)。
8、深入理解不同的计算机硬件平台。
9、初步熟悉你所选择的硬件平台/操作系统的汇编语言。稍后你会学习其他平台/系统的汇编。
10、学习ANSI C 和 C++ 语言,还有程序化程式设计的一些概念。
11、在你选择的平台上理解并实践C/C++标准库。尤其注意标准模板库(STL)和活动模板库(ATL)。
12、搜索网络资源、书籍和课程来理解你的平台独特的C风格。
13、用C/C++练习编写高级代码。
14、学习更高级的Assembly。
15、学习操作系统设计的课程。
16、寻找并阅读你所选择的平台的相关文章。如果你选的是基于Unix的操作系统就会容易得多。充分理解你今后将要用来工作的系统。
17、练习你已经掌握的知识。首先创建小的系统软件。如下通常很有用: 试着重创你系统中已有的小工具。
试着把其他系统中的应用移植到你的系统里。
18、以最有益的顺序学习语言。此处是唯一强调第一门编程语言的地方。首先学习ANSI C 而不是 C++、C#、Java 、D。然后学习 C++。限制你第一门语言仅为C是因为系统编程要求程序员熟悉如下概念:源代码真实、完全的编译
低级对象输出文件
链接二进制
低级机器语言/汇编编程。C语言被某些人认为是伪饰过的/更容易学习的汇编语言。只要你愿意,它还支持插入汇编语言代码,并且它只是程序化的(像汇编)。
方法6:编程科学
1、了解编程科学家是做什么的。编程科学家是十分高级的程序员,他们不开发程序,但他们研究计算科学,比如密码学、编程语言和数据挖掘算法。没有深入的学术研究是很难达到这个水准的。
2、累积和四年制计算机科学学历同等多的科学知识。可通过如下其中一种完成: 获得真实的学术学历(这也是通常情况)。
从现代大学中获得该学历要求的课程大纲,自学课程或 分开一门门学。理论上这样做也可以,但还是推荐第一种做法。
3、选择特定的领域。越具体越好。这取决于你的偏好。但是这里给出计算机编程领域中一些主要的课题:算法设计(例如搜索、分类、密码、解码、错误检测 等)
编程语言/编译器设计/最优化
人工智能领域(模式识别,语音识别,自然语言处理,神经网络)
机器人技术
科学编程
超级计算
计算机辅助设计/模式(CAD/CAM)
虚拟现实
计算机图形学(计算机图形学通常和图形设计或图形用户界面设计混淆,计算机图形学是研究如何表示和操控计算机系统中的图形的领域)
4、考虑获取更高级的学历。或许你想追求硕士学历或博士学历。
5、了解你选择的编程领域的相关技术和编程语言。
小提示不管你想尝试哪种编程,不管你想达到何种水平,考虑去学校或本地社区大学上课。不要被诸如“计算机科学”一类的术语吓到。你参加的任何不需要预备课程的课程都应该集中教一些编程的基础知识。在上课之前先咨询一下老师或客服,确保这门课是你想要的,像“计算机文化”这样的课很有可能更多地集中在教你更熟悉办公应用之类。
⑦ 小白,想入门程序员,应该从什么开始学,顺序是什么
小白想要成为程序员,首选是选择一门合适的语言,比如说:Python、Java、C、C++、GO语言等;其次,选择合适的学习方式,比如培训,周末班、脱产班还是网络班。
如果完全没有编程基础,建议大家学习Python,Python入门简单、语法清晰、通俗易懂,非常适合零基础人员。
⑧ 想学编程,从哪入门好点呢
完全零基础自学编程,应该选择哪个入门方向 首先明确你的学习方向和学习目的。
目的性,你得明白你是追求技术的卓越还是为了职业需求,或者兴趣使然。学编程绝非一朝一夕所能达成的事情,期间肯定会遇到各种各样困难,有时候你会想放弃。但看你个人能不能坚持。
如果你是为了追求技术的卓越,那么我建议你首先从c入门。c是现在几乎所有的高等语言的“父亲”。然而,c也是公认的复杂。由于c的操作对象往往是硬件级别的,因此对硬件的把我尤其需要到位。c之后,你可以尝试学习c++,c++之后,基本所有的语言,你可以看兴趣学习了。
方向性,你的明白你学习什么。编程从发明之初到现在,已经出现很大的分流。从以前的单一单片机开发,发展到现在的人工智能、网络败燃开发、应用开发、游戏开发、科学计算等。你得明白你要选择的方向是哪个。常用的选择方向就是应用开发和网络开发,应用开发又分为移动app和桌面级app开发,网络开发又分为web开发,云开发等。因此,你得明确自己的察歼虚开发目的。不同的开发所学习的语言一般不同,例如:安卓开发使用java,ios开发使用swift,windows开发是最多的,几乎所有语言都可以开发windows。web看开发前端使用javascript,,css等,后端的选择更多,ruby、php、nodejs等。
编程语言是没有廉价之别的,只要你喜欢,你甚至可以用vb开发出比c++开发更优秀的软件。
当你明确你自己的开发方向和开发目的之后,你才能确定自己的入门方向,否则,非但学不会,还会更迷茫。
如果你明确自己的目的性和方向性,请回复我,我进一步给你作答。
个人感觉还是web好一些
原因如下
web主要是前段和后端
前段HTML+css+javascript,
后端需要PHP或者python,或者比较新潮的node.js, 还要懂一些linux
操作系统太难,电脑软件也不是一朝一夕可以出师的,无尽的bug
相对来说,web的上手难度较低,但是学精也不是很容易的事
web的代码很容易找到,也有无数的网站可以参考
IOS/安卓也比较热门,上手也不难,也有很多源代码和课程可以学习
也是很不错的
也就是HTML5和app之争了。
如果只改雹是基于个人兴趣的话
个人觉得学习python比较好
python语法灵活,功能强大,可以在操作系统,web,数据处理,游戏开发等各方面应用
是最好的脚本语言,没有之一
虽然不太适合大型项目,但是lz估计对大项目也没什么兴趣
网上的包也很多,和linux绝配
lz可以考虑一下,学linux+python
纯C语言编辑器,几乎没有了,都是c++,向下兼容C
主要有ms家的vs,有免费的社区版本
然后就是gun的g,linux自带
还有就是clang,BSD和mac的默认编译器
编译功能是ms最好,但是目前ms不支持其他平台
g和clang都差不多,g流行一些,clang支持更多的c++特性
零基础学编程应该选哪个语音
将来想做程序员的话,最好是首先从java学起,这就好比,学习使用一种餐具,首先学习筷子,然后再学使用什么勺子刀叉就手到擒来
自学编程怎么入门(零基础)
因为你说是因为爱好才学,我便回一回这问题。
建议:去书店买一本c语言入门书籍看看。把书上的代码手工往电脑上录入,调试(我用了四个月,所有工作之余的所有时间都在看、想……四个月勉强入门……),学会了这一种语言,其它的语言都很容易过渡的。
之后,再学数据结构,充分认识点,线、树、图形等等……这里我用的时间太多,但数基础不行,还有些都没有学会……
之后,你自己就知道怎么办了……
我也因为爱好才学的,也是自学。
你是高中生,比我好多了,我是初中生,你比我学习起来更容易。
你好~自学JAVA零基础应该选什么书入门。谢谢
初级JAVA的基础知识:
1、首先要学习java的基础知识。
不要被新技术迷惑,所谓万变不离其宗,新技术都是基于java的基础之上,如果基础不扎实,对于这些新技术的理解也是一知半解,学不到根源。
2、做一个java项目
在学习完java的基础知识之后,做一个java项目来巩固一下,在项目中会发现很多问题,通过解决问题,加深基础知识的掌握。
3、学习数据库的基础知识和开发应用
软件开发离不了数据库,掌握几种流行的数据库:Oracle、SQL
server、MySQL等。
4、JEE基础
在这里首先要学习网站基础,包括HTML、DHTML、JavaScript;接着要学习XML,XML JAXP;然后学习JEE基础,包括JEE开发环境,RMI/IIOP、JNDI;最后学习JDBC数据库的应用开发。
5、web开发
全面的JEE的web开发知识:Servlet JSP javaBean TagLib,到这里做一个完整的web应用项目开发。
6、EJB开发
包含全面的EJB知识:1)EJB入门和无状态会话Bean;2)有状态会话Bean;3)BMP和CMP是实体Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的开发和应用;
7、开源框架的学习
学习几种现在流行的开源框架:Struts、Spring、Hibernian、Webwork等。完整的学习这些框架的开发和应用。如果有兴趣还可以学习Ibati框架、AJAX技术和DWR框架的开发和应用。
8、JEE项目
综合应用JEE的知识来开发一个完整的应用。
9、面向对象分析与设计
java是一种面向对象的语言,所以要深入学习面向对象的分析与设计,另外还要学习UML统一建模语言。
10、接下来就是系统设计与架构
这里要学习的是Java设计模式、EJB设计模式、JEE核心设计模式、JEE应用程序框架设计。
11、软件工程
软件工程基本理论知识的学习,还有Rup和极限编程。
12、技术研究
学习搜索引擎技术:如Lucene等、工作流技术:包含Shark、JBPM等、SOA架构和应用。
13、综合项目实战
实现一个企业级的应用。
零基础,学习python哪个方向入门快
Python学得倒不用很深,循环跟函数还有类学完就可以搞深度学习了。 新手用深度学习库先跑跑,真要进阶还要修改的话,你会发现瓶颈其实在数学,不在Python
零基础自学编程 应该怎么学?
当然不晚。
入门的话,建议从学c语言开始,而且要从最简单的书本开始,比如《c程序设计》,
先把基础打牢,毕竟任何哪一种编程语言都是有相似之处的,学透一门,就可以很快上手另一门。
然后再深入学习数据库、数据结构、操作系统、软件工程等等很多相关的知识。
然后你还要考虑学编程的目的是什么。如果是为了开发软件什么的,那就选一门面向对象的编程语言,比如java、c#等等。如果是为了当黑客之类的,那最好还有接触汇编和底层开发。
以上仅个人见解。
求VBS编程零基础入门
有个软件叫做vbsedit,写vbs很不错,强烈推荐
注意下载时,防病毒
零基础自学编程。
如果是零基础的话, 建议你从 Javascript 入手, 为期一个月 (无必要太长时间, 除非你准备向 web 发展 ).
首先你要知道一件事, 就是编程的编缉软件 -- 我们叫 IDE ( Integrated Development Environment, 集成开发环境 ) 其实也很有学问, 比如你想写 Java, 你首先要装个 Java 的 SDK ( Sofare Development Kit , 即是 jvm ) , 然后再装个 Eclipse 或者 Netbeans , 进入 IDE 后, 你还得设置一轮专案相关的资讯, 才能开始写你的第一句指令... ( 未见官先打八十, 有很多初学者来到这里已经意志殆尽了 )
Javascript 就最简单了, 你用个记事本 ( 其实我会建议用 notepad++ ) 写个 档, 双击一下就可以在浏览器里跑出结果来了.. 不信你就试试
用记事本, 在桌面建一个叫 test. 的档, 写入以下内容
<script> document.write ( "Hello World!" ) alert ( '成功了!' )</script>
存档后双击, 你的浏览器就是绷出来并展示结果. ( 如果走出来的是记事本的话, 那是你的副档名出错了 )
大多数编程语言的概念都是差不多的, 都是变量, 数组, 逻辑, 循环., 然后就是物件, 继承, 多型继承.. Javascript 可以给你一个很好的开始 ( 唯一是 javascript 不能读写档案 ), 你可以先锻鍊好编程者的思路. 再开始摸索其他的语言, 你会更知道你需要的是甚么.
我想自学吉他,应该从哪入门,零基础
磨好你的左手指尖肚,要不然摁琴弦的时候嗷嗷疼。买本自学教材什么一本通啊,好学。我自学的,也能弹个什么丁香花啊那些花儿啊,可是后来很久不练,手指肚软了,再摁贼疼,索性就不玩了。
⑨ 想学程序,做一个程序员入门该做什么
程序员:
程序员是从事程序开发、程序维护的专业人员。程序员一塌轿举般需要会做:确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。
通常情况下将程序员分为程序设计人员和程序编码人员,软件从业人员分团碧为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
程序:
程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。以某些程序设计语言编写,运行于某种目标结构体系上。
程序就如同以英语(程序设计语言)写作的文章,要让一个懂得英语的人(编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。
(9)想做程序员怎么入手扩展阅读:
程序员的日常工作:
1、确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求帆判的项目要求。
2、安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。
3、编码工作流程的信息转换成计算机语言的项目要求。
4、通过输入编码信息的计算机程序。
5、确认程序操作进行测试,修改程序序列和/或代码。
6、准备写操作指令供用户参考。
7、保持历史记录,通过记录方案的制定和修订。
参考链接:网络-程序员
网络-程序
⑩ 新手如何学习编程
熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:
1、语法。
2、基础理论(数学、数据结构、算法等)。
3、设计方法(编程原则、设计模式、框架设计等)。
4、库(核心、基础、UI、扩展、游戏引擎等)。
5、计算机相关(操作系统、网络、图形学等)。
6、领域知识(游戏设计、网站设计等)。
7、开发工具(编辑器、IDE、自动部署等)。
8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。
具体方法包括:
1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。
2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。
3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。
4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。
对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。
项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。