计算机编程,通常也简称为“编码”,近几十年来已成为越来越受欢迎的职业道路。 随着美国科技行业的蓬勃发展并催生了一些经济规模最大的公司,其发展很大程度上归功于一小群程序员,其中包括比尔·盖茨、马克·扎克伯格等人。
虽然编程听起来很复杂,但它的核心是听写指令和解决问题的过程。 在过去 50 年左右的时间里,至少在电脑屏幕前做到这一点的能力一直是一项相对稀缺的技能。
这就是推动科技行业增长和人们对编程的兴趣的原因。 据统计,截至 2022 年,程序员的平均工资略低于 10 万美元 数据来自劳工统计局。
编程的竞争变得越来越激烈,但对于许多人来说,它仍然是一种可行的职业选择——但这一切都始于对它是什么以及它需要什么的基本理解。
什么是计算机编程?
计算机编程涉及使用编程语言来编写程序,程序是一组指示计算机应该做什么的指令。 “计算机本身什么也不做,你需要给它指令,这样它就会做你想让它做的事情,”说 格蕾丝·刘易斯,IEEE 计算机学会第一副主席。
“编码的本质是告诉计算机代表你执行某些任务,”她说。 “如果发生某种情况,则以某种方式进行计算,”她补充道,因为程序员需要预测计算机在执行任务时会遇到的决策点,并且需要有关如何导航的说明。
其他专家以或多或少相同的方式定义编程或编码。 一个有效的程序员“需要能够告诉计算机做什么,执行一个动作或响应用户的输入,”说 斯里拉姆·莫汉博士博士,罗斯-霍曼理工学院计算机科学与软件工程系主任。
这听起来可能很技术性和复杂性,但刘易斯说,我们整天都在执行类似的操作,但没有意识到这一点,或者至少没有将其记录到编程语言中。
“编程很像开车,”她说,并解释说,当你在路上开车时,你需要决定开多快、何时刹车、转弯等等。 这些是可以写入计算机引用以完成给定任务的程序中的指令类型。
因此,学习编程与学习驾驶类似。 “如果你参加驾驶课程,到了某个时候,你就会变得足够好,可以参加驾驶考试并通过考试——编程也是一样,你需要学习基础知识,”刘易斯说。
编程是如何进行的?
编程的工作方式是确定程序员希望计算机执行什么任务,然后编写特定的指令(即程序)来执行该任务,并用编程语言来完成它。 编程语言是计算机可以理解的语言。
根据具体任务,程序员可以选择一种语言或另一种语言,并且语言具有不同的难度级别。 有些是“高级”语言,可能更容易被人类理解,因为它们更接近英语。 其他语言可能是“低级”的,更接近计算机通信的二进制语言(零和一),但与英语相差较远。
但就编程的具体细节而言,编码员决定希望计算机做什么,并使用编程语言编写程序来执行任务。 不同程序的细节可能有很大差异,但编程归结为用计算机可以解释的语言编写详细指令以执行任务的行为。
有哪些不同类型 编程语言?
有不同类型的编程语言(除了高级和低级类别之外)用于编写各种程序。 在这些类型中,还有许多特定的语言。
最终用于一项或另一项任务的语言取决于几个因素,包括程序需要的粒度、使用它的上下文(例如,特定行业用途或特定公司内),甚至是程序员的语言个人喜好。 但最重要的是,“这取决于公司及其所在的行业,”莫汉博士说。
因此,编程语言分为三种主要类型:过程式、函数式和面向对象。
过程语言
过程式编程语言的作用或多或少像它们听起来的那样:它们遵循一个过程。 “过程语言是向计算机提供指令或定义指令的方式,”莫汉博士说。 这通常意味着使用一种逐步的方法来编写程序。 因此,程序员可能会编写一组按顺序执行的指令,以便计算机完成给定的任务。
一些常见的过程语言包括 C、Java 和 C++。
函数式语言
函数式语言比过程式语言更复杂,因为它们结合不同的数学函数来构造程序。 在许多情况下,这可能需要比使用过程语言更高级别的技能。 “在函数式编程中,您需要使用一种称为‘递归’的技术,这可能是一个棘手的概念,”说 阿琼·钱德拉塞卡西南大学计算机科学系助理教授。 递归涉及将问题减少或简化为最简单的形式,是的,它可能很难掌握。
对于更喜欢数学的程序员来说,使用函数式语言可能会感觉更自然。 常见的函数式语言包括 Haskell 和 Python。
面向对象语言
面向对象的编程语言使用“对象”而不是函数或过程指令来创建程序。 这是另一个需要您思考的抽象概念,但简而言之,面向对象的语言或编程在其代码中使用“类”和“对象”来构建或创建程序。 然后它们可以互相交互来创建程序。
不幸的是,对于那些没有编程背景的人来说,它只会变得更加抽象。 面向对象语言的一些示例包括 C#、Ruby 和 Rust。
虽然这一切听起来令人生畏和难以承受,特别是对于那些缺乏技术背景但对编程感兴趣的人来说,但专家表示,每个人,即使是最有经验的程序员,在某一时刻也必须从头开始。
考虑到这一点,最好不要灰心,如果你对编程职业感兴趣,就尝试一下,看看你是否喜欢它,刘易斯说。 “就像任何事情一样,你需要尝试一下。”
经常问的问题
计算机程序员做什么的?
计算机程序员使用编程语言编写程序,这些程序充当计算机遵循并完成特定任务的指令。 实际上,程序员将英语翻译成代码,计算机可以解释该代码以遵循特定的功能。
程序员工资高吗?
与美国许多其他职业相比,计算机程序员的薪酬往往相对较高。截至 2022 年,年薪中位数略低于 10 万美元,而当年家庭收入中位数为 约$75,000。
编程到底有多难?
编程对于某些人来说会很困难,而对于另一些人来说则不太困难,这取决于多种因素。 然而,专家表示,具有解决问题和数学能力的人可能会发现比其他人更容易。