跟着自己的感觉走

简介: 【来信】您好!贺老师!  很抱歉,打扰您宝贵的时间,我是一名大二计科专业学生,过去的半年里我看完了一本c++程序设计,现在我正在看《c++primer》,但是在编写程序的过程中总觉得缺少自己的界面,就感觉自己编写的程序像玩耍一样(因为我感觉基本上真正的程序都应该有自己的界面)。我在网上看了一下,做界面都要用到api函数,但是我感觉调用api函数就像码转一样,没有自己的思想在里面,很别扭!  

【来信】

您好!贺老师!
  很抱歉,打扰您宝贵的时间,我是一名大二计科专业学生,过去的半年里我看完了一本c++程序设计,现在我正在看《c++primer》,但是在编写程序的过程中总觉得缺少自己的界面,就感觉自己编写的程序像玩耍一样(因为我感觉基本上真正的程序都应该有自己的界面)。我在网上看了一下,做界面都要用到api函数,但是我感觉调用api函数就像码转一样,没有自己的思想在里面,很别扭!
  还有,由于我们学校计科的专业课基本上都在大二下学期及大三,c++是我自学的,所以·····
  1.....我不知道我现在是否有必要学习c++的api编程(好像还有MFC,不过不太了解)?
  2.....怎样看待api编程呢?
  3.....必要编写稍大一点的程序来锻炼自己吗?(我是指耗时一两周程序)  
  希望贺老师能在闲暇时间给我一点宝贵的建议,打扰之处还请见谅!谢谢!

【回复】
  其实从学习编程角度,程序的核心和专业的基本功并不在界面中。然而希望自己的应用有个窗口界面也不错,有一个很重要的学科方向是人机交互,目前很多产品的优势就在于用户使用的体验好,你既然关注到这儿,我赞成你顺着自己的兴趣将界面的问题深入体验一番,且不说以后你可能在这方面做工作,借此有任何收获都值得。抵触调用API,我觉得这个不需要。在开发工作中,总是要在一定的层次上做的。有的人做底层,有人做中间件,有人直接调用组件做应用,你现在正在学习初期,很多问题尚不明白,最佳的方法就是不管哪一层,只要关注到了,就去了解和实践,借此也就开启了贯通各层的征程。否则,你将总是在“总觉得”、“感觉到”之类的词汇中兜圈子。
  鉴于你对界面感兴趣,可以学习API,一边学,一边做些小应用。理解小应用后,构思组合做些大应用,根据自己学习的感受去安排。大程序会带来新的问题,有必要去体验。通过在API层面上工作,可以对底层更明白些。至于MFC,是在API基础上进一步的封装,如果更想体验面向对象的方法,学习MFC也不错。
  该学什么,从课外自学的角度看,没有绝对标准。感兴趣就探一探,尤其对于大一大二的学生,是最好的方法。这样到高年级时,知识面就宽了,因为在多个方向上有过尝试和体验,容易找出适合自己的方向,从而往纵深处深究下去。
  不要犹豫,有感觉,就照着感觉走下去。

【再来信】

  感谢贺老师能在百忙之中给予小子回信!
  我一定认真考虑贺老师的建议和意见——“可以学习API,一边学,一边做些小应用。理解小应用后,构思组合做些大应用,根据自己学习的感受去安排”,接下来可能会同时学习《c++primer》、《算法导论》、《windows api编程》。
  我现在学习算法会过早吗?因为我在学它的时候有很多地方都无法彻底理解,像前几天学到“决策树”,结果发现还要先学ID3算法构建才行(我们已经学了离散数学,但那上面都只是简单的介绍一些,不够全面),感觉有点力不从心。
  再次感谢!

【再回复】
  只要愿意,何时都可以去学。并且学习一定是多次反复的,不要指望一次就“学完”,前面的看不懂,可以往后面看,随着了解的加深,再看一遍时,原有的疑惑将会解开。正如你体会到的,学离散时,有些没有深入,那时深入也没有动力,现在看算法发现要用着了,不要追求将算法导论快快看完,而是可以再补补课。这种“非线性”的学法很有效,需要注意的是要有节奏,不要一非线性就让自己跑得不知所踪了。
  祝安排出有效的学习。


  

目录
相关文章
|
1天前
|
存储 关系型数据库 MySQL
数据管理的艺术:PolarDB开源版详评与实战部署策略(一)
PolarDB-X是阿里巴巴自研的高性能云原生分布式数据库,基于共享存储的Shared-nothing架构,支持MySQL生态,具备金融级高可用、分布式水平扩展、HTAP混合负载等能力。它通过CN(计算节点)和DN(存储节点)实现计算与存储分离,保证数据强一致性,并支持全局二级索引和多主多写。PolarDB-X开源版提供更高程度的定制化和控制权,适合追求技术自主性和成本优化的开发者。部署方式包括RPM包、PXD工具和Kubernetes,其中PXD工具提供了一键部署的便利性。
38608 10
|
5天前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
15天前
|
存储 缓存 监控
你的Redis真的变慢了吗?性能优化如何做
本文先讲述了Redis变慢的判别方法,后面讲述了如何提升性能。
102247 5
|
15天前
|
机器学习/深度学习 并行计算 算法
Transformer 一起动手编码学原理
学习Transformer,快来跟着作者动手写一个。
94256 8
|
14天前
|
存储 SQL Apache
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
阿里云数据库内核 Apache Doris 基于 Workload Group 的负载隔离能力解读
|
19天前
|
人工智能 弹性计算 算法
一文解读:阿里云AI基础设施的演进与挑战
对于如何更好地释放云上性能助力AIGC应用创新?“阿里云弹性计算为云上客户提供了ECS GPU DeepGPU增强工具包,帮助用户在云上高效地构建AI训练和AI推理基础设施,从而提高算力利用效率。”李鹏介绍到。目前,阿里云ECS DeepGPU已经帮助众多客户实现性能的大幅提升。其中,LLM微调训练场景下性能最高可提升80%,Stable Difussion推理场景下性能最高可提升60%。
124031 50
|
15天前
|
存储 弹性计算 Cloud Native
1 名工程师轻松管理 20 个工作流,创业企业用 Serverless 让数据处理流程提效
为应对挑战,语势科技采用云工作流CloudFlow和函数计算FC,实现数据处理流程的高效管理与弹性伸缩,提升整体研发效能。
64755 2
|
21天前
|
消息中间件 安全 API
Apache RocketMQ ACL 2.0 全新升级
RocketMQ ACL 2.0 不管是在模型设计、可扩展性方面,还是安全性和性能方面都进行了全新的升级。旨在能够为用户提供精细化的访问控制,同时,简化权限的配置流程。欢迎大家尝试体验新版本,并应用在生产环境中。
187602 38
|
17天前
|
存储 关系型数据库 数据库
|
24天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。