发布网友 发布时间:2022-04-23 06:11
共2个回答
热心网友 时间:2023-07-08 21:11
编程的本质是编写(广义上的)计算机可执行的指令(集合)。现在“编程”被集中在“软件工程”的需求中,产生的一个结果就是“工程化”,而“工程化”就是整个生产体系开始逐步分化以及逐步专业化,从而出现了这个领域中的各种针对性专业,比如“前端工程师”、“测试工程师”、“算法分析师”、“.NET软件工程师”。回到学习上,就变得很明确了。开发的需求需要各种技能,各种技能都是相关的,而一个项目所需要的技术在一定期限内是大致有限的。
以下是开发需要掌握的知识技能:嵌入式、架构、网络等 -> C;计算机视觉、机器学习 -> Matlab, Python;计算机图形学 -> C++;计算生物 -> perl;网站后端 -> perl, python, ruby, php, scala;编程语言 -> haskell;软件分析 -> java,C++
编程需要熟悉以下东西,可以边学边做,定期训练,经常思考,长期积累:语法。
基础理论(数学、数据结构、算法等)。
设计方法(编程原则、设计模式、框架设计等)。
库(核心、基础、UI、扩展、游戏引擎等)。
计算机相关(操作系统、网络、图形学等)。
领域知识(游戏设计、网站设计等)。
开发工具(编辑器、IDE、自动部署等)。
项目管理(进度管理、分工协作、Bug管理、版本控制等)。
最普遍也是最重要的能力:创造力。
具体的学习建议上而下地给出学习建议:那么我的建议是两个选择:
1.从C语言开始,然后学习算法,走科班路线,书籍的推荐的话:首先推荐《C Prime Plus》第五版,当C作语言的入门,这是一门面向过程的语言。看完指针那章后打住,思考下是想和哪方面接触:
(1).如果选择和软件层打交道,就要和面向对象语言打交道,推荐Java入门,第一本书看《 Java程序设计语言 》,然后看《数据结构与算法 Java描述》,然后再看《Java编程思想》,最后看《算法导论》。感觉有所领悟了,就去学针对你的其他语言吧。
(2).如果继续和底层打交道,那么继续看《C Prime Plus》,然后看《数据结构与算法C描述》。
2.从网页制作开始,然后学习网站工程,走产品路线,这是产品中最好入门
一个学习的误区与结果有句名言,“最好的程序员和最差的产出差n倍”。计算机科学基本上是由数学和机械类学科衍生而来,最大的特征就是两道门槛:能不能做出来、这个方法(算法或者设计)效率有多高。所以钻研是一种必要的学习习惯。
不必太担心学错,因为要到达工程的级别,你学过的八成知识都不会被作为工具使用,而它们的只是实现了它们的历史使命——成为你现有某个实用知识的中间点/桥梁、为你以后的学习效率做了一次铺垫。实际一点地说,对于一个“毕业了”的程序员,学习一门新的编程语言,可能只需一周,而熟悉需要三周,熟练地用于开发是三个月,精通只需一年。这也是大概而已,严谨地说,不同的语言所关联的知识点的数量是不一样的。这也不影响举例,因为在这之前,一个大学生在学习他们的第一门语言,通常是C/C++,用了一个学期,还可能挂科呢。别想速成。这要能速成,那么专业人士不就该喝西北风去了?
最后重申的一点,就是软件开发本身就是一个学习的过程,只是产出的代码具备不同的价值而已。软件的特殊性已经导致了难以重复地写出两段相同的代码,一般只会改写重写,或者重用原来的代码(就是复制、黏贴或者引用、调用)。
热心网友 时间:2023-07-08 21:12
C语言的经典著作是《The C Programming Language》,一本极好的教程是《The Waite Group's C Primer Plus》。 资料:最新版的《The C++ Programming Language》非常好。作为教程,有两个阵营,一个假定你知道C,另外一个假定你不知道。到目前为止,最好的C++教程是《Who's Afraid of C++》,如果你已经熟知C,那么试一下《Teach Yourself C++》。 3、我该学习C++或是该从C开始 我不喜欢这种说法,但它是继“我该使用哪门语言”之后最经常被问及的问题。很不幸,不存在标准答案。你可以自学C并使用它来写程序,从而节省一大堆的时间,不过使用这种方法有两个弊端: 你将错过那些面向对象的知识,因为它可能在你的游戏中使得数据建模更有效率的东西。 最大的商业游戏,包括第一人称射击游戏很多并没有使用C++。但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程技术。如果你只想学C,至少要自学OO(面向对象)编程技术。OO是仿真(游戏)的完美方法,如果你不学习OO,你将不得不“辛苦”的工作。 资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。网络上如Intel、AMD、Motorola等有一些关于它们的处理器的资料。对于书籍而言,《Assembly Language: Step-By-Step》是很值得学习的。 资料:查找跟Delphi有关的资料,请访问:Inprise Delphi page资料:微软的VB页面有一些信息。 资料:Sun的官方Java页面有一些好的信息。IBM也有一个非常好的Java页面。JavaLobby是一个关于Java新闻的最好去处。 资料:Director、HyperCard、SuperCard、IconAuthor、Authorware。