您的位置:首页 > 编程语言

我对“编程平台”的理解

2015-08-22 15:30 141 查看
我对“编程平台”的理解
对于绝大部分从事IT技术开发的人来说,无论是做硬件,还是软件,都离不开编程,基本上都会被冠以程序员的头衔,不过程序员可以分很多种,眼花缭乱,如何区分不同程序之间的区别,然后找到自己的方向变得尤为重要。

在我看来,编程可以简单粗暴的分成两块:编程工具程序运行平台

编程工具:编程工具是编程的基础,是每个程序员都应该熟悉一些的工具,包括:

(1) 编程语言:C/C++、java、C#等等

(2) 数据结构与算法(网上说不会数据结构和算法的程序员不算是程序员)

(3) 设计模式等一类的知识

程序运行平台:平台主要是为程序提供一个良好的开发与运行的环境,包括:

(1) 开发环境

(2) 程序库(这是程序员学习的对象)

(3) 程序框架:为了简便程序员开发,开发平台对程序开发的一些流程进行了封装。

下面介绍一下程序运行平台:

我将程序运行平台简单粗暴的分成以下四种:单片机编程、系统编程、上层应用编程和跨平台应用编程。

(1) 单片机编程

从简单51单片机到stm32单片机,甚至是DSP编程都属于单片机编程,要求编程人员对硬件(cpu的架构和外围电路)比较熟悉,编写的程序直接操作寄存器;通常为单任务模式,有时可以在单片机上移植一些简单的实时操作系统(例如:ucos)实现多任务处理。

(2) 系统编程(底层应用编程)

由于单片机编程需要对硬件非常熟悉,而且实现多任务不便,为了屏蔽硬件的差异,可以在硬件与应用程序之间增加一个中间层:操作系统。操作系统可以实现对硬件的管理与封装,为程序员操作硬件、使用计算机资源提供统一的接口,即系统调用。
系统编程要求程序员熟悉操作系统的工作原理,尤其要对操作系统的系统调用比较熟悉,现在最常见的就是Linux的系统编程,该种编程运行效率上相对于单片机编程有一定的下降,不过比上层应用编程快了很多,常用来编写一些系统软件或底层软件(比如web服务器)或者是嵌入式应用程序开发。

(3) 上层应用编程

虽然系统编程运行速度相对较快,但是使用系统调用还是比较麻烦,而且多为过程式编程,开发一些大型的软件比较吃力,开发效率低。为了弥补这一方面的不足,很多机构为程序员提供了很多程序库,比如MFC、QT等,以QT为例,它将系统调用进一步封装成类,当程序需要使用硬件资源时,使用QT提供的类库即可,QT用C++语言开发,可以充分使用面向对象编程的优势,提高开发效率。所以学习上层应用编程,在掌握某种编程语言后,就某种平台MFC、QT或其他程序库进行学习。

(4) 跨平台应用编程

由于不同的操作系统具备不同系统调用,在其之上的程序库也基本上各不相同,这种情况下编写的程序很难实现跨平台运行,为了实现跨平台,可以在应用程序与操作系统再添加一个中间件,最常见的中间件为Java虚拟机和.net平台。以Java为例,Java虚拟机对不同操作系统的系统调用进行了封装,并且为应用程序提供相同的API,这样的话,不管在什么操作系统之下,只要装了Java虚拟机,Java程序就可以运行。

注1:由于自己学识有限,如有错误,欢迎大家批评指正。
注2:自己web开发不太了解,希望大家补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: