002.小编兵哥教你编程的学习方法教您
浏览次数:30 分类:SEO基础
002. 编程的学习方法,下面一起来看看本站小编兵哥教你编程给大家精心整理的答案,希望对您有帮助
编程怎么学(入门编程教学)1
什么是学习
我认为所谓学习就是获取知识的过程
所谓知识,就是能反复使用,完成我们在新的场景下的任务.
比如说你知道了明天会出太阳就不是知识,因为你不能利用它来判断后天出不出太阳
但是你知道了太阳东升西落这就是知识,因为你可以用它来判断今后每一次有太阳都必然是东升西落
那么我们是怎么知道太阳东升西落这个规律的呢?
一是有我们相信的人告诉我们,我们会比较容易接受
二是我们多次观察这个规律都是成立的,我们就很自然形成这种认知
需要注意的是错误的认知也是知识
比如地心说在很长一段时间内都是真理一般的知识
因为人们经过长时间观察发现太阳月亮星星就是围绕地球转
直到新的观察研究表明了日心说在当前人类的认知来说更正确
这也形成了新的推翻原有知识的真理般的新知识
所有的知识都有一定的试用范围和试用时间,有的很长,有的很短
简单说知识就是规律,是在有限的条件下起作用的规律
.
但是知识的学习方法需要和知识的种类相匹配,
理解类的知识: 比如一个数学公式,如果你不能理解它是怎么推导出来的,哪怕你做一万道相关的题目也是很难在遇到新的题目时熟练应用改公式结局
运动类知识: 比如游泳,教练给你说了怎么躺平在水面,怎么划水,怎么蹬腿,你只要不下水,不坚持锻炼形成肌肉记忆,你就不可能学会
.
编程属于什么类型的知识呢?
我个人觉得是理解类的,但是呢对细节要求很高,比如python错了一个缩进,整个程序就完全地错了
针对初学者需要大量的编码练习,初学者肯定都遇到过看别人敲代码运行一气呵成,自己动手却总是这儿错那儿不对,大都是因为细节导致
我自己刚开始学编程的时候就有一个比较呆的错误: 写c语言的print(0), 我写成了print(o), 然后一直编译不通过, 有没有小伙伴第一时间没看出问题在哪儿的?评论区告诉我,O(∩_∩)O哈哈~
.
学习过程中除了多练习解决细节易出错的问题之外
一定要把核心的东西掌握牢靠,不要急着追求什么效果,什么图云,各种图表之类的,看起来好看,NB,其实就是调用别人的函数,你照着教程做出来了,并不代表你编程能力提升了,都是花架子
那么什么是核心的东西呢?
我总结如下(可能遗漏,后续更新笔记补充):
了解计算机基本组成,包括冯诺依曼体系结构等
了解程序从编写代码,调试代码,编译执行或者解释执行的过程
基本概念: 变量,函数,三大控制流程(顺序,分支,循环),函数调用,递归调用等等
充分理解分解与抽象的概念,并且熟练使用
深刻理解代码是为了业务实现(现在的需求,未来可能的需求)而服务的,在此基础上才能够很好地理解如何设计系统,如何设计代码,所有的设计原则以及设计模式都是服务于业务变更和代码复用的(这一点已经属于较高要求了,对于初学者能有这个概念就好,很多工作三五年的依然做不好,需要不断理解和训练)
.
资源推荐
最好的学习资源是官方文档,但是考虑到新手在实际操作中面对着很多的细节问题,还是推荐大家寻找讲得比较细致的培训视频入门,遇到视频中也没有提到的问题,可以搜索解决或者找有经验的人指点一二,不然一个很小的问题可能卡几天
最好的资源获取渠道是搜索引擎: google > bing > baidu: 最好搞一个梯子,很多时候能减少安装软件或者程序库的时间和烦恼
B站,youtube也是一个不错的资源获取途径
Bob大叔的书都非常非常给力: : 架构整洁之道,看着是和架构相关的,其实是打通了架构和代码设计的,对我影响非常大
对于能用烂代码实现功能,但是想要提升代码能力的还可以看看
.
编程语言推荐
首先要明白编程语言分为强类型语言和弱类型语言
相对来说强类型语言可以在编译时发现更多问题,让程序在运行中出问题的概率更小一点,所以强类型语言在大一些的项目,尤其是多人参与的项目中用得更多一点
弱类型语言相对来说写起来更灵活,变量的类型自动转换更方便,写起来通常更快
建议最晚工作后一定是要两种类型的都熟悉至少一门语言
.
说回语言选择:
选择的依据是你的目标岗位是什么(当然其实初学者学啥都行,掌握核心概念后,学什么语言都是几天的事)
说一些我了解的岗位,遗漏的大家在评论区问,我再补充
后端开发: 总的来说更推荐强类型语言
golang(推荐): 强类型,我最近三年主要使用的语言,现在很多大公司和创业公司都在使用,整体趋势十分好,在并发编程上独树一帜,对于并发要求高的程序,用得很多,写起来是最舒服的
java(推荐): 强类型,岗位多,当然学习的人也多,国内大大小小的公司用的很多,我个人自己自学写过,不喜欢,但其实是一个中规中矩的语言
c#(不是很推荐): 强类型,我的入门语言用了差不多五年,学起来简单,写起业务来是最舒服的,因为国内优秀的公司用的少,大部分是中小公司用来做内部系统,工资相对goalng/java不给力
c/c++: 强类型,了解不是很多,大概知道,做更底层的东西用得多,应用系统开发上来说,需要自己管理内存,是一个写出的程序可以很高效,但是写的不好很容易爆炸. 当然其实c语言作为入门是非常好的,难度比较大,但是理解了c语言的指针,非常有用,很多东西都变得清晰了
PHP(可以但不推荐): 弱类型,世界上最好的语言(这是一个梗),一个很古老的语言,以前互联网都用LAMP(linux+Apache+Mysql+PHP)
python/nodejs(不推荐): 都是弱类型语言,虽然说都能做,但是不推荐
.
其它岗位
web前端开发(经常被简化成前端开发): javascript(简称js)+html+css+react/vue
Android开发: java 或者 scala
IOS开发: swift
运维: bash+golang(因为golang编译出来是单个可执行文件,所以现在运维用的多)
测试: js, 不管是压力测试,还是自动化测试都好用
编程怎么学(入门编程教学)2
大多数人的编程之旅都是从搜索引擎开始的。
例如搜索“XXX语言教程”。
但要怎么决定从哪门语言开始呢?
反手给你来一广告,让你防不胜防!
“硅谷的人总是开Java的玩笑,我想应该先学Java。”
或者:
“Python!现在Python这么火!”
又或者:
“一定要学Go!你看它的吉祥物多么可爱!”
或者当我们不知所措的时候,只能搜:
“入门学什么编程语言比较好?”
人们顾虑的问题通常就那么几个,下面这张信息图很好地回答了这些疑惑:
选择第一门编程语言的过程十分有趣,这就好像是个人的信仰选择问题一样。
也许因为你像个孩子一样喜欢玩橡皮泥,稀里糊涂都打算开始学Ruby。我还是要提醒你,不要草率做决定。
想要真正掌握你的第一门编程语言,你需要投入成千上百小时来学习实践。
所以你要考虑清楚以下这几个方面:
(1)这门语言的岗位需求大不大
(2)这门语言有没有发展前景
(3)语言的学习难度
(4)在学习过程中你能运用它开发什么样的练手项目(把你的成果分享给周围的朋友才能激励你坚持学习下去)
每年都会有新的编程语言出现,以及随着而来的学术论文亦或者是搞笑段子:
第一门编程语言可选择的范围很广。下面这张图很清晰地显示了过去12年几门语言学习的Google搜索热度变化:
Java有起有落,而Python逐渐成为了最受欢迎的入门语言。除此之外,还有最近几年逐步火起来的JavaScript.(新手请注意,Java和JavaScript之间的区别就像是周杰和周杰伦之间的区别。)
在我展开讨论之前,先明确几点:
(1)我并不会在这里争论哪门语言要比哪门优越
(2)我认同一名合格的程序员最终应该掌握不止一门编程语言
(3)我想说明的是,对于刚入门的初学者来说,还是应该先专注于一门语言的学习。
我们先来聊聊现在学校里的编程教学是什么情况。
计算机基础教学
一般在大学教授编程课程的都是计算机系,而计算机专业一般数学和电子方面的内容又比较多。当然你可能早就听说过:
计算机科学的教育无法使任何人成为专业的程序员,就好像学习怎么使用刷子和颜料无法让任何人成为画家一样—— Eric S. Raymond(《大教堂与集市》作者)
即使在2020年的今天,许多大学还像教计算机科学一样教编程,像教数学一样教计算机科学。
所以许多课程中编排的入门语言是C这样底层抽象的语言,或者是专门针对数学的MATLAB.
一些专业权威的机构也推出了他们的编程语言年度排行榜seo编程基础知识,例如TIOBE Index,又或者是下面这个来自IEEE的榜单:
大多数这类榜单10年来都没有什么变化。
先专注学好一门语言,再去学别的
如果你总是在各个语言之间摇摆不定,你很难取得什么实质上的进步。
为了避免在入门阶段止步不前,你需要扎实学好你的第一门语言。之后再学习别的语言你就会感觉到异常轻松。
等到那个阶段,你就可以逐步成长为一名掌握许多语言的全面的开发者啦:
C 对于你理解计算机原理特别有帮助,例如内存管理之类的。在高性能计算中非常有用。
C++ 在桌面应用软件开发、服务器开发seo编程基础知识,音视频开发中运用广泛
Python 在科学研究和数据分析中应用广泛
如果你想在大型的科技公司中工作,Java就非常重要。
但还是先学会C语言和C++再说吧!)
编程入门就选C语言,同时C语言也是大学计算机相关专业必修课之一!
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。这样就是C/C++软件工程师工资高的原因之一,毕竟是接近底层的高级语言!
同样人们也喜欢吐槽C++,可不管有多少人吐槽,C++依然很成功。
这就和PHP是全世界最好的语言是一个道理。
所以如果再有人在你面前说JS怎么怎么不好的话,请记住C++之父的那句名言:
世界上只有两种编程语言:一种是天天被人喷的,另一种是没人用的。— Bjarne Stroustrup
自学C/C++编程难度很大,想提升你的编程能力,不妨和一些志同道合的小伙伴一起学习成长!
您好!请登录