热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从C#进入计算机语言的世界(1)

我是在学校从事软件开发教学的一名老师,经过3年多的教学,感受颇多,也有很多总结。故制作本教程,分享我的个人经验,希望初学者能从中得到启发,也希望酷酷的刺猬指点迷津。暂定名称为从C#

我是在学校从事软件开发教学的一名老师,经过3年多的教学,感受颇多,也有很多总结。故制作本教程,分享我的个人经验,希望初学者能从中得到启发,也希望酷酷的刺猬指点迷津。暂定名称为"从C#进入计算机语言的世界”,本篇是最基础的内容,讲述了软件的概念。

 

1.1. 软件的定义

1.1.1. 软件的定义

计算机软件(Software)是运行在计算机硬件上的一段程序集合,这种程序不只是用户为解决某一个具体问题而编制的程序,它还具有支持计算机工作和扩大计算机功能的作用。

计算机软件是无形的、无法触摸的,软件无法脱离硬件(Hardware)而单独存在。一般没有软件的计算机,我们称之为“裸机”。硬件技术的不断发展和广泛使用,软件逐步丰富与完善;软件的发展又大大促进了硬件的发展。

1.1.2. 软件的内容

任何一个标准的计算机软件都应该包含程序和文档。广义上软件包含可以执行的程序、支持程序运行的库文件、说明文档和各种多媒体文件。狭义上我们所谈到软件一般指可以执行并且可以在计算机屏幕上展现的程序。

软件和程序是两个不同的概念。软件是由程序和程序开发、使用、维护所需要的一切文档组成的。

1.1.3. 软件的分类

1、从计算机系统分类

从计算机系统角度看,计算机软件分为系统软件和应用软件。

系统软件是随计算机出厂并具有通用功能的软件,由计算机厂家或第三方厂家提供。常见的系统软件有:操作系统(OS,Operating System),如Windows、Linux、Unix、Mac OS 等;语言处理系统;数据库管理系统(DBMS,Database Management System),如SQL Server 2005、Oracle等;操作系统中的各位服务,等等。

应用软件是为解决实际应用问题所编写的软件的总称,它涉及到计算机应用的所有领域。常见的应用软件有:Photoshop、Word、QQ、迅雷、暴风影音等。

l 练一练

图1-2中哪些是系统软件,哪些是应用软件?

2、从软件是否联网分类

从软件是否联网分类,可以把软件分为单机软件、互联网软件。在互联网尚未出现前,软件都是都是单机软件,如:金山词霸2003、Word 2000、WPS、仙剑奇侠传 98、WinZip等。随着互联网的普及,针对互联网的应用软件越来越多,很多软件的运行必须要求电脑在网络连通的前提下运行或者为了达成目的必须是联网模式下,如:QQ、迅雷、网络游戏等。

3、从软件展现方式分类

从软件展示角度出发,计算机软件分为窗体程序(Win Form)、网站程序、嵌入式软件、服务程序等。

窗体程序一般是在本地计算机中的文件程序以窗体的方式的运行的一种展现。如Word、Excel、Winrar、QQ、暴风影音以及常见的游戏等。Windows窗体程序的运行一般会在任务栏出现相应的图标,并且带有最大化、最小化、移动、关闭等功能。图1-3是一个典型的窗体程序。

网站程序一般是运行在远程服务器上。用户通过本地计算机连接网络后,使用浏览器打开相应地址后,展现在浏览器内的网页信息是网站程序的一个页面的展现。网站程序的数据从网站服务器下载,然后通过浏览器展现。常见的浏览器有Internet Explore、Firefox、Chrome、Safari、Opera等。注意:浏览器本身是一个窗体程序,部署在远端服务器上的可供访问的网站才是网站程序。网站程序的分类很多,大家熟知的有类似新浪、网易的内容管理系统(CMS),类似淘宝、拍拍、卓越的电子商务系统、论坛(BBS)、博客(Blog)等。

窗体程序和网站程序最大的区别是,网站程序中的程序和数据都来自于远端服务器;窗体程序是程序本身在本地电脑上,而数据则可能来自于本地电脑,也可能来自于远端服务器。例如游戏传奇是一个窗体程序,地图、素材等数据一般存储在本地电脑上,而游戏帐号、人物属性等一般是从游戏服务器实时下载和上传的。 

转载于:https://www.cnblogs.com/grayhound/archive/2010/04/18/1714674.html


推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • JavaScript简介及语言特点
    本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
author-avatar
来自星星的小小鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有