在今天的世界里,我们都非常依赖由开发人员精心编程的各种软件产品。但什么是计算机编程?
在这篇文章中,我将提供一个编程的定义,以及不同类型程序员的例子。我还将推荐一份你可以参加的课程清单,以开始学习如何编码。
编程的定义
计算机程序由在计算机上执行的代码组成,以执行特定任务。这种代码是由程序员编写的。
编程是给机器一套指令的过程,这些指令描述了一个程序应该如何执行。程序员将花费他们的整个职业生涯来学习各种编程语言和工具,以便他们能够有效地建立计算机程序。
程序员将首先使用代码编辑器或集成开发环境来编写所谓的源代码。这是用一种编程语言编写的代码集合,其他程序员可以阅读。
源代码需要被转换为机器语言,以便机器能够理解指令并执行程序。这个将源代码转换为机器语言的过程被称为编译。
编译编程语言的例子是C和C++。
还有一些语言不使用编译器。相反,这些语言将使用一个解释器来读取和执行代码。
解释型编程语言的例子是JavaScript和PHP。
一旦代码被执行,那么计算机程序就可以运行。不同类型的计算机程序包括文字处理程序、数据库系统、视频游戏和网站。
这些计算机程序使我们能够与不同的软件设备和服务如电话、网站和计算机本身进行互动。
编程的历史
许多历史学家认为阿达-拉芙蕾丝是第一个在19世纪中叶创建了一个公开的计算机程序。她是一位数学家,翻译了路易吉-费德里科-梅纳布雷亚关于分析引擎的著作。
在这次翻译中,艾达加入了她自己的大量注释,并创造了一种计算伯努利数的方法,用于 分析引擎。
数学家Alonzo Church的工作以及图灵机是对计算机代码的首次介绍。
在20世纪20年代,计算机被创造出来,随后出现了最早的编程语言。在接下来的一个世纪里,随着机器和技术的不断发展,编程语言的数量也在不断增加。
编程语言的类型
现存的编程语言有数百种。开发人员首先要考虑应用程序的需求,这样他们才能决定使用哪种语言是合适的。
下面是几种流行的编程语言:
- Python
- JavaScript
- C/C++
- Java
- C#
- Ruby
- PHP 其中一些语言主要用于某个开发领域,而另一些则是更加通用的编程语言。
JavaScript主要用于网络开发,通常是网络开发初学者学习的第一种编程语言。JavaScript也可用于移动和游戏开发。
Python可用于各种领域,如数据分析、机器学习和网络开发。
编程语言被归为各种类别,以下是一些类别的列表:
- 机器语言--一种由0和1组成的低级语言(二进制):高级语言被编译成机器代码,因此代码可以被计算机执行。
- 汇编语言--一种由汇编器编译的低级语言:汇编器将人类代码翻译成机器代码。
- 程序性语言--这种方式在程序在计算机上执行之前要经过一系列的程序。(例如,Go和Julia)
- 脚本语言--这些语言很多时候不需要被编译,而是被解释:解释的意思是解释器会读取并执行代码,而不是被编译成机器代码。(例如,JavaScript和PHP)
- 功能性语言--它的工作原理是通过较小的函数集合来构建复杂的程序:(例如,Haskell和Scala)
- 面向对象的语言--它的工作原理是通过对象的集合来构建程序。(例如,Java和Python)
还有更多的软件范式和语言可以探索,我们在这篇文章中没有涉及。但这应该给你一个很好的开始,让你了解各种类型的编程语言。
编程工作的类型
有许多类型的编程工作供你选择,本文将只关注几个领域。
网络开发人员
这些类型的程序员为网络建立应用程序。他们会使用HTML、CSS、JavaScript、PHP、Python等语言工作。
有很多课程,你可以在网上自学。你也可以通过一个训练营,这需要几个月的强化学习。
不同地点的工资会有所不同,但它们往往是高薪工作。
如果你对这个领域感兴趣,这里有一些资源可以参考:
移动开发者
这些类型的开发人员为移动设备构建应用程序。编程语言将包括React Native、Swift、Flutter、Java和Kotlin。
有很多课程,你可以在网上自学。不同地点的工资会有所不同,但它们往往是高薪工作。
如果你对这个领域感兴趣,这里有一些资源可以参考:
游戏开发
这些程序员将为手机、桌面和游戏机的使用建立定制游戏。编程语言可以包括,C++,C#和Lua。
这些程序员将为小型独立游戏工作室以及像索尼这样的大型国际公司工作。
有很多课程,你可以在网上自学。不同地点的工资会有所不同,但它们往往是高薪工作。
如果你对这个领域感兴趣,这里有一些资源可以参考:
计算机系统工程师
这个职业结合了计算机科学和工程,从事复杂的商业应用。 编程语言会包括Python,Java和C++。
典型的教育途径是获得计算机科学的正式学士学位。工资将倾向于六位数。
程序员应具备的技能
当涉及到建立计算机程序时,一个专业的程序员将有各种责任。
以下是编程中需要的一些重要技能:
- 编写干净和有效的代码
- 解决问题
- 测试应用程序
- 修复代码中的错误("bug")。
- 良好的沟通和倾听能力
- 有能力在团队中很好地工作
- 耐心和毅力
程序员的工作是将客户的需求,创建一个坚实的工作应用程序。开发人员将花费大量的时间研究、构建、修复和测试他们的代码。
在应用程序发布后,开发人员将花时间维护产品并努力使其变得更好。
总结
计算机编程可以是一个在智力和经济上都非常有价值的职业。程序员需要愿意学习新事物和解决复杂的问题。
有许多不同的编程领域可以探索,如网络,移动,游戏开发或系统工程师。有些领域需要正规教育,而有些领域则对自学的程序员开放。
我希望你喜欢这篇文章,祝你在编程之路上好运。