# 那些年我从入门到放弃的各种编程语言




大学时接触过pascal，但只是在作业本上写过代码，似乎考试也得了80分，但是却一行hello world都没有在真机上编译过，也不知道学了这门语言能做什么，老师也没说以后可以做什么，大家就是拿到学分，点到为止。

毕业以后开始是做手工测试，没什么机会写代码，相反老是被写代码的人鄙视。

后来右手鼠标手，肩膀基本报废，才感到天天点来点去的日子有点看不到头，不知道该怎么突破。现在想来，那时候其实是不知道测试以后的发展道路，没有目标，所以迷茫。

穷则思变，那时候好不容易有机会接触了QTP，咬着牙学了vbs，QTP勉强能玩起来，搞了一套所谓的无人值守框架，其实就是定时晚上跑，跑出测试报告，客户也认可，算是有了一点点突破。

由于以前负责LR的小姐姐回家生小孩去了，幸运的接触到了LR，用LR去搞了一些我当时不能理解的性能测试脚本，这是c语言从入门到放弃。

但vbs并不是一门应用广泛的语言，于是从入门到放弃，开始乱学php，周六周日反正也没地方去，就在家里敲php代码，费了九牛二虎之力敲了个简单的blog系统，但由于基础太差，只能照着敲，自己写东西还是写不出来。

凭借着一点点的php+mysql+简单代码基础，我找到了一份测试开发的工作。

在工作里需要接触shell，于是shell从入门到放弃。

需要接触ruby，用ruby实现watir的测试用例，于是ruby从入门到放弃。

需要接触php，开始继续用php写一些后台功能。

需要接触html+css+js，咬着牙学，闭着眼睛瞎写，每天不是在写代码，而是在制造bug，我就是移动的人肉bug生成器，也在生产上出现过严重问题，也曾经删掉过测试服务器(```rm -rf / ```)，好在命硬，没有背锅走人。

应该是到了selenium的爆发的时候了吧，所以java从入门到放弃，为的是调用selenium RC以及最早版本的webdrier java binding。

学python也是为了使用webdriver，python没正经学过，水平自然是在平均值以下，这是python 从入门到放弃。

移动端app兴起了，java捡起来写android应用，突然发现java性价比确实很高，总能找到应用的点。

学objective-c是为了写ios应用，正经学了，但是水平依旧很差，包括后来的swift，水平都一般，都是从入门到放弃。

node的兴起以及前端的爆发使得我被迫去学习ES6以及很多前端框架，很花时间，但也算值得。

docker的兴起使得我对go lang很感兴趣，于是从入门到放弃之。

另外受ruby社区影响，我也去学习了rust和elixir，各有千秋，挺有意思。

因为一些临时需求也折腾过lua了，erlang了,c#, solidity了之类的语言，应该还有其他的，想不起来了。

总之，这些花去了我很多的时间，特别是刚开始的时候，需要下苦功夫去堆代码量，会了一些套路之后，其他语言从入门到放弃花的时间就会少一点了。

对测试同学来说，有时间就推荐学一门编译性语言，一门脚本语言，没时间就直接折腾一门脚本语言，坚持写5000行代码，写完以后可能多多少少会有一些感觉。




原始封面

![课程图片](https://images.unsplash.com/photo-1431631927486-6603c868ce5e?w=300)


