最近几年,人工智能是个很火的行业,于是有很多的人想学习计算机编程,后面简称:编程。
提到编程,你大概会想到与它关联的三门学科:电学、数学和英语。你可能怀着满腔热血,但是想想这三门学科学得不是很好,就没有了信心,就想放弃。
那这到底是不是真相?如果没有这三门学科强大的支撑,到底能不能学编程?想学计编程,0基础从哪里开始入手学习呢?
下面由我来为你一一解答你心中的疑惑。
一、什么是编程
先简单介绍一下编程。编程就是用户和计算机的一种沟通渠道,通过编写一系列的程序指令,指挥计算机完成相应的操作。专门从事编程工作的技术人员便是程序员。
在计算机领域,编程细分下来,有很多的技术方向。从大的方向,分为两类,就是偏向于上层和偏向于底层的编程。
当然,这是人为的一个划分,只是为了便于理解。在学术上来说并不是很准确。下面我分别介绍一下这两类编程。
☀ 1、底层编程
简单来说,它更偏向于和计算机内部沟通。有点计算机基础的朋友都知道,计算机语言分为机器语言、汇编语言和高级语言。
偏向底层的编程就是使用汇编语言和一部分高级语言,来完成和计算机的交流,这类程序员和计算机的用户不直接接触。
由于目前计算机的高度集成,底层程序员大部分也用的是高级语言,例如C语言,再也不用接触那些复杂的机器指令。
举个栗子,咱们在安装打印机、扫描仪;或者手机第一次连接电脑;再或者安装完操作系统,都会做一个事情,那就是安装驱动程序。
而这个驱动程序的编写,就是由底层的程序员来编写完成的。
☀ 2、上层编程
会和用户沟通比较多点,负责将用户对软件的需求,进行编程实现。使用的计算机语言,就是高级语言。
这类程序员也是占到了程序员总数的大部分,至少在90%以上,而且这个比例还在逐步增加。你也许想学编程,也是属于这方面。
同样举个栗子,咱们每天浏览的网页;使用的手机APP;使用的各种应用系统……都是这上层的程序员编写的。
可以这样说, 每个人都会和上层的程序员有接触;或者更准确点,都会和他们写的软件有直接或者间接的接触,为什么会这样说呢?
你每天都会玩手机吧,手机上五花八门的APP,就是这些程序员的杰作;你只要接触电脑,就得用软件,这些软件都是他们编写的;
就算你不用手机、电脑,但是与你生活相关的各种信息的存储,都是使用的各种软件组成的信息系统。
21世纪,整个社会都离不开信息系统,它已经融入我们生活的方方面面。
现在,你还能说与程序员没关系。作为一个十年的程序员,很庆幸自己能为大家服务,让大家的生活更便捷。
二、学习编程的条件
学习编程,有两类人,一种是想从事这个行业;另一种是因为兴趣。不管哪一类,起步的时候是差不多的,只不过到后面深入程度是不一样的。
我现在来帮你分析一下学习编程的前提条件,这里指的也是偏上层编程的范畴。
你可能知道,计算机学科是由电学和数学来组成的,一个负责硬件;另一个负责软件。
提起程序员,在你的影响中,可能是一天坐在电脑前敲键盘,而电脑屏幕上全是字符和数字,你便把它和英语也挂上钩了。于是你便心里有了疑虑:
★学习编程,
是不是要有电学基础啊?
是不是要很深厚的数学功底?
是不是也得英语很好啊?
现在,我给你分析一下。
☄ 1.电学
主要是指数字电路和模拟电路这些学科。如果你是深度的与计算机沟通交流,与硬件自然有关系,也就是作为底层的程序员,是需要掌握的。
而你如果想学的是上层的编程,是不需要的。
举个栗子,你只是想开个炒菜馆,那你完全不用知道菜是怎么种出来的;油是怎么榨出来的;甚至你连肉是哪来的,都不需要知道。
你只负责把他们采购回来,做成美味佳肴就可以。
☄ 2、数学
计算机学科,是由数学学科延伸而来的,大学里面也叫做数信学院。可见,数学是多么的重要,我要说没有强大的数学基础,你肯定会批判我。
实际上,没有一个人是真正的0基础的,就像你现在看这篇文章,如果你是0基础,你连字都不认识,又怎么能看懂呢?
所以,如果你的文化程度是初中还没毕业,那就赶紧放弃吧,确实不适合学习。否则,你的基础一定没问题,从小到大,你还是有一定的逻辑思维的。这点逻辑思维够了。
计算机软件编程发展到现在,分工已经越来越精细,像工厂里的流水线工人,一个萝卜一个坑。
专门的数学模型由数学专家来完成,负责和数学专家对接的程序员,只占到程序员的不足5%;
更多的程序员则是和广大用户密切联系,开发出符合需求的软件产品。平时根本不需要考虑深奥的数学。
举个栗子,比如一所小学,大部分老师的要求是师范类院校小学教育毕业就可以。但是需要一个专门教音乐的岗位,那他可能需要小学教育毕业外,还得有教音乐方面的能力。
☄ 3、英语
编程的过程中,看似全是英文,其实都是一些常见的词汇,如果真正开始编程了,这些单词每天都会看到,天天见,我还不信你记不住。
对于软件里的一些交互或者提示之类的英文,都是很简单的一些语法。如果万一不行,还有度娘啊,害怕什么呢?
现在,你是否已经打消了这些顾虑,你是不是很有信心了呢?其实,大部分时候,我们都是因为不了解真相,而错失了很多美好的东西。
下面我将告诉你,怎么从零基础来学习。
三、怎样从零基础开始?
现在,我相信你肯定想试试了,在这之前,我会更详细的为了介绍上层编程的几个方向。
1、前端页面技术
这个方面严格说,是属于美工或者UI设计师的范畴,我现在在这里介绍,是因为它和程序员与有很多的交集。
在小公司,也是由程序员来兼职的。这方面的技术主要是HTML,CSS,JAVASCRIPT等。
2、高级语言
这是程序员主要掌握的技能,主要包括的技术,例如主流的C、C++、Java、Python、Object C、Swift、Go、C#等,你如果愿意,百度查找一下,有很多的高级语言。
3、数据库
主要是用来存储数据,如Oracle,SQL Server,MySQL,DB2等,当然,也有很多,你也可以查一下。
举个栗子,用百度这个搜索引擎来说。
页面上显示出来的那个搜索框和按钮,就是前端页面技术来做的工作;
点击完按钮后,后台用来做搜索工作的就是高级语言来做的工作;
海量的页面和数据存储,用的就是数据库技术。
从这里可以看到,这三层技术不是孤立的,而是相互关联的。在有些公司,都有详细的分工,一个人只需要掌握一种技术就可以了,其它的工作交给别人;
而有些公司,就可能身兼数职,每种技术都可能接触。
说完了这些技术,我来说一下,作为0基础,你到底该从哪里下手。
1、如果你是想以后走职业化路线
从单一的一种技术开始。
比如,你想做美工,或者UI设计师,那就需要学习前端技术;想做一门语言的程序员,那就学习那一门语言就可以。
想从事软件开发的工作,那就需要掌握C/C++等高级语言的技术就可以。
2、如果你只是兴趣驱动
我想你可能都得学一点,这样才能做出来一个完整的软件出来。你可能又开始担心了,那么多技术,怎么学会呢?
其实你一点不用担心,让你都学,也没说每一门技术都学多深啊,只要能入门就可以了。所以,你完全不用太操心。
当然了,你可能想着,我就想学一方面的技术,那也可以啊,玩玩总是可以的。
比如,你只学了前端技术,你展示出来的数据就是死的,不能随着变化而变化;
你只学了高级语言,那就没有友好的用户界面,只能在控制台(命令提示符,像以前的DOS)上和计算机交互;
你只学了数据库,那么只能是你手动保存数据和查询数据,不能以用户界面和自动化的方式操作数据。
看到这里,我想,你对计算机编程已经有了一个很清晰的框架了。你一定跃跃欲试了,作为老程序员,欢迎你加入编程的行列。
如果你还有不清楚的,也欢迎你来咨询我,我乐意带你上路。
更多推荐
零基础怎么学计算机编程!看完的你,应该会恍然大悟!
发布评论