.net 还未成熟,两三年内还会有变数,立此文为证

本文针对.NET Framework的不同版本进行了深入分析,指出了其在设计上的不足之处,并对其未来发展提出了建议。

写给从老平台升级或是刚刚进来的菜菜中有选择恐惧症的童鞋。

个人觉得ms.net的整合思路是一种大胆的创新,整合后的同一平台可以实现跨语言编译,sdk的内容也很丰富,可以用来弥补windows api和类库中的一些问题。但是从1.1开始就是个半成品导致后面3.5以后的版本内部实现有很大的变化,但也只是修补以前的不足,为保持连续性也难有作为。枚举几个设计问题吧:

1. VB.net 和vb就没什么关系,不要想VB6的工程可以顺利升级,准确的说这个vb应该叫.net framework for basic 就是用basic语言描述的.net 框架,目前看老的VB工程师升级到JAVA的比较多,但不是很明显

2. C#.net 就是翻版Java ,IDE中窗口控件的设计分明就是delphi的思路,其中缘由不难想象,当初微软 搞C#的时候就是从这两个阵营中挖的人,VJ因为专利问题没有搞成,把项目组合并到了C#中,所以将很多VJ没有完成的使命也带了进来,但是就是弄的C#定位很模糊,对于Java 开发者C#略复杂,支持的特性比Java多,但是SDK和代码库却不如JAVA的丰富,delphi的开发人员当然不能容忍.net 冗长的类库和环境,以及不给力的执行效率

3. C++ 从VS6.0 。经过2003,2005,VS2008 到VS2010 个人感觉C++的编译器没什么进步,和VC6时代编译的差不多,升级主要为了更新OS的一些头文件,大概crt对多线程的支持更好吧,那个mfc一向不喜欢,而且越来不好用,不久gdi编程将死,这个mfc也不长了,推荐使用std的库和开源的第三方的库,个人推荐boost,使用mfc内置的一些类库,你会明白,性能那是一个差~~

总结了吧,.net framework 的主要问题在于大而全,就是工艺糙了点,刚开始的1.1版本那性能,那bug多的,能急死你,根本不靠谱,运行起来比vb6解释执行还慢,基本vb5水平,可能那时候JIT还不成熟吧;

VJ被抹杀后ms路子有点乱C#和VB的特性太多不是好事情,高级语言的任务是把问题简化,快速实现功能,这把C#和VB弄得再花哨也替代不了C++何苦呢,支持多线程、继承、重载、代理。。。把一切需要指针做的事情都封装起来,即使这样C++的程序员也不会改用C#,反倒是C#和VB的程序员很困惑,太多的特性支持也使得JIT优化的难度加大,有些费力不讨好

  • .net framework 1.1 和 2.0 都是半成品 3.5开始才靠谱起来,只是觉得太晚了,如果当初的1.1是3.5这样的,现在的.net 应该已经很不错 ,或许是受vista的拖累吧。。。身不逢时啊;
  • .net framework 应该分为核心库和扩展包,这样更好一些,反倒ms在命名空间和版本协同上下了很大的功夫,让人费解;
  • .net framework 上集成太多过时的特性和技术,相信随着技术应用的转型,这些都需要做调整以适应发展的要求。
顺便提一句JAVA如果继续集成特性今天加个泛型明天支持个闭包,不在jre、gc、SDK上下功夫早晚要步C#的后尘


---------------------------------------------

我心中理想的.net framework 包括

C++ (这个不可替代),希望多一些可以跨平台的考虑(windows、linux、mobile os)CPU x86 x64 arm

C# (整合VB VJ VF)致力于中等规模应用开发:布局简洁、代码高效,结构清晰 。易于同其他语言进行整合,不是现在的非托管代码模式

?? 敏捷模式,用于小型应用、WEB开发和移动开发,需要一种通俗、简单、敏捷的编程语言,更接近于自然语言和自然逻辑,很显然目前go 和RoR 都是这个方向的

VBA 中动态写入包含中文变量的公式时,需要特别注意字符编码和字符串拼接的问题。VBA 对 Unicode 支持良好,因此可以直接使用中文变量名或中文字符串内容。然而,在实际操作中,仍需确保代码逻辑正确且避免运行时错误。 ### 动态写入公式的实现方式 在 Excel VBA 中,可以通过 `.Formula` 或 `.FormulaR1C1` 属性来设置单元格的公式。当公式中包含中文变量时,应将变量作为字符串进行拼接,并确保公式格式正确。 #### 示例:动态写入包含中文变量的公式 ```vba Sub WriteFormulaWithChineseVariable() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") Dim chineseValue As String chineseValue = "销售额" ' 中文变量内容 ' 假设 A1 单元格存储的是某个数值,我们想在 B1 写入引用该值并带有中文描述的公式 ws.Range("B1").Formula = "=""结果:" & chineseValue & "为 "" & A1" End Sub ``` 上述代码会在 `B1` 单元格中写入如下公式: ``` ="结果:销售额为 " & A1 ``` 当 `A1` 的值为 `1000` 时,`B1` 显示的内容将是:“结果:销售额为 1000”。 #### 使用 `.FormulaR1C1` 设置 R1C1 样式公式 如果希望使用相对引用或绝对引用的 R1C1 表示法,也可以采用 `.FormulaR1C1` 属性: ```vba ws.Range("B1").FormulaR1C1 = "=""结果:" & chineseValue & "为 "" & RC[-1]" ``` 这将使公式引用当前行前一列(即 A1)的数据。 ### 注意事项 - **编码问题**:VBA 默认支持 Unicode 编码,因此直接使用中文字符串不会出现乱码问题。但如果从外部文件或数据库读取数据,应确保源数据也使用正确的编码格式。 - **引号转义**:在拼接公式时,Excel 公式中的双引号需要用两个双引号 `""` 表示,以避免语法错误。 - **性能优化**:若涉及大量单元格操作,建议关闭屏幕更新 `Application.ScreenUpdating = False` 并在执行完毕后恢复,以提升性能[^1]。 ### 示例:结合工作表函数与中文提示信息 ```vba Dim formulaText As String formulaText = "=IF(A1>100, ""高销售"", ""低销售"")" ws.Range("C1").Formula = formulaText ``` 这段代码将在 `C1` 中写入一个判断语句,根据 `A1` 的值显示“高销售”或“低销售”。 ---
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值