自学编程的路并不顺利!
去年情况
去年入手了《C#入门经典》这本书后,前两、三个月一直在加紧时间看书。说实话,这本书讲得的确挺好的(系统性),很多东西一看就明白了,但有个问题,看明白了,然后就没有然后了。虽然整本书都用一个扑克牌的游戏在讲,但到了委托还是哪一节,看不懂的时候,照着代码写出来,也调试不通,这时候就麻烦了,没法继续下去了。
越到后面,越没有激情,因为写不出来一个东西,这就遇到了一个坎(今年年初才想明白):没有学习成就感。恰好,这时候又接到一个项目,虽然没有要求用什么语言,但要在短时间上线,没办法,重操旧业:PHP。
搁置的电商项目
项目以B2C商城系统为主,二期上限微信、手机端平台。电商系统首先想到就是ecshop,没错,PHP,特别是在买了MacBook Pro后,觉得真没有比MBP + PhpStorm写PHP最好的环境了。
实话,这个项目,选平台、界面花了大概20%的时间,熟悉整个系统的业务、功能所对应的代码(类、文件位置)花了大概50%的时间,20%的时间花在增加短信验证、支付宝接口实现(官方的有BUG)、微信支付的实现上,还有10%的时间花在增加多城市(不用多仓库)的功能开发上。
从8月底确定项目签意向协议,到10月国庆初上线系统,一个多月时间晚上基本11、12点睡觉(偶尔1点,有小孩后不会太晚)。下面说说一个人做项目的过程和方法,个人觉得我一个非PHP的程序员(准确来说我不是程序员)能够在这么短时间完成这个项目,还是挺不错的。(后面有时间,可以写一篇,用来共享一下echsop二次开发的实施过程和笔记,初略估计,可以节省你二开40%的时间,特别是第一次用这平台的)
不过项目在10月上线后,初始数据还未开始录入,甲方的合作伙伴对于新公司的股权和其它事项未谈妥,新公司和业务就暂停了。这情况当然不是我所期望的,虽然没有多大的损失(买的阿里云服务器,只占已付款的10%左右),但项目的尾款还有40%左右没有拿到,还是挺郁闷的。
准备深造PHP
经历这个项目后,发现MAC写PHP太舒服了,就打算好好走PHP这条路算了。然后买了几本不错的PHP书,包括一些模式、缓存介绍的,也在这时候,自己用sinaapp的环境,写了一个微信基础接口的管理平台,调用了sinaapp的缓存、storage、邮件等功能。(后台sinapp所有应用都要消耗云豆,没到半个月,送的云豆就用完了)
但后来,发现工作上能用php的地方太少了。然后就纠结了:一边是想在工作上有些亮点(基本windows平台,SQL Server数据库),一边是PHP现在做网站要流行些(据朋友的公司说,他本人是写C#的,但基本所有项目都要求用PHP),而且也要方便、快速些(自己习惯了PHP的思维)。
痛苦的纠结
PHP书也买回来了,MAC写PHP也是最舒服的,而且PHP也是跨平台的;但是感觉C#语言要高级一些,而且能够应用的场景也更丰富,虽然目前跨平台还不是很成熟。
就这样纠结了一两个月,看了无数的博文、知乎,关于各种大公司用.net很少的文章,包括京东、当当、亚马逊的关于.net C# php相关书籍,各种书评网站等等。比如看了几个网站上关于C#有关的书,发现很多人和我有一样的感触:《C#入门经典》的入门主要是指知识点的系统性了解(并非讲透),所以很多知识了解了就没法应用。
对于没讲透知识点的书,是不适合自学的。所以自学,推荐再看看《C#图解教程》这本书,看完后,再去买两本实践性的书(哪怕是典型的培训班教材都行),做一两个项目,基本就能把大部份知识派上用场了。
现在释然了
即然都想学,那就都不放弃。但是,得有重点。这个重点并不考虑工作需要,或是外界使用情况(我始终觉得,语言无好坏),也不考虑靠这个找工作吃饭。
所以重点是学习C#,毕竟感觉要比PHP的语法高级些。当然,PHP也不会丢,只是掌握基本的语法、控件(memcache/redis之类的)的使用,不深入研究,会做项目就行。
自学最难的是坚持。可有什么办法让你坚持呢,不是天天告诉自己:我要写代码。我觉得也是要找方法的,所以最近买了一本纯winform的项目书,花了两周左右的时间,把整本书的代码敲完,项目也能够部署到生产环境,也找到了学习的成就感。并且,项目中的分层架构、通用代码也在我的新项目中沉淀了下来。
我觉得,找到成就感,或许才能真正坚持写更好的代码,不消磨编程的兴趣。(其实我02年就买了一本C#的编程书,当时还买了一本Delphi的)