最近兴致来了,给自己制定了一个宏伟的计划,那就是录制一个完整的python教学视频,并无偿分享给大家。
见我的博客:《0基础python入门视频教程系列》
悲催的是,至今没啥流量。
看CSDN上面软文都比较受欢迎,比如XXX十大最受欢迎编程语言。
于是,我也准备写一篇不是那么硬的文章,跟大家聊聊我对python的一些看法。
别再捧杀Python了!!
这不是危言耸听,还知道当年那些媒体是怎么捧PHP的吗?是不是快飞上天了?现在python有过之而不及。
我从05年毕业后就成为了一名程序员,一干就是十几年。你能想到的主流编程语言或多或少都接触过,C语言就不说了,这是我工作的主力语言,JAVA\C++\PHP\Javascript\Python等等,还有一些冷门的脚本语言,lua、tcl等等,可能很多人都没有用过。
什么是编程语言?
外行看热闹,内行看门道!我也算半个内行了吧,作为内行的程序员来说,编程语言到底是个什么呢?它们本质上其实就是“语法规则”嘛,对不对?这有什么神秘的,有什么高大上的呢?为什么现在这些媒体或者机构把学python搞成了这么高大上这么时髦的东西呢,我始终想不明白。
编程语言的语法规则,和英语的语法规则,本质上没啥区别。
由于机器只能读懂00110101010这种二进制,但是我们人读不懂。所以呢,牛X的科学家前辈们,就抽象出了一套牛X的语法规则,这套语法规则我们人类通过训练是可以看懂的。这群被训练出来的人类,我们称之为“程序猿”。
“程序猿”基于这些语法规则,码代码啊码代码,码出来很多代码,然而机器看不懂你写的是啥啊?
于是,牛X的科学家们把翻译工具(编译器或者解释器)都给你写好了,“程序猿”拿着这些工具,写写makefile,点点按钮,就生成了机器能看懂的0101010100。
所以,什么是编程语言呢?它们其实就是一套语法规则。但这不影响它们很牛,它们最牛的地方就在于,世间万物居然都可以包含其中,这就是“抽象”的魔力。不会抽象的程序员,成不了架构师。
编程语言的好与坏?
为什么我们总要争论哪门编程语言好,哪门不好?为什么每年都有各种媒体发那个编程语言的排行榜?真的有人会根据那个排行榜去选择自己要学哪门语言吗?
我是做通信设备的,用的C语言,我会看见python火了,然后要求大家明天全部都改成python写代码吗? C过时了,你们看看python多火热,你们out了!
所以,编程语言没有绝对的好与坏。我依然执拗的认为,编程语言只有适合不适合,没有好与不好。脱离具体项目具体功能来讨论哪门语言好或者不好,都是在耍流氓!
每门语言都有它擅长的地方,C语言更接近底层,所以性能相对较好,另外用它来处理通信协议也更好。java则偏向一些应用层的开发。PHP做web后台。python呢?
我N年前其实就开始用python了,用来干嘛呢?写脚本!没错,我们就是用来写工具脚本或者测试脚本。那时候大数据啊、AI啊都还没有火起来,所以python更多是用来作为一种粘合剂。它就是一个工具!
我基本上没有看到一个程序员就只懂python的,作为一个合格的程序员,你应该具备快速学会一门语言并解决一个特定问题的能力。这才是干货!
别混淆了“技”与“术”
张远山《庄子传》中又阐述,“适人而无技,曰无知;适人而有技,曰小知;适人而有术,曰大知;自适其适,曰至知” ;
编程语言是一种“技”,而不是“术”。
现在的媒体误人子弟,起一些煽动性很强的标题,把python和大数据、AI挂钩,好像学好了python,你就能直接成为炙手可热的AI达人一样。
python本质上就是一种工具,就像excel一样。你会用excel了,就懂会计了吗?你学会计的时候,是先给你讲会计理论,还是老师先教你excel呢?
我们做了多年代码工作的,都应该明白一个道理,一个开发项目的关键,不是你对编程语言理解有多深,而是你对你要实现的功能或者需求理解有多深。
是AI、大数据等选择了Python,而不是Python选择了它们。
所以,如果你想成为当红炸子鸡,那么请先去搞明白AI是怎么回事吧。
等你把“术”学得差不多了,再来跟我一起学学python这个小工具。