一个信息系统的组成,离不开前台用户界面,也离不开后台数据库管理系统的支撑。前台的用户界面是用编程语言实现的,后台的数据存储是由数据库管理系统承载的。编程语言与数据库管理系统就好比是信息管理系统的两个轮子,是一张扑克的正反面,是一台戏的前台和后台,是一场演唱会的演员和乐队,是工厂的车间与仓库的关系。

编程语言名目繁多,超过一百多种,目前流行的语言有JAVA、C、C++、Python 、C#、Javascript、PHP等等。基于WEB和移动开发的语言主要流行的有JAVA、Javascript、PHP、C#等等,基于Windows开发的语言有C#、Delphi、PowerBuider、C、C++等等。每一门编程语言都有其各自的功能,都有优缺点。对于学习编程语言的人而言,肯定是要选择学习世面上最流行的语言。下面是2017年5月编程语言全球前20位的排行榜:

前五位分别是,第一位JAVA语言,占开发人员的14.639%,第二位C语言,占7.002%,第三位C++,占4.752%,第四位Python语言,占3.548%,第五位是C#,占3.457%。但有一个的特点是,前五位编程语言市场占有率都在下降,特别是Java与C两种语言自2016年年初开始呈现下滑趋势,而与上年相比二者的降幅皆超过6%。JAVA、C、C++稳居前三位的位次没有变化,Javascript稳居第七位,位次没有变化,PL/SQL十九位的位次没有变化,其他均有波动,上升最快的要数Go语言,从2016年末的42位跃升至16位,急升了26个位次,市场占有率从0.25%跃升至2.08%,上升了1.83个百分点。难怪TIOBE将2016年度编程语言的桂冠颁发给谷歌的Go语言。尽管如此,对Go语言诟病的也不乏其人,但赞赏的也大有人在,从她跳跃式上升可见一斑,大有从丑小鸭蜕变为白天鹅之感。从以上数据可以看出,要学习最流行的编程语言,学习最有前途的编程语言。编程语言只要掌握一门后,学习其他语言就要容易的多,但是你要精通一门编程语言,那就不是容易的事了。作为信息系统开发人员,学会几门编程语言,你只完成了学业的一半,另一半就是数据库系统。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。目前流行的数据库系统有Oracle、MySQL、Microsoft SQL Server(MSSQL)等,数据库引擎网站(https://db-engines.com/en/ranking)2017年4月份的统计,排在前十位的数据库系统如下图:

MSSQL的市场占有率稳步上升,Oracle、MySQL均有下降。不难看出,就像学习编程语言一样,学习数据库管理系统,也要学习流行的,学习最有前途的,当然,还要看实际的工作需要。MySQL 是一个关系型数据库,由瑞典MySQL AB公司开发,目前属于Oracle旗下公司。MySQL最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。Oracle数据库系统可能是最昂贵的数据库系统。流行的数据库系统都遵从SQL标准,SQL语言,是结构化查询语言(Structured  Query Language)的简称,SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。现在,SQL标准由ANSI(American National Standards Institute)和国际标准化组织(International Standards Organization,ISO)作为ISO/IEC 9075标准维护。最新发布的SQL标准是SQL2008,下一版本的发布工作已经在进行之中,它将包含RDBMS在收集或分发数据方式上的新发展。学习一个数据库系统的主要内容有,数据库系统的安装及维护,数据库表的字段类型,数据库的创建,数据表的创建,标准的SQL语言,本数据库系统对标准SQL语言的扩展等。
一个信息管理系统的开发,编程语言的应用与数据库系统的操纵,基本上所用的时间差不多,编程语言的应用,如用户界面,业务逻辑等开销的时间可能略多一些。学习几门编程语言,同时还要学习一两种数据库系统,否则,只掌握编程语言,你是搞不出一个信息管理系统的。这里有个问题,我想不大明白,我们的软考的中级系列里有个“数据库系统工程师”资格,我看大可取消,因为很难想象,不学习编程的人有谁专门学习数据库系统,仅仅掌握数据库系统,对整个信息系统只理解了一半,如果你是软件开发工程师,只要再深入学习一下数据库的维护,我看就能成为一个合格的数据库管理员。

最后,还想说说我的忧虑,作为软件产业的两大支柱,编程语言及开发工具,数据库管理系统,我们现在用的基本上是国外的,国产的编程语言有: 八卦编程语言、csm语言、dao语言、易语言、Koodoo语言、lava语言、鲁班语言、模拟精灵LAScript脚本语言、Nuva( 女娲 )语言、太极语言等,可是没有一种语言能进入TIOBE榜单。国产数据库有:达梦数据库(DM)、OpenBase(东软集团)、OSCAR(北京神舟航天软件技术有限公司)、KingbaseES(北京人大金仓信息技术有限公司)、iBASE(北京国信贝斯软件有限公司),但是在db-engines(数据库引擎)网站的327个数据库排行中,看不到一个 国产数据库系统身影。 “十三五”国家信息化规划第六章政策措施的第四节提出 “ 完善产业投资基金机制,鼓励社会资本发起设立产业投资基金,重点引导 基础软件 、基础元器件、集成电路、互联网等核心领域产业投资基金发展”。对于基础软件,象编程语言及开发工具、数据库管理系统的研发,就象支持航空发动机生产一样,国家应该有选择性地、对有前途的、有实力的大公司注入研发资金,然后向软件开发人员免费开放使用,鼓励行政事业单位的信息系统中多用国产的开发工具和数据库系统,培养一大批使用国产开发语言及工具、国产数据库系统的人才队伍,促进我国的软件产业向步入世界强国之林,从长远战略上确保国内信息系统的安全。

编程语言与数据库的关系相关推荐

  1. AI:人工智能领域主要方向(技术和应用)、与机器学习/深度学习的关系、数据科学关键技术与知识发现/数据挖掘/统计学/模式识别/神经计算学/数据库的关系(几张图理清之间的暧昧关系)

    AI:人工智能领域主要方向(技术和应用).与机器学习/深度学习的关系.数据科学关键技术与知识发现/数据挖掘/统计学/模式识别/神经计算学/数据库的关系(几张图理清之间的暧昧关系) 目录 人工智能主要领 ...

  2. 单元测试系列之八:Sonar 数据库表关系整理一(续)

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习 ...

  3. mysql数据库对象关系映射

    http://www.2cto.com/database/201310/248690.html mysql数据库对象关系映射 1.对"对象关系映射"的理解 a.对象:可以理解为ja ...

  4. 从职责归属看数据库中关系设计

    今天和领导讨论组织结构中的职责归属的时候,讨论到TMT(技术委员会)和CTT(公共技术小组)中(TMT是CTT的上层组织),如果有大的攻关技术任务,是将职责归属到CTT好呢,还是将职责归属到TMT好. ...

  5. 数据库除关系运算符执行过程详解

    数据库除关系运算符案例详解 声明与简介 数据库里的Div(除)运算符是借鉴了数学基本元素除的理念,即整体除以个体,得到组(满足个体的特征的集合). 所以如果"被除数"的集合R有4个 ...

  6. matlab运算速度与cpu的关系,请教编程语言和运算速度的关系

    72 个回复 bore 装装傻,避避风头 2010-01-13 花1分钟写一个程序,跑一天: 花一天写一个程序,跑1分钟. 我另可花1分钟写程序. 但是,如果要跑一个月,还是多花点时间写程序吧. [  ...

  7. tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册

    tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间 ...

  8. 服务器与项目之间的关系,项目 服务器 和数据库的关系

    项目 服务器 和数据库的关系 内容精选 换一换 华为云关系型数据库服务提供使用内网.公网和数据管理服务(Data Admin Service,简称DAS)的连接方式.VPC:虚拟私有云(Virtual ...

  9. 进阶阿里架构师:算法、编程语言、数据库、架构设计!书单推荐!

    阿里架构师必读书单 数据结构与算法:算法.算法导论等. 编程语言:java编程思想.java核心技术等 模式与设计:设计模式.代码重构.深入理解java虚拟机 数据库:mysql优化.oracle.r ...

最新文章

  1. Go modules基础精进,六大核心概念全解析(上)
  2. 网络安全 — 安全架构
  3. 计算机access2级选择题真题,计算机二级《ACCESS》选择题练习及答案
  4. 《数据库系统实训》实验报告——触发器
  5. AnnotationConfigUtils 处理注解Bean 定义类中的通用注解
  6. 10个经典的爆炸化学反应,个个都是你惹不起的“暴脾气”
  7. python多进程关闭socket_Python并发编程-多进程socketserver简易版
  8. ssas表格模型 权限控制_创建第一个SSAS表格模型数据库
  9. js array循环给每个对象添加元素
  10. 算法7-16:弗洛伊德最短路径算法
  11. c语言上机+pdf,c语言上机题库.pdf
  12. 解决VMware卸载后再安装出现的问题
  13. Vue — transition实现过渡动画
  14. 如何在 Windows 10 中安装 WSL2 的 Linux 子系统
  15. 被人民日报点名的马保国,一年能挣多少钱?
  16. 如何在linux上使用QQ(在终端上使用qq) mojo-qq
  17. 戴尔服务器安装系统出现蓝屏重启,服务器安装系统蓝屏原因_dell服务器安装系统设计.docx...
  18. 前端开发:关于鉴权的使用总结
  19. 利用线性筛算法框架求解因数个数以及因数和问题
  20. Android图片底部对齐(scaleType底部对齐)

热门文章

  1. 13行Python代码实现一个神经网络(Part 2 - 梯度下降法)
  2. 三点钟社群联合发起人Sky: 中国版“马克·扎克伯格”,用区块链激励差异化价值创造者...
  3. Apache Zeppelin 简单介绍,以及下载地址
  4. 自动驾驶仿真工具之AirSim简介
  5. 雷德(Rader)算法
  6. 外汇市场百年风云演变,当代“钱”途之选就看EBC金融集团
  7. Fortran文件操作-open
  8. 【解决方法汇总】SpringBoot项目报错 Could not resolve placeholder ‘‘ in value “${}“
  9. Nodejs的安全学习
  10. ElasticSearch索引基本操作POST PUT GET DELETE