花费了几天时间整理了c学习路线图,可以说是纯野生c程序员成长路线规划,在这里分享下,希望可以帮助到想从事c开发的同学们。本人阅历尚浅,有些知识点可能分享不正确,希望广大网友评论区补充,我会同步修正更新。
题记 最近自己一直在想,一个初学者刚开始应该学些什么,该学习到哪种程度找工作才不成问题,才能在做项目时游刃有余不被bug所困住。
是不是每一个初学者在刚开始学习任何一门编程语言的时候,都会有这样的疑问,都觉得无从下手,没有头绪。反正我当时确实有这样的困惑,在刚开始接触编程的时候,当时幸好有实验室学长和老师的建议,才减少了试错成本,可以把更多时间都花费在正确的事情上,学习效率才会高。
根据我当时的学习情况和现在目前市场上的行情来分析,罗列出新手学习c编程语言路线指南,希望对你有帮助。
计算机基础 如果你是本科生的话,在校期间,应该会学习计算机基础,c语言,计算机组成原理,操作系统等关于计算机的课程,我希望你好好学习,尤其是c语言,它是一种特别容易入门上手和了解编程思想的语言,是面向过程式的开发,首先你得学会使用它的语法做一些简单的逻辑运算,其次可以根据一定的需求,实现部分特殊算法的演练(这些对你后期学习面向对象开发语言有很大的帮助)。
如果没有开设这些课程,那么就需要你花时间去互联网上找相关视频去学习。
推荐书籍:
《c语言程序设计》(第2版)谭浩强版本
《大话数据结构》 程杰
《数据结构c语言版》 严蔚敏版
《深入理解计算机系统》(美)布赖恩特
推荐视频:
数据结构与算法基础(青岛大学-王卓)(数据结构与算法基础(青岛大学-王卓)_哔哩哔哩_bilibili)
[c语言描述]《数据结构和算法》(【c语言描述】《数据结构和算法》_哔哩哔哩_bilibili)
c基础知识基础语法 你如果前期学习过c语言的话,那么学习c基础知识就会感觉很容易,特别好理解。在这个环节你需要认真学习基础知识,你得学会在保证语法不报错的情况下,利用基础知识写一些简单的算法;得熟练了解语法,使用得当并可以实现一些逻辑代码。
(基础语法、数据类型、变量、循环、方法、数组、集合、判断、类等)
面向对象开发 c语言是面向过程的开发语言,而c是面对对象的开发语言,在使用c语言写逻辑代码时都是可以按照一定的顺利逻辑将其实现就ok,而c就不一样,你在学习语法,实现业务逻辑时得考虑程序的可扩展性,鲁棒性等。
你得拥有抽象思维,可以将现实中无生命体征的物品进行拟物处理,将它们进行更为抽象的提炼,汇总为某个特殊类,让其这个类代表这类物品,并让其拥有这个物品的所有属性和行为,这就是面向对象开发。
(继承、封装、多态、接口、抽象类等)
这一部分的学习比较抽象,学会拥有抽象思维,让自己可以更好的理解这些知识点。
基础知识进阶 这里你将会学习一些高端的编程玩法,可能短期内,你无法使用到,但是它们更多体现在你的职业后期,当你实际使用框架或者阅读源码的过程中,都会遇到这些知识点,并有可能被它困住。
(linq、泛型、委托、事件、多线程、socket开发)
推荐书籍:
c图解教程(第五版)(5星推荐入门教程)
c入门经典(里面的进阶方面知识介绍的很)
clr via c(很厚很厚的书,可以看做工具书使用)
推荐视频
微软官方文档(https://docs.microsoft.com/zh-cn/dotnet/)
前端技术 在编写后端代码的过程中,我们或多或少的需要对页面进行处理,那么了解和会使用前端语言是至关重要的。对于前端技术,只需要掌握到会用的程度就可以,看得懂,会用,会写就ok。
刚开始学习的话就是网页三剑客html+css+javascript,这里我推荐看网上的菜鸟教程和视频来学习,这样很容易上手,做出东西后就很有满足感。
后面可能还得学习node.js、npm等用于发布和构建的技术,这些也可以等实际使用的时候再去学习。
推荐书籍
《javascript dom 编程艺术》
《javascript权威指南》(犀牛书)
《深入浅出node》
《http权威指南》
推荐教程
菜鸟教程
javascript教程(javascript教程 - 廖雪峰的官方网站 (liaoxuefeng.com))
数据库 关于数据库的学习,需要先从最基本的sql语句开始,这个可以通过看菜鸟教程来了解和熟悉,sql语句学习的过程中要安装好数据库环境来实际操作,不能只死记硬背公式,要学会融会贯通,在真实的数据库中来体验。
目前数据库分为关系型数据库和非关系型数据库。
关系型数据库:sql server、mysql、oracle、sqlite、db2等。
非关系型数据库:mongodb、redis、nosql等。
对于我们将来从事编码开发的人员来说,我觉得你首先先学会使用sql server和mysql数据库,其余的数据库在以后的开发中再去学习也不迟。
推荐书籍
《sql必知必会》
《microsoft sql server 2008技术内幕:t-sql查询》
推荐教程
sql教程(sql教程 - 廖雪峰的官方网站 (liaoxuefeng.com))
c高级知识 你可以在github或者gitee中找到一些开源的项目,比如图书管理系统、博客系统,论坛等一系列使用高级知识来实现的项目,你需要先阅读代码,看别人是如何实现的,从而在仿照别人的实现过程来按照自己的想法编写自己的系统。(通过这样的实战项目,你可以快速的上手实现,学着并尝试做一个全栈开发,自己一个人从前端到后端再到发布上线,体验下整个软件项目的完整生命周期)。
ado.net: 它是最原始的数据库访问技术,目前基本都不使用,市面上公司都是使用封装好的orm,但是你也得学习它。你得了解它是如何和数据库进行交流的,尝试着自己做这些步奏,看是否能顺利连接数据库,并进行一系列的crud操作。
orm:orm简称对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。目前在c语言中比较流行的有entity framework,nhibernate,sqlsugar(国内)。这块你主要学习ef就可以,其余的编程思想都是想通的,你只要学会使用其中一个,其余的简单学习下技巧就很快能上手。
asp.net web api:它是一种实现前后端分离的后端技术(spa),也是目前市场上大家普遍使用的技术,通过它可以很简单的实现spa,后端开发人员只需要编写后端的业务代码,通过api暴露出访问接口,可供前端人员进行使用。
推荐书籍:
推荐系列教程
推荐视频
.net core 最后一个就是.net core,笔者在这段时间也在看core相关的知识,受益良多。这几年微软一直想通过core来颠覆.net语言的形象和未来,用它来和java争一争市场(还是有差距的),也在最近刚刚发布了.net 6预览版将以前的各个发展路线进行了大统一,以后的命令就很好区别了。
这个模块我推荐优先看微软的官方文档,因为版本众多,且先前版本差异比较大,这里推荐直接学习并使用.net 5.0,也是微软推荐的可应用于生产环境的版本。
其次可以根据asp.net core 中文文档目录来学习,它是一些程序员自发组织翻译的微软官网的文章集合,里面内容可能有些都已经失效或不在更新但最起码可以让你对core有一个崭新的认识。
其实对于core的知识点学习有很多的,这里我就不一一列举了。大家可以看下下面这张图片的内容,对照着学习就ok。
推荐书籍
《深入浅出asp.net core》
推荐系列
关于asp.net core的分享之路(壹佰文章最全总结| 《关于asp.netcore的分享之路》 - 老张的哲学 - 博客园 (cnblogs.com))
系列一:asp.net core学习视频教程(blog.core项目)(系列一、asp.net core 学习视频教程(blog.core)_哔哩哔哩_bilibili)
asp.net core合集(asp.net core合集_哔哩哔哩_bilibili)
docker和k8s方面力荐:《docker+kubernetes应用开发与快速上云》
大家可以看到在编程这条路上,如果想走的更远,更久,那么你就需要不断的去学习,不断的充实自己,做一个坚定的长期主义者。
原创不易,希望给个关注,谢谢支持。
寄语 人生短暂,我不想去追求自己看不见的,我只想抓住我能看的见的。
写一些思考和感悟
企业如何建立属于自己的官网如何设置网站的三类标题网站建设公司做示范营销型网站建设需要怎么做呢做为一名合格的网站SEO人员需要掌握哪些技术?我是世界上的编程语言,100斤!年轻站长创业:经验积累和学会坚持是关键深圳网络推广怎么做才能更好的获取流量呢坪山新区网站建设公司,坪山新区网页设计制作开发网络公司