程序员应该怎么学习? 电脑程序员要学什么知识?

作者&投稿:住磊 2024-06-30
电脑程序员怎么学???

程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:

1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;
2、理解计算机的组成以及各主要部件的性能指标;
3、掌握操作系统、程序设计语言的基础知识;
4、熟练掌握计算机常用办公软件的基本操作方法;
5、熟练掌握基本数据结构和常用算法;
6、熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;
7、熟悉数据库、网络和多媒体的基础知识;
8、掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;
9、了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;
10、了解信息化、计算机应用的基础知识;
11、正确阅读和理解计算机领域的简单英文资料。
程序员必备技能:
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、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

首先要学习什么?
我觉得可以先选一门简单的语言进行学习,这样可以先对编程有一个初步的认识,我学习的第一门语言是c,学得不精,简直就是入门中的入门。我觉得c、java、Python都是不错的入门语言,书籍可以直接百度 ----入门书籍。

然后这样一边认识编程,一边去了解自己想开发的东西需要什么技术,比如开发安卓要用java,网站要http://asp.net或php。详细的了解之后需要的就是不断地去补充这些自己不懂的东西。我觉得没有必要在第一门语言选什么上纠结太久,就我个人而言,才学编程对时候连什么是面向对象编程都不知道,根本无法知道自己真正需要的技术是什么,又怎么选呢?
我认为最重要的就是尽快选一个语言开始学习吧!
给自学成才的新手程序员的六个建议
1、让编程成为一个习惯
想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。
对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!

接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的做法更容易长期坚持,且不会被其它因素所轻易干扰。
同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。
2、把工作拆分成小块
对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。

不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。
另外要向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,因此推荐各位认真了解。
3、阅读别人的代码
经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。
4、寻找良师益友
5.写技术文章
如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。一来可以提高自己的编程水平,二来也能提高自己的知名度,将来找工作也会比别人多一个机会。

6.保持耐心
对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。
在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~

1、选定方向
编程的世界是多元纷繁的,大的方向就分前端开发、后端开发、移动开发、云计算、数据处理、智能硬件、物联网、虚拟现实等等,光编程语言都几十种。如果没有做过功课,贸然进入只会分分钟懵逼。所以最好是根据自己的兴趣爱好再结合市场前景,先选定一个方向,再选择一门语言,然后头也不回的深深扎进去。
2、优化学习方式
做好笔记,记录经验,我们大多数人并没有过目不忘的神技,很多时候我们学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。
3、多看官方文档,外文资料
互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。
4、动手做项目
我们学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。
自学过程中的一些注意事项
1、要善于构建大的知识框架体系,不要执着于细枝末节的知识点。中国的应试教育培养出来的人都喜欢啃细节,对于自学来讲这是大忌,比如在遇到一个函数的时候,非要把这个函数的参数,返回值都弄得清清楚楚才肯罢休。
2、先学重要的知识点,用不到的可以暂时放一放,因为你时间有限,遇到比较难的知识点,如果不是特别重要的,就跳过去,当你哪天用到的时候再来好好的研究,带着问题去学习,你会发现学习难的知识点也没有那么痛苦。
3、要善于查资料,互联网就是最好的老师,遇到问题先网上查,至少能够解决你98%的问题,因为你遇到的问题别人肯定也会遇到,除非你已经到了高处不胜寒的境界。

如果是想通过自学的方式、而不是上外面的各种培训班的方式来学习编写程序的话(在这里以 C 语言为例),那么最、最简单易行的方法就是:在自己的 WINDOWS XP 系统下面,安装一个 Microsoft Visual Studio C++ V6.0 编程环境。然后再购买一本难度适合自己的 C 语言教材,按照教材上面的每一章例题、以及每一章后面的练习题,亲自把书上的每一个源程序输入到电脑中,亲自上机编译、体会、调试通过、并运行每一个源程序。只有这样,你的编程水平才能够在一个较短的时间内,有一个较大的提高。

但是在这里有一个问题必须要注意的就是:任何一种高级语言(C、C++、Python、JAVA等)都只不过是一种编程工具而已,如果将来希望能够胜任大型软件开发工作,那么还必须要学习计算机软件专业的相关课程,例如:计算机操作系统、数据结构(各种排序算法、以及查找算法)、计算机算法及其复杂性分析、各种数学知识(主要用于在大型的软件项目中进行数学建模)等。否则的话,即使掌握了高级语言的编程,那也只能够编写一些小程序,绝对无法胜任大型软件的开发工作。

软件开发分很多方向,有java、C、C++、PHP、android、ios等,你先要选择一个方向。或者,你先选择一种语言学习吧,我个人建议你先学习JAVA,简单易学,易于理解。

当你学完JAVA后,可以做前端开发,后台开发,也可以做移动端android开发。至少其它的前端语言啊,后台语言啊,等你学扎实一门语言后,你就可以触类旁通了。

最重要的是,选择好方向后,抓紧时候赶紧去学吧。与其把时间花在选择上,还不如抓紧时间学,干就完了!

给每一次学习定一个目标。
一个人一天有效的学习时间是有限的,毕竟注意力长期保持稳定是不可能的!
1.记忆衰退理论:必须及时复习。
德国心理学家艾宾浩斯研究发现,遗忘在学习之后立即开始,而且遗忘的进程并不是均匀的。最初遗忘速度很快,以后逐渐缓慢。
2.打破学习错觉,不要以为自己懂了!
3.将学习变成“欲罢不能”
4.休息!玩乐!必不可少!

可以来优 就 业进行学习呀,各个语言都有的


你是否需要了解?

成为一名程序员要学什么
答:3、程序员大都要学:数据结构,嵌入式程序员数据结构必学!4、底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!5、单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!6、ARM 体系结构,其中有汇编。7、数字电路有必要学习,不然...

零基础小白如何成为程序员?需要学习哪些内容?
答:为什么要学那么多技术?因为不同的编程语言有不同的长处。比如玩游戏,Unity很成熟很快,很多知名游戏都是用它开发的,所以开发游戏的时候几乎很多公司都在用它,程序会员一定要学。移动APP的开发主要使用JAVA、Swift、OC等编程语言,开发App必须学习这些编程语言。零基础如何自学编程?成为/kloc-0成员需要...

如果想成为一个程序员应该学习什么知识
答:1.3具有良好的程序编制风格 1.4基本算法 1.4.1查找、更新、排序、合并及字符处理 1.4.2迭代、插值、数值积分、矩阵计算、议程求解和搜索求解 1.5程序编制方法 1.5.1分支、循环、子程序(过程和函数)、递归 1.5.2输入输出和文件的处理 模块2:基础知识(程序员级)2.1软件基础知识 2.1.1...

Java程序员如何高效学习
答:要知道,人以群分。 二、学习的目的 为什么要学习呢?学习的目的,根本上是为了获取竞争优势,增加选择机会。你比别人懂得多,比别人学的深,你就更有竞争力。对于程序员来说,不懂得学习是没有办法在这个行业混下去的。技术的更新换代,技术的深入掌握都需要去不断的学习,如果你不学,很快就会被淘汰了。 找工作的时候...

程序员该如何学习新知识
答:第一:精通一两门语言大家都听说过术业有专攻这个词,作为程序员一定要一个立身安命的技术,这个技术可以让你不失业,至少也能混口饭吃的就是需要精通一两门语言,对于你选择的这两门语言是你以后长期饭碗的保障,俗话说:老婆孩子奶粉钱全指望它了,所以对于这个技术,你花再多的时间学习都不可惜,...

C程序员怎么学习
答:一、知识点学习 ①字符串 1、strlen()函数的返回值是什么类型的?2、字符串strlen() 的值,是否和他占据的内存空间相同?3、你是否知道strcpy 函数存在的潜在风险?如何避免?4、如果一个字符串没有字符串结束符,而调用str 开头的库函数,会发生什么?5、Strcpy(),strcat(),strcmp(),strncpy(),...

怎么学习编程?
答:5、最后,多看一下网上大神写的代码,学习模仿。编程概述:编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。计算机虽然功能十分强大。可以上网、玩游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的...

电脑程序员要学什么知识?
答:程序员需要学习:1、掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;2、理解计算机的组成以及各主要部件的性能指标;3、掌握操作系统、程序设计语言的基础知识;4、熟练掌握计算机常用办公软件的基本操作方法;5、熟练掌握基本数据结构和常用算法;6、熟练掌握C程序设计语言,...

新手程序员需要掌握的编程学习法
答:对于新手程序员来说,在学习过程中除了需要有一个良好的学习环境以外,还需要掌握更多的学习方法来发挥主观能动性。新手程序员学习编程的方法有哪些呢,应该如何进行学习呢?下面电脑培训为大家具有介绍。一、边学习边练习,适度刷题 “边学习边练习”非常有用,你只需每周花1、2小时的时间,把与本周的...

新手学编程该怎么入门?
答:2、学习编程工具的使用,初学者在掌握了编程原理以后就需要学习编程工具的使用了,只有熟练的掌握了编程工具的使用技巧,才能在编程中提升效率。3、多进行编程的实际练习,编程的学习最主要的就是不断的上机操作,初学者在学习的时候千万不要只看不做,而是要多看多做。4、多和有经验的编程人员交流,多...