2023年你会选择哪种编程语言?

news2024/10/7 8:20:20

2023年你会选择哪种编程语言?

关于编程语言的个人见解。

KOTLIN:由于其先进的多平台能力,未来5年内它很可能成为开发任何类型的客户端应用(移动端、桌面端或Web端)的首选编程语言。他们正在为iOS和WebAssembly开发的编译器工作非常出色。目前我只将其视为客户端语言,因为在服务器端,它仍然与JVM紧密相关,但我希望在3-4年内,当它能够编译到即将发布的WASI标准时,Kotlin的服务器内存占用将会大幅减小。

GOLANG:目前是我最喜欢的服务器端语言。我喜欢它对服务器资源的极低使用率,它的并发优先思想以及部署的简易性。一旦你开始使用Golang,你将不再希望在服务器端使用JVM,因为这会不必要地增加服务器成本。你可以在单个核心和有限的内存上运行高性能的Golang应用。

PYTHON:10年前,我在寻找新的服务器端语言用于我的下一个项目。我仔细研究了Python,但最终选择了Golang,至今没有后悔过。Golang比Python有多个优势(性能、静态类型、部署简易性、真正的并发性)。Python是一种通用编程语言,它可以做很多事情,但没有什么特别出色的。数据科学可能是Python目前保持最大优势的领域。

SWIFT:任何想要为苹果设备开发的人都需要了解它。然而,Kotlin Multiplatform将越来越多地“竞争”Apple应用程序的业务逻辑和数据层,特别是在Swift的直接互操作性方面。对大多数公司来说,复制每个平台的业务逻辑变得明显是对资源的不必要浪费。

JAVASCRIPT:在过去的近30年里,它一直是在浏览器上运行的唯一编程语言。然而,它是一种薄弱且不太美观的语言,与更现代的语言相比较差。随着WebAssembly的兴起,情况正在改变,它已经得到所有浏览器的支持,允许任何编程语言(甚至垃圾回收的语言)编译为Web。这将是一个缓慢的过渡,但我预计在10年内,Javascript(以及其著名的框架,如React)将失去市场份额。

DART:在过去的3年里,由于Flutter,Dart变得非常流行,这是由Google支持的跨平台框架,它在许多方面优于由Facebook支持的ReactNative。然而,Dart并不比Javascript好多少,而且现在它在多平台领域中有一个坚实的竞争对手,即Kotlin,后者是一种更强大、更多功能的编程语言。

JAVA:正在逐渐成为一种遗留语言。Kotlin已经能够做到Java所能做的一切,而且拥有更好的语法和更快的开发时间。

C/C++:它们是最“高贵”的编程语言。Unix和Linux都是用C编写的。从某种程度上讲,每种编程语言都受到了C/C++的影响。然而,它们现在已经是非常宿命化的语言,容易出错且编译速度慢。对于每种用例,都有至少一种更好的编程语言可以使用。

RUST:它已经成为性能关键应用的最佳编程语言,优先于C/C++。如果你想构建嵌入式系统、物联网、加密算法,Rust是最佳选择。

PHP:它已经是一个“行将就木”的语言。然而,在过去的25年里,已经有很多网站使用它构建,因此它仍然在Web市场中占有很大份额(主要得益于WordPress)。目前,几乎不可能会有一个全新的大项目选择PHP进行构建。"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/912898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

power designer 反向工程过程已中断,原因是某些字符无法通过ANSI-->UTF-16转换进行映射

起因:sqlserver导入sql时报错,一查询是power designer 反向工程过程已中断,原因是。某些字符无法通过ANSI-->UTF-16转换进行映射(会导致数据丢失) 解决办法: 导入成功

【Vue】全家桶之vue-Router

文章目录 概述后端路由前端路由Vue Router安装 vue-router 的常见用法路由懒加载路由重定向嵌套路由动态路由匹配 声明式导航 & 编程式导航声明式导航编程式导航 导航守卫全局前置守卫守卫方法的 3 个形参next 函数的 3 种调用方式控制后台主页的访问权限 路由的两种工作模…

骨传导耳机音质好吗?骨传导耳机音质和普通耳机对比哪个好?

相信不少朋友还是比较排斥骨传导耳机的,并不是说骨传导技术不成熟,而是骨传导对技术的要求实在太高了,尤其是对音质以及防漏音的考验。作为一款新兴产品,骨传导耳机打破了传统的传音模式,由空气传导,转变为…

element上传图片,调取接口传值,参数FormData为空

需求 输入完reason,选完文件后,点击提交按钮后 调取接口。 遇到的问题 上传文件orderFile 字段一直为空 打印了发现,上传文件也是有值得。但是传到接口中就为空 原因 json里边不能放file,但是formData里可以放 file 也可以放…

每个世界500强公司,都遇到过增长瓶颈

在《财富》100强公司的增长历程分析中,最容易得出的结论是大部分大型企业都曾经历过一段停滞期。这些公司的规模大小各不相同,尽管绝大部分停滞都发生在收入10亿—100亿美元之间的公司内,但任何规模的企业都有可能出现增长停滞。这是因为&…

C++学习第十五天----循环和文本输入

昨天说到使用cin进行键盘输入的一些弊端,那么怎么解决呢? 1.使用cin.get(char)进行补救 使用下面这句代码替换掉cin >> ch;,这样就会回显空格; cin.get(ch);//读取输入中的下一个字符(即使它是空格&…

LeetCode——二叉树片(七)

刷题顺序及思路来源于代码随想录,网站地址:https://programmercarl.com 目录 617. 合并二叉树 700. 二叉搜索树中的搜索 98. 验证二叉搜索树 530. 二叉搜索树的最小绝对差 501. 二叉搜索树中的众数 617. 合并二叉树 给你两棵二叉树: …

leetcode 309. 买卖股票的最佳时机含冷冻期

2023.8.22 本题是买卖股票系列 冷冻期。 由于引入了冷冻期,并且这个冷冻期是在卖出股票才会出现,因此我dp数组设置了四种状态: 状态一:持有股票。状态二:不持有股票: 之前就卖了,所以今天不处…

小区新冠疫情管理系统的设计与实现/基于springboot的小区疫情管理系统

摘要 采用更加便于维护和使用的Java语言,其可拓展性高且更富于表现力,基于mysql数据库、Springboot框架开发的小区新冠疫情管理系统,方便用户查看物资信息、疫苗信息。通过Eclipse来进行网页编程,其方便易用、移植适用性广、更加安…

【JVM】对String::intern()方法深入详解(JDK7及以上)一文搞懂

文章目录 1、什么是intern?2、经典例题解释例1例2例3 1、什么是intern? String::intern()是一个本地方法,它的作用是如果字符串常量池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的String对象的引用&#…

JVM——类加载与字节码技术—类文件结构

由源文件被编译成字节码文件,然后经过类加载器进行类加载,了解类加载的各个阶段,了解有哪些类加载器,加载到虚拟机中执行字节码指令,执行时使用解释器进行解释执行,解释时对热点代码进行运行期的编译处理。…

每日一题:leetcode 849 到最近的人的最大距离

给你一个数组 seats 表示一排座位,其中 seats[i] 1 代表有人坐在第 i 个座位上,seats[i] 0 代表座位 i 上是空的(下标从 0 开始)。 至少有一个空座位,且至少有一人已经坐在座位上。 亚历克斯希望坐在一个能够使他与…

同步、异步无障碍:Python异步装饰器指南

一、引言 Python异步开发已经非常流行了,一些主流的组件像MySQL、Redis、RabbitMQ等都提供了异步的客户端,再处理耗时的时候不会堵塞住主线程,不但可以提高并发能力,也能减少多线程带来的cpu上下文切换以及内存资源消耗。但在业务…

2023前端面试题整理

前端面试大全整理 算法 n维数组旋转 90 度算法 export const rotate function (matrix: number[][]) {let n matrix.length// matrix[x][y] > matrix[y][n - 1 - x]const changeItem (num: number, x: number, y: number, rodateTime: number, isOnce?: boolean) >…

微信小程序裁剪图片成圆形

概述 分装的图片剪裁组件,可以把图片剪裁成圆形,主要思路就是使用canvas绘图,把剪裁的图片绘制成圆形,另外剪裁图片的窗口还可以移动放大缩小 详细 前言 最近在开发小程序,产品经理提了一个需求,要求微…

Java Web项目中spring.xml或springmvc.xml配置文件中出现名称空间爆红

在做项目的过程中,通常需要配置spring.xml或者springmvc.xml等配置文件,但是会出现名称空间爆红的情况,如下所示: 解决方法:打开Settings ——> Schemas and DTDs 然后添加爆红的语句即可

PSP - 蛋白质结构预测 AlphaFold2 的结构模版 (Template) 搜索与特征逻辑

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132427617 结构模版 (Template) 是一种已知的蛋白质结构,可以作为 AlphaFold2 蛋白质结构预测的参考,AlphaFold2 可以从多…

构建系统自动化-autoreconf

autoreconf简介 autoreconf是一个GNU Autotools工具集中的一个命令,用于自动重新生成构建系统的配置脚本和相关文件。 Autotools是一组用于自动化构建系统的工具,包括Autoconf、Automake和Libtool。它们通常用于跨平台的软件项目,以便在不同…

AIR001开箱测试

最近,合宙的动作还是挺大的,又出了两款AIR001和RP2040,而且前段时间还出了AIR32F103系列,记的21年要采购STM32F1103的时候,1片的价格从开发时的5块涨到了生产阶段的100多,即使最后无奈采用了别的芯片&#…

容器化微服务:用Kubernetes实现弹性部署

随着云计算的迅猛发展,容器化和微服务架构成为了构建现代应用的重要方式。而在这个过程中,Kubernetes(常简称为K8s)作为一个开源的容器编排平台,正在引领着容器化微服务的部署和管理革命。本文将深入探讨容器化微服务的…