作者:Ava Franklin
翻译:疯狂的技术宅吧
原文:https://www.goodcore.co.uk/bl…
未经允许严禁转载
每个工作领域都有它们的术语表——特定的词与日常生活中的含义截然不同。对于不断发展的软件业的专业词汇尤其如此。在软件开发领域,“engagement”与婚礼无关,“cookies”不能吃,“classes”不是你必须参加的事情,甚至“bug”也由于不同的原因而令人讨厌。另一个例子是关于 编码与编程(coding vs programming)的争论——这是软件开发领域中最常用的两个术语。
对于和这个行业无关的人,编码与编程之争根本就不存在,而且这两个术语之间的区别并不重要。这些术语似乎可以互换。但是在本文中,我们将为你提供区分这两个术语的所有信息。接下来让我们进一步探讨这些术语,深入回答两个主要问题 —— 什么是编码?什么是编程?从而找出专业人士为什么使用它们的原因,以及什么时候使用。
什么是编码(Coding)?
众所周知,计算机处理器只能理解 1 和 0,而我们的自然语言与这种二进制语言完全不同。所以我们必须把要执行的命令翻译成处理器的语言。但编码是什么,最重要的是,编码人员(coders)做什么?编码就是将自然语言翻译成机器命令,编码人员使用中间语言来指导机器需要进行的逐步操作。那么编码与编程是一回事吗?
这取决于编程语言,有效的编码需要一些技能。你必须了解所选语言背后的语法、主要关键字和基本逻辑(编码与编程问题的重点)。
什么是编程(Programming)?
尽管编码是软件开发工作的重要组成部分,但它并不是最重要的那部分。要创建一个产品,你还需要执行其他的步骤。它们包括计划、设计、测试、部署、甚至维护。总的来说,这整个过程可以称为编程。
所以,“编码和编程是一回事吗?”
这个问题相当于“一棵树和一片森林是一回事吗?”。前者是后者的重要组成部分,但还有很多其他的内容。编程需要比编码更多的知识、经验和各种技能。接下来我们更详细地回答——编码和编程之间到底有什么区别?
编码和编程之间有什么区别?
最后,编码和编程是一回事吗?
尽管前者可以看作是后者的一部分,但是编码和编程也标志着项目方法的根本差异。根据范围和复杂性,前者可能比另一个更有利。
在大多数情况下,当专业的软件开发者必须在编码还是编程之间进行选择时,编程是必经之路。在重要的项目中,在编写第一行代码之前,你需要确定程序的轮廓,并确定需要多少资源。代码完成后,你需要审查、优化并彻底测试它。
那么,什么时候编码比编程更重要?
首先,编码是解决简单问题的一种方法,例如与单任务程序和不需要大量计划和资源的单页网站有关。“为了什么编码?”这个问题的另一个答案是,它是初学者的起点。要学习如何构建一个复杂的程序,必须知道如何处理它的每个部分,而这正是了解编码和编程之间的区别。
编码与编程对比表
编码(Coding) | 编程 Programming |
---|---|
编码是指通过中间编码语言将自然语言转换为机器命令 | 编程意味着开发功能全面的软件解决方案的过程 |
对于编码,文本编辑器就足够了。 | 编程需要分析工具、建模程序、代码生成器和测试框架 |
编码人员需要相关编程语言语法和关键字的基础知识。 | 程序员应该是一个技能熟练的人,在创建算法、建模问题、数据处理和项目管理方面具有丰富的经验。 |
它遵循反复试验的方法,无需事先准备 | 编程遵循一种有条不紊的方法,需要注意细节。 |
编码可以得到简单的解决方案或一小部分项目 | 编程可生成完整的即用型应用程序。 |
上表显示了编码和编程之间的主要区别,现在让我们详细介绍一下它们。
• 基准差异
如前所述,编码与编程的区别在于两个过程的定义。编程是创建遵循特定标准并执行特定任务的程序的一般过程。另一方面,编码是编程的一部分,它严格地将我们理解的语言转换为机器的二进制命令。
• 所需工具的差异
就软件工具而言,编码是否与编程相同?
由于编码是一种简单的翻译操作,因此你不需要做的太多。在大多数情况下,像 WordPad 这样的简单文本编辑器就足够了(尽管有内置自动填充和调试工具的 IDE 通常会有所帮助)。
另一方面,除了需要额外的编码工具外,程序员还需要查看文档并进行分析。你可以在其清单中找到各种代码分析工具、代码生成器、数据库和测试框架。
• 专业技能差异
我们在编码与编程讨论中的另一个差异在于执行这些任务的人所需要具备的技能。编码需要编程语言的基本知识。如果你要编程则需要了解更多。就像如何创建算法和数学模型,如何处理数据,了解数学,在某些情况下包括事件管理经验。
• 编码与编程的方法
就基本的做事方式而言,编码和编程之间有什么区别?编程需要系统的、彻底的方法。作为程序员,通常需要几周到几个月才能达到目标。编写代码则无需任何准备,可以在几个小时内编写一个简单的解决方案。它通常通过试错法进行。
• 结果差异
在编码与编程的讨论中经常出现的另一个问题是:“对同一事物进行编程和编码会产生不同的结果吗?”不同的方法会导致不同的结果。如前面已经提到的,方法的选择应该基于最终产品的期望复杂度。因此你不应该期望仅通过编码就能快速获得功能复杂、有吸引人的 UI 和 UX 的应用程序。
编码难学吗?
正如我们前面在关于编码与编程的讨论中所提到的,编码只是编程的一部分。但是学习它仍然需要一些时间和技能来。编程语言与自然语言有很大的不同,它们的语法有时会非常混乱。最难的语言是接近实际处理器指令的低级语言。
学习编码需要多长时间?
这个问题没有简单而明确的答案。在理解了 “什么是编码” 之后,学习一种新的编程语言所需的时间将取决于很多因素,例如:
- 语言有多难;
- 你之前有多少经验;
- 语言的流行程度;
- 是否有经验丰富的人可以帮助你。
什么是编码语言?哪一个是最好的学习方法?
除了“编码和编程之间的区别是什么”之外,这也不是一个容易回答的问题,因为出于不同的目的创建了不同的语言。以下是最佳编码语言的主要竞争者:
- Python – 一种易于理解的语言,一直在不断普及。
- Kotlin – Android 开发的官方语言;
- Swift – 专为 iOS 开发而设计的套件;
- C++ – 可靠且经过时间考验的工具。
最受欢迎的编程语言是什么?
根据 StackOverflow 调查,专业领域最受欢迎的语言是 JavaScript(但紧随其后的是 HTML/CSS)。对于前端编码来说它是不可替代的,并且在其他领域也经常被使用。但是由于最受欢迎,对于初学者来说吸引力不大,因为竞争太激烈了。
最后的话
总之,编码与编程是一回事吗?
公众可能不会被告知或不关心编码和编程之间的差异。但是这并不意味这种区别的重要性。这些知识对于帮助你在软件开发领域寻找工作或跟你的同事进行交流至关重要。
如果你只是在行业中起步,那么了解什么是编码和编程是有非常价值的知识。希望本文将帮助你推动职业发展并提高技能。
本文首发微信公众号:前端先锋
欢迎扫描二维码关注公众号,每天都给你推送新鲜的前端技术文章
欢迎继续阅读本专栏其它高赞文章:
- 深入理解 Shadow DOM v1
- 一步步教你用 WebVR 实现虚拟现实游戏
- 13 个帮你提高开发效率的现代 CSS 框架
- 快速上手 BootstrapVue
- JavaScript 引擎是如何工作的?从调用栈到 Promise 你需要知道的一切
- WebSocket 实战:在 Node 和 React 之间进行实时通信
- 关于 Git 的 20 个面试题
- 深入解析 Node.js 的 console.log
- Node.js 究竟是什么?
- 30 分钟用 Node.js 构建一个 API 服务器
- Javascript 的对象拷贝
- 程序员 30 岁前月薪达不到 30K,该何去何从
- 14 个最好的 JavaScript 数据可视化库
- 8 个给前端的顶级 VS Code 扩展插件
- Node.js 多线程完全指南
- 把 HTML 转成 PDF 的 4 个方案及实现
- 更多文章 …