不知不觉真正写代码也有两年多了,踩过不少的坑,现在回想起以前犯的错, 也曾问过别人一些很低级的问题.

C语言是世界上最好的语言

在学校里接触的一个计算机语言就是它了, 枯燥难懂, 指针说起来很简单, 但是多级寻址确实用起来就很烧脑子, 那时候用的第一个编辑器还是VC6.0, 没有校验错误的能力, 一个符号写错了, 就压根不好排错. 因此后面使用了VS2010 , 这是我用的第一款IDE工具. 后面还配合着QT5, 做过一些简单的项目. 也曾在Linux上 用gcc 编译简单的脚本, 虽然比较枯燥, 但是确实乐在其中.
由于我对于硬件比较感兴趣, 就比较喜欢单片机, 依然记得I2C 异步通讯和 UART 同步串口通讯, 我人生中第一笔外快就是那时候赚的, 替别人写毕设, 小小的赚了一笔.
这是第一次发现写程序是可以挣钱的.

汇编就是积木游戏

因为家里就是做电气的, 所以从小就对这些器械很感兴趣, 因此毕业后做过这方面的工作. PLC的梯形图可以编译成 指令表, 这些指令就是汇编命令, 当然也可以梯形图加指令进行混编. 这个也是写程序, 只是这个程序就像堆积木 的游戏, 如果 搭错了一块,就会崩掉. 面向过程的思维, 就是如此锻炼出来的, 每一步做什么, 多个条件达成之后做哪一个步骤, 一步一步按照预定的步骤来, 最终达到一个唯一的结果.

人生苦短,我选Python

曾经我也想过学CPP, 最终放弃了, 因为实在是资质有限, CPP更加强大,但是要求 使用的人也更加强大. 因此 Python 就成了我的选择,一个可以快速上手的语言, 借用现成的库就可以做到, 对于很多人来说,确实很快就上手了.
曾经我也以为熟练 的使用python现成 的库完成脚本的编写就可以了,但是后面才发现,自己不了解Python的底层实现, 一度踩了不少坑, 后面终于下定决心, 好好学学python的内置方法和它的底层实现.

最奇葩的问题

以前刚刚写代码, 很多东西一窍不通, 然后我就在网上注册了一些学习论坛, 加入一些交流群, 追着别人问问题. 当时问过别人一个最奇葩的问题, 至今想起来也是觉得很蠢. 当时我写代码, 并没有项目这个概念, 同一套代码, 我在Linux上可以调用 上一层 的文件的内容, 但是在Windows下, 代码就会报错, 当时死活找不到原因, 苦苦思考了两天了,依然不得其解. 然后把代码发到论坛, 发到交流群, 又臭又长, 没人看. 直到两三个月后, 我有了项目这个概念后,才知道原因. Linux上是,只要上一级路径存在 就可以切换到那里,提取文件的, 这个和 Windows并不一样.

行百里者半九十

经常写代码,会遇到一些坑, 死活找不到原因, 然后百度也找不到原因,只能自己一步一步去试错, 最后解决了它, 往往这个折腾 的时间 都是半天起步, 有好几次折腾到晚上睡觉前,还没弄好,但是已经有思绪了, 因为太晚了就想着睡醒了弄. 结果睡觉了, 在梦里梦见自己解决这个问题了. 还是连续两三次梦到, 早上醒了, 一顿操作就解决了.我试过解决一个兼容问题用了 整整一天, 电脑重装了系统, Pycharm 进行了重装, 导致pycharm2019虚拟环境下搭建的旧项目找不到pytest, 强行用虚拟环境重建了一个项目, 然后文件替换进去,此时能够找到pytest 了, 但是无法提交代码. 出现了git 提交文件到本地仓库为空,没有东西可以提交的问题, 解决这个问题后, 代码无法提交成功, 然后强行替换上去. 强行 替换之后, 本地还是 无法再次提交, 必须pull 之后, 再次push一次. 连续的几个坑,真的让人崩溃,我当时 就是以为兼容性问题,直到我后来学了 pip 之后, 知道了是版本冻结问题导致的.
因为我在重装后, 用虚拟环境里重新安装库 的时候, 因为我没有指定版本, 导致就会下载最新的版本, 和重装之前半年都没有装过系统的时候比, 一些三方库早就更新版本了, 每次 pip install xxx 就都是安装最新版本, 从而导致新版本和旧版本的缓存有冲突, 也导致git push 不上去代码.
预防这个问题的办法, 在重装之前, pip 冻结版本号, 重装后, 对着冻结 的版本号进行重新安装, 就不会出现上述的问题, 一个问题解决了,又有新的问题出现.
在学习的过程中,很多时候都会有这种情况, 每次都想要放弃, 最后咬咬牙都坚持下来了, 行百里者半九十, 不要轻易放弃, 一步一步找问题, 最后解决它.