程序员要学哪些知识的简单介绍

http://www.itjxue.com  2023-04-12 12:14  来源:未知  点击次数: 

要做程序员需要学会什么?

首先要学习什么?

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

然后这样一边认识编程,一边去了解自己想开发的东西需要什么技术,比如开发安卓要用java,网站要或php。详细的了解之后需要的就是不断地去补充这些自己不懂的东西。我觉得没有必要在第一门语言选什么上纠结太久,就我个人而言,才学编程对时候连什么是面向对象编程都不知道,根本无法知道自己真正需要的技术是什么,又怎么选呢?

我认为最重要的就是尽快选一个语言开始学习吧!

给自学成才的新手程序员的六个建议

1、让编程成为一个习惯

想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。

对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!

接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的做法更容易长期坚持,且不会被其它因素所轻易干扰。

同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。

2、把工作拆分成小块

对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。

不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。

另外要向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,因此推荐各位认真了解。

3、阅读别人的代码

经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。

4、寻找良师益友

5.写技术文章

如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。一来可以提高自己的编程水平,二来也能提高自己的知名度,将来找工作也会比别人多一个机会。

6.保持耐心

对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。

在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~

程序员必备知识有哪些

根据软考程序员职称的考试内容,我们可以得出,程序员需要具备以下的知识。但这些只是基础,还要不断扩展。

计算机硬件基础知识。

1. 计算机科学基础。

1.1数制及其转换。

二进制、十进制和十六进制等常用数制及其相互转换。

1.2数据的表示。

数的表示(原码、反码、补码表示,整数和实数的机内表示方法,精度和溢出)。

校验方法和校验码(奇偶校验码、海明校验码)。

1.3算术运算和逻辑运算。

计算机中二进制数的运算方法。

逻辑代数的基本运算和逻辑表达式的化简。

1.5常用数据结构。

数组(表态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树)、图的定义、存储和操作

1.6 常用算法。

算法与数据结构的关系,算法效率,算法设计,算法描述(流程图、伪代码、决策表)

2. 计算机系统基础知识。

2.1计算机基础知识。

2.1.1计算机系统的组成,硬件系统、软件系统及层次结构。

2.1.3 中央处理器CPU。

运算器和控制器的组成,常用的寄存器、指令系统、寻址方式、指令执行控

处理机性能。

2.1.4 主存和辅存。

存储器系统。

存储介质(半导体、硬盘、光盘、闪存、软盘、磁带等)。

主存储器的组成、性能及基本原理。

Cache的概念、虚拟存储的概念。

辅存设备的类型、特性、性能和容量计算。

2.1.5 I/O接口、I/O设备和通信设备。

I/O接口(总线、DMA、通道、SCSI、并行口、RS232C、USB、IEEE1394)。

I/O设备的类型和特性(键盘、鼠标、显示器、打印机、扫描仪、摄像头,以及各种辅存设备)。

I/O设备控制方式(中断控制、DMA)。

通信设备的类型和特性(Modem、集线器、交换机、中继器、路由器、网桥、网关)及其连接方法和连接介质(串行连接、并行连接,传输介质的类型和特性)。

2.2 软件基础知识。

2.2.1 操作系统基础知识。

操作系统的类型和功能。

操作系统的内核(中断控制)和进程概念。

处理机管理、存储管理、设备管理、文件管理、作业管理、汉字处理。

2.2.2 程序设计语言和语言处理程序基础知识。

汇编、编译、解释系统的基础知识。

过程(函数)调用。

2.3 网络基础知识。

网络的功能、分类、组成和拓扑结构。

网络体系结构与协议(OSI/RM,TCP/IP)。

2.4 数据库基础知识。

数据模型,ER图。

数据操作(关系运算)。

数据库语言(SQL)。

2.5 多媒体基础知识。

多媒体基础概念,常用多媒体设备性能特征,常用多媒体文件格式类型。

3.软件开发和运行维护基础知识。

3.2 软件需求分析、需求定义及软件基础知识。

结构化分析概念(数据流图(DFD)、实体关系图(ER))。

面向对象设计、结构化设计基础知识。

模拟设计、代码设计、人机界面设计要点。

3.3 程序设计基础知识。

结构设计程序设计,程序流程图,NS图,PAD图。

程序设计风格。

面向对象设计基础知识、可视化程序设计基础知识。

3.4 程序测试基础知识。

黑盒测试、白盒测试、灰盒测试基础知识。

4. 安全性基础知识。

安全性基本概念。

加密与解密基础知识。

5. 标准化基础知识

标准化基本概念

6. 信息化基本知识。

有关的法律、法规要点。

7. 计算机专业英语。

考试科目2:程序设计。

1. 内部设计

1.1 理解外部设计。

1.3 物理数据设计。

确定数据组织方式、存储介质,设计记录格式和处理方式。

2. 程序设计。

2.1 模拟划分(原则、方法、标准)。

3. 程序实现。

3.1 编程。

编程方法和标准。

程序设计语言的使用。

4.程序设计语言(C语言为必选,其他语言可以任选一种)。

4.1 C程序设计语言(ANSI C标准)。

程序结构,语法,数据类型说明,可执行语句,函数调用,标准库函数,指针。

4.2 C++程序设计语言(ANSI C++标准)。

C++和面向对象程序设计,语法和程序结构,类、成员、构造函数、析构函数、模板、继承、多态。

4.3 Java程序设计(Java 2)。

语言机制(程序结构和语法,类、成员、构造函数、析构函数、继承、接口)。

4.4 Visual Basic程序设计(Visual Basic 6.0)。

高级java程序员具备哪些知识

java高级程序员需要具备的知识如下:

1、语法:Java程序员必须比较熟悉语法,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息 知道是什么样的语法错误并且知道任何修正。

2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟 悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

3、工具 :必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是Java程序员必须熟悉的,否则不可能熟练的运用Java,包括:

◆java.lang包下的80%以上的类的功能的灵活运用。

◆java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则 表达式、zip、以及时间、随机数、属性、资源和Timer.

◆java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

◆java.math包下的100%的内容。

◆java.net包下的60%以上的内容,对各个类的功能比较熟悉。

◆java.text包下的60%以上的内容,特别是各种格式化类。

◆熟练运用JDBC. 8)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java.

◆AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

◆Swing的基本内容,和AWT的要求类似。

◆XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试 :必须熟悉使用junit编写测试用例完成代码的自动测试。

6、管理:Java程序员必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

10、博学:Java程序员除了精通Java意外,还要掌握J2EE、Oracle、WebLogic、Jboss、Spring、Struts、Hibernate 等流行技术,掌握软件架构设计思想、搜索 引擎优化、缓存系统设计、网站负载均衡、系统性能调优等实用技术。

(责任编辑:IT教学网)

更多

推荐照片处理文章