关于学习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.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...
随机推荐
- Python’s SQLAlchemy vs Other ORMs[转发 1]SQLObject
SQLObject SQLObject is a Python ORM that maps objects between a SQL database and Python. It is becom ...
- 关于maven
主要涉及的配置文件是setting.xml与pom.xml 其中setting配置文件主要负责加载jar包路径设置, pom.xml文件主要负责jar包配置. 包含jar包的版本. maven打包:之 ...
- jmeter 内存溢出解决方法
执行“评论新鲜事”200并发就内存溢出 解决方法: [caozijuan@test09 bin]$ vi jmeter JVM_ARGS="-Xms1024m -Xmx4096m" ...
- ubuntu下各种压缩包的解压命令
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)-------------------------- ...
- ASP.NETMVC自定义错误页面真的简单吗?
Note:文章前半部分翻译自 http://benfoster.io/blog/aspnet-mvc-custom-error-pages ,着急的可直接看总结~ 如果你在设置asp.net mvc自 ...
- QT 做软件盘
最近搞了一个组织细胞脱水机项目,当然,对于国内的项目都是仿来仿去的,我们也不例外,开启被仿机器后,第一个看到的界面就是用户登录界面,需要输入中文,作为一个程序员,我的第一反应就是我需要采用什么用的框架 ...
- 通过JDBK操作数据库
一.配置程序--让我们程序能找到数据库的驱动jar包1.把.jar文件复制到项目中去,整合的时候方便.2.在eclipse项目右击"构建路径"--"配置构建路径" ...
- hdoj 5139Formula
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5139 展开后的:1!*2!*3!*..*n! 后面就好办了- -
- HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
①HashMap的工作原理 HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算h ...
- mysql 自动备份导出到sql
创建一个sh文件 vi mysql_auto.sh写入如下代码 导出单个数据库 /www/wdlinux/mysql/bin/mysqldump -uroot -p123456 database &g ...