我对“编程平台”的理解

我对“编程平台”的理解

对于绝大部分从事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开发不太了解,希望大家补充。

 

 

 


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值