关于学习C++编程语言对中国软件发展的的一些思考!
从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++编程语言对中国软件发展的的一些思考!的更多相关文章
- 是什么让C#成为最值得学习的编程语言
随着 Web.iOS.Android.智能设备的流行,新的编程语言纷纷涌现并表现不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等.反观已经发展了近20年的 C# 语言 ...
- 转:为什么说Python是最值得学习的编程语言
老猿作为一个老程序员,研究生毕业后就没有这么用心的学过一门新的语言,而今年4月开始学Python以来,疯狂的迷上了它,有时很想写一篇为什么要学Python的文章,可一直懒没动笔,今天看到博友" ...
- Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
Atitit.编程语言and 自然语言的比较and 编程语言未来的发展 1. 单词的间隔靠空格,编程的单词的间隔靠分界符..1 2. 语句分界符:自然语言使用逗号,编程语言使用分号1 3. 换行1 4 ...
- 总结了零基础学习Java编程语言的几个基础知识要点
很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.本文总结了零基础学习Java编程语言的几个基础知识要点. 1先了解什么是Java的四个方面 初学者先弄清这 ...
- 1.html5 学习要求,Html 5发展历程
以下是我在学习html5,项目中用到的关于html5的总结和心得. 1.学习要求 Html4.01,xhtml Css2 Javascript 耐心,动手,毅力. 2.Html 发展历程 Html1. ...
- 学习 java 编程语言两个月来的感受
今天是我接触java编程的第81天, 现在的感受是觉得非常快乐, 每次看着自己的写的代码能成功运行的时候那种喜悦是无法言表的, 最初接触电脑还是在小学, 后来到了初中觉得电脑无非就是点点鼠标, 按按键 ...
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- 如何深入系统的学习一门编程语言——python自学笔记
前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...
- python学习day3 编程语言分类 变量 格式化输出
1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...
随机推荐
- css3动画参数解释
@keyframes规定动画.animation 所有动画属性的简写属性,除了 animation-play-state 属性. ----------------------------------- ...
- VMware8.0虚拟机中安装Ubuntu12.04使用NAT设置连接网络
之前一直尝试使用“桥接”的方法,但是一打开虚拟机,本机windows就断网.最后不得不换种方法,还好尝试了很多遍终于使用NAT设置成功的联网了. 说明:本机windows连接的是无线网. 1.检查自己 ...
- 【转】Pycharm的激活
如果要基于Python进行开发的话,那么pycharm是个不错的选择,试用一个月以后需要激活,原文如下: 原文链接:http://blog.csdn.net/lanchunhui/article/de ...
- Python’s SQLAlchemy vs Other ORMs[转发 4]peewee
peewee peewee is a small, expressive ORM. Compared to other ORMs, peewee focuses on the principal of ...
- 全球Top10最佳移动统计分析sdk
监视应用程序的分析帮助您优化您的移动应用程序的某些元素,它也给你正确的洞察到你的营销计划.没有手机的分析软件包会有缺乏必要的数据,以帮助你提高你的应用程序需要.如果你是一个软件开发者或出版商为Goog ...
- touch的属性
touch命令:建立文件 touch的功能并不是用来创建新文件的,创建文件是touch命令的一个特殊情况,touch是用来修改指定的文件的访问和修改时间属性,如果指定的文件不存在,将建立一个新的空 ...
- STC12C5A60S2 @ 22.0184Mhz 精确延时
#include "STC12.h" // STC12C5A60S2 @ 22.0184Mhz 精确延时 void delay_10us(unsigned char n) { un ...
- 无废话SharePoint入门教程二[SharePoint发展、工具及术语]
一.前言 1.由于上一篇文章的标题命名失误,此篇标题写给百度搜索”什么是SharePoint”. 2.关于什么是SharePoint,请参见本人的第一篇文章:http://www.cnblogs.co ...
- running programmer——spring-01(初谈spring)
今天主要是通过一个简单的登录程序学习一些spring做基础的配置和功能. I.spring的核心配置applicationContext.xml 关于bean的配置官方给出的最基础的配置文件如下: & ...
- Understanding the Internal Message Buffers of Storm
Understanding the Internal Message Buffers of Storm Jun 21st, 2013 Table of Contents Internal messag ...