自学编程经历
启蒙篇
从开始写第一个Hello world到现在,已经过去了几年.直到今天的这一篇日记,我想我应该开始我的下一个历程了.在此总结一下这几年坎坷的学习之路.
也许是因为发现了这一片新世界,才发觉时间一直不够用吧,每当有新的想法,实现起来又是一段时间,好在感觉每次完成之后总感觉是有收获的.
第一次接触编程,应该是几年前一次偶然的机会,那一段时间迷上了完单机游戏,因为需要不停地sl,从一开始的兴致勃勃慢慢的变得十分无聊.后来有人说这种重复的工 作为什么不用按键精灵代替呢?一开始我的想法是我不会!然后就没然后了.而且感觉玩个单击还要脚本有开外挂的嫌疑,没有灵魂.后来,为了不使我对游戏的兴致被无 聊重复的动作消磨殆尽,我我一次尝试用按键精灵写了一个鼠标自动移动点击的脚本.这时候我才发现,一扇新的大门从此打开了!
在接下来的那段时间,通过网上的教程陆续实现了很多功能,比如自动打怪,自动加血加蓝,自动捡东西卖东西等,虽然这个过程十分艰难,但好在不知疲倦,为自己学到的 新事物自得其乐,我很惊讶的发现我对脚本的兴致远远超过了游戏.只是不久,我发现我想要的功能越来越多,比如我的程序在别人的电脑上也能用,一个漂亮的ui窗口等 等,但我的能力远远无法实现,这个时候我才发现编程远远没有我想的那么简单.由于一直没有进展,而且属于业余,因此消沉了一段时间.
后来发现一个叫大漠插件的按键精灵插件,当时还是白的不能再白的小白的我用起来也是十分坎坷,好在可以实现我想要的功能,我也不想去深究它是什么实现的,但我 发现每当我想改一点东西的时候都无比艰难,因为我并不理解它底层是什么实现的.不得已我只能去了解一些我从未见过的东西.什么数组分割函数,什么调用系统API接 口.....这这些都是什么东西啊!!...在相当漫长的一段时间里我甚至不知道我用来写脚本的语言是什么.在此推荐如果想自学编程没有一点基础的同学可以从易语言入 手,虽然感觉这个语言有点啥但对于初学者还是很友好,而且它在某些领域也大放异彩.
虽然进度很慢,但由于坚持不懈,慢慢的我能写出一些能用的程序了,然后很多人还想要一些特别的功能,比如梦单游戏的全自动炼妖(一个单机游戏)等,我发现助人为乐 果然是有道理的,不仅能帮到别人,学习之路上也不会那么无聊,一个人摸索的道路是十分无聊的,这个时候我特别希望能有个人能和我一起导论,共同成长.
入门篇
接触真正的编程,也是一次偶然的机会,是在一款同人单机游戏群里,群主(一个浙大的学生,游戏作者)突发奇想问有没有人想学做游戏的,学习期间大概两个月这样,效 果是能用lua语言写出简单的单机游戏,在经历了差不多两个月的学习,我对编程总算有了一些概念,明白了有很多编程语言,比如lua,C,C++,JAVA,JS,C#等,以及它们的 擅长领域,以及对面向对象概念的基本理解,多线程的含义等等,在学完之后也能实现了一个简单的游戏,但此时的我感觉更加迷茫了,就好比新的大门打开了,只是门里 的雾散开之后发现了无数岔道,不知道什么走,这个时候老师建议去学一门静态语言,我不知道学什么,看推荐选择了JAVA
对于JAVA我一直有很深的误解,是因为很多年前javame在诺基亚平台上的游戏,体验感差得让我至今没能忘记,一直不理解为什么它能活这么久,不过在接下来的了解之 后我才慢慢感觉JAVA的强大,系统的学习了JAVASE的所有基础课程,由于有lua和易语言基础,学起来不是太吃力,这过程有点孤单寂寞,还夹着些许快乐,至此我碰到了一 个最大的问题:我不知道学JAVA能用来做什么,而且JAVA工作不是很好找,我对变成的兴趣源自于游戏,但感觉我用JAVA写出来的游戏估计连我也不愿意玩,即使如此,我 还是带着疑惑学完了javase,最后总结还是有收获的,比如IO流,多线程等我感觉总有一天我是会需要的,至于框架,由于时间问题我暂时不想花太多时间所以匆匆扫了一 下而已,留着有时间慢慢研究,最大的收获应该是对面向对象的理解了,至此JAVA靠一段落.
深入学习篇
在学完JAVA-se基础之后,我运用面向对象思想重写前面学过的游戏,(lua不支持面向对象,但游戏引擎是用C++写的,C++提供了lua面向对象的实现),感觉果然顺手了许 多,前面许多不理解的东西也能豁然开朗,我想实现一个真正的游戏(比类似梦幻西游的回合制单击),只是考虑到时间问题,这个想法一直无限延后,我感觉用这个时间去 学一些新知识为这个想法做准备更合适.因为我面临一个更大的问题,如果这个问题处理不好,可能编程之路至此中断了,这是我无法接受的.
我的工作环境和编程像隔着一天银河,就是连手机(唯一查资料的途径)都被剥夺了,我不得不重新考虑就业问题,我想既然如此热爱编程,为什么不更深入的学习,学习一 些用人单位需要的能力,让自己在这条路上走得更远呢,抱着这个想法,我辞去了原本的工作,用来半年的时间深入学习,打算孤掷一注,结果还不知道如何.
Action is everything!行动才是一切,我打算从最简单的开始,从HTML入手,打算成为一个前端开发人员,在此总结一下:HTML感觉理解起来不难,最大的问题是要记和要 练的东西很多,最主要的是运用,用得好如画龙点睛,用得不好就比如画蛇添足.之后是CSS,由于有一点PS基础,学起来也不难,重点和HTML差不多.接下来是重 点:javascript.
有一句话不知道是谁说的,前端工程师都有一个梦想总有一天网页应用将会全部代替桌面应用(感觉希望有点缥缈),这个想法,肯定是离不开javascript的,javascript 一开始感觉和JAVA很像,但慢慢的发现有区别,再慢慢的发现区别大了(其实感觉JAVA和C#更像,编程语言都有相似之处),特别是实现继承以及面向对象的区别,js有 prototype这种神奇的事物...还有很多很多,由于是手打的字,在此不打算长篇大论,对于js面向对象的理解,我更多的是从一款游戏制作软件(RPGMAKER MV)里面的插件 来的,这东西很神奇,只是还没时间去深入研究.之后陆续学了jQuery框架
花了很长的时间学完了这3个基础,总算能做出一些实用点的东西,发现我有更多想学的,因为我总在招聘要求上看到一些不不认识的需求,比如数据库的,后端的知识,移 动端,一些不知名的框架等,知识我感觉时间不允许我这样学习了,我必须要找工作了
写在最后
总结一下我的学习经历,最大的问题是目的不明确,也就是不知道目标是什么,最大的收获就是这段经历为以后打下了良好的基础以及坚持学习的良好习惯吧
原文地址:https://www.cnblogs.com/lianghua190430/p/10795492.html