首页 分享 走马观花 编程语言概述——关于软件开发你需要知道些什么

走马观花 编程语言概述——关于软件开发你需要知道些什么

来源:花匠小妙招 时间:2025-04-23 19:55

一、前言

        正常来说我们对于事情的认识分为三种情况:

1、已知的已知:我们已经知道自己知道的事情;

2、已知的未知:我们已经知道自己还有哪些事情内容是不知道的;

3、未知的未知:我们并不知道自己不知道的事情;

        而要成为一名高效软件开发者则需要知道编程语言、源代码控制、测试、持续集成、Web开发、HTML、CSS、设计模式、数据库、调试、方法论、Scrum、敏捷……这一串长长的列表还可以继续延伸。要学的东西太多了,那么,我们该怎么做呢?你怎样才能学会所有你应该学习的有关软件开发的知识呢?其实,你可以聚焦于尽可能消除“未知的未知”部分。

        本章的目标并不是一定要学会所有的东西,而是只提供一些基本的信息,并真正尽可能消除你自身知识体系上的“未知的未知”部分。若你是刚入行的软件开发者,本篇的大部分内容对你而言都是全新的;若你从事编程工作已经有一段时间了,那么本篇内容可以帮你意识到自己知识体系里的空白部分,查缺补漏;若你是一位身经百战的资深人士,本篇内容可能会帮你识别你的弱项。

二、背景

        通常,新入行的开发者认为,知道大量的编程语言是很重要的,然而事实并非如此。虽然不必成为每一门编程语言的专家,但是【对主流的编程语言要有所了解,并且知晓它们之间的差异还是非常必要的,这样你就可以清楚地知道每种语言工具可以用来做哪项工作】。

如下是编程语言排行榜链接:

TIOBE Index - TIOBEhttps://www.tiobe.com/tiobe-index/ 编程语言排名 - HelloGitHub分享 GitHub 上有趣和入门级的开源项目,找开源项目就上 HelloGitHubhttps://hellogithub.com/report/tiobe

三、主流语言概述

3.1、C

        C语言是当今仍在被使用的古老编程语言中的一种。尽管它已经被人们使用了很长时间,但今天它依然深受欢迎,可以说是全世界使用范围最为广泛的编程语言。如今的许多其他的主流编程语言都起源于C【事实上,如果你学会了用C语言编写程序,你可能会发现学习其他语言(如C++、C#、Java、JavaScript以及其他语言)将变得非常容易】。

        因为C语言功能非常强大,所以它也是一种学起来颇为棘手的语言。C语言工作在非常底层的位置,它允许开发者直接访问计算机的内存,操纵计算机的许多底层部件。你会发现C被广泛应用在操作系统、底层硬件、嵌入式系统等方面,甚至还有很多老款游戏。C语言通常被认为是面向系统的编程语言。

3.2、C++

        C++是由贝尔实验室的Bjarne Stroustrup创建的,用以扩展C语言,以便融入Simula[1]中的一些功能强大的面向对象特性,如对象、类、虚拟函数和许多其他特性【今天,C++仍然被广泛应用,特别是在游戏开发中,而且它还被一直持续更新着,现在被称为“现代C++”】。

        C++是一种非常复杂的语言。我不建议初学者从C++这种高复杂度的语言开始学习。它就像手榴弹一样威力强大,但就像人们说的那样,一不留神也会炸断你的双脚。

3.3、C#

        C#最初是微软专门为.NET运行时(.NET Runtime)开发的旗舰语言。它是由Anders Hejlsberg创建的,他还深度参与了Delphi和Turbo Pascal语言的创建工作。、最初,C#与Java非常类似。事实上,它被称为“Java的副本”;不过,近年来C#和Java的区别越来越大。

        C#是一种面向对象的语言,表达方式类似于C++,但是要比C++简单得多,而且现在还具备许多函数式特性;微软目前开源的.NET Core已经支持跨平台运行了。

        C#是面向对象的编程语言,它功能强大、使用简便。我觉得C#是一种设计优雅的语言。即使在今天,它的发展和演进速度似乎也相当迅速。

3.4、Java

        Java是Sun微系统公司的James Gosling在1995年创建的。Java的理念就是“一次编程,到处运行”,即Java运行在虚拟机上,而虚拟机可以运行在任何计算平台上,这样使用Java编写的程序就能够轻地实现跨平台运行。

        如今,Java版权归Oracle公司所有,并且依然在发展壮大中。不过,它现在由一个委员会负责管理,委员会的成员倾向于放慢Java更新的速度。

Java也是面向对象的语言,一次编程,到处运行,使用简便。

3.5、Python

        Python是在1989年由Van Rossum创建的;Python可以以面向对象的方式编写,也可以以过程式甚至函数式的方式编写,它是一种解释型语言,这意味着实际上它不被编译。与C、Java和C#相比,Python代码通常要简洁得多,因为可以用更少的代码行来表示更多的语义【是一种非常优雅且简洁的语言,它的核心目标之一就是提高语言的可读性】。

        如今Python非常流行,并且越来越深受欢迎。它也是谷歌使用的主要编程语言之一,并且非常适合初学者学习和掌握。

3.6、JavaScript

        JavaScript始于1995年,最初是由布兰登·艾奇(Brendan Eich)在短短10天之内创建出来的。因此,可以想象,这么短时间内创造出来的语言一定问题多多。

        JavaScript最初被用作用于开发Web的一种简单的脚本化语言,但我确信,你已经发现了,如今它已经成为Web领域的主要开发语言,而且大有超越Web领域之势(新版本的JavaScript,或者更准确地说,ECMAScript,已经修复了JavaScript的许多缺陷,使其更加适合大规模)因为它的应用范围如此广泛,所以今天几乎每一个Web开发者都必须要对这种语言有一定程度的了解。

        JavaScript之所以能够大行其道,其实与语言设计得好坏无关,也与它是否适合Web开发无关,真正的原因在于是它的方便性,以及它生逢其时。在刚开始有Web应用的时候,几乎每一种浏览器都内嵌了JavaScript,它主要被用于完成一些简单的操作,比如显示弹出窗口或者对话框,并不像今天这样。而且,JavaScript并不需要编译,因为它是一种解释型语言【这就意味着,这种语言可以嵌入浏览器内运行,每次只需要执行一个命令而不必预先编译好。对Web环境而言,这相当方便,因为JavaScript可以与Web页面一起交付,并在浏览器内执行】。

         JavaScript就像打不死的小强一样,一直身处主流编程语言之列【JavaScript无处不在,所以Web开发者至少需要了解JavaScript的基础知识】。

3.7、PHP

        PHP最初是由Rasmus Lerdorf于1994年创建的,实际上在2014年之前它并没有任何严格形式的书面规范(PHP的设计者从来就没有打算让它成为一门编程语言。它只是一组动态工具,用来帮助构建简单的网页,但所谓“虎兕出于匣”,一旦PHP被设计出来,它的发展就不会只顺从设计者当初的设想了)。

        PHP并非一种设计优雅的语言。但它和JavaScript一起,支撑了今天绝大多数的Web应用开发(脸书最初就是用PHP写的,广为流行的博客软件WordPress也是用PHP写的。许多广受欢迎的网站至少在起步的时候都是用PHP写的,甚至很多网站至今仍然是用PHP写的)。

3.8、Swift

        Swift是一种被特意设计出来与苹果的Cocoa和Cocoa Touch框架(用于iOS和OS X开发的框架)一起工作的程序设计语言。它也被特意设计成易于与大量现存的Objective-C代码集成在一起。

        Swift支持Objective-C的许多流行的特性,使Objective-C不但变得更加动态、更加灵活,而且还比Objective-C简洁易用许多。

如果今天你要投入iOS开发,我建议你考虑跳过Objective-C直接学Swift。

3.9、Go

        Go语言是由Robert Griesemer、Rob Pike和Ken Thompson于2007年创建的,与C语言非常类似,但是与C语言相比也有很大程度的补充和简化。

        与C不同的是,Go具有垃圾回收的功能,所以你不必操心内存管理。它还内置了一些并发编程的特性,使其具有极强的性能,并发特性随之也成为该语言的招牌特性。

        和C语言一样,Go语言主要也是一种面向系统的编程语言,但它也正在被扩展到更多的应用领域,包括Web。Go语言是谷歌公司创建的一种相对较新的编程语言,非常简洁强大。

4.0、Erlang

        最初是由爱立信的Joe Armstrong、Robbert Virding和Mike Williams于1986年创建的,在1998年被开源。该语言最初是为帮助改善电信应用程序的开发而创建的,因此才会具备“代码热交换”特性,因为你肯定不能忍受电信级应用程序中止运行。

        Erlang是一种功能强大、非常有趣的编程语言,具有分布式和并发的特点。它还支持代码的热交换,你可以更改应用程序中的代码而不停止运行它。

Erlang很容易被认为是当今编程世界里最为健壮的编程语言(和编程环境)。

四、忽略语言细节

       本文的目的并不是告诉你编程世界里可能会存在的每一门编程语言,而是向你概括介绍其中一些主流的编程语言【本文的重点是让你知道你需要知道的东西,这样你就可以在心目中勾勒出一幅蓝图,以便今后可以更深入地研究这些东西】。

        如果你看到前面的讨论中缺少了某种语言,也没有关系。如果你对哪门语言真的感兴趣,那你不妨自己查一下它。

        之所以没有谈论编程语言的工作机理,并不是因为我认为它不重要。这些东西绝对重要,只不过关于编程语言设计理论的著作随手一抓一大把,这些书才是深入涵盖所有概念和理论的典籍。

        你只需要对当前都有哪些主流编程语言有一个概念,对每一门编程语言建立起一个快速的印象。这样,如果你对其中某一门语言感兴趣,可以再去深入探索。

相关知识

C语言编程利用公式e=1+1
机器学习=编程?NO!
让结对编程更有效的十种方法
计算机专业及软件开发推荐书籍
Linux网络编程实战
吃猕猴桃需要注意些什么?
作为程序员,你应该知道的职场晋升之路(收藏)
国内或国外的主流电商网站,分别使用什么编程语言开发的
c语言水仙花数编程
c语言编程如何画玫瑰花

网址: 走马观花 编程语言概述——关于软件开发你需要知道些什么 https://www.huajiangbk.com/newsview1787072.html

所属分类:花卉
上一篇: 2021年,薪酬最高的5种编程语
下一篇: Swift语言的学习路线

推荐分享