时间:2016-10-4来源:本站原创作者:佚名
【问答】编程基础应从哪里学起

问:

我今年14岁了,我很喜欢跟计算机打交道,尤其是编程,想问下,编程基础应从哪学起呢?有无相关资料和网站?

———————————

答:

你可以从最基础的部分学起,先后经过对计算机本身的学习,再编程和编程语言部分的学习,最后完成对工业上的编程艺术的学习。

1,对于计算机科学部分,需要学习计算机的工作过程和原理,重点是理解为什么OS会出现,以作为软件封装机器层面的功能,和OS上的应用宿主的角色出现。

2.对于编程部分的学习,学习C作为高级语言对OS出现后本地软件编制产生的意义,以及C是如何运用它紧凑但是表达力丰富的语法来展现“系统实现逻辑”(比如内存管理啊,线程池实现啊),系统开发者是如何依赖数据结构和算法来解决抽象系统层面的这些问题,将它们用C特有的表达方式和局限(比如指针强大的底层表达能力及指针与数组等的组合产生的强大表达能力)编程出来的。

3.依然是编程方面,学习C在编程大型本地AUI程序方面的工程局限性,及因此提出来的“更好的C”,即CPP语言是如何用增强的CLASS类型(实际上抽象类型和用户类型)来克服C不能做大粒度抽象的难题的过程,并因此使得C系语言没有在桌面应用的辉煌开发时代没落的历史现象,学习这种CLASS抽象类型系统是如何扩展C类型语言,及它为什么能用于完成支持辅助大型软件设计之路的。

4.最后,学习CPP等本地编程语言不能用于很好解决分布式架构的企业应用开发的局限,比如它的组件机制(DCOM,CORBA)方面的局限,所以虚拟机语言出现作为一个可选代替方案出现,使用VM机制能给分布式应用提供一个远程执行容器的特点,及VM机制允许其上的语言能容纳多种高级语言技法和高层抽象和设计支持,以及那些能给编程者提供必要支持的那些方面。

所以时刻提醒自己:VM语言系统并不是生来为增强系统本地程序开发而存在的,而其实正是为了封装本地开发的成果,将他们做成VM下的特定版本,为了迎合VM下特有的强大语法和编程方式,将编程转移到VM阵地(主要是将编程和应用发展为分布式)来进行的方式,就像脚本编程那样。

(这里注意下历史,以前web程序是通过本地脚本语言来完成的,比如vbs和jsp之类就是这类web语言,它们是本地编程方式的增强和封装,因为web开发和本地脚本开发都要求一个受限了的VM执行环境,不致让可能使系统产生崩溃可能的脚本逻辑超过VM外,但是到后来,这类语言慢慢被更强大化了的VM语言系统如c#,java所取代,他们成为WEB开的主流还有其它方面的因素:比如它们更工业化,更集成)

事情发展到现在,分布式开发越来越流行,分布式appmodel变得越来越向cloud端的服务程序和web程序靠近,还有终端的移动app,这三者都呈现明显的“编程即部署,配置,执行,编程是一切”的大趋势,这都拜越来越集成的VM式语言所赐—都可由这类3合1的语言完成。它们是工业趋动使然。

所以理智向上的编程学习者应追随这股潮流,学习这类“工业艺术上设计了的”语言,如java,c#。

----------------------

一个认真有料的个人编程和营销技术,中二文字世界,每天这里有各种专业的技术,经验,问答,理论文章。独家文学素材,以及各种不可多见的整合式的软件私珍放送。喜欢我,就







































北京白癜风最正规的医院
治疗白癜风去哪里最好

转载请注明原文网址:http://www.gzdatangtv.com/bbqb/1030.html

------分隔线----------------------------