VS2019 再过几天就要正式发布了,我们还在使用 VS2010 进行软件开发。由于所处行业环境及项目类型,加之之前的代码积累,所以即使不用新的开发环境、新的语言技术也能比较好的完成工作。那究竟要不要使用新的开发环境、新的技术呢?答案当然是肯定的。

过去几年一直使用 VS2010 进行开发,使用 MFC 作为界面框架,使用 C++ 中的容器、算法,使用 C 线程处理多线程,使用 Win32 中的临界区、Event、Mutex 等处理线程间通信,使用 boost 中的部分组件(如 bind、function、signals2 等)等。多年过去,是时候做些改变了。

学习 C++11

C++11 已经推出多年,现在每三年一个标准,C++14C++17 已制定完毕,C++20 也在路上。一味追随新技术只会让自己陷入疲惫和迷茫,但对于比较成熟的技术还是要不断学习、尝试使用,同时保持对新技术的关注。

VS2010 已经提供了部分 C++11 的功能,如 auto、nullprt、std::shared_ptr、std::unique_ptr、部分 lambda 等功能,但其它如 foreach、容器初始化、多线程库、原子库、正则表达式库等大部分功能并没有包含。虽然这些可以使用 boost 中提供的相关库(C++11 中的很多功能源自 boost),但新的开发环境显然提供了更完善的支持,从编写、编译、运行调试等各方面都能够提升编码体验。

放弃 MFC

MFC 是微软提供的 Windows 桌面开发框架,主要使用面向对象思想对 Win32 API 进行了封装以便能够快速开发桌面程序。从 92 年发布距今已经 27 年,还在使用的人想必不会太多,愿意花时间学习的就更少了。

MFC 问世时,C++ 的标准(C++98)还在制定中,模板及模板元编程也还没出现。随着 VC6 的成功 MFC 也火了一段时间,在 VS2010 中也加入了大量的新组件(相关类以 CMFC 开头,其实是集成了 BCG 库),在此之后再也没有大的改进。

在安装 VS2010 时,MFC 还是默认安装的,在安装 VS2015 时,MFC 需要手动选择才会安装,之后的版本(VS2017、VS2019 预览版)也是如此。

试用 .Net Core

过去微软主推 .Net 技术,现在主推 .Net Core 技术,.Net 的桌面开发技术 WinForm、WPF 也已移植到 .Net Core 中。利用 .Net 庞大的基础类库,使用 C# 的诸多语法特性,借助 VStudio 的智能支持,使用 WinForm 能够更加快速的开发桌面程序,而且更易维护。

所以是时候放弃 MFC,转而使用新的开发框架了。

使用 VS2019

.Net Core 作为微软新一代技术平台,已经发展多年,完全开源、跨平台(WinForm、WPF 只支持 Windows 平台)。使用跨平台软件 VS Code 可以直接在各平台上进行开发并能获得一直的开发体验,只是若要使用 .Net Core + WinForm 进行桌面软件开发,还是使用 VStudio 更加便利,而这些在 VS2019 中才有更好的支持。

小结

在使用 VS2010 时,她是最新的开发环境、C++11 标准还没被各大厂商支持、微软还不是现在的微软(以前闭源,现在开源)、.Net Core 还没问世,我们使用的也是当时的新技术。随着时间的推移,各项技术(开发工具、语言)都又有了进一步的发展,我们也需要重新选择。只有不断的学习才能不断的进步。

- - - End - - -



欢迎扫码订阅我的微信公众号,以获得最佳阅读体验。

本文作者: Lzl678
本文链接: https://www.cnblogs.com/Lzl678/p/10618429.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

放下VS2010,拥抱VS2019的更多相关文章

  1. VS2010到VS2019各个版本的密钥

    VS2019专业版和企业版的密钥 Visual Studio 2019 EnterpriseBF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2019 Profe ...

  2. C语言学习笔记第一章——开篇

    本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...

  3. vs2010,vs2013,vs2015,vs2017, vs2019激活秘钥

    vs2010============================================== YCFHQ9DWCYDKV88T2TMHG7BHP vs2013=============== ...

  4. VS2017、VS2019没有Setup安装项目(Visual Studio Installer)_解决方案

    前言: VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案.但是在VS2017,VS2019 ...

  5. VS2019 实用操作

    本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...

  6. VS2019 实用设置

    本文记录了 VS2019 预览版使用过程中的一些设置,这些设置也同样适用于 VS2017,我们可以根据个人的实际情况进行修改. 滚动条(Scroll Bar) 将滚动条设置为 map mode 后,则 ...

  7. VS2010主题设置及插件推荐

    本文主要写了个人使用 VS2010 的一些配置及实用插件,从而打造一个符合个人风格的开发环境. 基础设置 安装 Visual Assist X 在 VS2010 中若不安装 Visual Assist ...

  8. 宇宙第一开发工具:vs2019 开发Python

    1.初步认识 现在人工智能逐步进入人们的视野,人工智能开发也越来越火. 而python语言,被作为大数据库开发的首选语言之一~.前一段时间vs2019预览版发布.相信不少小伙伴已经开始使用,vs201 ...

  9. vc6.0 PK vs2010

    从VC++6.0不足看VisualC++2010新特性 说起VC,有人想到维生素C(维C),有人想到风险投资(venture capital), 程序员们尤其是做底层开发的程序员或老程序员们第一感觉肯 ...

随机推荐

  1. AI - 深度学习之美十四章-概念摘要(1~7)

    原文链接:https://yq.aliyun.com/topic/111 本文是对原文内容中部分概念的摘取记录,可能有轻微改动,但不影响原文表达. 01 - 一入侯门"深"似海,深 ...

  2. Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分

    1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...

  3. Win32对话框程序(1)

    之前学C语言是一直都是在控制台下面操作的,面对的都是黑框框,严重的打击了学习的兴趣.后来在TC下进行C语言课程设计,做了图形界面编程,但都是点线面画的…… 中间隔了好长一段时间没有碰过C语言,最近才开 ...

  4. (转)使用JMeter进行Web压力测试

    使用JMeter进行压力测试 说到压力测试,一般第一反应都是LoadRunner.这个软件也确实是自动化测试的一个事实标准.无奈这个软件太过庞大,以及不能在MacOS上使用.我由于项目的需要,需要对一 ...

  5. nmon - 性能监控利器介绍

    关于nmon nmon 是一款小巧的系统监控程序(只有5000行代码),可以用来对CPU.磁盘.内存等资源指标来做实时监控. 之前在做系统性能优化工作时用得较多,觉得非常不错,于是在这里给大家介绍下用 ...

  6. 使用IO流写文件的一些骚操作

    序言 当需要对文件进行操作时,使用IO流是不能避免的操作:比如业务中需要存储一些请求的响应结果中的一些内容.当所需处理的文件过大时,如果频繁的关闭文件流,会造成很大的开销,何时关闭?往往会造成比较大的 ...

  7. Redis原理及使用

    一:原理介绍 1:什么是redis?  Redis 是一个基于内存的高性能key-value数据库. 2:Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcache ...

  8. javascript小记四则:用JS写一个滚动横条文字,可以根据需要进行修改;

    网页上的一些广告文字,一直会滚动是怎么做到的,今天给大家演示下,非常简单,源码如下(本案例是在.net平台上,但HTML是通用的): <!DOCTYPE html> <html> ...

  9. Deepin MongoDB安装&使用总结

    参考:手把手教你 MongoDB 的安装与详细使用(一) deepin 安装 mongodb 数据库(全面) 1. 导入公钥 sudo apt-key adv --keyserver hkp://ke ...

  10. 判断点在多边形内算法的C++实现

    目录 1. 算法思路 2. 具体实现 3. 改进空间 1. 算法思路 判断平面内点是否在多边形内有多种算法,其中射线法是其中比较好理解的一种,而且能够支持凹多边形的情况.该算法的思路很简单,就是从目标 ...