类比编程语言与人类语言

上班的小伙伴们今天大多应该都离开家乡去了各自的战场工作了。回家后包括以前上学时,总有学弟或一些编程的新人问我学一门什么语言比较好,现在很多外行人都知道Java这门语言,可见Java的火爆程度。培训班以及一些不是很懂的人以讹传讹,让很多外行人都想来分一杯互联网羹,而很多人都以为学一门什么语言就可以月薪上万了,这些误导人的风气我看到也是挺难过的,所以我想来根据我的经验来谈一下编程语言的问题,我会以人类语言来类比,让普通人也能看懂,看懂我这篇文章再权衡是否要入这个坑或者说怎么更好的入这个坑。

海风教育在线辅导0元一对一试听课等你来领取,领取课程方法:
1、私信留下您的手机号和姓名,需要补习的科目。
2、也可以在海风教育官网留下您的手机号领取 https://www.hfjy.com

从我开始学习到现在,我一共用过六七种编程语言,所以我觉得我对编程语言还是稍微有那么一点见解的。
语言的适用性
我对不少人都说过,编程语言只是一个工具,每种语言的出现各有其适用性,就像我们说话一样,要想表达一个意思,用中文可以说,用英文同样可以说,用法语,德语等等都可以表达,但是,你在中国,你不说中文,可能就会有很多麻烦,你需要一个翻译机来将你的话翻译成中文,这就是语言的适用性,而编程语言的适用性,我举个最近的例子,老师让我写一个webservice服务,其实我也知道这个用java来写会很方便,也更稳定,但我由于更熟悉cpp,用cpp来写就要考虑服务的稳定性,不能运行一段时间程序崩溃了或者服务崩溃了,这是很严重的问题。

语言的个性与共性
不少人不知道如何去学一门编程语言,其实语言都是一通百通的,掌握好一门编程语言后学另一门语言是很快的,只需要关注两门语言的共性与个性。何为共性个性,比如中文“这是一只狗。”,英文版是“This is a dog.”共性就是这两句话都是用的主谓宾,语法结构是类似的,个性,比如中文跟英文句号不一样,英文首字母要大写等。在编程语言中,比如变量,类,循环,分支,函数,这些都是类似的,只需要学习他们各自使用的方式就好,思想都是一样的。而个性,比如python的函数支持的可变参数,可以将*参数的变成元祖,**变成字典,其他语言里都没有这些数据结构,自然没有这种用法。再比如,python里的装饰器其实就是设计模式中的装饰者模式,所谓编程语言,其实就是各种特性的组合而已。

语言只是个工具
直接跟别人说语言是个工具,其实的确没有什么用,因为没有经验是不能理解的。比如我们写文章,我们需要用到一些修辞手法,我们需要语言优美,结构要清晰等等之类,这样写出来的文章可以说是一篇好文章,但是这样优美的文章也还是由最基本的语法结构组成,如主谓宾结构什么之类的。编程亦是如此,写一个项目好比写一篇文章,编程语言就是文章只使用的文字,同样也是要遵循语法,代码同样也有优雅之分,有些代码读起来就很舒服,思路不清晰的代码读起来就很难受,结构上比如用了某某设计模式,也许会清晰很多。学会一门编程语言才只是相当于我们会日常说话,要想跟不同的人讲话我们还要有更多的经验,就像编程还需要学习更多计算机的基础知识,更多通用的技能。

路漫漫其修远兮,编程之路需要持之以恒不断学习,才能成为一个好的程序员。

猜你喜欢

转载自blog.csdn.net/weixin_43932460/article/details/87267583