当前位置:

首页 > 编程开发 > 编程入门之学哪种编程语言?

编程入门之学哪种编程语言?

编程入门不必纠结于具体语言,语法相似且切换成本低。关键在于建立编程思想与理解技术栈。IDE集成了编辑器、编译器、解释器等工具。语言分类包括命令式、声明式、标记语言。特定领域开发需先了解技术栈。

本文目录

    聊到编程入门,大家最纠结的一个问题就是:到底该学哪门语言?这个问题在五湖四海、世界各地,几乎成了每个月都会出现的“月经贴”。给出的回答呢,有的直接告诉你学Python,有的会打比方说编程语言就像画家手里的笔,有毛笔、钢笔……还有的会甩出一张技术栈图表,告诉你如果要做XXX,那就学XXX,如果做YYY,那就学YYY。感觉这些建议都不错,结果明确,但缘由通常不会展开太多。纯新手听完,似懂非懂,将信将疑。

    自上而下、由整体到具体地理解一个事物,效率往往比从具体到整体要高,更容易明白自己所处的位置,也更容易入门。可惜,对程序员来说,能把开发领域的各种知识归纳总结、融会贯通,可能是十几、二十年后的事了。所以,在分析编程语言优劣,或者选一个语言写具体的“Hello World”之前,最好对“编程语言”有一个更整体、更全面的了解。

    学习编程语言是在学什么

    百度百科说,编程语言是一种计算机和人都能识别的语言,能让程序员准确地定义数据和行为。维基百科则更准确:编程语言是一种规则,能把文字或图形元素转化为机器码,用于在计算机上实现各种算法。百度那个定义,说了等于没说,而维基百科讲得就很实在。编程,其实就是把你写的一段文字(代码),按照特定的规则转换成机器码(机器能运行的指令),用于在计算机上实现算法,比如显示两个输入数字中最大的那个。你要学的,就是这种规则。

    举个例子,当需要在屏幕上显示“Hello World”时,不同语言的规则会让你写出这样的文字:

    c语言

      printf("\nhello world!");

    php语言

      echo "hello world!"; 

    ja va语言

      System.out.println("Hello World!");

    看上去有些差别,但又有些相似。实际上,目前主流的高级语言,如Ja va、C#、Ja vaScript、Python,它们的基础语法规则非常近似。无论先学哪个入门,后面的切换成本基本是几小时就能搞定。当你学会一门语言,除了学会具体关键字、语法之外,更主要的是你会沉淀下来一种对编程语言模式的理解。当你理解了变量、函数、控制结构(顺序、分支、循环),迁移到其他语言时,会发现这些概念依然存在且完全适用。

    伪代码是一种脱离具体语言、体现编程思维的描述方式。相同层次的语言,编程思维是共通的。比如显示两个输入数字中最大的那个:

    变量A等于输入的第一个数字
    变量B等于收入的第二个数字
    如果 变量A大于 变量B 屏幕显示变量A
    否则 屏幕显示变量B

    上面的算法思想,在各种语言中都能实现,只是变量定义的方式、判断分支的书写方式略有差别。所以,对入门来说,学习一门编程语言,通常狭义地指语言本身(基本不涉及第三方类库框架等)。你学到语法细节的切换成本很低,各个语言差不太多,而真正沉淀下来的,是你在编写过程中逐渐熟悉领会的编程思路——即组合使用变量、函数、控制结构(如果/那么/循环)等要素,解决具体算法问题的能力。

    IDE与编译原理

    在纠结良久终于选定了学哪一门语言之后,可能第一个接触到的就是IDE。比如学Python可能会用PyCharm,学Basic的可能用Visual Basic。IDE的含义是“集成开发环境”,名字很准确,但对小白来说其实很困惑,搞不清楚IDE与编程语言之间的关系,也搞不清楚写完代码后,点那个绿色小三角(运行)到底发生了什么。IDE可以方便开发,但也会影响新手对编程语言的理解,很难理解“集成开发环境”到底集成了什么。

    ——上面是Python的Hello World,IDE为PyCharm

    IDE大概集成了这样几种东西:

    1. 文本编辑器:用于编写文本,像上图写“print Hello World”的地方。编程其实就是在编写一段文字,保存成一个文件。简单文本编辑器如Windows中的记事本,也能用来编程,但IDE中的文本编辑器会提供很多额外功能,比如文本着色、智能提示(敲pr会自动提示print),这些快捷功能是语言相关的。当然也提供保存、查找、替换等常见功能。

    2. 编译器、连接器:对于非脚本语言(最终生成独立的可执行程序,如C),编写好的程序文件无法直接被运行。例如Windows中,典型的可执行文件扩展名为EXE,这是一种特定格式(PE文件格式)。编译器与连接器的作用,就是将程序文件最终转化为EXE文件。编译器针对不同CPU将程序文件编译为对应的CPU指令,连接器则平台相关,将编译后的中间文件组装成约定格式,如Windows EXE。

    3. 解释器:对于脚本语言,解释器能直接执行由文本编辑器编写完成的程序文件。比如点击上图的运行,实际是运行了“python ./a.py”,其中的“python”可以理解为解释器。

    4. 调试器:提供了一个可视化调试器,可以直接点击按钮进行调试操作,而不是在黑洞洞的命令行上敲命令。

    ——gdb调试界面

    5. 其他工具插件:通常具有集成其他插件的能力,比如集成版本管理,可以直接把代码上传云端进行版本控制,或者统计分析写了多少代码、是否编写规范等。

    通过以上介绍可以看出,编程语言是一种规则,准确地说是一种规范。比如存在一条规则:当你写了一行“printf(hello)”,之后就在屏幕上显示hello。规则是稳定不变的,而过程中用到的工具、IDE的各个组成部分,都是可以替换的。只要编译器符合语言的标准规范即可,因此会有多种编译器存在,其性能特点可能会有一些差异。

    广义的编程语言

    想入行的同学经常会说“我想学Ja va该怎么学”“我想学Python该怎么学”,这其实通常不太准确。狭义来说,你只需要花几天(老手可能是几小时甚至几十分钟),去看一下这个语言的语法规则——如何定义变量、如何写判断和循环、如何调用方法,然后做一些算法练习,比如对10个数字排排序、写个猜数字的游戏,基本就算学会了。但这可能跟你的期望不一致。你说“学Ja va”,可能是觉得学会了Ja va就能写出像《魔兽世界》那样的游戏,或像QQ那样的聊天工具,或像淘宝那样的网站。而学会了语言之后,你仍然会觉得无从下手,只会在命令行控制台中做点简单的输入输出。那么,这中间的gap究竟在哪里呢?原因在于——技术栈。

    ——图片来源于知乎回答“互联网”技术栈

    要规范专业地做一个能支持一定访问量的互联网站点(如淘宝),会涉及上面大部分的技术内容,这远超“编程语言”定义的范围。其中很大一部分是语言无关的,例如运维、工具、中间件中的分支内容。后端中的语言分支之下是语言相关的,而前端中如果不考虑移动端Android、iOS,对Web来说其实只有HTML、CSS、Ja vaScript三种语言。AngularJS以及Vue,属于Ja vaScript语言中的不同框架,但差异较大。

    综合以上,涉及的语言类型主要分为以下几类:

    命令式:关注步骤细节。比如查询一堆数字中最大的一个,需要写循环、判断、定义变量进行比较,最终得到结果。计算机的算法过程完全由你定义。通常学习的Ja va、Ja vaScript、PHP、C都可以理解为这一类语言。

    结构化查询——声明式:多用于结构化数据库查询(“数据库”是为了解决程序存储、查询数据问题,想象一个图书管理程序),比如SQL语言。取得最大数字如下,你并不需要关心它的具体算法:

    SELECT max(num) FROM table

    标记语言:HTML、XML、CSS等属于标记语言,用于定义布局,没有逻辑,严格来说不属于编程语言。比如HTML标记语言规定“

    ”表示一个表格,其中的“”表示表格的一行,编写人按照HTML的标准编写,浏览器按照HTML的标准处理渲染,最终在屏幕上显示一个表格。

    回到“写一个淘宝”的问题上。淘宝需要有Web页面,所以你要学习HTML、CSS、JS;需要有数据库存储商品,所以需要学习数据库工具如MySQL,并能够编程使用它,能够增删改查数据;需要有后台服务器,用于给页面提供动态内容,动态生成HTML,所以需要学习Web服务器如何编写。可选择的语言有很多,如果选择了一种如Ja va,也不需要从头造轮子,那就要接着学习Ja va的Web框架,如Spring。如果你选择用PHP语言写Web服务器,那就无法使用Ja va的Spring框架,对应的PHP也会有自己的Web框架。所以,特定语言第三方框架的学习成本,才是切换语言的最主要成本。

    总结

    如果你是想入门学一门语言,那具体学哪种真的不算是个重大抉择,主要是为了建立编程思想。如果你是想进行特定领域的开发,那你一定要首先搞清楚技术栈,在该领域中使用的主流语言、工具,然后针对性地学习。如果你志向于开发游戏客户端,那学习互联网的技术栈,就是南辕北辙了。先到这里,希望对初入门的同学能有所帮助。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    下一篇: 什么是编程言语
    相关文章 更多
    【编程随想】编程思想
    【编程随想】编程思想

    系统思维、结构化思维和工具思维是高效解决复杂问题的核心方式。编程中关注点分离、抽象、封装、复用和解耦等概念,帮助组织代码、降低耦合、提升可维护性与复用性。持续学习与刻意练习是提升编程思想的关键。

    关于青少年编程,一位老师在编程教育的一些感悟,学习编程请注意!
    关于青少年编程,一位老师在编程教育的一些感悟,学习编程请注意!

    在新冠疫情促使学生居家学习的背景下,青少年编程教育中观察到IB计算机注重知识广度,AP计算机聚焦代码能力与深度,两者分别强调全面认知与深入实践,为编程人才培养提供了不同思路和互补策略。

    Python 基础 — Python 简介
    Python 基础 — Python 简介

    未来是数据的世界,而Python是一门能高效、简洁处理数据的语言。这里记录的是从零开始学习Python的完整过程,希望能为同样想入门的读者提供一份清晰的参考。 1. Python 简介 Python这个名字,听起来像“蟒蛇”,其实灵感来源于作者Guido van Rossum(人称龟叔)喜欢的一部电

    GitHub Actions重跑失败作业会使用最新代码吗
    GitHub Actions重跑失败作业会使用最新代码吗

    解释已有运行重跑的提交和权限边界,给出确认、失败作业重跑及结果核对命令,区分漏触发事件。

    chat-demo v0.1.1怎么本地运行并理解DeepSeek历史数据边界
    chat-demo v0.1.1怎么本地运行并理解DeepSeek历史数据边界

    chat-demo v0.1.1可以作为静态聊天客户端在本地运行,但模型、搜索、文件和语音能力仍由DeepSeek API提供。源码运行环境为Node.js 22.12及以上、Git与pnpm。Demo版本号不等于应用API版本;这套应用API未单独标版本,默认聊天模型ID是deepseek-flash。

    GitHub Copilot CLI v1.0.111的用量图与上下文比例应该怎样理解
    GitHub Copilot CLI v1.0.111的用量图与上下文比例应该怎样理解

    理解GitHub Copilot CLI v1.0.111的高级请求百分比、用户提示活动图与实际路由模型窗口,区分显示口径和任务状态。

    n8n 2.47.6、2.47.7、2.48.3 Beta、2.48.4 Beta、3.2.2预发布与1.123.96适用哪些安全修复?
    n8n 2.47.6、2.47.7、2.48.3 Beta、2.48.4 Beta、3.2.2预发布与1.123.96适用哪些安全修复?

    按维护分支、利用权限与节点类型对应四项修复,区分正式补丁、Beta和临时缓解的适用边界。

    GitHub合并故障的已缓解、监控与已解决有什么不同
    GitHub合并故障的已缓解、监控与已解决有什么不同

    GitHub合并故障中的“已缓解并监控”和“已解决”不能互换。前者表示影响已经采取措施缓解,仍在观察稳定性;后者是供应商正式结束这场事故的状态。11月13日的Pull Requests合并超时事件先进入监控,随后于北京时间11月14日02:29标记为已解决。

    llama.cpp v1.0.0的网页聊天分组与Markdown编辑适合哪些场景
    llama.cpp v1.0.0的网页聊天分组与Markdown编辑适合哪些场景

    llama.cpp v1.0.0改善聊天组织、长消息编辑和附件预览;界面变化与底层API迁移、缓存及访问边界需要分别理解。

    Postman 12.36.4 更新后仍报错,怎么判断是哪一层的问题
    Postman 12.36.4 更新后仍报错,怎么判断是哪一层的问题

    Postman 12.36.4 更新后仍有异常时,可按应用、API请求和平台服务区分问题范围,避免把补丁版本当作故障原因。

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

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

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

    为什么要购买正版软件?
    01 官方授权

    授权来源透明,订单与许可信息可随时查询。

    02 即时交付

    付款成功后自动发放激活信息,支持订单追踪。

    03 中文协助

    安装、激活、迁移与续费问题都有专人响应。

    04 长期可用

    提供升级提醒与授权管理,换机时也能轻松迁移。

    网站备案号:苏ICP备2026018738号-1 联系邮箱:bd@zhengruan.com 网站地图

    Copyright ©2018-2026