程序员需要学些啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员需要学些啥?相关的知识,希望对你有一定的参考价值。

我初中毕业```
就是程序员要学些什么```越详细越好
不要复制他人的内容来回答
待遇``前景`怎么样
需要学多久``按一般人来说,需要学多久

我就是想学起来谋生`
在什么学习学呢??
有专门学C++这一科的吗?
或者有没有就专门程序员这种班``学习时间大概多久?学费多少?

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

程序员需要学习:

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、模块化思维能力

作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。

这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。

就业方向:

1、网络开发

现在网络已经成为世界通讯的一座桥梁,好像javascriptphp、Ruby这几类开发语言大部分是用作网络开发方面。

2、企业软件开发

JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发。

3、系统软件

C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面。

当然,这分类不是绝对,像JAVA、C#、VB很多时候也用于动态网站的开发。在很开发项目都会使用集成开发的方式,同一个项目里面使用多种开发语言,各展所长,同步开发。

但所以在刚入门的时候,建议先为自己选择一种合适的开发工具,“专注地投入学习,全力一击”。


扩展资料:

会编程、会计算机语言就能加入互联网发展大潮中,享受数字经济发展的红利,一时间社会上的程序员培训机构都变得格外火爆。

但是现在,专家的数据分析结果告诉你:若想跟上数字经济发展的步伐,光会编程可不行,这个行业现在紧缺高端的、综合型人才。

11月22日下午,清华大学经管学院互联网发展与治理研究中心与领英联合发布《中国经济的数字化转型:人才与就业》,揭示我国数字人才现状与趋势。

报告显示我国数字经济发展面临人才短缺的挑战,但这种短缺主要体现在拥有中高级专业技能数字人才的比例不高,拥有人工智能、智能制造等前沿技术的人才更是少之又少。

与美国、英国、加拿大等国家相比,中国的数字人才储备尚有很大差距。

此外,报告根据对人才需求的数据分析,结果显示我国数字人才的技能需求不再强调单一编程技能,更加看重技术、管理和领导力等综合技能。

2015年,我国从事信息传输、软件和信息技术服务相关工作的人数约350万,但其中中高端人才,特别是前沿技术的数字人才并不多。根据领英中国智库的研究,在人工智能领域,美国的从业者数量在85万人以上,印度15万,英国14万,中国只有5万多人。

报告负责人、清华大学经济管理学院副院长陈煜波教授表示,我国目前在大数据与人工智能领域人才缺口明显。

他解释说,目前中国85%以上的数字人才分布在产品研发类,而深度分析、先进制造、数字营销等职能的人才加起来只有不到5%,存在较大缺口,新兴技术人才和创新型人才培养方面存在滞后和不足。

这份研究报告的基础数据来自领英在中国的3600万个人用户,这些用户毕业于1.5万多所国内外院校,分布在36.4万家企业,拥有超过2.3万项技能。

陈煜波研究团队从中筛选了72万数字人才,多维度提取用户画像并跟踪其职业轨迹,以此预测不同地区的人才流向、雇佣率、受雇主欢迎的技能等人才趋势层面的信息。

陈煜波说,根据数据分析结果,整体来看,虽然编程技能和数据分析技能需求占据主导,然而随着数字产业走向成熟,企业除了强调编程技能,也逐步更加看重人才的技术、管理和领导力等综合技能。

近年间,项目管理、产品运营等“技术+管理”类技能的需求呈现出明显的上升趋势,懂技术、懂管理的人才被认为是“一将难求”。

领英中国代理总裁曾志恒也提醒,如果你有兴趣向数字职能转型,不能仅仅专注于自己的技术能力,沟通和领导力等软性技能将成为你脱颖而出的关键。

陈煜波希望这些研究结果能为教育行业和政府部门提供借鉴。他说,教育行业可根据职位的供需趋势更好地规划人才培养的方向,政府也可更好地了解人才流动方向、技术缺口等,以此制定有针对性的引才策略。

程序员岗位职责:

1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。

3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。

4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。

5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。

6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。

7、负责相关技术文档的拟订。

8、负责对业务领域内的技术发展动态进行分析研究。

相关书籍:

很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。

其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。

下面就按照各本书的推荐数排列。

1、《代码大全》 史蒂夫·迈克康奈尔

2、《程序员修炼之道》

3、《计算机程序的构造和解释》

4、《算法导论》

5、《重构:改善既有代码的设计》

6、《设计模式》

7、《人月神话》

8、《计算机程序设计艺术》

9、《编译原理》(龙书)

10、《活着》

参考资料:百度百科-程序员

参考资料:人民网-近四成程序员单身 平均年薪达19万元

参考资料:人民网-会编程就能当码农? 行业紧缺高端、综合型人才

参考技术A 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、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,你可以继续寻找别的出路了。)
参考技术B 回答

欢迎您的咨询,我是为您解答的答主,目前已累计帮助4000余人,您的问题我已看到,目前正在为您整理答案,请您稍等一会儿哦~

根据您的提问,做出如下解答:学程序员需要具备扎实的数学根本常识,熟悉常用的英语词汇,具备扎实的计算机文化知识。除了这些知识方面的基础,学程序员还需要有一颗源于创新的心,有足够的耐力和毅力,有充沛的精神力。在学习语言的过程中要有机会进行检验,不能只编写代码,还要检验代码的结果运行是否正确,也就是某些可以运行结果的软件我们要有,不过许多的编程语言都要求有被程序员设计来将代码转换成机器能理解的语言的编译器。另外,程序员要学会习惯在编程的过程中不断修复错误和漏洞。当你在编程时,你总会碰到bug,它们存在程序中,并且可能随时随地的出现在程序中的任何一个地方。[嘻嘻][嘻嘻]

提问

现在是初中九年级 梦想当程序员 要怎么学?

回答

目前您就应该把数学基础打牢,然后准备中考,上一个好高中,在完成高考之后,就可以报考计算机专业了。大学毕业以后您就是程序员了。[嘻嘻][嘻嘻]

参考技术C 学习软件开发出来就是程序员
软件开发需要学习SQL Server2005数据库设计和高级查询、数据结构、C#面向对象程序设计、html5与CSS3开发、JavaScript、jQuery高级编程、PHP开发、软件工程、JAVA面向对象程序设计、J2EE服务器端高级编程、APP应用程序开发、oracle数据库、android应用开发等。
我们这里这个专业需要学习2-3年,至于到底是2年还是3年,可以自己选择
如果想要学C++这一门课程,可以选择短期培训
专业只要学得好,就业前景是非常好的
参考技术D

程序员需要:

    学习软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,分配项目的实施和技术支持工作。

    学习软件部开发的软件项目的相关软件技术。

    学习软件安装调试、数据割接、用户培训和项目推广。

    学习相关技术文档的拟订。

程序员是从事程序开发、维护的专业人员。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。

软考程序员经过学习参加计算机软件水平考试(简称软考)。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。

通过国家统一组织的考试,资格考试分为:程序员级(原初级程序员)、软件设计师(原高级程序员)以及更高水准的:信息系统项目管理师、系统分析师(原系统分析员)、系统架构设计师、网络规划设计师、系统规划与管理师。

java,web程序设计要学些啥

第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; (基础)
第二阶段:java界面编程,包括AWT,事件机制,SWING,(不常用)这个部分也可以跳过,用的时候再看都能来及;
第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分(重点);
第四阶段:数据库SQL基础,包括增删改查操作以及多表查询; Oracle Mysql
第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;
第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,CRM思想(高级)这个比较不好懂,有时间的可以学习;
第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;
第八阶段:JavaScript脚本语言,包括javaScript语法和对象,Ajax基础 ;就这两个方面的内容;
第九阶段:Servlet开发,从此开始踏入javaWeb开发的重要一步,包括XML,Tomcat服务器的安装使用操作,HTTP协议简单理解,Servlet API等,java web开发的基础。 (重要)
第十阶段:JSP开发:JSP语法和标签,自定义标签,EL,JSTL库了解以及MVC三层架构的设计模式理念;
第十一阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库,Jquery;
第十二阶段:三大框架-struts、spring、hibernate,javaWeb的精华部分(重要)
第十三阶段:其他框架学习-springMVC、mybatis,目前比较主流的框架
第十四阶段:当学习完这些知识后,你就可以深层次的学习一些企业框架,Maven、redis、log4j等等
第十五阶段:一般现在的公司企业用的系统服务器都是linux,所以有兴趣的可以学习一下,linux的各种命令
参考技术A Java Web程序设计分为5部分共19章,包括入门、JSP编程、Servlet和JavaBean开发、应用开发与框架、其他内容。
第1章 Java Web开发环境配置
1.1 B/S结构
1.2 服务器安装
1.2.1 服务器的作用
1.2.2 获取服务器软件
1.2.3 安装服务器
1.2.4 测试服务器
1.2.5 配置服务器
1.3 IDE安装
1.3.1 IDE的作用
1.3.2 获取IDE软件
1.3.3 安装IDE
1.3.4 配置IDE
1.4 第一个Web项目
1.4.1 创建一个Web项目
1.4.2 目录结构
1.4.3 部署
1.4.4 常见错误
1.5 本章总结
1.6 上机习题
第2章 HTML基础
2.1 静态网页制作
2.1.1 HTML简介
2.1.2 HTML文档的基本结构
2.2 HTML中的常见标签
2.2.1 文字布局及字体标签
2.2.2 列表标签
2.3 表格标签
2.3.1 表格基本设计
2.3.2 合并单元格
2.4 链接和图片标签
2.5 表单标签
2.6 框架
2.7 本章总结
2.8 上机习题
第3章 JavaScript基础
3.1 JavaScript简介
3.1.1 第一个JavaScript程序
3.1.2 JavaScript语法
3.2 JavaScript内置对象
3.2.1 window对象
3.2.2 history对象
3.2.3 document对象
3.2.4 location对象
3.3 本章总结
3.4 上机习题
第4章 JSP基本语法
4.1 第一个JSP页面
4.2 注释
4.3 JSP表达式
4.4.JSP程序段
4.5 JSP声明
4.6 URL传值
4.7 JSP指令和动作
4.7.1 JSP指令
4.7.2 JSP动作
4.8 本章总结
4.9 上机习题
第5章 表单开发
5.1 认识表单
5.1.1 表单的作用
5.1.2 定义表单
5.2 单一表单元素数据的获取
5.2.1 获取文本框中的数据
5.2.2 获取密码框中的数据
5.2.3 获取多行文本框中的数据
5.2.4 获取单选按钮中的数据
5.2.5 获取下拉菜单中的数据
5.3 捆绑表单元素数据的获取
5.3.1 获取复选框中的数据
5.3.2 获取多选列表框中的数据
5.3.3 获取其他同名表单元素中的数据
5.4 隐藏表单
5.5 其他问题
5.5.1 用JavaScript进行提交
5.5.2 和文乱码问题
5.6 本章总结
5.7 上机习题
第6章 JSP访问数据库
6.1 JDBC简介
6.2 建立ODBC数据源
6.3 JDBC操作
6.3.1 添加数据
6.3.2 删除数据
6.3.3 修改数据
6.3.4 查询数据
6.4 使用Prepared Statement
6.5 事务
6.6 使用厂商驱动进行数据库连接
6.7 本章总结
6.8 上机习题
第7章 JSP内置对象(1)
7.1 认识JSP内置对象
7.2 out对象
7.3 request对象
7.4 response对象
7.4.1 利用response对象进行重定向
7.4.2 利用response设置HTTP头
7.5 Cookie操作
7.6 本章总结
7.7 上机习题
第8章 JSP内置对象(2)
8.1 利用session开发购物车
8.1.1 购物车需求
8.1.2 如何用session开发购物车
8.2 session其他API
8.2.1 session的其他操作
8.2.2 SessionId
8.2.3 利用session保存登录信息
8.3 application对象
8.4 其他对象
8.5 本章总结
8.6 上机习题
第9章 Servlet编程
9.1 认识Servlet
9.2 编写Servlet
9.2.1 建立Servlet
9.2.2 Servlet运行机制
9.3 Servlet生命周期
9.4 Servlet与JSP内置对象
9.5 设置欢迎页面
9.6 在Servletr辛读取参数
9.6.1 设置参数
9.6.2 获取参数
9.7 使用过滤器
9.7.1 为什么需要过滤器
9.7.2 编写过滤器
9.7.3 需要注意的问题
9.8 异常处理
9.9 本章总结
9.10 上机习题
第10章 JSP和JavaBean
10.1 认识JavaBean
10.1.1 编写JavaBean
10.1.2 特殊JavaBean属性
10.2 在JSP扣使用JavaBean
10.3 JavaBean的范围
10.4 DAO和VO
10.4.1 为什么需要DAO和VO
10.4.2 编写DAO和VO
……
第11章 EL和JSTL
第12章 Ajax入门
第13章 验证码和文件上传、下载
第14章 MVC和Struts基本原则
第15章 Struts标签库
第16章 Struts资源文件和错误处理
第17章 Struts 2基本开发
第18章 JSP自定义标签
第19章 Web网站安全

以上是关于程序员需要学些啥?的主要内容,如果未能解决你的问题,请参考以下文章

java web程序设计要学些啥

java,web程序设计要学些啥

2020年,全栈开发者应该学些啥?(三)

Linux运维方向需要学些啥,之后可以从事哪些工作

python要学些啥

网络安全工程师要学些啥?