不可否认,在这个互联网时代,互联网从业者工资较于其他一般传统行业薪酬要比较可观点,工作机会也比较多。
所以很多不是学习计算机编程的同学,都想往这个代码的世界里看下,考虑能不能进入这个行业里头来,本短文就从编程者的角度给大家谈谈这个问题。
从一个编程老兵扪心自问来说,编程其实不难。
1、编程是什么?
在我看来,所谓的编程,其实就是你有一个想法逻辑,然后用代码去实现出来,仅此而已。
比如你是一个后端的开发者,想展示一个数据,然后你就会想怎么拿,从数据库拿、然后在做一些情况判断,从而返回想要的数据给前端(或者客户端)。这个其实就是一个业务流程图。你首先有个业务数据(需求),然后就是实现取数流程(流程图),最后用高级编程语言去实现(python/go/php)。
我的一个开发组长曾说过以下的话,我非常赞同。
优秀的开发者不会关注自己使用的什么语言,语言只是一个与计算机进行沟通的工具,就和你说汉语英语一样,你应该关注的是用计算机如何解决现实问题。
所以,编程其实就是用程序语言实现你的逻辑,然后可用运行在计算机中。
2、小白怎么学习编程?
很多非科班出身的同学,可能认为编程无从学起。其实很容易的,我们可以先拿一门后端语言学起,比如python、go、php这些高级的编程语言,然后你根据语言开发文档(这里建议菜鸟教程),下载相关的环境要求,然后根据文档,打印出经典的“hello,world!”,如果你做到这里,那恭喜你,你已经学会了编程!接着再学习一些语法(条件语句、循环语句),那大概率已经懂得怎样用代码去实现你的流程图,输出你想要的结果。
然后你学到这里,进而在你编程中发现问题,然后去解决问题,简单的就是“goole或者百度以下,如何用开发语言实现某个功能”,到这里你又迈进了一步。
从简单的实现开始,进而慢慢学习其中的原理。先知其然,而后知其所以然。
比如你会想到这些动态数据存在哪里?然后你机会学习到mysql(常用的存储数据库),学习完数据库,这份数据一段时间内都是一致的,我又不想老是去连接数据库去取,能不能先缓存起来,然后你就发现又一种缓存工具(redis),进而学习redis。
其实如果你简单了解了mysql和redis的用法,还有一门开发语言的语法,那其实就是可以做业务后端开发了!
程序的世界里,最好的一点,就是开发精神。人人为我,我为人人!
3、小白如何进阶?
计算机网络原理等基础是底子,开发语言是招式,数据结构与算法是内功。
会了一招两式,总感觉少了点什么,或者疑惑为什么这样,那恭喜你了,你有察觉。此时你就会深入去了解计算机怎么发展的,为啥这些语言能跑的通。或是在编程中,你会发现排序的实现别人的做法好像更好点,那么此时你就会深究为啥这样,其实就涉及到了算法的优越性,而算法往往依赖在数据结构上,进而你会去接触和学习。
其实很多后端开发工程师对数据结构和算法并不很会!这也是一个初级和高级工程师的分水岭。
讲了这么多,其实就是如果你的学习能力和逻辑思维能力足够的话,编程对你来说小菜一碟,说白了,就是利用开发工具,实现产品逻辑。从简单的入手,进而慢慢去深究深研。书籍和开发文档就是最好的老师,小白入门没什么难的!