从2000年UCanCode E-Form++ 图形可视化源码库2.0在国外开始销售以来,弹指一挥间已经快14年了。这14年里见惯了各种新技术的不断涌现、也见惯了各种科技公司的不断出现和消亡,仔细想来也对,软件其实也是一个生态,这个生态环境中有生命力强的大树,也有更多作为大树养份的小众植物。大树只所以能不断长大,长久不衰,我想一个很重要的原因就是大树从出生那一刻起就具备的优质基因以及优秀的架构。让我们深有感触的是:软件开发确实是一个需要不断积累的过程,从当初E-Form++的简单制图源码,到现在能快速开发各类工业基础应用的优秀的图形可视化开源架构,如果没有UCanCode的坚持,随时都可能面临着夭折!当然也就不会有现在全球数千家大型软件公司能够“拿来即用”开源基础库了。1999年我开始负责E-Form++核心基础架构的设计和开发,本人从事C++编程已经超过17年了, 这些年我基本只看不说,一来担心自己不会说,另外一个是怕说错。

个人以为,软件同其他工业产品一样也应该分为传统软件行业和新技术软件行业,新技术会在极短的时间不断涌现,代表着新的生命,甚至预示着未来的方向,但这个方向是不断修正的。这也就是我们会看到很多技术在出现之后很短时间就消失了。

传统软件行业(比如石油、化工、造船、航空、航天… … etc)却始终保持着非常稳健和平缓的步子向前迈。当Windows 7 & Windows 8在个人应用领域铺天盖地的时候,传统软件行业才刚刚完成Windows 2000到Windows XP的全面转换。作为向中国这样一个体量的大国,如果没有坚实的工业能力是绝对不可以的。

一提到软件编程语言的选择,很多人无不将关注点放在C#, VB, Java上面。其实这也没错,毕竟这些语言学起来容易、用起来方便。但作为基础软件行业(工业控制、数控、CAD, GIS,制造,建模与仿真等等)支撑着我们国家的工业软件基础却需要大量的C++开发工程师。UCanCode Software这14年里的感触最明显,跟我们接触的软件开发公司国内的和国外的开发水平差距巨大,作为工业软件开发的主力(C++)目前还多以70年代开发员的为主,而80-90后学C++的就相对少多了,试想想, 70年代的人很快就奔40了,新生力量是多么的不可或缺。对比中美软件领域看来,作为工业最强国的美国基本上每个大型的实验室,每个具体的工业领域都有非常专业的软件。而国内绝大多数都是空白。中国的GDP已经上升为全球第2位,作为中国人是很自豪的一件事,无不希望祖国能够更加强盛。 但现实很残酷,由于软件基础差,我们的出口的产品基本上都只能做中低端的。这里还更不用说基础软件差对国防国家安全构成的威胁。

因此,作为一个在软件基础行业超过17年老程序员,我要大声讲:要爱国,请从我做起,从学习C++做起!

开发基础性软件尤其是基础性C++图形可视化架构异常困难,我在UCanCode Software这么多年, 还是一直在尽最大的努力来为国内的C++开发工程师提供一个尽可能完美的开放源码C++图形基础架构, 我们希望是尽可能的将计算机的图形可视化部分编程基础架构化,以尽可能的节省我们在开发工业控制、监控、建模与仿真、CAD、GIS、打印等等开发时间。 一个优秀的C++图形可视化架构设计起来可谓呕心沥血, 每个功能都得考虑得异常细致, 有的时候甚至是如履薄冰。UCanCode Software一直秉持着源码绝对100%开放的理念的理念也一直激励着我们要尽可能将架构设计得更好、质量更高。微软的Visual Studio版本每隔1-2年就有一个新版本,从Visual Studio 5.0, Visual Studio 6.0, Visual Studio 2002, Visual Studio 2003到Visual Studio 2013光版本号都好长一串, 基础架构库的设计目标就是要保证所有C++工程师在每个Visual Studio环境下都好用、易用。

每当看到外国人在从我们购买的E-Form++可视化图形源码(UCanCode.com上免费下全功能评估版本)上很快开发出产品,然后又高价将开发出来的软件卖给我们国家的企业后,都有一种迫切的愿望,真诚希望我们国内的基础性软件行业好好用我们的源码多开发些属于咱们国家自己的好软件。

全面开放这些源码,我们希望通过我们的绵薄之力能够全面提升国内软件公司在开发电力、能源、化工、机械、造船、石油、航空、航天等领域的软件开发能力。通过这些源代码,您不仅能学习到如何用VC++编写大型软件工业建模与仿真、监控、工控、组态、CAD、GIS软件,还可以学习如何使用各种领先的设计模式来创建成熟的应用。 为了能最大限度的帮助国内开发人员,在我的力促下, UCanCode不但完成了所有软件功能的全面本地语言化, 还专门设置了军工与科研机构折扣, 这也算我为中国软件事业尽的一份绵薄之力!

(完!)

关于学习C++编程语言对中国软件发展的的一些思考!的更多相关文章

  1. 是什么让C#成为最值得学习的编程语言

    随着 Web.iOS.Android.智能设备的流行,新的编程语言纷纷涌现并表现不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等.反观已经发展了近20年的 C# 语言 ...

  2. 转:为什么说Python是最值得学习的编程语言

    老猿作为一个老程序员,研究生毕业后就没有这么用心的学过一门新的语言,而今年4月开始学Python以来,疯狂的迷上了它,有时很想写一篇为什么要学Python的文章,可一直懒没动笔,今天看到博友" ...

  3. Atitit.编程语言and 自然语言的比较and 编程语言未来的发展

    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展 1. 单词的间隔靠空格,编程的单词的间隔靠分界符..1 2. 语句分界符:自然语言使用逗号,编程语言使用分号1 3. 换行1 4 ...

  4. 总结了零基础学习Java编程语言的几个基础知识要点

    很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.本文总结了零基础学习Java编程语言的几个基础知识要点. 1先了解什么是Java的四个方面   初学者先弄清这 ...

  5. 1.html5 学习要求,Html 5发展历程

    以下是我在学习html5,项目中用到的关于html5的总结和心得. 1.学习要求 Html4.01,xhtml Css2 Javascript 耐心,动手,毅力. 2.Html 发展历程 Html1. ...

  6. 学习 java 编程语言两个月来的感受

    今天是我接触java编程的第81天, 现在的感受是觉得非常快乐, 每次看着自己的写的代码能成功运行的时候那种喜悦是无法言表的, 最初接触电脑还是在小学, 后来到了初中觉得电脑无非就是点点鼠标, 按按键 ...

  7. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  8. 如何深入系统的学习一门编程语言——python自学笔记

    前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...

  9. python学习day3 编程语言分类 变量 格式化输出

    1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...

随机推荐

  1. Android开发环境搭建(jdk+eclip+android sdk)

    在开启Android 开发之旅之前,首先要把准备工作做好---搭建开发环境 一.环境搭建: 1.Java JDK 安装 2.Eclipse 安装 3.Android SDK 安装 4.ADT安装 5. ...

  2. FTP多任务下载实现类

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. gulp详细入门教程-gulp demo download

    简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...

  4. c# 判断当前时间是否在 工作日时间段内

    #region //获取当前周几 private string _strWorkingDayAM = "08:30";//工作时间上午08:00 private string _s ...

  5. html slelect 标签默认值

    <select name="channelCode" id="channelCode" class="all_input" style ...

  6. [原创]在Linux系统Ubuntu14.04上安装部署docker。

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  7. 安装CAD2006装好了为什么不能用,显示系统错误无法启动此程序,因计算机丢失aclst.dll。尝试重新安装该程序以解

    我的电脑,右键 属性——>高级选项卡(win7的是高级系统设置)——>环境变量——>系统变量——>然后新建系统变量 变量名为:AutoCAD 变量值为:c:\program f ...

  8. jQuery设置聚焦并使光标位置在文字最后

    var editor = document.getElementById('btn'); editor.onfocus = function () { window.setTimeout(functi ...

  9. 关于ssh上传文件

    今天用ssh传项目到公司总部的服务器上,报了错误: encountered 1 errors during the transfer 重启ssh再次上传还是一样的错误,然后我让公司那里重启一下服务器, ...

  10. 【JavaScript】固定布局轮播图特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...