答:C++需要学到什么程度再开始学 qt 比较合理?

有网友问:C++需要学到什么程度再开始学 qt 比较合理?

南老师回答如下。

在我看来,这确实是一个好问题,但我的回答,大概很难成为一个好回答。

但我还是想回答,所以诚恳谢妖!

如果有人问我,你会 Visual Studio C++ 吗?我会直觉回答:不会,因为太少用了——尽管我在 VC 1.5 的时候,就曾经安装并完成一些工作,但一直很讨厌这个IDE,就能不用就不用,于是越发不会用。

如果有人问我,你会 Qt 吗? 这下连直觉都不用了,肯定得老实回答:不会。

但不妨碍我,在疫期的某一年,我大胆接了一个来自医院的单,是一个别人赚了一手了,撒手不做的二手单,必须用到 Qt ,并且原项目用的是Visaul C++ Studio (不是 VSCode)。

年纪大了以后的我接单有两个原则,第一个是报价一定相对贵,能接受你就给钱,不能我就不做;相反,我很少考虑技术栈是不是和自己擅长,是否有延续笥——若还问,我就装B:基本都不会,但都多少会一点。

所以,本来这是一个三年维护费不到五万的项目,但甲方和天下所有甲方一样,把不少重要新功能开发或原功能改进,全当成 “维护”工作量了——大聪明原作者在维护一年后就选责消极怠工,然后由甲方愤而主动断掉——我得感谢原作者,然后我先无偿帮他们分析了下。

注意,当我在做这些分析工作时,我抢先到甲方会场,坐在会议室长桌正中间,时间一到,医院甲方相关领导只好坐我左手侧,医院还有三四个配合其他软件厂商的代表,坐右手侧。我很认真的讲了现有项目的问题根源所在以及这些根源极大可能会造成大家的痛苦,大概就是这类表达:

——“是不是觉得喉咙有一直有异物?咳又咳不出,吞东西还痛?”
——“是不是经常发现尿液混浊不清?几次放回裤子后又突然滴出一串?”
——“是不是感觉力不从心?可是领导又逼得很紧?”

然后我投影出我的密密麻麻的报价单——非常详细,但肯定不会有 “熟悉环境 ”, “了解现有项目”,“准备开发环境” 这种不专业的做法……

总时间3个月,费用税后15W。如果觉得贵,可有两个选择:一是从报价单上砍掉部分内容,二是某些特定功能,适当延长时间(因为在延长的时间内,我可以去赚别的钱)。

左边的没说什么意见,只是表情凝重。右边那些“联合国”的杂牌军抛出一连串问题,我一个个回答,其间对一些典型的“笨蛋”问题,给了适当的 PUA 训斥法(原谅我,其实我非常好相处,但在关键场合,总会有些人问你一些类似 “你怎么证明永动机发明不出来?” 这种破问题……

会后对方从报价单里划掉几项,砍了3万。我接受了。因为拖延症,最后一个月才开始开发。第一天时间,全在安装 VS 和 Qt …第二天,有点担心 Qt 的版权 ,发现前面的团队已经和甲方处理好此事了,于是我提出在合同的某些条款里改了些表达,对方同意。

我完成了他们要的功能。年底钱到手。

现在回答你的问题:
C++需要学到什么程度再开始学 Qt 比较合理?

这个问题,把 “Qt” 换成别的,比如 “wxWidgets”,我的回答会大相径庭。

Qt 是一个定向性高,职业(找工作)相关性高,因而必然要学习的东西更系统,更庞大,更深入(不深入你面试时就输了竞争对手)的库。

很多人有一个我认为是错误的理解,他们觉得,学习应该尽快往 “能找到工作” 的某个方向去找。

比如,学什么编程语言好? 简单,上几大招聘网站搜索统计下,看哪个语言的岗位多,我就学它。

这是完全错误的。越和工作强挂勾的技术,往往就越 “细分” + “深入” + “系统化”。也就意味着,你已经迅速进入一个狭窄赛道了。

如果我采访一个 14 岁的女生,长大以后,想嫁给什么样的男人?小姑娘回答我什么,我都可以接受,但如果她回答是:男方最好没有父母了,但有留下房子两套以上,男方的工作最好是公务员……如此的具体而实际时。我会吓坏,并且内心开始担心这个社会是不是出了什么问题?

就爱情与婚姻来讲,你可以认为当前社会确实是有些不太好的风气,但若是和程序员就业这事相比,它们都正常了。现在至少在计算机专业这一块的“学习风气”,真是有类似在幼儿园中班开始自学《万字长文让你一篇掌握避孕套的十七种使用方法》的现象……

回到 Qt —— 当然,它只是引子,实际想说的是,这类专业化、系统化、职业化,赛道化的框架,你什么时候学它?

答:

第一、就是喜欢!太棒了!

第一、你学习它一阵,然后发现就是喜欢它。(这太好了!)深入学习吧,并且努力让它成为自己的工作。工作真的和婚姻有相似性。所以哪怕是在工作前三年,能拥有婚姻和爱情完全重合的时光,值得努力,值得珍惜。——于是,我唯一的建议是:如果你只是学了Qt,然后发自己喜欢它,这可能是不可靠的,你最好再试着学习学别的东西,也许发现自己就是个学什么爱什么“海王”而已……

第二、就是要用来找工作,学吧!

第二、不管你喜欢不喜欢,反正你已经明确要用它来找工作(甚至,你都已经找到了),那就去努力地,深入的学习吧。唯一的建议就是:C++ 有差不多的基础就行了(以我的 《白话C++ 练功篇》为标准,学完它的 800 页即可,更厚的《练武》篇可以不学)。 (不要觉得 800 太厚,对 C++ 这门语言来说,光光语法,程序设计 ,800页真的称得上 “极简”)。
第三、没有特别喜欢(甚至就没试过),没有明确的就业方向 ,不要学它

第三、如果你没有找工作压力,那先不要学Qt

没有工作压力(两种情况:已经找到,或者暂时不用找,比如你才大一大二),我不建议你学习 Qt, 我会建议你学习更接近基础,且更有学习性质的附加价值: Win32 的原生编程,或者,更轻量的,更方便你概览全貌,做也成果的 GUI 库,比如前述的 wxWidgets)。新近刚好我录了一节 wxWidgets 工具栏 的小课,我花了很大时间在讲 为什么 “当一个人学GUI窗体设计学完菜单和工具栏后,就是这个人这一生最合适开始 理解 MVC 这个经典模式 ” 的话题,有兴趣的人可以去听听。在这里:

GUI07-学工具栏,懂 MVC

学GUI能帮助理解MVC
是的,通过学习一个更小的库——这个库可能实用的人并不多,甚至 ,它干脆就是个 “教学库”,真是再好不过了,因为它能让我们获得更好的学习成效——能让你拥有更强的综合能力,达成未来敢相对轻松地接下各类技术栈的状态。

不知道我有没表达清楚:就学习而言,不是学那种对找工作越有帮助的知识,就成效越大的。以 Java 语言为例。Java 是一门好语言,只是,因为太多人学它时目标非常明确(“功利”)用它换一份工资还行的工作吧……于是,太多 Java 学习过程和结果,都变味了……

说得更直白一些:如果你直接非常有针对性地,非常深入地学一门专项技术,确实在短时间内,更容易找到工作;但反过来说,若是脱离这个细分领域 ,你会发现自己更不好找工作了……理想的状态就是:能相对轻松地做到因工作而定我“会的技术,而不是因为我只会某个技术,然后去定工作……

如果你做到一些,就可以有第四点:

第四、你已经能随时“学”一学它,然后足够的钱就在眼前……

当然学啊,自打读计算机专业,我就曾经烦 VS Studio 二十多年——有人说,你烦就不用它啊,为什么会烦这么久?举另外一个例子吧:自打读计算专业,我烦别人叫我组装计算,杀毒,恢复误删除文件这些事有十多年……就是我不用,但它很流行,总有人以为我都读计算机业又从事编程工作并且用的还是 C++ 居多,所以你必须会 VC 啊……

我真的有 “会过” 几阵子,一个是二十年前写Office软件时,一个就是前几年为了赚那十来万时。

Qt也是,一边看代码,一边夺 该项目的 “前夫哥” 花样还挺多嘛……一边自己查查资料 (甚至都不用跨出 CSDN 这个我平常也不是太喜欢的站……)。

因为有钱赚,什么都可以变成眉清目秀。

结论

没有迫在眉睫的工作逼着,没有唾手可得的钱引诱着,真不要太早投入这种方向性极强的知识领域的学习。就像找女朋友,如果你18岁那年就打定主意,将来一定只找富婆,我会很想走近你,给你一个抱抱。问一句 “一定要这样子吗?”

那不学Qt,要学什么?多广泛涉猎吧——事实上这就完全不用我来列举了,这么卷的大风气下,哪有想学还不知道学什么的?但我想唯一给你的提供多一个建议就是:任何一个领域 ,起如学习时,请先学会挑选轻量的(如前所述,哪怕是教学式)的知识学习,因为仅就学习成效(而非找工作)而言,这才是高性价比啊。

顺便 提一下 “我学什么计算机语言好?” 。。什么语言都可以。但如果是 Java ,那是要多注意一下,因为你很可能会就此从一而终。用谈恋爱相比,“年纪” 轻轻学Java,差不多就是遇上第一个姑娘,谈了七天之后,她就问你:“这周末我想去见你父母”

好吧,应该是我错了。其实,初恋即终恋,一生只有一个女人……才是幸福人生,本文只是南老师结合自己情况的一家之言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939939.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch8.17.0在mac上的安装

1、下载并安装 下载8.17版本es(目前最新版本):Download Elasticsearch | Elastic 也可以通过历史版本列表页下载:Past Releases of Elastic Stack Software | Elastic 当然也可以指定具体版本号进行下载:Elasticsearch 8.17.0 | Elastic …

爬取Q房二手房房源信息

文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序,查看结果 4. 实战小结 1. 实战概述 本次实战项目旨在通过编写Python爬虫程序,抓取深圳Q房网上的二手房房源信息。我们将分析网页结构,…

易语言OCR银行卡文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

6.3.1 MR实战:计算总分与平均分

在本次实战中,我们的目标是利用Apache Hadoop的MapReduce框架来处理和分析学生成绩数据。具体来说,我们将计算一个包含五名学生五门科目成绩的数据集的总分和平均分。这个过程包括在云主机上准备数据,将成绩数据存储为文本文件,并…

MongoDB、Mongoose使用教程

文章目录 一:MongoDB 简介1.1 什么是 MongoDB1.2 特点1.3 与关系数据库的区别:1.4 资源链接: 二:安装 MongoDB2.1 安装前的准备2.2 安装、启动 MongoDB2.3 创建用户 MongoDB 三、连接四:MongoDB 基础操作4.1 库操作&am…

【2024/12最新】CF罗技鼠标宏分享教程与源码

使用效果: 支持的功能 M4 7发一个点HK417 连点瞬狙炼狱加特林一个圈 下载链接 点击下载

vue2组件

文章目录 组件注册全局注册局部注册 组件中的props格式单向数据校验 组件中的事件使用传参声明事件校验 组件上的v-model使用携带参数多个v-model处理修饰符 透传 Attributes简单使用禁用透传多个继承 动态组件介绍使用KeepAlive包含缓存生命周期 插槽使用默认内容具名插槽条件…

【C++】用哈希表封装myunordered_map和myunordered_set

前言 本篇博客我们来用哈希表模拟实现一下STL库里的unordered_map与unordered_set 💓 个人主页:小张同学zkf ⏩ 文章专栏:C 若有问题 评论区见📝 🎉欢迎大家点赞👍收藏⭐文章 目录 1.源码及框架分析 2.模…

在linux系统的docker中安装GitLab

一、安装GitLab: 在安装了docker之后就是下载安装GitLab了,在linux系统中输入命令:docker search gitlab就可以看到很多项目,一般安装第一个,它是英文版的,如果英文不好可以安装twang2218/gitlab-ce-zh。 …

Restaurants WebAPI(一)—— clean architecture

文章目录 项目地址一、Restaurants.Domain 核心业务层1.1 Entities实体层1.2 Repositories 数据操作EF的接口二、Restaurants.Infrastructure 基础设施层2.1 Persistence 数据EF CORE配置2.2 Repositories 数据查询实现2.3 Extensions 服务注册三、Restaurants.Application用例…

全栈开发----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的,若还未下载或未创建Mysql服务,请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…

AI可信论坛亮点:合合信息分享视觉内容安全技术前沿

前言 在当今科技迅猛发展的时代,人工智能(AI)技术正以前所未有的速度改变着我们的生活与工作方式。作为AI领域的重要盛会,CSIG青年科学家会议AI可信论坛汇聚了众多青年科学家与业界精英,共同探讨AI技术的最新进展、挑…

逆变器中自举电路设计要点及其取值分析

自举电源具有电路简单,成本低等优点。可以减小变压器尺寸,可以使用较小的磁芯骨架即可满足整机对电源的需求。不过其也有不足之处,比如只能用于小功率设计(驱动器已验证到11KW50A模块的驱动设计),对输出响应…

如何测量分辨率

一、什么是分辨率? 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率,但是相机在在不同的对比度的情况下还原低,中和高频率的能力,也可以显示全面综合的信息。…

springboot中——Logback介绍

程序中的日志&#xff0c;是用来记录应用程序的运行信息、状态信息、错误信息等。 Logback基本使用 springboot的依赖自动传递了logback的依赖&#xff0c;所以不用再引入依赖 之后在resources文件下创建logback.xml文件&#xff0c;写入 <?xml version"1.0" …

git 删除鉴权缓存及账号信息

在Windows系统下 清除凭证管理器中的Git凭据 按下Win R键&#xff0c;打开“运行”对话框&#xff0c;输入control&#xff0c;然后回车&#xff0c;打开控制面板。在控制面板中找到“用户账户”&#xff0c;然后点击“凭据管理器”。在凭据管理器中&#xff0c;找到“Windows…

Apache Solr RCE(CVE-2017-12629)--vulhub

Apache Solr 远程命令执行漏洞&#xff08;CVE-2017-12629&#xff09; Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发&#xff0c;主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个…

vue预览和下载 pdf、ppt、word、excel文档,文件类型为链接或者base64格式或者文件流,

** 方法1&#xff1a;word、xls、ppt、pdf 这些文件&#xff0c; 如果预览的文件是链接可以直接打开&#xff0c;可用微软官方的预览地址 ** <iframe width"100%" :src"textVisibleURl " id"myFramePPT" style"border: none;backgroun…

Postbot使用教程

1.什么是Postbot&#xff1f; Postbot 是 Postman 中 API 工作流的 AI 助手。您可以让 Postbot 帮助您排查 API 请求问题、编写测试脚本和文档以及理解大型数据集。如果您需要有关使用 Postman 的帮助或不确定下一步该怎么做&#xff0c;也可以向 Postbot 询问。 2.开始使用 …

考试报名管理系统

集中实践报告 ---《项目综合实习1(数据结构)》 题目:考试报名管理系统 系统设计与开发 摘 要 随着教育信息化的不断推进,考试报名管理系统在各类教育机构中的重要性日益凸显。本文旨在设计与实现一个高效、稳定且功能完备的考试报名管理系统,以满足现代教育考试的…