当前位置:

首页 > 编程开发 > 【译】需要学习的是编程,而不是编程语言

【译】需要学习的是编程,而不是编程语言

PhpStorm macOS版
PhpStorm macOS版

PhpStorm 是 JetBrains 推出的专业 PHP 集成开发环境,可在 Mac 上完成代码编写、智能检查、重构、调试、测试和数据库管理。它支持主流 PHP 框架、Composer、Git、Docker 与远程解释器。

立即下载
¥890
Mac 2026-10-13
数据库 编程开发 phpstorm 服务器管理 集成开发环境

学习编程重在掌握解决问题的思路,而非编程语言的语法细节。许多人耗费大量时间钻研语言特性,却仍无法写出像样程序。编程语言只是工具,真正核心是逻辑推理与问题解决能力。

本文目录

    在程序员这个圈子里,我们常常自诩为终身学习者。但真正意识到自己是在学习编程本身,而不是编程语言的人,其实并不多见。不信的话,你可以看看周围——有多少人花了大量时间钻研语言特性,却依然写不出像样的程序?

    你可能在学习编程语言而不是编程本身

    别对“学习计算机科学不是研究计算机”这种说法感到惊讶。计算机科学真正研究的是如何自动解决问题——解决问题的思路才是核心,编程只是实现手段。这也就是为什么很多CS科班生会困惑:明明学了一大堆算法和数学,怎么跟实际写代码好像关系不大?

    如果你上过正规的CS课程,应该不会对上面这段话感到意外。因为你会逐渐意识到,编程这件事,跟具体用什么编程语言其实没多大关系。

    然而,很多自学出身的程序员却容易掉进一个陷阱:在真正意识到自己需要解决的是编程问题之前,已经浪费了大量时间在学语言上。这并非个例,市场上不乏这样的案例——有人花了十几年时间学习各种编程语言,学得越多,反而发现连简单的东西都做不出来。总有一种错觉:还没找到合适的工具。但问题在于,他一直在找工具,却忘了先搞清楚自己要做什么样的工作。

    更奇怪的是,编程语言本身还在不断迭代。几乎每天都有新语言或新版本出现,让人很难跟上节奏。可真正优秀的程序,往往只用了语言的一小部分功能。

    学习编程语言的问题,就好比在学习木工之前,先花大量时间研究如何使用锯子、锤子和各种切割机器。真正的木工关注的是:想法、可行性分析、测量、测试和用户行为。老木工对这些更感兴趣,而不是锤子和钉子。在科学研究工作中,他才会花时间去检查钉子、着色板和木材的质量。

    学习编程和学习编程语言有什么区别呢?

    程序设计的本质,是只需一次指令就能让系统自主运行。我们每天都在做类似的事情——告诉孩子、士兵或顾客该怎么做,然后让他们独立执行。比如,父母不需要每天盯着你每一步怎么走,他们可以在你生活的方方面面设定好规则。

    但很多学校和教育网站,教的只是编程语言的语法。他们会添加设计模式(当你忽略真正设计的时候)、一些数学计算、如何声明变量、数据类型等。这些内容并不能教会你逻辑推理。虽然你可能会从中学到一些推理方法,但过不了多久,你就会发现自己浪费了太多时间,却仍然没有学会编程。

    我们是通过编程来解决问题的,编程语言只是辅助工具。语言就像一个个工具盒,我们称之为框架,它们帮助我们组织自己的想法。

    如果你正在学习编程,但还不能设计并编码出一个实实在在的应用,那么说明你更多是在学习编程语言,而不是编程本身。

    有多少次,我们遇到那些想通过编程创建程序的人?对他们来说,创建程序就是解决一个问题。他们在使用编程语言时,通过批判性分析解决了问题。而一旦你掌握了解决方案,完全可以用多种编程语言来实现。以平方数为例:某数的平方就是这个数字乘以本身。我们可以用各种语言来实现它,如下:

    # cfunction square(int * x) {return x * x;}复制代码
    # phpfunction square ($x){return $x * $x;}复制代码
    # ja vascriptfunction square(x){return x * x}复制代码
    # In Scheme (a Lisp dialect)(define (square x) (* x x))复制代码

    以上可以看到,不同语言只是在语法上有差异,结果完全一样。这也是为什么你可以选择任何语言,只要它能让你轻松构建任何类型的软件——关键不在于语言,而在于解决问题的能力。

    通过编程发现语言更容易

    问题通常是用人类语言描述的。人类语言充满了限制和歧义,不能直接用来指导机器工作,因为机器无法理解。学习编程时,你会学到一套新的术语和工具,帮助你编写能被计算机和其他程序员理解并认同的逻辑。

    通常,你会从简单且类似人类语言的符号开始——伪代码。它是从人类语言到编程语言的良好过渡工具,可以防止你过早陷入语言细节。这样你就能把注意力集中在推理上。通过这种方式,你会发现一个好的编程语言的核心部分是什么,了解什么才是真正需要的,理解编程语言的核心目标。不知不觉中,你反而会轻松掌握这门语言。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 PHP JavaScript
    上一篇: 编程其实很简单
    相关文章 更多
    PHP 8.6.0 RC7开放测试:预发布包下载、校验与兼容检查方法
    PHP 8.6.0 RC7开放测试:预发布包下载、校验与兼容检查方法

    PHP 8.6.0 RC7已提供源码和Windows预发布构建,用于开发者测试兼容性与回归问题,不适合直接替换生产环境。发布经理预计PHP 8.6.0正式版在11月19日推出;这一日期仍是发布计划。

    Yandex官网入口及网页搜索使用方法
    Yandex官网入口及网页搜索使用方法

    Yandex官网入口是https://www.yondex.net/,该平台支持多语言切换、智能搜索匹配、虚拟键盘变更及实时翻译,提供地图、图片、新闻、购物等垂直服务,并具备账户同步、隐私管理、个性化首页和云存储等功能。

    JS中Math.round与toFixed实现四舍五入的区别
    JS中Math.round与toFixed实现四舍五入的区别

    深入解析JavaScript中Math.round与toFixed的核心差异:前者返回数字,后者返回字符串。揭示IEEE 754浮点数导致的1.005舍入错误,提供前端显示与后端结算的最佳实践方案,包括使用分为单位整数和decimal.js库。

    JS实现指定小数位标准四舍五入函数
    JS实现指定小数位标准四舍五入函数

    解决JavaScript中1.005四舍五入为1.00而非1.01的精度问题。深入分析IEEE 754双精度浮点数表示误差,提供健壮的roundTo函数实现,涵盖NaN、Infinity及负数处理。对比toFixed与自定义方案,明确显示与结算的场景边界,附带边界用例验证表。

    JS toFixed四舍五入不准的修正方法
    JS toFixed四舍五入不准的修正方法

    深入解析JavaScript中toFixed方法四舍五入不准确的根本原因,提供基于指数表示法与数字偏移的安全修正方案,并配有直观架构图与对比示例。

    JS刷新页面:location.reload()与location.href的核心区别
    JS刷新页面:location.reload()与location.href的核心区别

    详解JavaScript中location.reload()和location.href刷新页面的机制差异。对比两者在HTTP缓存验证、POST请求重复提交警告、浏览器历史记录栈行为上的不同,并提供绕过强缓存、处理Hash变化及避免死循环的实战代码示例。

    php怎么连接数据库mysql完整代码与操作步骤
    php怎么连接数据库mysql完整代码与操作步骤

    详细介绍如何使用PHP PDO扩展连接MySQL数据库,包含完整的代码示例、DSN配置方法及异常处理技巧,帮助开发者快速建立稳定安全的数据库连接。

    PHP递归遍历目录文件:RecursiveDirectoryIterator与自定义实现
    PHP递归遍历目录文件:RecursiveDirectoryIterator与自定义实现

    深入解析在PHP中递归遍历多级目录文件的两种核心方案:基于SPL标准库的RecursiveDirectoryIterator高效流式迭代,与基于scandir/opendir的自定义递归函数实现,剖析执行机制、内存表现与实战避坑指南。

    typescript是什么语言?一文看懂其定义与用途
    typescript是什么语言?一文看懂其定义与用途

    深入浅出解析TypeScript是什么语言。本文详细介绍TypeScript的语言定义、超集架构、核心运行原理、与JavaScript的核心对比以及四类典型工业级应用场景,帮助读者全面看懂TS的价值与用途。

    解决PHP递归报错:max_nesting_level限制与内存溢出处理
    解决PHP递归报错:max_nesting_level限制与内存溢出处理

    遇到PHP递归报错时,不要盲目调大max_nesting_level。本文教你区分Xdebug限制、内存耗尽和正则递归错误,提供代码级的终止条件优化与迭代替代方案,彻底解决栈溢出问题。

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

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

    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 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?