写下这个标题的时候,也是表明必须需要改变的时候了……

黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/

最早从windows3.1使用vb3编程,操作系统从win95,98,2000,xp,win7,win8, 甚至现在的win10,使用的编程工具从TC2.0,BC3.0,VC1.52,进化到 VC2.0, VC4.2, VC5.0, 最后到VC6.0,然后就一直维持这个开发工具一直到现在。

从大学期间开始编程,到研究生时做课题研究,到毕业后做智能系统核心算法开发,算起来已经超过20年,以VC作为主要开发工具也已经超过20年,主要的时间都是使用vc6。

能够一直用到现在,主要原因是自己是做算法开发的,做模式识别,神经网络,系统仿真辨识领域的课题和项目。所以VC6在大部分时候还是能胜任的。

此外,WINDOWS也一直保持操作系统的兼容性,VC6能一直开发最新系统的程序,AMD64位技术完美兼容32位,这些都功不可没。

期间试图进化到VisualStudio新版的开发工具,但实验过后发现操作习惯很不一样,所以最终放弃了。

(1)自己最常用的几个vc6的功能在新版的VS里面无法实现,由于这两个功能我每天会用上百次或更多,由于一时没找到解决办法,就没有动力继续研究改换工具了。

(a)在VC6里面给命令ToggleWorkspace指定 Alt + ~ 热键之后,可以非常方便地打开和关闭整个工作区,而新版Vs的命令里面工作区的打开和关闭是不同的命令,此外不同的面板(类视图,文件视图,资源视图等等)的命令也是分开的。所以在vc6里面可以方便的扩大代码区到基本整个屏幕,只需要一个热键(平常我把工具栏也都隐藏,只用热键和菜单)所以整个屏幕基本都是代码区。

(b)自己做了一个Add-in,在指定 Alt + 1热键之后,可以直接在代码区切换头文件和实现文件,.h, .c, .cpp可以自动切换显示。

(c)这个addin里面还有其他一些功能,例如自动添加函数的参数说明注释,自动插入自定义的代码碎片,打开工程目录等等。这些功能新的VS的插件可能都有,但自己原来的是不能用了,需要再研究。放弃已有的,熟悉的东西是很难的啊(很多大公司也是这样倒掉的)

(2)同win7的兼容性问题。在win7上安装vc6的时候说不兼容,但其实忽略之后工作完全正常(据说ole container不兼容),自己也试验过win8和win10,均可以正常工作。

(3)同Office2010不兼容的问题。其实只影响一个打开的工具栏按钮,自己基本从来不用这些按钮,所以也不影响我维持现状。

(4)vc6编译器老化的问题。曾经尝试过用intel的编译器,集成在vc6环境中使用,但没感觉到太大的差别。

(5)编译器不支持新的c++特性的问题。由于一些最新的特性不支持,所以编程时要避免使用最新的C++特性(我难道会用到这些新特性?我这个年纪的人,如果还在编程,很多都在吃老本,所以不需要这些新特性,我们会用自己的办法实现这些新特性的功能)。

(6)新的开源库需要新的C++特性的问题,譬如boost,新的opencv等。这个我都是在vs2015上把这些库增加普通的接口函数,编译为动态链接库来处理的。

(7)团队合作的问题。由于一直是单打独干,所以没有团队合作的问题。这个是自己的选择,也是自己的局限。

(8)版本管理的问题。由于没有团队,所以版本管理就简单了,自己开发了自用的版本管理工具,虽然功能差,但是完全是自己的习惯和思路。

这些年想尽办法延续了VC6的使用,其实也就限制了自己的发展,现在是改变的时候了,怎么改变?是进化到新的visual studio吗?学习新的日新月异的技术?不,是要进入休息(或退休)的状态,少编程,多思考。

有空的时候会写写自己20多年来的代码积累,新的技术日新月异,这些都会被遗弃,被遗弃之前可能会写一写。

自己的算法是不是也可以逐渐开源?

我是如何把VC6一直用到2016年的的更多相关文章

  1. WIN 下的超动态菜单(二)用法

    WIN 下的超动态菜单(一)简介 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/     ...

  2. 词法分析程序 LEX和VC6整合使用的一个简单例子

    词法分析的理论知识不少,包括了正规式.正规文法.它们之间的转换以及确定的有穷自动机和不确定的有穷自动机等等... 要自己写一个词法分析器也不会很难,只要给出了最简的有穷自动机,就能很方便实现了,用if ...

  3. elasticsearch,python包pyes进行的处理

    elasticsearch:高性能搜索引擎,官网:https://www.elastic.co/products/elasticsearch/ 对于它相信大家都不陌生,es的使用已经广泛存在 各大网站 ...

  4. Java JNI 编程进阶 实例+c++数据类型与jni数据类型转换

    原文:http://www.iteye.com/topic/295776 JNI一直以来都很少去关注,但却是我心中的一个结,最近这几天刚好手头有点时间,因此抽空看了一下这方面的东西,整理了一份文档,J ...

  5. PHPNow升级PHP版本为5.3.5的方法

    在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择,这篇文章主要为大家分享下如果将phpnow的php版本升级为5.3.5   在WIN上有时候需要测试一些 ...

  6. PHPNow升级PHP版本的方法

    在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择. PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22,PHP5.2对于现在 ...

  7. CSS中的浮动清除

    先来看一个实验:现在有两个div,div身上没有任何属性.每个div中都有li,这些li都是浮动的. 理想的效果:可实际的效果: 这个地方就涉及到浮动,因为两个父元素div都没有高度(或者小于子元素的 ...

  8. PHPNow升级PHP版本

    PHPNow升级PHP版本 phpnow下载地址:http://www.jb51.net/softs/12868.html 1,先把PHP5.3.5下载下来,在官网我是没找到VC6的版本,只能从Goo ...

  9. PHPNow升级PHP版本为5.3.5的方法(转)

    PHPNow升级PHP版本为5.3.5的方法 原文:http://sharebar.org/1142.html 在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好 ...

随机推荐

  1. Centos 7 开启端口

    CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的 CentOS 7 采用了 firewalld 防火墙 如要查询是否开启80端口则: 1 ...

  2. Sql Server函数全解(一)字符串函数

    字符串函数用于对字符和二进制字符进行各种操作 1.ASCII()函数  ASCII(character_expression)函数用于返回字符串表达式中最左侧的ASCII代码值.参数character ...

  3. Ionic2学习笔记(10):扫描二维码

    作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5575843.html 时间:6/11/2016     说明: 在本文发表的时候(2016-06-1 ...

  4. nodejs 遍历数组的两种方法

    var array = [1,2,3]; array.forEach(function(v,i,a){ console.log(v); console.log(i); console.log(a); ...

  5. super.getClass()方法调用

    下面程序的输出结果是多少?import java.util.Date;public class Test extends Date{public static void main(String[] a ...

  6. 4、python列表

    1.末尾追加:append() s = ["a", "b", "c"] print(s) #['a', 'b', 'c'] s.append ...

  7. PowerDesigner15在win7-64位系统下对MySQL 进行反向工程以及建立物理模型产生SQL语句步骤图文傻瓜式详解

    1.安装PowerDesigner15.MySQL5.不详细讲解了.网上一大把.请各位亲参考去. 2.安MyODBC-standard-3.51.0.7-win.msi.mysql-connector ...

  8. [ASP.NET MVC] ASP.NET Identity登入技术剖析

    [ASP.NET MVC] ASP.NET Identity登入技术剖析 前言 ASP.NET Identity是微软所贡献的开源项目,用来提供ASP.NET的验证.授权等等机制.本篇文章介绍ASP. ...

  9. Ionic + Cordova 跨平台移动开发环境配置

    1.下载安装JDK(根据各自系统选择32位或64位下载),安装完成之后需要做以下环境变量配置 在“系统变量”中,设置3象属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),如果已经 ...

  10. iOS 文件下载

    iOS 视频音乐类等应用会用到“文件下载”.文件下载在iOS中的实现如下: 1.小文件下载 @interface ViewController () <NSURLConnectionDataDe ...