|
什么是编程?
我用最直白的语言,来跟你解释编程是什么。编程就是:用类似英语的语言,和电脑对话,指挥电脑为你工作。
你指挥英国人,要用英语给他下命令,指挥计算机,那肯定要用计算机懂得语言,这个语言就叫Java Python C#。
小时候,父母会教我们说话,也在教我们理解其他人说的话。经过长时间的训练或是耳濡目染,我们慢慢的会说话了,也能听懂别人在说什么了。这个在编程里就是输入和输出,与我们“对话”的就是计算机本机了。
我们说的是人类语言,叫“汉语”,汉语有固定的格式,每个字有不同的意思,字与字组合后又会有不同的意思,我们用语言准确的描述需求,这个就是编程语言的基础。然后把我们的需求告诉别人,别人同意了就会帮我们实现需求(拒绝的话也会有反馈),也就是说我们在用“汉语”请求、控制别人。至于请求、同意、拒绝、拒绝后再请求,这些是一个固定的流程。
虽然在中国,我们都是用“汉语”和别人交流的,能达到指定的目的。但我们知道,世界上有很多国家,有很多不同的语言,汉语、英语、德语、西班牙语、日语等,虽然他们的写法、格式、语法都不一样,但是所有国家的语言都可以达到一个的目的:交流。在编程里,这些不同的语言就是:Java Python C# PHP C++等
学编程一点也不难
不要以为编程语言很难,它是你的助手,是与你并肩作战的!不会故意为难你,它也很着急想让你学会。
既然编程这么简答,凭什么月薪好几万?你和郭德纲都会说话,你和王菲都会唱歌,懂了吗?扎实的编程知识,只是基础,只是找到工作的通行证。
大家可能会有这样的疑问,高等数学、空间解析几何、微积分也是帮助我们解决问题的,也是我们的助手,我怎么学不会?其实编程的难度,别说高等数学,可能也就是初中英语的水平,只要在正确的学习方法下,每个人都能学会!
编程语言的两大类型
编程语言分面向对象和面向过程,他们是一种编写代码的方式。面向过程是按照流程的发展,一步一步的进行,有点像基层员工,面向对象是是把问题分解成一个一个的对象。让各个对象去完成他们自己任务。
面向对象的方式,有点像老板的,他只做决策和指挥,让基层员工,完成他们具体的任务,面向对象和面向过程,没有高低之分,因为没有员工的老板也不叫老板。面向过程,会开发一些底层核心的功能。面向对象在底层功能的基础上,开发一些应用级的产品。两者密不可分,相辅相成。
不用纠结了,新手零基础,肯定是面向对象,程序员分应用型和创造型,创造型的的程序员,会开发一些底层核心的,没有直接商业价值的。比如更高效的CPU计算、更科学的数据结构,研究起来可能要很多年,不一定有成果。
而应用型的编程程序员就不一样,他们是要把他们技术和商业结合,快速开发一个应用的,给客户带去直接的价值,目前企业招聘,90%都是应用型的程序员。
一个项目小到几万,大到上百万,一般都是三人小组,周期二到五个月。所以程序员薪资高了,也是很正常的。
面向对象的三大特征,继承,封装,多态。我就不照着百度给你复制了,咱们就说说继承和多态。
继承,是为了让代码更具结构化,比如人类是继承动物类,人类会100件事,动物类也会100件事。在面向对象里只需要加入extends这个单词,人类就会200件事,而无需再多写一百行代码。
多态,可以让人类有不同的特性,可以继承超人、钢铁侠、孙悟空。这里面不管是人、动物、超人、钢铁侠、孙悟空,都是独立的对象,可以根据我们的要求,让他们随意组合,但是在面向过程里边就没有这个功能。所以面向对象的目的是灵活,是易拓展,可重用。
如何学好编程
永远不要陷入语言中,编程语言仅仅是你个工具,是工具配合你,而不是你迁就工具。一些的学习、生产都要以需求和实际问题为中心。
比如,你想在家里挖个游泳池,虽然铁锹、锄头都是挖土的,但是它们不适合,你只能换个工具:挖土机。如果不理解这个道理的初学者,会一门心思的用铁锹挖土,夜以继日、不眠不休,看上去很勤奋,但他的方向完全错了。 |
|