跟着自己的感觉走

简介: 【来信】您好!贺老师!  很抱歉,打扰您宝贵的时间,我是一名大二计科专业学生,过去的半年里我看完了一本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算法构建才行(我们已经学了离散数学,但那上面都只是简单的介绍一些,不够全面),感觉有点力不从心。
  再次感谢!

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


  

目录
相关文章
|
JavaScript Java Maven
|
8月前
|
设计模式 Java PHP
php设计模式--简单工厂模式(一)
php设计模式--简单工厂模式(一)
40 0
|
4天前
|
供应链 监控 安全
对话|企业如何构建更完善的容器供应链安全防护体系
随着云计算和DevOps的兴起,容器技术和自动化在软件开发中扮演着愈发重要的角色,但也带来了新的安全挑战。阿里云针对这些挑战,组织了一场关于云上安全的深度访谈,邀请了内部专家穆寰、匡大虎和黄竹刚,深入探讨了容器安全与软件供应链安全的关系,分析了当前的安全隐患及应对策略,并介绍了阿里云提供的安全解决方案,包括容器镜像服务ACR、容器服务ACK、网格服务ASM等,旨在帮助企业构建涵盖整个软件开发生命周期的安全防护体系。通过加强基础设施安全性、技术创新以及倡导协同安全理念,阿里云致力于与客户共同建设更加安全可靠的软件供应链环境。
|
12天前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
201898 14
对话 | ECS如何构筑企业上云的第一道安全防线
|
1天前
|
供应链 监控 安全
|
4天前
|
SQL 安全 前端开发
预编译为什么能防止SQL注入?
SQL注入是Web应用中常见的安全威胁,攻击者通过构造恶意输入执行未授权的SQL命令。预编译语句(Prepared Statements)是一种有效防御手段,它将SQL代码与数据分离,确保用户输入不会被解释为SQL代码的一部分。本文详细介绍了SQL注入的危害、预编译语句的工作机制,并结合实际案例和多语言代码示例,展示了如何使用预编译语句防止SQL注入,强调了其在提升安全性和性能方面的重要性。
|
7天前
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
399 34
Qwen2.5-7B-Instruct Lora 微调
|
29天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
9891 29
|
1天前
|
机器学习/深度学习 存储 人工智能
【科普向】我们所说的AI模型训练到底在训练什么?
人工智能(AI)模型训练类似于厨师通过反复实践来掌握烹饪技巧。它通过大量数据输入,自动优化内部参数(如神经网络中的权重和偏置),以最小化预测误差或损失函数,使模型在面对新数据时更加准确。训练过程包括前向传播、计算损失、反向传播和更新权重等步骤,最终生成权重文件保存模型参数,用于后续的应用和部署。理解生物神经网络的工作原理为人工神经网络的设计提供了灵感,后者广泛应用于图像识别、自然语言处理等领域。