VS2019 再过几天就要正式发布了,咱们还在使用 VS2010 进行软件开发。因为所处行业环境及项目类型,加之以前的代码积累,因此即便不用新的开发环境、新的语言技术也能比较好的完成工做。那究竟要不要使用新的开发环境、新的技术呢?答案固然是确定的。html
过去几年一直使用 VS2010 进行开发,使用 MFC 做为界面框架,使用 C++ 中的容器、算法,使用 C 线程处理多线程,使用 Win32 中的临界区、Event、Mutex 等处理线程间通讯,使用 boost 中的部分组件(如 bind、function、signals2 等)等。多年过去,是时候作些改变了。正则表达式
C++11 已经推出多年,如今每三年一个标准,C++14、C++17 已制定完毕,C++20 也在路上。一味追随新技术只会让本身陷入疲惫和迷茫,但对于比较成熟的技术仍是要不断学习、尝试使用,同时保持对新技术的关注。算法
VS2010 已经提供了部分 C++11 的功能,如 auto、nullprt、std::shared_ptr、std::unique_ptr、部分 lambda 等功能,但其它如 foreach、容器初始化、多线程库、原子库、正则表达式库等大部分功能并无包含。虽然这些可使用 boost 中提供的相关库(C++11 中的不少功能源自 boost),但新的开发环境显然提供了更完善的支持,从编写、编译、运行调试等各方面都可以提高编码体验。编程
MFC 是微软提供的 Windows 桌面开发框架,主要使用面向对象思想对 Win32 API 进行了封装以便可以快速开发桌面程序。从 92 年发布距今已经 27 年,还在使用的人想必不会太多,愿意花时间学习的就更少了。微信
MFC 问世时,C++ 的标准(C++98)还在制定中,模板及模板元编程也还没出现。随着 VC6 的成功 MFC 也火了一段时间,在 VS2010 中也加入了大量的新组件(相关类以 CMFC 开头,实际上是集成了 BCG 库),在此以后再也没有大的改进。多线程
在安装 VS2010 时,MFC 仍是默认安装的,在安装 VS2015 时,MFC 须要手动选择才会安装,以后的版本(VS201七、VS2019 预览版)也是如此。app
过去微软主推 .Net 技术,如今主推 .Net Core 技术,.Net 的桌面开发技术 WinForm、WPF 也已移植到 .Net Core 中。利用 .Net 庞大的基础类库,使用 C# 的诸多语法特性,借助 VStudio 的智能支持,使用 WinForm 可以更加快速的开发桌面程序,并且更易维护。框架
因此是时候放弃 MFC,转而使用新的开发框架了。工具
.Net Core 做为微软新一代技术平台,已经发展多年,彻底开源、跨平台(WinForm、WPF 只支持 Windows 平台)。使用跨平台软件 VS Code 能够直接在各平台上进行开发并能得到一直的开发体验,只是若要使用 .Net Core + WinForm 进行桌面软件开发,仍是使用 VStudio 更加便利,而这些在 VS2019 中才有更好的支持。学习
在使用 VS2010 时,她是最新的开发环境、C++11 标准还没被各大厂商支持、微软还不是如今的微软(之前闭源,如今开源)、.Net Core 还没问世,咱们使用的也是当时的新技术。随着时间的推移,各项技术(开发工具、语言)都又有了进一步的发展,咱们也须要从新选择。只有不断的学习才能不断的进步。
- - - End - - -
本文做者: Lzl678
本文连接: http://www.javashuo.com/article/p-stplaufg-gr.html
版权声明:本博客全部文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!