技术讨论:我心中TOP1的编程语言_内存安全的编程语言-程序员宅基地

技术标签: Java  C++  C  技术应用  编程语言  # 技术|开发工具  Python  

欢迎关注博主 六月暴雪飞梨花 或加入【六月暴雪飞梨花】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。


引子

编程语言的流行度,既受其主要应用领域的发展的影响,也受其易用性和速度等自身特质的影响。在今年已发布的TIOBE6月榜单上,Python暂排第一,C、C++紧随其后。对于这些耳熟能详的编程语言,你一定也有最偏爱的一款吧?今天就来说说你心中TOP1的编程语言吧!

TIOBE6月开发语言榜单

TIOBE6月榜单前10语言
在这里插入图片描述

1.1 什么是编程语言

编程语言(programming language)是一种计算机和人之间交流的形式。它是一种为了完成计算机任务而编写的特定语言。编程语言包括指令、变量、函数、条件语句、循环语句等等。程序员使用编程语言来告诉计算机执行任务,例如打开文件、执行数学运算、连接数据库等等。不同的编程语言适用于不同的应用领域,例如Java和Python在Web开发、机器学习、数据分析等领域应用广泛,而C++在操作系统、游戏开发等领域应用较多。

【百度百科释义】
编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。

【全球百科释义】
编程语言是一种形式语言包括一组指令产生各种输出。编程语言用于计算机编程中以实现算法。
大多数编程语言包括指令的计算机。有些可编程机器使用一组特定的指令,而不是通用的编程语言。自1800年代初期以来,就一直使用程序来控制诸如提花织机,音乐盒和弹奏钢琴之类的机器的行为。这些机器的程序(例如,演奏者的钢琴卷轴)对于不同的输入或条件没有产生不同的行为。
已经创建了成千上万种不同的编程语言,并且每年都在创建更多的编程语言。许多编程语言是以命令式形式(即,作为要执行的一系列操作)编写的,而其他语言则使用声明式形式(即,指定了所需的结果,而不是如何实现)。
在这里插入图片描述

1.2 编程语言的优点与缺点分析

不同的编程语言适用于不同的应用领域,例如Java和Python在Web开发、机器学习、数据分析等领域应用广泛,而C++在操作系统、游戏开发等领域应用较多

下面是我们常用的常用的场景中所使用的开发语言:

  • Web开发:常用的开发语言包括Java、Python、PHP、JavaScript等。
  • 移动应用开发:Android应用开发主要使用Java和Kotlin语言,iOS应用开发主要使用Objective-C和Swift语言。
  • 桌面应用开发:常用的开发语言包括Java、C++、Python等。
  • 游戏开发:常用的开发语言包括C++、C#、Unity等。
  • 数据分析:常用的开发语言包括Python、R、MATLAB等。
  • 人工智能:常用的开发语言包括Python、C++、Java等。

1.3 如何来评价一门编程语言

我们周边有很多开发语言,我们应该如何评价他们呢?大体上可以从下面几个角度出发,可从编程语言的功能、使用场景、优化能力、稳定性、易用性、成本等角度出发。

  • 使用场景,例如Java和Python在Web开发、机器学习、数据分析等领域应用广泛,而C++在操作系统、游戏开发等领域应用较多
  • 学习成本:学习难度也是评价一门编程语言的重要指标,一些编程语言虽然功能强大,但学习难度较高,如C++和Python相对易学。
  • 优化性能:性能也是评价一门编程语言的重要指标,如C++和Java在性能方面表现较好。
  • 开发效率:开发效率也是评价一门编程语言的重要指标,如Python和JavaScript在开发效率方面表现较好。
  • 易用性:易用性是评价一门编程语言的指标之一,他包括社区支持度、集成开发环境(IDE)、第三方库和框架、文档和支持。
  • 稳定性:稳定性是评价一门编程语言的指标之一语法和语义、标准库和第三方库、性能和可扩展性、版本兼容性。

1.4 编程语言未来发展的猜测和未来趋势

【未来发展的猜测】
编程语言未来发展将是百花齐放,百家争鸣。

  • 跨平台和多范式:随着计算设备和平台的多样化,开发者对跨平台编程语言的需求越来越大。此外,多范式编程语言(如支持面向对象、函数式和过程式编程的语言)也越来越受欢迎,因为它们提供了更多的编程选择和灵活性。
  • 性能优化和内存安全性:随着对性能和内存安全性的要求不断提高,未来的编程语言将更加注重优化这些方面。例如,Rust语言以其出色的内存安全性和性能吸引了越来越多的关注。
  • 基于现有框架构建:现在出现的编程语言,例如F#,以及Java领域的Scala,Clojure等等,它们都是基于现有框架构建的,而不是从头开始编写。每次从头开始的代价实在太高,因此未来的编程语言可能更多地基于现有框架构建。
  • 声明式编程:声明式编程(如领域特定语言和函数式编程)在近年来越来越受欢迎,未来可能成为主流。在Anders Hejlsberg眼中,未来影响力较大的趋势之一就是声明式编程。
  • 多种编程模式的融合:随着编程语言的发展,原本常用的“面向对象”语言,“动态语言”或是“函数式”等边界也变得越来越模糊,例如各种主要的编程语言都受到函数式语言的影响。因此,“多范式”程序设计语言也是一个愈发明显的趋势。

【未来趋势】
未来编程语言的发展趋势将是跨平台、多范式、性能优化、内存安全、基于现有框架构建以及多种编程模式的融合。这些趋势将为开发者提供更好的编程体验和更高效的开发方式。

1.5 写在最后

其实,我心目中的TOP1编程语言肯定是我现阶段在使用且比较熟悉的语言,学习编程语言需要持续努力和不断实践,需要掌握基础语法、练习编写代码、学会调试代码、构建项目以及持续学习他的能力。终归一句话,不断的学习才可以不会让社会淘汰自己,才不会让自己止步于编程。

[参考文章]


  1. TIOBE Index for June 2023
  2. 全球百科
  3. 百度百科
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/L_Lycos/article/details/131306109

智能推荐

从零开始搭建Hadoop_创建一个hadoop项目-程序员宅基地

文章浏览阅读331次。第一部分:准备工作1 安装虚拟机2 安装centos73 安装JDK以上三步是准备工作,至此已经完成一台已安装JDK的主机第二部分:准备3台虚拟机以下所有工作最好都在root权限下操作1 克隆上面已经有一台虚拟机了,现在对master进行克隆,克隆出另外2台子机;1.1 进行克隆21.2 下一步1.3 下一步1.4 下一步1.5 根据子机需要,命名和安装路径1.6 ..._创建一个hadoop项目

心脏滴血漏洞HeartBleed CVE-2014-0160深入代码层面的分析_heartbleed代码分析-程序员宅基地

文章浏览阅读1.7k次。心脏滴血漏洞HeartBleed CVE-2014-0160 是由heartbeat功能引入的,本文从深入码层面的分析该漏洞产生的原因_heartbleed代码分析

java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)-程序员宅基地

文章浏览阅读1.4k次。前言ofd是国家文档标准,其对标的文档格式是pdf。ofd文档是容器格式文件,ofd其实就是压缩包。将ofd文件后缀改为.zip,解压后可看到文件包含的内容。ofd文件分析工具下载:点我下载。ofd文件解压后,可以看到如下内容: 对于xml文件,可以用文本工具查看。但是对于印章文件(Seal.esl)、签名文件(SignedValue.dat)就无法查看其内容了。本人开发一款ofd内容查看器,..._signedvalue.dat

基于FPGA的数据采集系统(一)_基于fpga的信息采集-程序员宅基地

文章浏览阅读1.8w次,点赞29次,收藏313次。整体系统设计本设计主要是对ADC和DAC的使用,主要实现功能流程为:首先通过串口向FPGA发送控制信号,控制DAC芯片tlv5618进行DA装换,转换的数据存在ROM中,转换开始时读取ROM中数据进行读取转换。其次用按键控制adc128s052进行模数转换100次,模数转换数据存储到FIFO中,再从FIFO中读取数据通过串口输出显示在pc上。其整体系统框图如下:图1:FPGA数据采集系统框图从图中可以看出,该系统主要包括9个模块:串口接收模块、按键消抖模块、按键控制模块、ROM模块、D.._基于fpga的信息采集

微服务 spring cloud zuul com.netflix.zuul.exception.ZuulException GENERAL-程序员宅基地

文章浏览阅读2.5w次。1.背景错误信息:-- [http-nio-9904-exec-5] o.s.c.n.z.filters.post.SendErrorFilter : Error during filteringcom.netflix.zuul.exception.ZuulException: Forwarding error at org.springframework.cloud..._com.netflix.zuul.exception.zuulexception

邻接矩阵-建立图-程序员宅基地

文章浏览阅读358次。1.介绍图的相关概念  图是由顶点的有穷非空集和一个描述顶点之间关系-边(或者弧)的集合组成。通常,图中的数据元素被称为顶点,顶点间的关系用边表示,图通常用字母G表示,图的顶点通常用字母V表示,所以图可以定义为:  G=(V,E)其中,V(G)是图中顶点的有穷非空集合,E(G)是V(G)中顶点的边的有穷集合1.1 无向图:图中任意两个顶点构成的边是没有方向的1.2 有向图:图中..._给定一个邻接矩阵未必能够造出一个图

随便推点

MDT2012部署系列之11 WDS安装与配置-程序员宅基地

文章浏览阅读321次。(十二)、WDS服务器安装通过前面的测试我们会发现,每次安装的时候需要加域光盘映像,这是一个比较麻烦的事情,试想一个上万个的公司,你天天带着一个光盘与光驱去给别人装系统,这将是一个多么痛苦的事情啊,有什么方法可以解决这个问题了?答案是肯定的,下面我们就来简单说一下。WDS服务器,它是Windows自带的一个免费的基于系统本身角色的一个功能,它主要提供一种简单、安全的通过网络快速、远程将Window..._doc server2012上通过wds+mdt无人值守部署win11系统.doc

python--xlrd/xlwt/xlutils_xlutils模块可以读xlsx吗-程序员宅基地

文章浏览阅读219次。python–xlrd/xlwt/xlutilsxlrd只能读取,不能改,支持 xlsx和xls 格式xlwt只能改,不能读xlwt只能保存为.xls格式xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改xlrd打开文件import xlrdexcel=xlrd.open_workbook('E:/test.xlsx') 返回值为xlrd.book.Book对象,不能修改获取sheett_xlutils模块可以读xlsx吗

关于新版本selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘等问题_unresolved attribute reference 'find_element_by_id-程序员宅基地

文章浏览阅读8.2w次,点赞267次,收藏656次。运行Selenium出现'WebDriver' object has no attribute 'find_element_by_id'或AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'等定位元素代码错误,是因为selenium更新到了新的版本,以前的一些语法经过改动。..............._unresolved attribute reference 'find_element_by_id' for class 'webdriver

DOM对象转换成jQuery对象转换与子页面获取父页面DOM对象-程序员宅基地

文章浏览阅读198次。一:模态窗口//父页面JSwindow.showModalDialog(ifrmehref, window, 'dialogWidth:550px;dialogHeight:150px;help:no;resizable:no;status:no');//子页面获取父页面DOM对象//window.showModalDialog的DOM对象var v=parentWin..._jquery获取父window下的dom对象

什么是算法?-程序员宅基地

文章浏览阅读1.7w次,点赞15次,收藏129次。算法(algorithm)是解决一系列问题的清晰指令,也就是,能对一定规范的输入,在有限的时间内获得所要求的输出。 简单来说,算法就是解决一个问题的具体方法和步骤。算法是程序的灵 魂。二、算法的特征1.可行性 算法中执行的任何计算步骤都可以分解为基本可执行的操作步,即每个计算步都可以在有限时间里完成(也称之为有效性) 算法的每一步都要有确切的意义,不能有二义性。例如“增加x的值”,并没有说增加多少,计算机就无法执行明确的运算。 _算法

【网络安全】网络安全的标准和规范_网络安全标准规范-程序员宅基地

文章浏览阅读1.5k次,点赞18次,收藏26次。网络安全的标准和规范是网络安全领域的重要组成部分。它们为网络安全提供了技术依据,规定了网络安全的技术要求和操作方式,帮助我们构建安全的网络环境。下面,我们将详细介绍一些主要的网络安全标准和规范,以及它们在实际操作中的应用。_网络安全标准规范

推荐文章

热门文章

相关标签