进入移动互联网时代之后,编程似乎成为人人必不可少的技能。也许你会说编程不是程序员的专属么,那就错了。编程能让运营不再手动整理分析运营效果,也可以让金融人士直观看到市场走势。对于很多岗位来说,学一点编程可以大大提高工作效率。
本文章不会具体说明你要如何学,只说一下对学习编程的个人见解。
编程其实就是5个字
输入与输出
你可以瞧瞧所有的编程成果,哪一个不是响应你的输入,然后输出结果。你在搜索引擎输入关键字,然后搜索引擎输出搜索结果。你在手机APP点击一个按钮,它返回一些资讯给你。所以学习编程,就是学习如何接收输入,然后输出特定的内容。
初学编程,先问问自己想做什么
好多小伙伴一开始学习编程的时候,就会想我该怎么入门呀。然后就会问前辈,前辈往往有两种回答,一是叫你好好学习C语言,二是叫你选择一个方向,然后从那个方向的基础开始学。
当你看到这里的时候,先自己问一下自己,为什么要学编程。
- 我想从事编程方向的工作
如果你想从事编程领域的工作,那么从大类来看有安卓APP(应用或游戏)开发,IOS APP(应用或游戏)开发,桌面软件(应用或游戏)开发,网页前端开发,服务端开发,运维。这么多职业,挑一个想从事的职业,然后从他们入门技能开始学起。 - 我不是编程领域的,我只是为了利用编程提高自己的工作效率
如果是为了提高工作效率,就可以选择野蛮的方法。需要什么再去学什么,系统的,不存在的。切记,尽量用现有的服务,而不是自己从0开始开发。基本上网上都有现成的,自己弄下来改改就好了。
别被网上的名词唬住了
作为一个在研发行业多年的一线研发,我都被网上日新月异的技术吓到了。前端天天出新框架,你几个月不接触,已经被它抛弃了。后端,整天分布式,高并发,又微服务的。
要时刻记住,知道为什么要用比会用更重要。前端那么火的VUE框架,为什么要用它,因为渲染一个页面不再需要拼接字符串了,可以简单实现无跳转刷新页面等。后端分布式又是什么情况,就是一台机器应付不了这么多用户,然后用多台机器应付咯,当然里面还有更多的门道。
然后,依旧记住编程就是接收输入的数据,然后输出处理后的结果。一切的技术都是为了更方便的实现这个流程。
入门的尝试
很多小伙伴在学习编程的时候为什么放弃了呢,很多时候是因为环境配置太困难了。哪怕对于有一定经验的老手,配置环境也是容易崩溃的。所以,入门的时候最好有一位有经验的小伙伴带一下,以便解决环境问题。
我们拿python为例子(当然是python3,新的肯定是潮流嘛),python这种语言,无论是业余造辅助自己的小工具还是专业研发做工作工具都是不错的选择。
前面一直说,编程就是输入和输出。我们来看一下输入源和输出有哪些:
- 控制台
- 文件
- 数据库(无论是sql还是nosql,其实你可以当成excel表)
- 图形界面
- socket(网络传输用,就像你打开网页,就是跟远程机器建立了socket连接)
先上一个例子:从文件读取数据然后输出到控制台
# coding: UTF-8
fp = open("start.sh")
data = fp.read()
print(data)
fp.close()
然后编程当然不是仅仅是把输入原样输出啦,往往要先对数据进行加工,然后再输出。
给一个加工的例子:如果文件内容是abc则输出y,否则输出n
# coding: UTF-8
fp = open("start.sh")
data = fp.read()
if data == "abc":
print("y")
else:
print("n")
fp.close()
这个例子用到了条件判断,然后编程中还有一种循环结构,用于批量处理数据。然后剩下的内容,都只是对数据的处理支持而已。
学习一种语言其实就是了解它的函数(方法)
很多小伙伴初学的时候都会纠结该学哪种语言,可以直白的说语言并没有优劣之分,存在即合理。每种语言都有其适合的应用场景。所谓精通,并不是说语言熟练程度,而是编程的内在思想积累有多么深厚。
语言提供的,仅仅是可以让我们快速的处理数据而已。
面对多如牛毛的框架不要紧张
记住,框架的出现是为了什么。是为了简化我们的开发,而不是加重自己的负担。当你接触一个全新的框架的时候,比不用框架开发时多了一些配置和约束而已。
并且现在大家都越来越偏向于轻量级框架了,拿Java后端为例,现在上一个spring boot,简简单单。以前配置一个ssh框架,那配置文件,一个框架一种配置。再看看前端,vue为什么被大家接受了,因为简单,鼓弄个10分钟,基本上就可以实践了。
所以,不要以为自己这个框架不懂,那个框架不了解就自卑了。上手一个框架也是分分钟的事情。也许你会问,为何大家招聘的时候问你框架里面的东西。偷偷地说,一种可能是想问你对一个框架的理解,看你的编程思维。另一种是不知道问什么,随便选一些来问吧。
我适不适合学编程?
人人都适合,要明白,编程是工具,只要能帮到自己就成了。
我该去哪里学习
很多人问的一个问题是,我该学习那些,我该在哪里找资料。在回答这个问题之前,先问一个问题。你想从事哪个岗位?学习的阶段性目标(可没有终点),就是为了可以实现某种成果。
做APP的仿一个简简单单的APP出来,做网页的,淘宝京东仿一个。做后端的,实现一个小网站可以吧。当你靠搜索引擎独立实现这些,你就已经明白怎么学习。不然,问再多,其实只是自欺欺人,找点东西填充自己而已。
选一个IDE
IDE是更好地加速研发用的,别听那些叫你用记事本开发的观点。现在技术多到不是你想背下来就背下来的。
附录(各种路线的参考)
切记,这只是参考,参考,参考。
后端:
一种语言(python,php,Java) -> 一个web框架(flask,Laravel,spring boot) -> mysql -> redis -> docker
前端:
html,css,js -> jquery -> vue -> webpack深入
非研发专业:
python -> 需要什么学什么
网友评论