上周三晚上与著名的Office专<personname productid="家郭安定" w:st="on">家郭安定</personname>老师见面,他向我展示了自己开发的一些Office应用。我以前就知道可以用VBA开发出很棒的Office应用程序,不过看到<personname productid="郭" w:st="on">郭</personname>先生的两个demo,还是有震撼的感觉。这两个应用一个是算法密集型的,类似复杂的排课系统,另一个则具有漂亮的图形界面、高级的数据访问和业务逻辑,都是充分利用了Office已经提供的高层功能开发而成。<personname productid="郭" w:st="on">郭</personname>先生本人在Office开发领域耕耘10年,像这样的案例还有不少。而对我来说,之前确实没想到Office开发可以达到这样的效果。
很多时候我们花了巨大的精力所作的东西,其实只不过是Office现有功能的拙劣复制。把宝贵的资源和人力浪费在重复发明轮子上,花大量精力来研究表格、图表、报表的开发,文档的格式化,复杂统计算法的调试,Email客户端的编写,日程与任务的编排,累得筋疲力尽,等到真的要考虑用户个性化需求的时候,已经强弩之末了。殊不知这些功能,通过VBA编程,在Word、Excel、Outlook、Project等Office套件中,全都唾手可得,如果能够充分利用,很多应用项目(特别是企业应用项目)的开发就会轻快很多。现有的Office软件具有强大的Web访问和编程能力,把它们与Web结合起来,充分发挥两端的优势,这难道不应该是一个很好的企业解决思路吗?想到这些之后,我在上周末邀请<personname productid="郭" w:st="on">郭</personname>老师来CSDN做了一个视频节目,介绍了一下Office应用开发的能力和特点。大约最近就会播出。而本周日,CSDN还邀请<personname productid="郭" w:st="on">郭</personname>先生在北京举办一次讲座,更深入地介绍和展示Office开发。对于很多开发团队的主管来说,这应该是一个不错的机会,或许会使你对于企业应用开发方案的选型有新的认识和理解,所以给广告一下 :-)
跟<personname productid="郭" w:st="on">郭</personname>先生见面之后,我阅读了一些VBA相关的资料,有一些更深的思考。当年VB、VC、Delphi三强争锋的时候,在全球来说,以VB风头最劲。而在中国,至少是意识形态上,搞VB的始终抬不起头来。其实理由很简单,你看看VB的语言设施和能力,跟C++、Object Pascal比起来,确实显得简陋。但事情的另一方面是,做企业应用,VB的开发效率确实高,应用面确实广,这方面VC和Delphi都远远不如。如果粗略地来划分一下,VB属于生产力高而技术深入度低的工具,而VC则属于技术深入度高而生产力低的工具,两者各用用途,而在广泛的领域内,VB实在是更好的工具,特别是对客户和开发组织而言,提高生产率,降低产品质量缺陷,缩短开发时间,这些都是莫大的好处。这些我们当时就很清楚,但是为什么后来还是在很大范围内形成了对VB/VBA的一种轻视的氛围呢?进而言之,对于像Office开发、Lotus开发这样的高级的应用解决方案,确实能够实实在在解决用户的问题,无非是编程技术傻瓜了一点,为什么在国外非常流行,而在中国的开发文化主流中似乎从来没有被放到应有的位置上。这是什么原因呢?难道是因为我们中国程序员的技术群体中存在一种特别的情绪吗?如果是的话,这种情绪现在是加强了呢,还是削弱了呢?这个问题,恐怕是需要我们思考和反省的。
分享到:
相关推荐
《ERP开发与实施》电子教案PPT,ERP是由美国著名的计算机技术咨询和评估集团Garter Group Inc.提出的一整套企业管理系统体系标准,其实质是在MRP II(Manufacturing Resources Planning,“制造资源计划”) 基础上...
《项目管理利器:Microsoft Project 2002》是一份深入解析Project 2002在项目管理中应用的资料,由郭安定这位微软资深顾问主讲。该资料旨在帮助用户掌握如何有效地利用这款工具来管理任务、资源、进度,并生成相关...
2. BIOS放电:电脑非法关机后开机不自检,可能是BIOS出现问题。此时,可以通过BIOS放电来解决。打开机箱,找到主板电池附近的跳线,将跳线从当前位置拔出,插入另一边,完成放电。然后将跳线恢复原位。如果无法启动...
内容概要:本文档详细介绍了Netty框架的核心概念、特点、线程模型、序列化协议选择及其实现细节。首先对比了BIO、NIO和AIO的区别,重点阐述了NIO的非阻塞特性及其基于事件驱动的工作原理。接着深入讲解了Netty的高性能表现,包括零拷贝技术、心跳机制、内存管理、流量整形等方面。文档还探讨了Netty的线程模型,包括单线程、多线程和主从多线程模型,并解释了NIOEventLoopGroup的源码实现。此外,文档讨论了TCP粘包/拆包问题及其解决方案,以及常见的序列化协议(如JSON、Protobuf、Thrift等)的特点和适用场景。 适合人群:具备一定网络编程基础,特别是对Java NIO和Netty框架有一定了解的研发人员和技术专家。 使用场景及目标:①理解NIO与传统BIO的区别,掌握NIO的非阻塞特性和事件驱动模型;②深入了解Netty的高性能设计原则,包括零拷贝、心跳检测、内存管理和线程模型;③掌握TCP粘包/拆包的原理及解决方案;④根据具体应用场景选择合适的序列化协议。 阅读建议:本文档内容较为深入,建议读者在阅读过程中结合实际代码和应用场景进行理解。对于Netty的线程模型和序列化协议部分,可以通过实际编程练习加深理解。特别地,理解NIOEventLoopGroup的源码实现需要有一定的Java多线程编程基础。
美高森美提供的SmartFusion2 SoC FPGA双轴电机控制套件带有模块化电机控制IP集和参考设计.doc
内容概要:本文详细介绍了使用三菱FX1S系列PLC和威纶通触摸屏构建双伺服打孔机控制系统的开发过程。主要内容涵盖系统架构、PLC程序设计、触摸屏配置以及开发中常见的注意事项。系统的核心在于通过PLC控制伺服电机完成精确的打孔动作,触摸屏则用于参数设置和运行监控。文中还讨论了伺服电机的参数配置、循环控制逻辑、MODBUS通信配置、界面设计及实时数据更新等方面的内容。此外,作者分享了一些实际开发中的经验和教训,如伺服电机的过冲和欠冲问题、程序稳定性的保障措施以及触摸屏响应速度的优化。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是对PLC编程和伺服控制有一定基础的人群。 使用场景及目标:适用于需要高精度定位和控制的工业应用场景,如钣金加工车间。目标是帮助读者掌握双伺服打孔机的开发流程,提高系统的稳定性和效率。 其他说明:文中提到的技术细节和实践经验对于理解和解决类似项目的难题非常有帮助。建议读者在实践中结合具体情况进行调整和优化。
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
呼伦贝尔市-满洲里市-街道行政区划_150781_Shp数据-wgs84坐标系.rar
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
Java基于springboot+vue的资产管理系统源码+数据库(高分项目),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业。 Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据库(高分项目)Java基于springboot+vue的资产管理系统源码+数据
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
街道级行政区划shp数据,wgs84坐标系,直接使用。
街道级行政区划shp矢量数据,wgs84坐标系,下载直接使用
街道级行政区划shp数据,wgs84坐标系,直接下载使用。
鄂尔多斯市-乌审旗-街道行政区划_150626_Shp数据-wgs84坐标系.rar
适用范围:Thinkphp蓝色响应式后台源码 系统设置、导航管理、配置管理、上传管理、用户管理、功能模块和插件管理 源码开发语言:PHP+MYSQL 源码描述说明: thinkphp蓝色大气的响应式后台模板,常用的后台功能有:系统设置、导航管理、配置管理、上传管理、用户管理、功能模块和插件管理等。
大同市-云冈区-街道行政区划_140214_Shp数据-wgs84坐标系.rar