我为什么将python作为第二语言

首先,不可否认的是,python确实是入门编程非常好的语言。

它不像其他的静态语言,编程前需要考虑好所有变量(函数入参出参)类型等等,而且语法相对来说简单易懂,而且有很多好用的第三方库。

当初也是因为学了python才开始入门编程的。(上学的时候也学过java和c,完全没兴趣。。。)

当我有了两三年工作经验的时候,才开始将python作为第二门语言,转学go。

主要原因是:

一、python是动态语言。不需要事先知道变量类型,解释器在运行时会自动判断。

这对编程人员很便利,但是却对维护人员以及其他的服务调用方非常不友好。因为不知道变量的类型,

一旦类型不正确,所以很容易造成程序崩溃。

举个例子:

 def test(a):

    b = a.get(“b”)

学过python的人都知道,a应该是个dict。如果是str类型,str没有get方法,会报错。

所以写python的时候很爽,但是维护起来很累。

二、编程速度快,从而缺少设计和构思。

这是python的编程人员很容易养成的坏习惯。

一拿到需求就开始编程,边写边改。很快需求就完成了。

对简单需求来说,这样做提高了编程效率。

但对后续要不断修改的需求来说,就是一场灾难。

写着写着发现某个地方设计的不好,要重新设计,重新写。

又因为代码写的很随意,导致维护也不方便。

简单的说,就是为了效率,降低了可扩展性和可维护性。

个人感觉这也是为什么很多大型的项目不使用python的原因吧。

当然,这些问题都是编程人员自己的问题,如果编程人员之前学过其他静态语言,

或者自身编程功底很深。这些问题都是可以避免的。

三、代码运行效率相对其他静态语言要低

这个是动态语言的局限性。

拿python和go以为例

python就像是实时翻译,而go则是翻译好的稿子。

运行python的时候,我们需要实时把中文翻译成英文。再念出来。

运行go的时候,只需要按稿子上的英文念出来就行。

按稿子念肯定比先翻译在念要快。

很多时候,我们更在意程序的运行速度,这时候python就难以排上用场了。

四、养成对第三方库的依赖

使用python久了就会就习惯偷懒,因为python有很多三方库,想直接用三方库。

这样做其实没有问题。但是前提是你对第三方库非常熟悉,否则之后三方库出现问题的话难以定位。

避免自己造轮子没错,但是深入了解三方库有利于后期的维护以及自身编程水平的提高。

 

总结、python因为其语法简单以及丰富的三方库,大大提高了编程人员的效率。

但是也容易让编程人员养成先编程后思考的坏习惯。

丰富的标准库和三方库,屏蔽了底层细节的实现,解放了编程人员。

但是数据库、网络、操作系统等知识是优秀的编程人员所必备的技能。

python降低编程门槛的同时,也拉低了程序员的编程素质。(可能说的有点过了)

(没有任何贬低的意思)个人感觉,其他静态语言的编程人员的编程素质普遍比只会动态语言的编程人员更高一些。

因为动态语言倾向于屏蔽了很多实现的细节,来提高效率,这会导致该语言的编程人员不关注该部分细节,也就更容易出问题。

在掌握python的同时,去学习至少一门的静态语言,编程之路会走的更远。

在学习其他静态语言的时候,会遇到很多python没有的问题。因为其他语言不一定有对应的三方库。

可能需要自己造轮子,这个过程会很烦,但是对自身成长很有帮助。

以上只是个人看法,有不同意见请友善交流

posted @ 2022-01-16 16:35  菲菲菲菲菲常新的新手  阅读(152)  评论(0编辑  收藏  举报