什么时间学编程?最好的时间永远是现在!
当你看到这篇博客的时候,想必我已经不用去说明编程的重要性了。上到人工智能,下到美图秀秀,都是一行行代码敲出来的。
如果你也有一个编程的梦:或许是一个冲动;或许是一时兴起;或者是感受到了编程的魅力。
请在开始之前不要着急在各个平台搜索编程怎么开始。不妨先放下手机,好好审视自己。找对自己的路才能有一个好的开始。比起各个平台上鼓吹的“必须学会XXX”,不如看完这篇博客,带你寻找到你的方向。
找对方向很重要
我身边有太多太多的同学、朋友都在自学编程(当然我也是)。但是大多都中途放弃了。问其原因,不外乎:太难了!没用!跟我想象的不一样!
确实,刚接触到编程的新手大多都会在这里止步。但我想说:是你没找对方向啊朋友。
当你觉得编程太费脑筋的时候,正是说明你在入门的时候。当你真正走进了编程的大门,你就会发现:再复杂的功能,其实不过3步:
- 打开冰箱门
- 把大象放进去
- 把冰箱门关上
这就是所谓大道至简、如鱼得水。
当你觉得编程跟你想象的不一样的时候,其实应该反问自己一嘴,也是我想说的:你认为编程是什么样子的?
编程是:一种不费力就能看到成果的手段
如果你是这么想的,那么恭喜你!确实如此!
当你在看《编程视频》的时候,你有没有想过:我什么时候才能写出来自己的程序?
如果你抱着这个疑问看完所有视频,就会发现:这些视频其实根本没给你答案。其实也不能说这些视频是骗人的。其实只是你没有找对方向罢了。
如果你想要用较少的编程基础,写出来一个简单的成果。那么我推荐你HTML。
原因很简单,我可以说,这是目前为止,最简单的图形库。几笔就能写出来一个样式,几行就能实现一个基本的界面。较早时候的网页,浏览器都是用这种方式展现的。换言之,你可以在任何平台上运行你写的代码,也没有任何的额外学习成本。只要这个设备有浏览器,就足够了。
学习HTML要学什么?
HTML只是展示给人看的。如果想让她好看,需要CSS。如果想让他与人互动,需要JavaScript。
也就是说,你要学:
- HTML,是网页的布局,是一个完整的躯壳
- CSS,是网页的样式,是一个美丽的皮囊
- JavaScript,是网页的内在,是一个有趣的灵魂
正确把握这三点的关系,你经过学习后,就能独立完成一个你的网页程序啦。
编程是:完成一个独立的软件开发工具
如果你是这么想的,那么恭喜你!确实如此!
如果你不满足于简单的网页,想写出来一个程序,甚至一个游戏。那么我推荐你Java。
早在智能手机没有面世的时候,你可能就见过Java的程序了:一个咖啡杯。
没错,Java也是一个可以在不同设备工作的语言。并且它优秀的编码风格,很快就被世界先后采用:大部分安卓、Windows的软件,多少都和Java脱不了关系。
由于它的各种特性,能够很轻松的完成各种各样的复杂任务。因此曾被称为最好的语言
学习Java要学什么
但是如你所见,在Java中并没有图形库(或者说自带的图形库不能满足需求)
因此,你要付出更多的努力。但还是要放心,目前的图形库功能甚至已经非常的强大:
- 如果你想要在Android手机上运行,你需要学Android开发。
- 如果你想要开发游戏。在你精通Java的基础上,你要学Unity。Java基础是你最要依赖的东西(虽然你并可能不会用到Java语言)
- 如果你想要开发服务器,来为某些程序提供网络支持。你要学Spring或者SpringBoot。这是一套成熟的后端开发框架。当然都后端了,也就没有可视化框架啦。
越要实现复杂的效果,越要付出响应的努力。当你看到你的程序真的成功运行起来,心中绝对不会感到遗憾。
编程是:一个快速的,能帮我解决问题的脚本
如果你是这么想的,那么恭喜你!确实如此!
加入你并不需要任何可视化界面,但你确实遇到了人做起来感到枯燥的工作,在用编程实现效果以后,还要去优化性能问题。用更短的时间做最多的事。那么,我推荐你C语言。
更注重效率
c语言用了最简单的语法,最简单的结构,最基本的库,换来了极致的速度。(所以各种竞赛优先会使用C语言)。
他没有非常复杂的使用方式。但是如果你注重效率,可能会在各种算法上面挠破头皮。因为在实际开发中,只有最底层的代码使用C语言开发。那么作为再看这篇文章的你,很可能不会选择它作为你的入门语言。当然,如果你也偏爱C语言中独特的语法与特性,大可以放手去学。
为了更有效率,你可能要学:
- 算法
- 数据结构
- 不断地刷题
当你掌握了很多算法、刷了数不清的题之后。就可以备战竞赛,冲击自己的极限啦。
更注重难度
如果你其实并不在乎效率如何,请继续往下看
编程是:帮我训练人工智能的阶梯
如果你是这么想的,那么恭喜你!确实如此!
如果你也不在乎界面,想训练一个自己的人工智能,或只是单纯的想写一个小工具,那么我推荐你Python。
Python中内置了大量的库和函数。一行代码就能轻松实现非常复杂的功能。并且由于对各种属性的不敏感,也称为了目前最简单的语言之一,成为了最适合小白学习的语言。
正因如此,你不必再语法上面费很大功夫,可以在逻辑上面多下苦心,实现某些效果。
比如说一些很简单的小工具:用Python写了一个分类脚本:小黑盒也有大作用
写在最后
最好的时间永远是现在。如果你找到了自己的方向,只要勤加练习,你也会成为下一个大神,制作出自己的程序。