学习编程语言的目的
我们学习一门开发语言,目的无非有两个。
- 找工作
- 更好的适应工作
所以在回答这个问题之前,首先你要明确自己学习这门语言的目的是什么。因为这两种情况,对学好一门语言的定义和要求是不一样的。
学好编程语言的标准
针对为了找工作而学习编程语言的人群。这要看你现在处于一个什么阶段,又是出于什么考量才决定学习编程的。
你可能是即将大学毕业,或者是考虑从其他行业转行而来的零基础学员。你们对对编程语言基本没什么基础,存粹要从头学起。这类人对工作的期待值也比较低,就是奔着初级程序员而来的,能让我入门就行。
你也有可能是已经在这个领域里工作过一段时间,具备着一定的开发经验,学习编程语言,为了加深技能,更换工作环境,让职业生涯更上一层楼。
针对不同的情况,我们的标准就会不一样。我所给出的建议,主要是为了那些零基础的学员的,所以很多方法,观点都偏向基础。
对于那些有着多年开发经验的人群来说,已经对这个问题有着自己的认知,并不是很需要建议。这类人更多需要知道的就是想要达到下一生涯阶段,你应该具备怎样的能力,又应该在哪些方面进行学习投入。关于这方面,我可以给出一个建议。你可以关注一些招聘信息,不论是根据薪资水平,还是职位级别来检索,找到对应的岗位要求,这样你就可以知道你应该学习的方向了。或者更极端一点,你可以投些简历出去,以战养战,在面试的实战过程中找到自己的不足。
所以对于初学者来说,学好一门编程语言的标准,我觉着按照水平递进的关系,应该是这样的:
- 能看懂代码
- 能写代码
- 可以面试
作为初级程序员,如果只是为了满足平时的工作,其实你只要做到看的懂代码,能够照着别人的代码进行开发,就算是达到了学会的标准。剩下的事情,怎么提高能力,更好的胜任工作,那都是需要在工作环境中磨砺的。换句话说,这就已经不是学会编程语言的范畴,而是提高能力的范畴了。
很多人会有疑问,为什么面试会放在最后。通常情况下,不是应该先通过面试,才能去参加工作吗。你可能也听过这样的一句话,“面试时以为造火箭,参加工作后发现是在拧螺丝”。这其实是目前工作环境的真实写照。在面试的时候,面试官可能会故意问一些超出这个岗位范围的问题,并不是真的需要你完美无误的回答出来,更多的是看你在面对困难时的表现。所以很多时候,你在面试过程中被问的体无完肤,其实并不要太在意。但是并不是说,在面试的过程中,你就可以放飞自我了。往往在面试的时候,面试官也不确定你入职后的岗位到底是什么,他只能根据你的表现来判断你能胜任哪些工作。所以面试,你所要掌握的知识要全面,而且要表现的很自信,即使你不知道,你也要让面试官觉着你是会这块知识的。如果能让面试官对自己产生怀疑,你可能就成功了。
学会编程语言,要掌握哪些知识
这里所说的学会,其实还是针对上文中所提到的前两点。看懂代码,能写代码。掌握到这个程度,作为一个初级程序员,应对工作中的一些编程任务,已经算是达到了入门程度了。而我认为,在学习一门新的编程语言的时候,就可以通过这个方法来快速掌握。
1. 安装运行
首先你得让这门语言在你电脑上运行起来。
只有让它成功的运行起来了,你才能在学习后续内容的学习的时候,做到边学边练。否则,你就只能让学习停留在理论层次,你无法验证自己是否真的学会了。
想让一门编程语言成功运行起来,其实并不容易。它涉及到运行环境的安装,系统依赖库的维护,可运行文件的格式,运行的方法。
这里,我拿PHP为例子,给大家讲解一下。可能有同学会问,开发语言那么多,主流的就十几种,为什么要拿PHP举例子。我想说的是,开发语言只是一门工具,学深入了,每门语言可能各有各的特点,但是对于学习方法是一样的。在这里选择PHP作为演示语言,一是因为它特别简单,另一个原因是大家都说PHP是世界上最好的语言,在这里怎么也要展示一下。
安装php运行环境
基本上每一种的软件运行环境,现在都支持三种运行格式,分别适用于“Linux系统”,“Windows系统”和“Mac系统”。我们可以到网络上找到php的下载安装包,下载到电脑上进行安装。
在下载安装包的时候,我们可能还会遇到一个问题,就是php的版本众多,有php5.3,php5.4,php7等多种版本。我们到底应该选哪个呢。这个问题不光是在php这里存在,其实在其他的语言里也一样存在。这是因为这们语言在发展过程中,结合当前时代的发展趋势,都会做出来一些进化。这就跟我们手机上安装软件,会经常要求大家更新是一个道理的。对于版本问题,我的建议是这样的,如果你这是一个全新的环境,你就下载最新的稳定版本。如果你安装环境是为了运行以后的其他的项目,那你就得安装这个项目所要求的版本。因为在这些语言里,版本之间并不一定是兼容的,你版本对应不上的话,很可能导致项目运行不起来。
具体的安装方法,我这里就不做演示了。在网上我们可以找到很多相关的资料,大家可以参照着运行。如果安装过程中遇到了问题,我们可以继续交流。
php文件的形式
php的运行文件是有要求的。这个要求是文件的后缀名一定得是.php这种的。系统会把以.php为后缀的文件认为是php文件,如果你不这么命名,这个文件很可能会运行不了。
2. 基础语法
- 独有特性
接下来,我们就得知道这门语言的独有特性。这是这个语言的标志,你只要一看到代码这么写,你就会知道,是什么语言。
对于PHP语言,PHP的代码要以<?php开头,?>为结尾。
<?php
echo "Hello World";
?>
- 语言注释
注释,对于一门编程语言的重要性是怎么说都不为过的。它是可以用我们所能理解的语言写出来的文字,是写出来给开发人员自己看的,而不是给机器看的。所以对于开发语言来说,它需要有自己独特的格式,要让机器知道这些它不能理解的东西是什么。
php的注释有三种形式。
<?php
// 这是单行注释
# 这也是单行注释
/*
这是多行注释块
它横跨了
多行
*/
?>
- 变量
变量是一种存储信息的容器。 比如
x = '我是一个变量';
在这里,x就是变量,而它代表的含义是“我是一个变量”。
php中,变量的规则是这样的:
变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
- 数据类型
我们在描述事物时,会给不同的东西分类,然后用不同的思维来对待它。比如数学,语文,物理,化学等等。这种划分方便了大家的理解,也更利于交流和传播。在计算机里,它对事物也有着一套不同对待的理解方式,这种方式就被称之为数据类型。
对于编程语言而言,数据类型是对应着复杂的底层数据结构的。这些数据类型,也决定了这们语言适用的编程场景。但是对于初学者而言,我们不太需要果多的理解这些底层结构,我们首先要做的是了解这些数据类型,并且能够领活的使用它们。
在PHP中,它支持的数据类型主要有字符串,整数,浮点数,数组,对象,null这几种。接下来,我就简单的介绍一下这些类型。
字符串是一种字符组合。你可以把任意内容用引号包围起来,对php来说,这就是字符串。
$x = "Hello world!";
整数,是没有小数的数字。
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>
浮点数,其实就是含有小数点的数字。
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
布尔型,只有两个值,就是true 和 false。用于逻辑判断中,true表示这个值为真,false则表示为假。
$x=true;
$y=false;
数组,在一个变量中存储了多个值,在php中就被称之为数组。一般用array()表示。
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
对象,是一种存储数据和有关如何处理数据信息的数据类型。
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
-
运算方法
我们知道了变量和数据类型,但是这些变量在使用过程中,不是独立存在,而是需要有运算的。
这就引出了适用于各种数据类型的运算方法。
说到这里,大家可能首先想到的是数学中的加减乘除。没错,这就是运算方法,这是适用于数字类型的,还有很多其他运算方法等着我们来掌握。请往下看。
算数运算
1.png
赋值运算
2.png
字符串运算
3.png
递增/递减运算
4.png
比较运算
5.png
逻辑运算
6.png
数组运算
7.png
3. 函数方法
函数定义
函数是可以在程序中重复使用的语句块。
在编程处理问题的时候,你会发现有很多重复性的操作。在面对这些情况的时候,你有两种处理的方法,一种是每遇到一次这种问题,都重复性的写一遍代码。另外一种是,将这个处理办法整理出来放到一边,当你再次遇到的时候,把这个整理出来的方法拿过来处理一次。这后一种解决办法,其实就是函数。
在PHP里,函数的形式是这样的。
function functionName($params) {
// 执行的代码
var_dump($params);
}
// 调用函数
functionName("hello");
从示例中可以见到,函数的构成主要有三个方面。
函数声明
在php里,函数的前面需要加上关键字“function”.这个操作是告诉大家,现在的这段代码是一个函数。
函数名和参数
示例中的functionName就是函数名,函数名只要满足命名规则,我们可以任意起。但是在实际开发中,函数名是应该起一个能够让人一看就知道作用的,这样利于代码的维护。比如sayHello,getName这种名字的,我们一看就知道这个方法是做什么的。
示例中的$params表示函数中的参数,这个参数会在函数的可执行代码块中被用到。正是因为有了这个参数的存在,我们的这个方法才有可能被更广泛的使用。
函数主体
示例中,被{}包围起来的内容就是这个函数的主体。这里才是函数真正工作,解决问题的地方。我们创建了一个函数,到底让它做什么,怎么做,就是在这里实现的。
内置函数
PHP真正强大的地方,其实很大程度上就是函数的功劳。PHP内置了大量的函数,这些函数不需要我们编写,是直接可用的。这是Java,C语言所不具备的优势。所以很多时候,我们在用PHP处理问题的时候,可以很快速,很便利的就实现了出来,这种便利性就来自于PHP内置的函数库。
掌握这些函数,对于你学会学好php这门编程语言有着莫大的帮助。甚至在很多面试的过程中,面试官也会直接问你这些官方库中的函数方法。所以我们一定要对这些函数有足够的重视。
我们可以查询php手册,也可以到网络上找相关的函数介绍,这些函数的介绍很容易找到。但是也有同学会说,手册上那么多函数,难道我要全部都掌握吗。也不需要全部都掌握,但是我们一定要对重点的几个方面,重点去对待。
这些重点方面,我总结起来,主要有字符串,时间,数组这三大方面。
8.png
4. 常见应用方法
学到了这里,我们其实已经能够看懂php的代码了。所以,恭喜你,你达到了进阶的标准,可以尝试用php来处理一些更重要的互联网业务了。
对于web编程,是有着很多的应用场景的。不论在什么需求下,又不论是在怎样的应用条件下,这些基本的应用场景是不变的。如果你能掌握了这些内容,你其实就已经能够应对一定的编程需求了。
到底又哪些操作是常用的,是我们必须掌握的呢?
表单
表单处理,可以说是web场景里应用最广泛的一种处理需求。我们方问网站,一定会碰到登陆/注册的功能。
9.png
其实这就是一个表单操作。
表单操作是最典型的一种web功能。这会涉及到一些http的知识,需要学习应用form表单,需要进行前端页面和后端接口数据的结合。
对于初学者而言,这块的知识将会是你学习的一个进阶,标志着你终于可以真正的走进编程解决实际问题了。
文件
文件操作也是web编程里一个常见的应用场景。
对于文件,通常有文件上传下载,读取文件,写入文件这些操作。这么说,可能大家不会有特别清晰的理解,但是我要说,你在某一个网站上,进行的上传头像的操作,你可能就一下子感觉到熟悉了。
数据库
数据库的操作,虽然不属于php的开发范畴,但是每一个做php开发的人都离不开于数据库的配合。
我们在网络上会产生各种各样的操作,比如刚才提到的登陆注册。你注册了一个网站,必定要取一个昵称,要有密码,这些信息最终都会化作是一个数据记录,存储在一个叫数据库的地方。
所以我们在学习php编程的时候,还要同时学习数据库的知识。数据库的种类有很多,分为关系型和非关系型。关系型的代表是mysql,oracal,非关系型的代表是redis,mongodb。
对于初级程序员而言,我们至少要掌握到能够用php对mysql进行连接方问,对数据进行增删改查。
5 常用框架
每门语言都有自己常用的框架程序。
框架是什么呢?在程序设计中, 框架是构成一类特定软件可复用设计的一组相互协作的类。从这个角度上来看,我们发现,框架其实跟之前提到的函数很像,都是把一些常用的操作汇总起来,便于重复使用。但是框架所提炼汇总的功能更多更深更广阔。
框架提供了大量的易用功能,大大的简化了开发人员开发一个项目的难度。可以让开发人员可以将精力很大程度上投放到业务本身,而不用果多的去思考代码架构的实现。
框架简化了一门语言的使用方法,相当于给我们开发功能提供了一套模板,你只要在固定的位置填上相应的代码,就能够很容易的完成你想要的功能效果。
学习一门语言,框架的学习很重要。学习框架知识,我们首先要知道在这门语言中,什么框架是主流框架,然后了解这个框架是怎么运行的,什么是MVC结构,哪个目录放置页面功能,哪个目录放置数据库文件,哪个目录放置逻辑控制的代码。
6. 找一个开源项目练练手
如果上面提到的知识都掌握了,恭喜你,你已经正式入门,可以用这们语言解决实际开发中的一些问题了。
这个时候,你最需要的就是有个真实的项目去实践。如果你已经参加了工作,可以接触到实际的项目,那么你就有着比初学者更大的便利条件。如果你还没有参加工作,也没有什么项目可供自己来练习,那么我建议你最好是找一个用这个编程语言研发的开源项目。搭建起来,仿照着已有代码去增加修改些功能。
这是你掌握一门语言,最快速有效的办法。
网友评论