如果想成为一个程序员应该学习什么知识
程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”
如果做一个专业的程序员:
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有其他的意志力支持你.这时候你会很容易放弃,或者转到别的如网业制作,PS,FLASH等行业的.其实我告诉你,虽然你觉得你好象已经学了很多了,其实你还是什么都没学呢,等你跨过这道坎,才是你刚入门的时候.说这些,只是想告诉你,学编程中会遇到很多困难,你要努力的克服这些困难,才能真正学到东西.否则,你根本别想学编程,趁早转行.
接下来,我帮你规划一条编程之路.
学编程的人,很少有人没学过C语言的.我推荐让C语言作为你第一个学的语言.虽然有的人说要先学VB,其实这种观念是错误的.C确实比VB枯燥,而且说实话学完C后不学别的就好象没学过,感觉什么都没学会.可是,对初学编程的人来说,只有C语言才能建立起你对编程概念的理解.VB不是编程,VB只是一种工具而已.C语言确实是个不折不扣的语言,真正让你知道什么是编程的语言.有初学C语言,用TC2编译器的人总说他学了C什么都不会.什么软件也写不出来.我可以告诉他,编程编程,编的是程序,而不是软件,软件这是程序的一个构价.你想编程出软件,那以后很轻松的就能掌握,现在你需要学的就是编程,说明确一点,你现在所需要学的就是算法.编程的灵魂是算法,这点每个人都要记住.
所以,第一门语言要学C,推荐的书为谭浩强老师的(清华大学出版社)或者克尼汉的(美国).
初学者也许需要一套视频教程来帮助自己更快的入门,那么就推荐你去百度搜索"C语言视频教程",第一页的第一条记录就是这个教程.而且是和谭老师的配套的教程!
注:有些人说谭浩强的书不好,太死板.那么我只能说你最多是个一瓶子不满,半瓶子逛荡的人.真正要掌握高深技术的时候,你会发现你没办法掌握.
C语言要学到什么样才算个头呢?其实,C语言没有学到头一说.有些人学了一辈子,还在钻研.那么你应该到什么时候学下一种呢?按时候算的话,我推荐,如果你每天有6个小时的时间学习的话,一个半月以后,你就可以转到下一个语言的学习过程中了...(我估计普通人在这一个半月内该掌握的都掌握了)
那么,下面要学的是什么呢?这会不会还有人说VB吧.还美其名曰加深对编软件的印象.这种说法很幼稚.学了C语言还学什么VB呀.其实VB确实是很强大的,容易入门,想精通了也不容易.著名的DOS系统就是用BASIC语言写出来的.可是,这种这么易用的软件对于专业学编程的人是一种不好的东西,会让人产生依赖,让人产生惰性.VB的那些控件的功能实在是太强大了,你都不用怎么思考,就可以编写出来.可是,控件毕竟是不能随你的意愿支配的,控件是死的东西.你真正要学的是编写的思想,是函数(Java中称方法).另外,学VB还不如去学Delphi呢.
注:市面上的软件一般一眼就可以看出是用什么语言编程的,而VB编写的软件几乎找不到多少.
所以,下面要学的也就那两种选择了,C++/Java.我推荐,先学Java.
Java实际上是C++改的.去除了C++中指针的部分,让C++变得更安全,同时也比C++稍微简单了一些.你需要去找一些关于Java的介绍,在看下面的东西.
我听一个北大青鸟的老师说Java的最终发展目标是J2EE.我觉得不然,J2ME一定也是个发展方向,只是他跟J2SE,J2EE有很大的不同,开发环境也很不同.关于J2ME的部分我不做讨论.而J2SE呢.说实在的,市面上的J2SE软件确实也是很少的,你见过有几个拓展名为.jre的软件?不过还是要告诉你,学习Java的人肯定最先接触的是J2SE.Java的GUI软件只是技术性的问题,也是开发手段的问题.不管你是要发展到J2EE,还是转到GUI编程,J2SE绝对不是弯路.还是那句话,算法是最重要的.而Java比C++最大的优势在于他的完全面向对象和跨平台.其实,就算你先学了Java,你还是可以很容易的掌握C++,Java程序员和C++程序员的互转是很容易的!再说一些Java的优点.Java比C++方便很多,下载了编译器后一个记事本就能写程序,JBuilder实际上只是个辅助的工具.我去一个搞Linux系统开发的公司看过,用JBuilder的很少,一般都是直接用UltraEdit直接写程序.而C++必须要用VC++等编译器,不说电脑配置低很不好用,光说VS是要花钱的,而JDK永远都是正版(免费下载),就应该用Java.其实这只是习惯问题,不管你是先学Java还是先学C++,都会很快掌握另外一个的.
Java的书有很多,初学不要买实例的,买那种一直讲基础的,清华大学出版的书很好.另外推荐视频教程,孙鑫老师的Java无难事.去52ebook直接搜索名称"Java无难事",一共有12张CD,都下载下来就好了.教程的第一课会教你如何配置,去哪下载编译器等.
要学到什么时候呢?我是这么推荐的,学到你可以不看任何资料,(当然可查看JAVA帮助文档)熟练的编写出一个酒店管理系统来.接下来,你就可以去学别的了.
这个别的,就是C++,还是那句话,Java程序员可以很容易的掌握C++,只要学了C++的基础语法,剩下的就是实践了!
C++的书可以买一本C++语言+SQL的应用,就是讲数据库系统的例子.多练是很重要的.
视频教程推荐孙鑫老师的VC++视频教程,去讯雷上搜索"孙鑫 VC++",找到那个700M多的打包教程,就是了.
其实学懂Java和C,剩下的你真的可以自己掌握了.我粗略的说一下.
比如,你可以学汇编,汇编实际上是很磨人的,不过汇编高手永远都是抢手货.
那么VB呢?DELPHI呢?哈哈,又是VB,你学,这个时候学VB,学不了几天就掌握了.不比初学轻松?
想学的你都去学,甚至还可以去学Flash,连Flash ActionScript都可以很轻松的掌握.
其实现在,你的路已经定下来了.你剩下的就是不段实践,不段往更高的方向发展.
在这之前,建议你去考几个试.
去考中国计算机软件职业资格水平考试,直接考中级的软件工程师.或者再学一些别的,考个网络工程师.如果你愿意,你可以再多学点东西,把全国计算机等级考试的1到3级的所有东西都考下来.呵呵.
到了这种程度,我想真的不用我再说了,都考你自己了.
最后,记住两句话.
编程的灵魂是算法+数据结构!
学好编程实践最重要!
转到回答:
程序员就是写程序,写程序就是写计算机编程语言,让计算机去执行。
所以成为一个程序员就要学编程语言。
学编程只是第一步。
作一个真正合格的程序员,应该具有的素质:
1:团队精神和协作能力
2:文档习惯
3:规范化的代码编写习惯
4:需求理解能力
5:模块化思维能力
6:测试习惯
7:学习和总结的能力
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
另外:
1,激情
2,自学好学
3,聪明
4,隐性的经验
5,技术多样性
声明:以后计算机也就没什么前景了 只能成为一个辅助工具
(1) 熟练掌握基本算法和数据结构,用C语言编制程序;
(2) 掌握数据结构、程序变速器和操作系统的基础知识;
(3) 了解软件工程、数据库、多媒体和网络的基础知识;
(4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
(5) 了解计算机的体系结构和主要部件的基础知识。
1.1按照软件设计说明书,能熟练使用下列程序语言编制程序
1.1.1C(美国标准)
1.2理解给定程序的功能,能发现程序中的错误并加以纠正
1.3具有良好的程序编制风格
1.4基本算法
1.4.1查找、更新、排序、合并及字符处理
1.4.2迭代、插值、数值积分、矩阵计算、议程求解和搜索求解
1.5程序编制方法
1.5.1分支、循环、子程序(过程和函数)、递归
1.5.2输入输出和文件的处理
模块2:基础知识(程序员级)
2.1软件基础知识
2.1.1数据结构基础
数组、记录、列表(list)、队列、栈(stack)、堆(heap)、树和二叉树的定义、存储和操作
2.1.2程序语言基础知识
·汇编、编译、解释系统的基础知识
·程序语言的数据类型
·程序语言的控制结构
2.1.3操作系统基础知识
·操作系统的类型和功能
·操作系统的层次结构和进程概念
·作业、处理机、存储、文件和设备等管理的基础知识
2.1.4软件工程基础知识
·软件生命周期各阶段的任务
·结构化分析和设计方法
·面向对象基本概念
·软件开发工具与环境基础知识
2.1.5数据库基础知识
·数据库模型
·数据库系统的结构
·SQL的使用初步
·常用数据库管理系统的知识
2.1.6多媒体基础知识
·多媒体基本概念
·常用图象文件
·简单图形(线段和圆)的计算机图示
2.2硬件基础知识
2.2.1数制及其转换
·二进制、十进制和十六进制等常用数制及其相互转换
2.2.2机内代码
·原码、补码、反码、移码
·定点数与浮点数的机内表示
·ASCII码及汉字编码等常用的编码
·奇偶校验码、海明码、循环冗余码(CRC)等常用校验方法
2.2.3算术运算和逻辑运算
·计算机中的二进制数运算方法
·逻辑代数的基本运算和逻辑表达式的化简
2.2.4计算机的体系结构和主要部件
·中央处理器CPU、存储器和输入/输出设备
·总线结构、指令流和数据流
2.2.5指令系统
·常用的寻址方式
·指令的格式、分类及功能
·指令的执行过程
2.3网络基础知识
2.3.1网络的功能、分类与组成
2.3.2网络协议与标准
2.3.3网络结构与通信
2.3.4网络的安全性
2.3.5Client-Server结构
2.3.6Internet和Intranet初步
程序员需要学习程序的逻辑,其次是需要学习编程的语言,这才是最根本的,有了语言才能和计算机“沟通”
如果做一个专业的程序员:
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
1.基础语言知识 :从底层的ASM 到结构化的C,到面向对象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一门
2.基础数学知识: 高等数学(数学分析) 线性代数 离散数学,概率.数理统计等等
3.基础计算机原理:操作系统原理,微机原理,编译原理 数据库原来等等
操作系统原理,C,C++,VB,JAVA会三个,精通C,,多媒体,网络基本知识,数据库要了解,还要会数据结构与算法(哪种语言描述都可以),微机原理,等等……好像还有
怎么能够成为一个程序员?
一、团队精神和协助能力 协助是一个团队里面不可或缺的精神,这是一种互相信任的无私奉献,在任何团队中,团队里面的队员都是互补的。对于一名优秀的程序员来说,他知道团队的力量是远远超过一个人的力量。在工作中没有个人主义,团队不仅强调个人的工作结果,更重要的是强调团队的整体表现。团队不仅依赖...
如果,我想当一名程序员,如何从零开始
因为真正的乐趣在于创造;如果你能改变软件业的历史,那才是英雄;不想成为BillGates,不想成为DennisRitchie和BjarneStroustrup,我会说你没有追求。有个关于程序员未来的笑话,也许你还没听过,你该听一听,摘抄如下: 一个程序员对自己的未来很迷茫,于是去问上帝。 “万能的上帝呀,请你告诉我,我的未来会怎样?” 上帝...
如何自学成为程序员?
问题四:如何成为一个程序员 1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你) 2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白点就是,在你没有找到乐趣以前,它很...
做一个程序员要具备什么
4.代码具有良好的可读性,是程序员基本的素质需求。 5.程序员需要理解一个模块的需求,把性能指标全部归结到硬件,操作系统和开发环境上。6.复用性,模块化思维能力 ,避免大部分重复性工作无谓的浪费了时间和精力。7. 测试习惯 ,作为一些商业化正规化的开发而言,专职的测试工程师是不可少的8..程序员是人才很容易被...
想要成为一名程序员的话,都必须要掌握哪些技能?
如果你正在考虑这个问题,证明你已经超过了他人的团队,你知道你想在专业领域拥有长期的发展,并编程效率不好。成为一个优秀的软件开发人员必须拥有的技能。您可以编写一个干净整洁的代码来确定您是否是优秀软件开发人员的标准之一。通过查看代码结构,人们可以轻松判断您是一个能力的程序员。只要您了解编程...
小白,想入门程序员,应该从什么开始学,顺序是什么?
最后,知道一些计算机知识的应用。这里就比较多了,比如数据库、一些基本的项目设计、项目实战等等,根据你希望的工作有针对性的去了解,或许有不小的帮助。按照上面这几个步骤进行下去,可能确实需要投入一定的时间和精力,但是一旦你选择希望成为一名程序员,就一定要坚持下去,才能取得更好的结果。
程序员是不是很简单
问题三:程序员工资高吗 看个人能力吧,总的平均水品是比较高的,也看公司,如果进了大公司,起薪都不一样, 如果是游戏行业,大公司的,主程最低都是上万,两万的少,有的公司分红N多! 如果个人选择小公司,开始也就两三千,若果做过当个经理,也就六七千的样子, 问题四:程序员累吗 首先,明确一下你选择程序员...
想转行做程序员,如何入门?
所以,如果想当成从业方向,先要确定做什么,才能下一步是学什么。如果是转行,计算机基础薄弱且不是本科以上学历,我比较建议,不要学Java或Python、Go等语言,可以考虑学PHP、H5等。做什么程序员有发展,其实也不难判断,除了用Tobie编程语言排行,或者看下百度指数 一下给你五个建议如何去入门程序员...
二十四五岁还可以入行程序员吗?
要想成为程序员,首先需要自己不抗拒写代码、找Bug。每个人的兴趣取向不同,擅长的东西也不同,如果对软件产品比较感兴趣,对网络比较好奇,富有挑战精神,那么步入程序员行业,工作激情会比较大。但如果你真的下决心当程序员那么可以说25岁不晚!程序员是一个体力兼脑力的工作,所以年龄也是一个需要考虑...
如何成为一名优秀的C程序员
1、迷恋技术,保持对代码的热情 兴趣是最好的老师,如果不是最初对编程充满兴趣,应该很少有人会选择程序员这个行业,但同时程序员是一个有点乏味枯燥的工作。如果你不迷恋技术,对代码充满热情,那你只能做一个平淡的程序员。2、在实践中成长,磨砺技术 程序员是一个在实践中成长的职业。你看再多书...
度钧盐酸: 苦逼的工程师,为了设计出性能最好的产品,不停学习电子通信计算机物理数学等多门专业高难度知识,不断加班画板子写代码,调试,测试,眼睛累的不停流泪,付出高脑力,高毅力,忍受常人不能忍受的痛苦,拿的却是最少的报酬.加班加的什么头发白,脱发,颈椎疼,肩周炎,感冒,失眠,视力下降全来了.国内技术人地位低啊.你要想做就去国外留学,找工作不回来了.国内很多技术人都改做管理了,当官赚得多,人还舒服.你想来,可以啊,非常简单,先学好一门编程技术,入行后没本事就做一辈码农,打工到老还是房奴.有本事就积累点资金自己拉人合伙做老板.
瑞丽市15871929389: 要做程序员需要学会什么??
度钧盐酸: 零基础学习java可按照这份大纲来进行学习 第一阶段:Java专业基础课程 阶段目标:1. 熟练掌握Java的开发环境与编程核心知识2. 熟练运用Java面向对象知识进行程序开发3. 对Java的核心对象和组件有深入理解4. 熟练应用JavaAPI相关知识5. ...
瑞丽市15871929389: 我想成为一名高级程序员,请问要学习什么知识呢? - ?
度钧盐酸: 程序员可以分为很多种,像Unix程序员、Windows程序员,或是C++程序员、Delphi程序员,等等.今天我想谈的是Web程序员,一名真正的Web程序员应该懂得那些方面的知识,应该注意学习哪些东西.也许有些朋友会说,我知道Asp、Jsp...
瑞丽市15871929389: 如果要做一个程序员,要学些什么啊??具体点,谢谢了 - ?
度钧盐酸: 先看你选哪种语言 我们现在学的有C++,java,C#..C语言一般说来有点过时了,(但不可否认:C#和C++都是在C语言的基础上来的)java是sun公司1995年推出的,小巧而广用,现在成为企业级应用系统开发的工具.现在特别在手机里的程序一般都是用java编写的.实用于小型软件编程 如果要用大规模的软件编程的话,可以用C#(可视化编程),这是微软2000年6月份推出的,它视一种类型安全的,现代的,简单的,由c语言和C++衍生而来的面向对象的编程语言. 当一个初级的程序员还是java比较实用,工资一般比初级的C或C++程序员的工资要高点.(虽然我现在努力学C#)无论你学什么语言,离不开学数据结构
瑞丽市15871929389: 想成为编程高手,都要学习什么知识? - ?
度钧盐酸: 答:成为高手没有捷径,唯有实践+思考! 我想说的是,所有计算机语言都只是实现目的的工具而已,不同的是C面向过程,C++和Java面向对象;与C相比,C++更适合做大型项目;Java的兼容和扩展性能更好; 如何成长为编程高手,下面...
瑞丽市15871929389: 我要自学成为一名程序员应读什么书 - ?
度钧盐酸: 先看《C程序设计》 然后《数据结构与算法》 然后《面向对象的程序设计》然后学LINUX中C或者JAVA的编程序.
瑞丽市15871929389: 想自学一下编程,做些程序.应该学什么作为计算机入门 - ?
度钧盐酸: 按以下步骤进行1、想清楚你学编程到底是要干嘛?(1)应付考试:那没啥说的,花几百块买套教程照着学.习题全做一遍基本就OK了.(2)学着玩:建议还是别学.(3)想当程序员或者希望能借此更好地完成工作,那么请看第2步.2、首先,你...
瑞丽市15871929389: 作为一个合格的程序员需要掌握的知识 - ?
度钧盐酸: 1宁专勿多 我认为,在学习技术时,不应该把面铺行太广,不要试图把OS,语言,数据库,设计等都掌握了,一个人的精力是有限的,不可能也没有必要去学习那么多的技术.'这方面想的多了,那方面必竟就想得少了'.另外,技术在某方面是相通...
瑞丽市15871929389: 想成为一名出色的程序员,需要掌握哪些知识 - ?
度钧盐酸: 熟练掌握开发工具 做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中c/c++和java是重点推荐的开发工具,c/c++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用c/c编写.而java的...
瑞丽市15871929389: 学编程要学那几种知识 - ?
度钧盐酸: 编程要求一定的数学知识,到高中水平就可以了,高数暂时可以不学.如果做系统软件需要了解操作系统的知识,如果做网络方面的,需要了解网络方面的知识,如果做硬件方面的需要了解硬件方面的知识,这个是根据你所做的程序的方向来决定,不用都学了,但如果你都掌握了当然最好.编程建议从C语言学起,然后学C++的面向对象程序设计,这样利用MFC就可以做很多事情了.现在JAVA和C#也很热门,他们是平型技术,可以根据喜好来选择. 下一代的windows会全面支持.net程序.其他的语言看你喜欢了.