学习编程,到底是在学习什么?
编程的世界看似高大上,起始纷繁复杂!
java、c++、c#、php等等各种语言你方唱罢我登场,好不热闹!
而且还层出不穷的新知识、新语言!
那么学习编程,我们到底学的是什么,就是要跟着流行不断的疲于奔命地学习吗?
首先肯定是基本语法:
像数据类型、标识符、关键字、运算符、注释、流程控制语句等等。
无论那种编程语言,在语法的基本层面上,都大致相似,差别很小。
像数据类型,都有整形、字符型、浮点型等等;
流程控制无非就是循环、判断等。do...while, switch.. foreach,if...else用起来大同小异。
基本语法主要就是理解概念、理解语言的规定,大部分我们都能很容易理解和掌握。
非常重要的提醒——数据结构:
现在的语言除了基本的语法之外,都会有内置的强大的数据结构,方便程序员来编程。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
例如java中的List、Map、Collections等,如果没有这些强大的数据结构提供,那么我们编程工作将会特别累、特别辛苦。
一定要理解面向对象:
以上语言都是面向对象的编程语言,因此理解面向对象,是学习编程中非常重要的概念。
理解面向对象,掌握面向对象的设计和编程的思维,掌握封装、继承、多态等,才是我们学好面向对象编程语言的必要条件。
线程和进程:线程的概念对于初学者,或者说没有计算机基础的同学们学起来有点难度,因为要理解什么是进程,什么是线程,为什么要有进程和线程, 有点偏向计算机的底层了。
并发编程会涉及到线程之间的同步和通信,如何加锁,防止死锁,线程池等很多烦人的知识点,虽然说在实际工作中都封装好了,业务编程中用的少,但是要理解概念。
对于各个语言来说,良好的线程支持也是标配。初学者有些许概念即可,等需要用到时再去深入学习了解。
GUI(桌面编程和手机端编程的图形用户界面):
一般都有成熟的框架供开发者使用,在做GUI系统时,我们需要清楚下面几点:
1. 用什么来描述界面?
掌握界面的控件,进行页面的布局。
2. 如何获取后台数据?
基本界面编程也需要联网,数据都来自于后台数据库,因此java课程建议要掌握获取后台数据的方法。
3.用户与界面如何互动?
现在基本上都是事件驱动,例如用户点击了一个按钮,就会调用onClick,语言中都提供好了界面触发调用方法。