当前位置:

首页 > 编程开发 > 【自学编程】我的小白学习编程经验

【自学编程】我的小白学习编程经验

1 编程的特点,如何学习编程? 1.1 现在的一些思考 编程学习,本质上是一种非线性旅程。市面上有无数条学习路线,但哪条才是最好的?答案可能因人而异。固定的教程路径不一定适合所有人,有时候,找到自己的节奏反而更重要。 另一个特点是前置概念多。面对一堆新名词,新手很容易感到畏惧。但这里有个常见的误区:

本文目录

    1 编程的特点,如何学习编程?

    1.1 现在的一些思考

    编程学习,本质上是一种非线性旅程。市面上有无数条学习路线,但哪条才是最好的?答案可能因人而异。固定的教程路径不一定适合所有人,有时候,找到自己的节奏反而更重要。

    另一个特点是前置概念多。面对一堆新名词,新手很容易感到畏惧。但这里有个常见的误区:不必在每一个初始概念上纠缠过久。更高效的做法是快速浏览,做好笔记,留个印象,然后立刻动手去写。编程是一门实践的科学,只看不练,既难以发现问题,也很难真正理解。

    经验表明,掌握编程往往需要螺旋式地反复几遍。这其实也是很多学科学习的共通之处。如果过段时间回头看自己写的代码,觉得“惨不忍睹”,这未必是坏事,很可能恰恰说明你又进步了。

    最后,记笔记真的很重要。把思考过程记录下来,无论是用本地文档还是互联网博客,都能让学习轨迹更清晰,未来回顾时也更有价值。

    1.2 这些思考参考

    这些想法并非凭空而来,它们部分源于两本颇具启发性的读物:一本是日本人写的《计算机是怎么跑起来的》、《程序是怎么跑起来的》,它们帮助建立了对计算机运作的直观理解;另一本是李笑来关于Python的书籍,其中关于学习与思考的论述也带来了不少灵感。

    2 编程的基础思想:程序就是一段I/O过程。

    2.1 代码的基础构成逻辑:

    无论多复杂的程序,拆解到底层,任何一段有意义的代码都离不开三个核心部分。这可以说是代码最基础的构成逻辑:

    输入数据 -> 处理数据 -> 返回结果

    这个过程清晰明了。下面这几个流程图能更直观地展示这一思想(图源自网络,非自制):

    2.2 对比写文章和编程

    为了加深理解,不妨将编程与写文章做个类比。两者在构思和产出上有异曲同工之妙(下图同样来源于网络):

    基于这个类比,可以进一步延伸理解:从最底层的比特(bit),到字节(byte,8个比特),再到变量(指向存储地址的标识符),构成了数据在计算机中存在的层级。下图展示了这种从微观到宏观的抽象过程:

    3 程序里各种概念

    厘清编程中的各种术语,是摆脱“新手感”的关键一步。下面是一些核心概念的梳理:

    • 代码/源代码:一个宽泛的统称,通常指用高级语言(非机器语言)编写的程序文本。
    • 常量,变量:基础的数据与存储单位,目前理解到这个层面即可。
    • 表达式:例如 x > 3 这样的数学或逻辑式子。它不含完整语法,不能独立执行。
    • 语句/命令:一条完整的、符合语言语法结构的指令,可以单独执行。
    • 过程/语句块/block:多条被组织在一起的语句,可能具有特定功能,也可能只是顺序排列。
    • 函数:一种封装多条语句以实现特定功能的特殊形式。
    • 类:另一种封装形式,可以看作是创建实例的蓝图或理想化模板。
    • 类的方法,属性,事件:类所具有的行为和特征。
    • 对象:基于类创建的、更高级的封装实体。
    • 实例:由类这个蓝图具体化、现实化的一个对象。
    • 对象的方法,属性,事件:对象实例所具备的行为和特征。

    例子:对一段代码里各种名称的准确描述

    理论之后,看个实例。如何准确描述一段代码中的各个部分?

    整个 if...endif 结构可以算作一个完整的语句或命令。事实上,在CMD等环境中,整个if结构确实可以写成一行,作为一个命令。

    if condition( expression / 逻辑表达式 i>5 ) then
        [语句序列]
    elseif condition then    ‘语法:分支
        [语句序列]
    else                     ‘语法:分支
        [语句序列]
    endif
    

    再看 select case 结构:

    select case 文本表达式 (如 i)
        case 逻辑表达式
            [语句序列]
        case 逻辑表达式
            [语句序列]
    end select
    

    4 结构化编程有3种语句结构

    所有结构化程序都由三种基本控制结构构建而成,这是编程的基石:

    1. 顺序结构:这是所有程序语言的默认基础!代码默认从上到下,逐行执行。
    2. 条件/分支结构:简单说,就是根据判断条件的真假,让程序走向不同的分支路径。
    3. 循环结构:让一段代码重复执行。这正是代码自动化、高效处理问题的直接优势所在。

    5 写于20200101的话:自学编程的路,冷暖自知

    更新记录

    这篇内容最早源于2018年8月刚开始学习VBA时的帖子。2020年1月1日,我重新整理并加入了第一大部分的内容。希望未来的自己看到时,目标能更清晰,动力能更持久。

    行动:新年伊始,最近把博客彻底翻新了一遍。一方面因为CSDN的改版导致分类有些混乱,另一方面也是觉得自己早期写的东西不够成熟,借此机会重新梳理。

    写这个的目的是什么:

    坦白说,我仍处在编程新手的阶段,学习也是断断续续。但我希望把编程培养成一个长期的爱好。

    每隔一段时间回顾自己写的东西,总会有新的体会。最大的感受往往是:当初写得真稚嫩啊,错误不少,理解也肤浅,甚至有过清空博客重来的冲动。

    但转念一想,有必要吗?人生无法重来,走过的路,即便歪歪扭扭,也是自己真实的足迹。谁不是这样一步步成长起来的呢?或许,这个不完美的学习轨迹,对同样起步的其他人也能有一丝帮助。

    如果是私人日记,或许就任其自然了。但CSDN毕竟是技术博客社区,我不希望这些编程小白的记录,将来成为搜索引擎里的“信息垃圾”。所以,尽一份力所能及的努力去整理和优化,算是为自己,也为可能看到它的同路人负责。

    为什么要学编程

    目的很明确:

    1. 兴趣驱动:喜欢编程带来的那种控制感和创造事物的满足感。
    2. 目标导向:希望能亲手用代码做出自己想用的工具或产品。如果不学编程,我可能就去钻研机械了。
    3. 培养爱好:至少,让它成为我生活中一个持久的兴趣点。

    自学编程的最大动力是:

    心里一直有个遗憾:身处IT行业,却不会编程,总觉得少了点什么。

    一个直接的动力来自孩子。未来孩子如果要学编程,与其完全假手他人,不如自己先懂一些,将来或许能一起探讨,甚至引导。

    为什么花这么大的精力学VBA

    选择VBA的理由非常务实:工作中天天和Excel打交道,而Excel集成了VBA开发环境(VBE),可谓“近水楼台先得月”。学了VBA,马上就能解决工作中的一些重复性劳动,提升效率。这种“学以致用、即时反馈”的感觉,对于保持学习热情至关重要。

    为什么学CMD,HTML

    道理类似。CMD(命令提示符)和HTML,都是电脑上经常接触甚至“遇见”的东西。学习从熟悉的环境开始,总比从完全陌生的领域入手要容易得多,这不是舍近求远。

    为什么学Python

    原因很简单,因为它火。Python被公认为当下最热门、也是最容易入门的编程语言之一,至少社区普遍这么认为。实际接触下来,感觉确实不错,生态丰富,语法友好。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    相关文章 更多
    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景
    GitHub六个AI开源项目能做什么?软件理解、语音与求职场景

    解析六个GitHub AI开源项目的具体用途,包括软件静态分析、智能体回答检查、多语言配音、求职材料生成、本地代码检索及动态歌词展示,帮助开发者根据实际需求筛选工具并正确验证结果。

    opencode安装skills教程及本地配置方法
    opencode安装skills教程及本地配置方法

    遇到OpenCode Skills无法加载或配置无效?本文手把手教你完成Skills的安装、环境变量设置及本地调试,避开常见坑点,让AI助手更懂你的代码习惯。

    如何开启Visual Studio2022实时代码分析警告提示
    如何开启Visual Studio2022实时代码分析警告提示

    解决 Visual Studio 2022 编辑时不显示代码分析警告的问题。指南涵盖 .NET 项目实时分析设置、Roslyn 分析器范围调整及错误列表来源筛选,确保开发者能高效利用实时代码诊断功能。

    如何在Visual Studio2022查看变量监视窗口调试程序
    如何在Visual Studio2022查看变量监视窗口调试程序

    详解 Visual Studio 2022 调试技巧:包括断点设置、监视窗口开启方法、变量添加步骤以及通过 F10 单步执行观察变量值变化的全过程。

    Visual Studio2017设置默认编码为UTF-8不带BOM
    Visual Studio2017设置默认编码为UTF-8不带BOM

    针对 Visual Studio 2017 缺乏全局默认编码选项的情况,详解如何利用 .editorconfig 设定项目级 UTF-8 无 BOM 规则,以及手动转换现有文件并校验字节的方法。

    Visual Studio2022F5调试提示启动项目未配置怎么修复
    Visual Studio2022F5调试提示启动项目未配置怎么修复

    解决 Visual Studio 2022 F5 调试报错问题,通过设置启动项目、检查解决方案属性及正确区分类库与应用项目,快速恢复调试功能。

    Visual Studio2022NuGet包还原失败离线处理方案
    Visual Studio2022NuGet包还原失败离线处理方案

    解决Visual Studio 2022离线环境中NuGet包还原失败的难题,涵盖依赖链分析、本地源配置、包集收集及隔离验证步骤,帮助开发者构建稳定的离线开发环境。

    Visual Studio2017大项目加载缓慢,优化加载性能技巧
    Visual Studio2017大项目加载缓慢,优化加载性能技巧

    解决Visual Studio 2017大型项目加载慢的实用指南。涵盖性能监测、扩展管理、文档恢复优化及版本兼容性检查,帮助开发者精准定位瓶颈并提升工作效率。

    Visual Studio2022设置多启动项目同时调试运行
    Visual Studio2022设置多启动项目同时调试运行

    详解 Visual Studio 2022 多启动项目配置方法,包括启动动作选择、顺序调整及调试技巧,帮助开发者高效调试分布式或前后端分离应用。

    fastapi下载文件接口实现教程
    fastapi下载文件接口实现教程

    深入解析在FastAPI框架中实现文件下载接口的完整方案,涵盖基于FileResponse的本地静态文件传输、基于StreamingResponse的分块流式传输、RFC 5987中文文件名编码规范、路径穿越安全防御及BackgroundTasks临时文件清理,并配备详细代码示例与架构解析图。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。