我对学习编程语言的看法


我的编程学习历程

  • 高二,Java学到函数签名就没学了。
  • 大一开始学习了前端,学了一点点js忘了。
  • 大一上期末开始学习python,
  • 大一下开始学C语言,同时python开始用各种第三方库做小东西,js
  • 大一结束开始继续学习Java,到了多线程。同时理解了python面向对象
  • 后面大二到大三逐渐学习了算法和数据结构,go、ts、cpp、rust

目前最熟悉的还是Python、其次是js、c,学go和rust时间非常短,也几乎只是图个新鲜。

我对python的看法

优缺点

python优点:语法简单,代码量少,内置类库和第三方类库太丰富了。

python缺点:执行效率低,不适合CPU密集多线程。

我觉得他对我的目的在于

寻找生活中的bug(骚操作)

平时自动化处理一些事情,做点鼠标自动刷黄石战争(自动刷了一个星期之后退游了,发现没意思了),微信某平台自动签到,定定自动签到,定定上选修课自动复制别人的回答问题加分,利用屏幕像素点检测和鼠标操作在浏览器里自动刷网课,爬点粉丝数,暴力破解简单密码wifi(中文wifi名不太行),爬点想关注的网站,自动发邮件。

能找到生活中的bug那真是一件美事。太坏了,在危险的边缘疯狂试探。

方便以后学习辅助工作

  • 自动制作ppt,甚至自动剪视频,自动切割音频。(其实没怎么用过,只是试过)其实Pr里有插件,可以提高效率。
  • 自动读写Excel。
  • 处理字符串相关的东西。因为python处理字符串相关的语法支持很多。

学术相关

  • 数学建模比赛生成散点图,各种各样好看的图,非常方便,以后写论文可以用上。(matplotlib,主要是matlab太大了)
  • 在算法比赛中比别人更快AC简单题(像leetcode这种会对python时间宽松处理的平台那就是有点开外挂的感觉),或者调库弯道超车一下。
  • 做一些数据分析(有很多相关的库很不错,这里只是曾经了解过,但没深入学习)

python执行效率的坑注定了我不应该以找工作的目的学习他。他也不能给我带来工作,这可能是一种遗憾。

python简单的语法会吸引很多非专业人员和少儿来学习。这可能也会成为其他语言的程序员“歧视”python程序员的原因。我觉得仅从基础的语法上来看确实简单,但一涉及Cpython底层细节、面向对象等一些问题可能就不能说“它看上去挺简单”的了。甚至学到面向对象的时候还可能会突然劝退一些人。所以我觉得并不能仅从“语法看起来简单”就产生歧视心理,因为这些简单的背后隐藏了大量的细节(一行代码实现二维数组的引用坑),简单后的抽象也变得更加抽象(元类)。

可能歧视的第二点原因是算法实现的类库多,调用变得太方便了。面试官说:“你们写算法题的怎么都用的是python”。这就印证了这一点,毕竟操作字符串,列表,字典的手段和方法很多。从内置库和一些内置方法中可以找到排序、堆、队列、最大公因数、阶乘、平均数、几何平均数、众数、随机数、随机选择、正态分布、随机打乱、优先队列、前缀和等等操作。当然C++里也有排序,但python里排序直接begin和end都不用写。python的类库确实很多,确实能起到方便调用的效果。但作为学习算法来说,应该先学习基础的方法,库中对应的方法写熟练之后再来调库可能更好一些。

我对学习编程的看法

我觉得大多数编程语言都是类C语言。学了一门之后,再学第二门就可以类比着来,再学第三门之后就可以以前面学过的两门来继续类比。

人工智能真的会一直火热吗?实现人工智能相关的最火的框架真的只会是python吗?这些是不一定的。当我们觉得一个东西火的时候,它可能已经内卷严重了。

我们不能抱着一个铁饭碗的心态去只钻进一个语言里。因为时代会逐渐变化。一些曾经很火的语言,现在已经衰落。一些现在可能很火的语言,在变幻莫测的未来也会逐渐衰落。世界是动态的,我们也要是动态的。