编程

2023 年 12 月 TIOBE 编程语言排行榜

12 月头条新闻:C# 有望成为 2023 年编程语言

是的,我知道,我们以前来过这里。到 2022 年底,C# 似乎将成为当年的编程语言。但最后时刻,C++出人意料地夺得了冠军。今年,我们更加确信 C# 将获胜。它在一年内上涨了 +2.38%,而其最接近的竞争者 Fortran 和 F# 仅分别上涨了 +0.64% 和 +0.48%。排名前 20 的语言中的大多数在 2023 年失去了流行度,这可能看起来有点奇怪。那么发生了什么?答案就在于所有小语言所在的长尾。这些都在进步一点,并且越来越接近大语言。为了说明这一点:一年前,排名第 50 的语言的得分为 0.14%。目前排名第 50 的语言得分为 0.24%。不管怎样,我们都很好奇哪种语言会成为年度编程语言!——TIOBE Software 首席执行官 Paul Jansen…

MATLAB是什么

MATLAB  是一个用于科学研究与工程应用分析和设计的商业化算术运算软件,由美国新墨西哥大学的数学教授 Cleve Moler 开发。

Moler 当时在美国阿贡国家实验室(Argonne National Laboratory)参与了两个数值计算软件包的开发:用于求取矩阵特征值的 EISPACK 和用于求解线性系统的 LINPACK。同时,他也在新墨西哥大学讲授数值分析和矩阵论的课程。为了让学生们既能够在计算机上进行实践,又能免除编写程序的麻烦,Moler 利用 FORTRAN 语言和 EISPACK 及 LINPACK 的部分功能,编写了最初版本的 MATLAB。…

MoJo:比Python快35000倍的全新编程语言!

  

Chris Lattner ,这个神一样的男人,他又干了件惊天动地的大事!

他官宣发布全新编程语言——Mojo

MoJo:比Python快35000倍的全新编程语言!

大神何许人也

对于全球各地开发者来说,Chris Lattner 是一个大家都仰望的男人!

他曾是许多大型技术项目的领导者,包括 LLVM 编译器基础结构项目、Clang C 和 C++ 编译器、MLIR 机器学习基础结构等编译器技术,以及为苹果生态系统提供支持的程序设计语言 Swift

他的履历可谓相当精彩:

  • 2011-2017 年,任苹果开发部高级总监、架构师

  • 2017.1-2017.6,任特斯拉副总裁,负责自动驾驶

  • 2017.8-2020.1,任谷歌 Google Brain 高级总监

  • 2020.1,加入芯片创业公司 SiFive 负责平台工程

在去年,他终于下定决心自己创业,和 Tim Davis 共同建立了「Modular AI」,希望自下而上重建全球 ML 基础设施。

Mojo 就是他们公司发布的新编程语言。

吵翻了!到底该选 Rust 还是 Go,成2023年最大技术分歧

 

2023 年,我们有一千个学习 Rust 的理由。

8 月 7 日,Rust 基金会发布了 2022 年度 Rust 调查报告结果,报告显示 Rust 采用率不断提高,超过 90% 的调查受访者表示自己是 Rust 用户;29.7% 的受访者表示,他们在工作中的大部分编码工作都使用 Rust,比上一年显着增加了 51.8%。

毋庸置疑,Rust 以其卓越的内存安全性和并发性能正日益成为开发者关注的焦点。然而,同样令人难以忽视的是 Go,这门曾被评选为年度编程语言的相对比较“老牌”的选手。

Go 语言诞生于 2009 年,一开始就因其独特的并发模型和强大的性能优势而受到了极大关注。值得注意的是,跟 Rust 语言一样,Go 语言的创建者也同样“讨厌”C++,并且 Go 同样也都是云原生的主导语言

而在 Stack Overflow

    

Turbo 8 正在放弃 TypeScript

从各方面来看,TypeScript 对微软来说都取得了巨大的成功。我见过很多人因使用可由编译器检查的显式类型而欣喜若狂。但我从来都不是粉丝。五分钟后不会,五年后不会。因此,我非常高兴地宣布我们将从Turbo 8 的下一个大版本中删除 TypeScript。

事实上,我实际上更喜欢 JavaScript。我什至可以说这是继 Ruby 之后我第二喜欢的语言。是的,虽然是遥远的第二秒,但仍然是第二秒。但情况并非总是如此。但是,当我们在 JavaScript 中获得了适当的类,以及自 ES6 以来出现的所有其他改进之后,编写代码就变成了一种真正的乐趣。

我仍然不认为 JavaScript 非常适合我们在网络应用程序的服务器端所做的大部分工作,但完全尊重和欣赏其他人的不同感受。对我来说,我们现在拥有如此强大的 JavaScript,这简直是我们的幸运,浏览器无需任何编译器就可以解释它。

TypeScript 对我来说只是阻碍。不仅因为它需要显式的编译步骤,还因为它用类型体操污染了代码,这给我的开发体验增添了很少的乐趣,而且常常带来相当大的悲伤。应该容易的事情变得困难,困难的事情变得“任何”。不,谢谢!

不过,这并不是请求改变任何人或任何事。正如我在编程类型和心态中讨论的那样,通常很少有程序员有兴趣改变他们对打字的看法。大多数程序员发现自己对打字有强烈的兴趣,或者在他们职业生涯的早期,然后用剩下的时间向自己和他人合理化“正确的选择”。

这是 JavaScript 与 TypeScript 二分法的魔力之一,完全归功于 TypeScript 团队意识到完全接管 JavaScript 永远不会发生,因此必须从一开始就考虑到完全的兼容性。Turbo 8 放弃 TypeScript 并不意味着您不能在其中编写客户端代码,或使用任何其他使用它的库。我们可以混合搭配,这真是太棒了。

Java/JDK 21 发布:新增虚拟线程、AI 接口,最新 LTS 版本支持八年 15个特性一览

Java 21 号称具有数千项性能、稳定性和安全性改进。新的 JDK 21 包括对 15 项改进的抢先体验,这些增强功能是在 Oracle CloudWorld 2023 会议上宣布的,包括支持虚拟线程以提高整体吞吐量,以及增加对矢量应用编程接口(API)的支持,从而更轻松地构建涉及人工智能 AI 模型的 Java 应用。…

使用四种框架分别实现百万websocket常连接的服务器

使用四种框架分别实现百万websocket常连接的服务器

目录 [−]

  1. 服务器的参数调优
    1. TCP/IP参数配置
    2. 最大文件描述符
    3. 应用运行时调优
    4. OutOfMemory Killer
  2. 客户端的参数调优
  3. 服务器测试
    1. Netty服务器
    2. Spray服务器
    3. Undertow
    4. node.js
  4. 参考文档

事实上,最近我又增加了几个框架,现在包括 Netty, Undertow, Jetty, Spray, Vert.x, Grizzly 和 Node.js七种框架。
测试数据可以看下一篇文章: 七种WebSocket框架的性能比较

著名的 C10K 问题提出的时候, 正是 2001 年。这篇文章可以说是高性能服务器开发的一个标志性文档,它讨论的就是单机为1万个连接提供服务这个问题,当时因为硬件和软件的限制,单机1万还是一个非常值得挑战的目标。但是时光荏苒,随着硬件和软件的飞速发展,单机1万的目标已经变成了最简单不过的事情。现在用任何一种主流语言都能提供单机1万的并发处理的能力。所以现在目标早已提高了100倍,变成C1000k,也就是一台服务器为100万连接提供服务。在2010年,2011年已经看到一些实现C1000K的文章了,所以在2015年,实现C1000K应该不是一件困难的事情。

本文是我在实践过程中的记录,我的目标是使用spran-websocket,netty, undertow和node.js四种框架分别实现C1000K的服务器,看看这几个框架实现的难以程度,性能如何。开发语言为Scala和Javascript。

当然,谈起性能,我们还必须谈到每秒每个连接有多少个请求,也就是RPS数,还要考虑每条消息的大小。
一般来说,我们会选取一个百分比,比如每秒20%的连接会收发消息。我的需求是服务器只是push,客户端不会主动发送消息。