A. 程序员需要学些什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
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、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、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、《活着》
B. C\C++程序员需要掌握什么书籍
c/c++程序员需要掌握的书籍大概可以分成几个方面:
计算机基础类书籍,这类书籍包括计算机组成原理、计算机网络、数据库、操作系统、数据结构与算法。
c/c++类专业书籍,这类书籍包括基础的C语言程序设计、C++primer。
扩展类书籍,c/c++相关扩展类,推荐的有C陷阱与缺陷、深度探索C++对象模型、effective C++。
平台扩展类书籍,这类就要看你在哪类系统下做开发,一般常用的系统平台是嵌入式、windows、Unix及ios(object C++),这类书籍就比较多了,可以按照个人需求选择。
按照上述推荐的理由是:
学习计算机语言需要一定的基础,这类基础是非常重要但是很无聊的,后续在做开发的时候会觉得非常实用。
学好语言其实不是非常麻烦的部分,一般的教材类书籍即可,重要而麻烦的是在敲代码的过程中去熟练掌握、运用和创新。
扩展类书籍3可以帮助你更深入的理解你所学到的东西,而深入理解是程序员进阶的必经之路。
平台类书籍略有区别,但是标准C++是一样的,只是针对各自平台做了相应扩展(objectc++除外)。如果需要在某个平台下做开发,或者学习再去学习使用即可。
C. 小白,想入门程序员,应该从什么开始学,顺序是什么
小白想要成为程序员,首选是选择一门合适的语言,比如说:Python、Java、C、C++、GO语言等;其次,选择合适的学习方式,比如培训,周末班、脱产班还是网络班。
如果完全没有编程基础,建议大家学习Python,Python入门简单、语法清晰、通俗易懂,非常适合零基础人员。
D. 程序员需要学些什么
程序员的岗位需求很多,例如大型网络公司、软件开发公司等等都需要程序员。
程序员需要学习:
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、网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、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、《活着》
E. 程序员应该读什么书
《软件故事》([美] 史蒂夫·洛尔)电子书网盘下载免费在线阅读
资源链接:
链接:https://pan..com/s/13OInH9h3qa6ZZhcbo-GoZg
书名:软件故事
作者:[美] 史蒂夫·洛尔
译者:张沛玄
豆瓣评分:7.2
出版社:人民邮电出版社
出版年份:2014-7
页数:259
内容简介:
“本书语言流畅细腻,读起来如沐春风。它犹如一部波澜壮阔的计算机史诗,讲述了软件革命的恢弘历史,以及中流砥柱们的光辉事迹。故事并不是断断续续的,因为作者采用了微型传记的形式……他把历史写成了优美的散文,生动迷人又严谨有度。”
——David Gelernter,《纽约时报》
“这是一本给人启迪的着作,完美地展现了想象力的巨大力量。如果你想象得到,并把它编成代码,那么一定能够改变世界!”
——Boston Sunday Globe
“本书把难懂的技术概念讲解得通俗易懂。对于那些对计算机内在结构好奇的人,这是一本能让其豁然开朗的好书。计算机科学界的前辈John McCarthy曾向作者抱怨过新闻记者的无知,本书就是作者对此作出的回应……与计算机行业相关的所有新闻记者都应该读一读这本书。”
——《纽约时报书评》
“这不是一本通常意义上的书,而是一部史诗。它讲述的不是技术,而是那些设计编程语言和计算机软件的名人的故事……本书内容清晰易懂,简明扼要。软件工程让程序员不需要材料和工具也能有所创造,他们为此兴奋不已。他们能够凭空创造新的事物,唯一的限制就是自己的想象力。”
——《国际先驱论坛报》
“如果本书作者是一名程序员,那么他写的代码一定清晰有序,不需要复杂的结构或者奇怪的快捷方式就能跳转到正确的子程序上;他的写作风格也是如此。本书化繁为简,让读者与数学专家、桥牌高手、象棋大师、特立独行的科学家、批判传统观念的人,以及掀起软件革命的程序员们进行了一次愉悦的会面。”
——《新闻周刊》
“本书展现了技术缔造者们面对的挑战,是本旷世杰作。”
——《自然》周刊
聆听软件行业发展的精彩故事
领悟软件巨擘的深邃思想
放飞想象力,通过编码改变世界
Steve Lohr(作者)《纽约时报》高级作家和技术通讯记者,U .S. v. Microsoft一书合着者,现居住于纽约。
张沛玄(译者)1992年毕业于北京理工大学飞行器工程系固体火箭发动机专业,获得工学学士学位。2001年重回母校管理与经济学院就读,2004年毕业并获工商管理硕士学位。早年他曾从事软件开发,担任IT公司高级管理工作多年。
作者简介:
Steve Lohr,《纽约时报》高级作家和技术通讯记者,U .S. v. Microsoft一书合着者,现居住于纽约。
F. 10本国外经典科幻小说
国外有很多科幻小说,就选几本经典的来读读吧。下面是我为你精心整理的10本国外经典科幻小说,希望你喜欢。
国外经典科幻小说第1本:《海底两万里Twenty Thousand Leagues Under The Sea》(1870)
儒勒·凡尔纳Jules Verne是科幻小说的先驱,他的这部小说问世60年后,“科幻小说”这个词才正式出现在公众 文化 中。《海底两万里》是儒勒·凡尔纳最具预见性的作品,其 中的潜艇战、水肺 潜水 甚至泰瑟枪之后都成为现实。美国建造的世界第一艘核动力潜艇的名字“鹦鹉螺号”就源自《海底两万里》。
国外经典科幻小说第2本:《震荡波骑士The Shockwave Rider》(1975)
赛博朋克小说的开山之作,比威廉·吉布森William Gibson(发表《神经漫游者Neuromancer》)还要早九年,甚至赛博朋克cyberpunk这个词也是在这部小说发表五年后才出现。虽然, 《震荡波骑士》中没有描写一个虚拟现实的华丽网络空间,但小说中的电脑黑客在全球计算机网络上释放了一个可以自我复制的程序,约翰·布鲁勒尔John Brunner把这个程序叫做“蠕虫”。1982年,施乐帕克研究中心的研究人员发现他们在分布式计算领域所作的工作和约翰·布鲁勒尔小说中的描述惊人地 相似。1988年第一个现实中的蠕虫病毒在互联网上出现并迅速扩散,感染了数千台电脑。
国外经典科幻小说第3本:《天堂的喷泉The Fountains of Paradise》(1979)
阿瑟·C·克拉克Arthur C. Clark的这本小说描写了“太空升降机”—从位于10000公里高处的地球轨道上,将一条缆索放到地面上。通过这条缆索,人们乘坐特殊的缆车或升降机进 入宇宙空间。如果这样的“太空升降机”有一天成为现实的话,其预见性可以和《海底两万里》中的鹦鹉螺号潜艇媲美了。阿瑟·C·克拉克没有发明出太空升降机 的实物,不过他进行了严谨的演算,证明太空升降机是可行的。他甚至预测出碳纤维将是制造升降机缆索的理想材料。二十年后,这一预测成为现实,NASA(美 国国家航空航天局)首次将太空升降机研究付诸行动时,碳纳米管成为核心材料。
国外经典科幻小说第4本:《赛亭星Cyteen》(1988)
C.J.切瑞C.J. Cherryh将 故事 背景设定在一个严酷的星球,那里的定居者和地球居民关系恶劣。《赛亭星》的矛盾主线是推动克隆人超越基因复制品限制的尝试。故事中科 学家通过创造类似的童年经历,试图塑造他们社会中最有价值公民的性格。切瑞通过这部作品,巧妙地探讨了先天遗传和后天环境孰重孰轻的争论。
国外经典科幻小说第5本:《火星三部曲The Mars Trilogy》(1992-1996)
作者金·斯坦利·罗宾逊Kim Stanley Robinson把故事中对火星的殖民化开始于2026年,200年后结束,那时火星的地形改造基本完成,人类迈出了走进星际空间的第一步。火星三部曲着 重描写火星殖民者的日常生活细节,并且密切关注火星的地理环境,仿佛我们中的每个人都会登上这个红色星球一样。
国外经典科幻小说第6本:《钻石年代The Diamond Age》(1995)
故事情节是一个下等民小女孩偶然间获得了一本世界上最前进的绘本启蒙书,这本书在各 种情况下一直指导小女孩的成长。尼尔·斯蒂芬森Neal Stephenson塑造这本启蒙书和小女孩生活的整个世界时,借鉴了埃里克·德雷克斯勒Eric Drexler关于分子纳米技术的一些观念,那就是微型机械过特定时间就会创造新奇迹。
国外经典科幻小说第7本:《彩虹尽头Rainbows End》(2006)
第一次读这本小说时,主要内容中远超现实的科技让读者感觉作者弗诺·文 奇Vernor Vinge把故事背景设定在2025年似乎过度乐观。“隐形眼镜”佩戴者的周围覆盖着网络上的数字信息—“网衣”。个人社交网络资料可能出现在他们的头 边,完整的景象也可能被投射到幻想的世界,在汽车或飞机上喷涂怪物或龙的图案。不过现实世界的科技发展速度远比我当时想象的迅猛。
国外经典科幻小说第8本:《炽热Incandescence》(2008)
格雷格·伊根Greg Egan把年代设定为:遥远的未来,背景:跨星系的文明—这部作品似乎无可争议地属于太空歌剧的范畴,不过格雷格·伊根之前还写过一本广义相对论和天体物 理学的启蒙小说。故事情节大多发生在工业革命前诡异的世界,文中的角色需要尽快发现某些先进的物理学原理,否则他们就会有大灾难。
国外经典科幻小说第9本:《时间机器The Time Machine》(1895)
H·G·威尔斯H.G. Wells的这本小说有点自我剽窃的意味—那台机器的操作原理似乎是直接从《顽固的亚尔古英雄The Chronic Argonauts》中搬过来的。H·G·威尔斯的这篇短篇小说出版于1888年,比《时间机器》出版时间早七年。尽管如此,《时间机器》仍是部出色的科 幻作品,因为这部小说传播了这样的理念:时光旅行可以靠科学技术手段实现,而不是像早期的穿越故事那样依赖于魔法。近几十年中物理学家们争先恐后进行理论 上时光机器的研究,就证明《时间机器》关于四维宇宙中时光旅行的描写极具预见性。
国外经典科幻小说第10本:《我,机器人I, Robot》(1950)
1941年艾萨克·阿西莫夫Isaac Asimov创造了“机械人工程学robotics”这个词。短篇小说集《我,机器人》收录了艾萨克 · 阿西莫夫最着名的作品—《机器人三定律》(机器人不得伤害人,也不得见人受到伤害而袖手旁观;机器人应服从人的一切命令,但不得违反第一定律;机器人应保 护自身的安全,但不得违反第一、第二定律)。虽然艾萨克·阿西莫夫的作品中没有过多描述机器人的“正电子大脑”如何运作,但提出了一种思路:机器的思想运 转正常,但指令冲突使其行为怪异。之后的计算机程序员对这种思路再熟悉不过,因为指令冲突时程序就会出现bug。
科幻小说课外书相关 文章 :
1. 5本必看外国科幻小说
2. 10本课外必读书
3. 课外书大全
4. 不可错过的科幻经典小说分享
G. 从事软件开发方面的人应该看哪些课外书
◆ Visual Basic .NET 技术内幕
—— Programming Microsoft Visual Basic .NET(Core Reference)
本书内容深入全面,涵盖的主题十分丰富,并结合大量典型的代码示例来讲解Visual Basic.NET的核心编程技术。本书共分6大部分。首先介绍了Visual Basic.NET语言的基础知识,以及一些有关类的新特性,例如继承、委托和事件等。然后详细讲解了Visual Basic.NET面向对象的特性,并介绍了.NET对字符串、数字、日期/时间和文件类的内在支持,以帮助您掌握这些最重要的API元素。之后,描述了新的Windows窗体、通过ADO.NET进行数据库编程和Win32技术支持等,并讲解了如何通过程序集来部署Visual Basic.NET应用程序。最后介绍了Internet应用程序的开发,包括Web窗体、ASP.NET应用程序和诸如缓存技术、配置等新特性,以及用于Web开发的基本技术。 本书在多处指出了Visual Basic.NET与Visual Basic 6之间的区别及其新特性,并介绍了在Microsoft.NET环境下导入和重用现有的V1sualBasic代码的最佳方式。通过本书的学习,您可以全面掌握Visual Basic.NET编程技术。
◆ Microsoft Windows程序设计 - Visual Basic .NET语言描述
—— Programmin Microsoft Windows with Microsoft Visual Basic .NET
Petzold最畅销的C#书籍——现在针对Microsoft Visual Basic.NET开发人员推出了适用本。Charles Petzold是全球最权威且知名的Windows程序设计专家,他将其最畅销Programming Microsoft Windows with C#——书加以改写,使之能完全适用于Visual Basic.NET的开发人员。这位畅销书的作家示范了如何使用Visual Basic.NET将Windows Forms的功能发挥到极致(Windows Forms是新一代的Windows程序设计类库)。您将学习如何使用Visual Basic的.NET版本替Windows应用程序建立动态的用户界面与图形化输出。通过丰富的用户端应用程序范例清楚示范了最常用的技术与不为人知的技巧,有了本书,您能真正深入到VisuaI Basic.NET的核心领域。
◆ Microsoft .NET框架程序设计
—— Applied Microsoft .NET Framework programming
本书是《微软.NET程序员系列》丛书之一,主要介绍如何开发面向Microsoft .NET框架的各种应用程序。Microsoft .NET框架是微软公司推出的新平台,包含通用语言运行时(CLR)和.NET框架类库(FCL)。本书将深入解释CLR的工作机制及其提供的各种构造,同时还将讨论FCL中一些重要的类型。全书共分为 五个部分,包括:.NET框架基本原理、类型和通用语言运行时、类型设计、基本类型,以及类型管理。
本书适用于要了解、掌握.NET平台的读者,尤其适合广大编程爱好者、软件工程师、系统架构师阅读。
◆ 设计模式:可复用面向对象软件的基础
—— Design Patterns:Elements of Reusable Object-Oriented software
本书结合设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。本书适合大学计算机专业的学生、研究生及相关人员参考。
◆ 深入浅出设计模式
—— Head First Design Pattern
你不想重新发明车轮(或者更差的是,没有充气车胎的轮子),所以你从设计模式中寻求帮助——设计模式是过去人们面对同样的软件设计问题所得到的经验。 有了设计模式,就可以利用其他人的实践经验的精华,因此省下的时间可以用在其他的事情上,如:更有挑战性的事情、更复杂的事情以及更有趣的事情。你想要学习:
·重要的模式
·何时使用某个模式,为何使用该模式
·如何在你自己的设计中马上采用这些模式
·何时不该使用该模式(如何避免滥用模式)
·某个模式是依据哪些面向对象设计原理而设计出来的
更重要的是,你想在学习设计模式的过程中,不感觉到昏昏欲睡。如果你曾经读过任何一本深入浅出(Head First)系列书籍,你就会知道能够从本书中得到的是:透过丰富的视觉效果让你的大脑充分地运作。本书的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得这本书能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。
◆ 设计模式解析
—— Design Pattern Explained
本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的优越性。本书适用于学习面向中对象设计和设计模式的学生、程序员以及从事软件开发的人士。 本书要点包括: ·对象、封装和继承的新观点 ·设计模式的思想、起源及其在软件设计学科中的应用 ·模式基础以及使用统一建模语言(UML)进行面向对象软件开发 ·如何实现关键模式——Strategy(策略)、Observer(观察者)、Bridge(桥接)、Decorator(装饰)等等 ·共同点/变化点分析、设计模式以及它们如何帮助理解抽象类
◆ 代码大全第二版
—— Code Complete,Second Edition
代码大全(第二版)是着名IT畅销书作者Steve McConnell十一年前的经典着作的全新演绎:第二版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。本书中所论述的技术不仅填补 了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论你是什么背景,阅读本书都会让你在更短的时间内、更容易地写出更好的程序。
◆ 人月神话
—— The Mythical Man-Month:Essays on Software Engineering,Anniversary Edition
本书自第一版以来,畅销20余年不衰,是软件领域绝无仅有的必读经典。本文作者为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践。本书内容来自布鲁克斯在IBM公司 System/360 家族和OS/360中的项目管理经验。在本书第一次出版20年后的今天,布鲁克斯重新审视了他原先的观点,增加了一些新的想法和建议。既方便了熟悉原有内容的人们,也方便了许多第一次阅读它的读者。
◆ 人件
—— Peopleware:Proctive Projects and Teams,2nd Ed
《人件》第1版于1987 年出版,专门讨论了软件开发和维护团队的管理问题,并向人们的传统认识提出了挑战。作者在书中推崇人本管理思想,正确指出知识型企业的核心是人,而不是技术,呼吁给予软件工作者充分的自由和信任。本书推出后,立即在西方引起了轰动,被誉为"几十年来对美国软件业影响最大的理念"。与《人月神话》一样,《人件》现已成为软件团队管理的经典之作。它和《人月神话》共同被誉为软件图书中"两朵最鲜艳的奇葩"。人们认为,《人月神话》关注"软件开发"本身,《人件》则关注软件开发中的"人",因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。1999 年 2 月,《人件》第2版出版,增补了8 章新内容。这些新内容拥有更加宽广的视角,对大中型组织中的团队如何运作进行了深入探讨。《人件》最新版的中文译本由UMLChina组织翻译,清华大学出版社将于2003 年5月出版。
◆ 程序员修炼之道 —— 从小工到专家
—— The Pragmatic Programmer
本书主要介绍了软件开发的原则和方法。本书直指编程前沿,透过日益增长的现代软件开发 规范和技术,对软件开发的核心过程进行了审视——以满足用户为本,针对用户需求来产出高效、可维护的优秀代码。全书涵盖内容广博,从个人责任和职业发展,到保持代码灵活性并使之易于改动和重用,多而不杂。本书采用了有趣的轶事、详实的例子以及诙谐的对话等方式,描述了软件开发方方面面的最佳实践方案和各种缺陷。您从本书所学到的开发技巧、开发习惯以及职业态度,必将帮助您修炼成为一名真正的Pragmatic Programmer!
H. 怎么成为一名程序员,要从哪里开始学起,先学什么在学什么
答:
首先你要清楚程序员也分很多种,从语言分,有C,C++,C#,JAVA,Delphi等等,你要考虑好弄自己向哪部分发展。
一般如果没什么理解可以从C语言学起,因为C语言比较贴切于机器语言,大学里面一般也都是先学C的,学好了C语言,可以触类旁通,更容易学其他的语言。
2.Java据说是现在最热门的(所有程序员都觉得自己用的那个语言最牛逼),IOS或者android学了可以做手机软件哦,Delphi和C#是用控件拖出自己想要的结果,然后在后台写代码的,不过有人说Delphi相对落伍了,但好些大公司还是在用Delphi来搭框架的。
3.选定好语言后,如果觉得自己理解能力动手能力超强的话,自己买本入门的书,或者网上看些教学视频,边看边实践。不过这个对于初学者来说真的挺难的,因为第一次的话,可能连环境都搭不好,用来编程的软件对初学者来说还是蛮麻烦的一种软件,不是这个不行,就是那个设置错了,或者连一些基础的窗口啊工程啊项目啊的概念都没有,网络起来又要答案一个一个看,浪费时间。而且还要自己搭数据库啊什么的,真的很难。有老师教的时候,还能挂科一大片的。不过入门了,之后就简单了,自己随便找本书,学学代码用法啊,照着打就可以了。
拓展资料:
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
网络词条 程序员
I. 我是大一新生 应该看些什么书对今后发展有帮助呢 还有我想问一下 码农是怎么样的活着 大
大学已经不像高中那样成绩放在第一位(但是不是说就不重要),比较注重实践,要跟学长们打听本专业就业需要考取那些证书,抓紧时间都给考下来,我个人观点,学生会啊,社团啊之类的用处不大,考证才是硬道理,看点课外书也好,最好都是些实用的,小说啊,散文啊那些偶尔陶冶情操还行,不要迷恋。
J. 考程序员要看什么书
1、
考试大纲(清华大学出版社)
程序员考试大纲与培训指南(2009版),8元
2、
指定教材(清华大学出版社)
程序员教程(第三版),张淑平主编,57元
程序员教程(第2版),沈林兴主编,57元
3、
试题分析解答(清华大学出版社)
程序员历年试题分析与解答,2008版,38元
4、
参考用书
(清华大学出版社)
程序员考前重点辅导,李锋主编,83元
跨越程序员必备训练,
范立南主编,49元
程序员考试复习与提高(2007版),李锋主编,78元
程序员考试科目1:计算机硬软件基础知识--考点解析及模拟训练(2005版),刘克武主编,48元
程序员考试科目2:程序设计--考点解析及模拟训练(2005版),刘华主编,29元
程序员考试辅导(2005版),谢树煜主编,46元
程序员备考训练(2006版),刘克武等编,19元
备注:最好是看09年以后的书,毕竟是09年改革的。
我在华信智原也正准备考初级程序员,希望我们都过,加油!