全部学汇总:GreyZhang/g_CSharp: some learning notes about C#. (github.com)

说起来我今年并没有学习C#的打算,学习C++的想法倒是有的,但是也不是计划在今年。

离职之后辗转来到了北京,本以为自己是在研发的部门结果是被划归到了测试部门。由于之前学过那么一点点Python,于是被安排看一下是否能够搞定HIL的Python自动化测试用例。找来文档看了一下,只是提了一下这个是可以做的,看了一下范例全都是C#。傻眼了,因为不仅我不懂C#,HIL测试同事虽然天天玩各种窗口拖拽,实际上他们也不懂C#,而且是有点也不懂。原本我想的是他们把C#的机理讲给我听,我理解之后用Python实现。这样一来,行不通了。既然大家都不会,与其让他们学习了之后告诉我倒不如我自己主动去增加这个技能。

借助于便利的网络,网购了一本教程就开始学习。起初是一天完成了几个章节,大致只是浏览了一下。看了没几章发现这东西还真需要仔细去看看,跟我之前学习的编程语言有很大的不一样。一直以来,我使用的都是函数式的编程,面向过程的变成。突然间转向面向对象的编程,一头雾水,感到到处受到束缚。学习的过程中,我也多次向周围的几个同事抱怨——这玩意儿设计的一点都不好,应该怎么样才是合理的。但是周边的同事都是做测试的,他们压根儿就不会写代码!于是,我这么随口一说,他们也就随便一听。

一点点的学习,前面的内容学的时候拿来跟Perl、Python等语言一比较,感觉不管是什么情况下我都不想用C#。知道窗口设计,终于感到有那么点意思了!好家伙,搞个GUI这么简单!难怪Windows系统下的程序满天飞,这么多我曾经认为的高难度设计原来如此简单!当然了,微软在软件行业驰骋这么多年,斩获这么多的成果自然有他的一套。

找到了那么一点好用的功能,又考虑到现在的公司用的都是清一色的Windows。其实,学习一下C#还是一个很好的选择。这样,开发出来的工具就可以比较轻松地用在其他同事的电脑上。如果按照之前自己的Linux自由风格,即使是做出什么东西来在现在的这个团队也不好推广。

说起C#以及之前自己学习的各种编程语言,总觉得随时都能够把Windows跟Linux拉到一个对比甚至是对立的平台上。其实,我一直觉得什么操作系统并不重要,毕竟我对操作系统的本质了解的并不是那么深。甚至,我觉得绝大多数的人对此了解的都不是很多。如果真的一直去较真哪个操作系统好用,哪个操作系统高效,哪个操作系统安全我们就太浪费自己宝贵的时间了。如果自己只是把这个平台作为一个工作的平台,作为一个为这个世界创造新的东西平台,其实这些并不重要。很多时候,我觉得一个工程师的优秀与否比平台优秀与否重要的多。只有生产力才是说明一个工程师与平台组合的优秀与否的最可行的标准。不过,话虽然这么说,时间久了,我还是有些偏爱Linux,这是一种很邪门的感觉。