文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
solidot新版网站常见问题,请点击这里查看。
Solidot 公告
投 票
热门评论
- 先能过了小米高考再说 (1 points, 一般) by ooxx 在 2025年01月06日15时43分 星期一 评论到 小米修改了引导程序解锁政策
- (1 points, 一般) by 18611782246 在 2024年12月18日18时06分 星期三 评论到 司机死于阿尔茨海默病的可能性较低
- BaD kEyBoArD: eXtRa SpAcE (1 points, 一般) by lot 在 2024年12月11日04时10分 星期三 评论到 高温环境可能加速衰老
- BaD kEyBoArD: tYpO (1 points, 一般) by lot 在 2024年12月11日04时09分 星期三 评论到 Goolge 宣布了新量子芯片 Willow
- 喵喵喵 (1 points, 一般) by solidot1733326472 在 2024年12月04日23时35分 星期三 评论到 澳大利亚面临太阳能供大于求
- 懂了 这就去安装刺客信条 (1 points, 一般) by Craynic 在 2024年11月27日19时36分 星期三 评论到 微软临时阻止安装刺客信条等育碧游戏的 PC 更新 Windows 11 24H2
- 为了逃避一年多兵役要坐一年牢 (1 points, 一般) by Craynic 在 2024年11月27日19时34分 星期三 评论到 韩国法院判处一名故意增肥以逃避兵役的男子缓刑
- 是否改进质量我不知道 (1 points, 一般) by Craynic 在 2024年11月25日20时43分 星期一 评论到 GitHub 称 Copilot 改进了代码质量
- Linus (1 points, 一般) by Craynic 在 2024年11月25日20时41分 星期一 评论到 Linux 6.13 将拒绝所有来自 bcachefs 作者的合并请求
- 2100年100% (1 points, 一般) by 18611782246 在 2024年11月21日16时30分 星期四 评论到 中国提高了半导体自给率
国际 C 语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)是一项国际程序设计赛事,旨在写出最有创意和最让人难以理解的 C 语言代码。从 1984 年开始,该赛事基本每年举办一次,但有过多次中断,过去四年就中断了举办。组织者在 Mastodon 上宣布了纪念 40 周年的 IOCCC28 竞赛,报名始于 2024-12-29 23:58:13.213455 UTC 截止日期 2025-04-01 23:29:31.374143 UTC。
Ruby 语言以在圣诞节这天发布重大更新闻名,今年的圣诞节当然也不例外,它释出了 Ruby 3.4。主要新特性包括:引入 it 用于引用一个没有变量名称的区块参数;默认解析器 Prism;socket 库支持 RFC 8305“Happy Eyeballs V2”;改进 YJIT just-in-time 代码性能,等等。
亚马逊 AWS 称程序员每天只花一小时时间写代码,但这并不意味着一天中的其它时间都是无所事事。AWS 称,程序员将大部分时间都花在比较琐碎的任务上,比如熟悉代码库,编写和审查文档,测试、管理部署、解决问题,查找和修复漏洞。AWS 表示 AI 工具能帮助程序员摆脱部分繁琐的工作。
BASIC 语言和达特茅斯分时系统合作者、美国计算机科学家 Thomas Kurtz 于 11 月 12 日去世,享年 96 岁。Kurtz 在获得博士学位后在达特茅斯任教,与同事 John Kemeny 教授合作开发了达特茅斯分时系统 (Dartmouth Timesharing System 或 DTSS) 的最初版本。DTSS 于 1964 年 5 月 1 日与 BASIC 语言同时发布,到秋天,数百名学生在分布在校园里的 20 个终端上学习 BASIC 语言。
chai2010 写道:2024年11月11日,经过开发组的努力,最新发布的凹语言v0.19.0版本支持 `defer`、复数,补齐了语言特性的最后几块拼图,顺利完成年度开发目标!回望2019年初立项之时,凹语言在我们脑海中,仅仅只是一个模糊的概念;6年过去,汇集1600多次提交的点滴之功,方使它成为现在的模样。2022年7月开源以来,我们获得了很多帮助,包括报道、评论、建言、授奖、贡献、推广等,这些帮助是我们一路走来的重要动力。在此向所有关注支持凹语言的机构、团体和个人献上诚挚的感谢!
JetBrains 开发的面向 JVM 的语言释出 Kotlin 2.0.0 版本。主要新特性包括:合并了 Jetpack Compose 编译器,使用 invokedynamic 生成 lambda 函数, kotlinx-metadata-jvm 库稳定,用 Objective-C 方法解决 Kotlin/Native 冲突,支持 Kotlin/Wasm 命名导出,等等。
1964 年 5 月 1 日早晨六点,计算机领域的一场悄无声息的变革在达特茅斯学院展开。数学家 John G. Kemeny 和 Thomas E. Kurtz 在通用电气 GE-225 大型机上成功运行了新开发的 BASIC(Beginner's All-Purpose Symbolic Instruction Code)编程语言的第一个程序。他们当时并不知道,新的语言将会推动计算的普及,在未来 60 年里激励一代又一代的程序员。BASIC 是一种解释性编程语言,逐行运行,带有行号。程序可使用 GOTO 等命令在行之间跳转,可用于创建简单的循环程序。今天的大多数编程语言都使用不同类型的结构范式(如函数和面向对象编程),但 BASIC 易于掌握的语法及简单的英语关键字受到了新手的欢迎。BASIC 之前的语言如 Fortran、Algol 和 COBOL 都相当复杂,主要由专业人士使用。1975 年保罗·艾伦 (Paul Allen) 和比尔·盖茨 (Bill Gates) 将 BASIC 语言带到了个人计算机上,创办了微软公司。沃茨在苹果电脑上开发了解释器 Integer BASIC。
Pascal、Euler 和 Oberon 等语言的作者和合作者 Niklaus Wirth 于 2024 年 1 月 1 日去世,享年 89 岁。Niklaus Wirth 于 1934 年 2 月 15 日出生于瑞士,先后任教于斯坦福、苏黎世大学、苏黎世联邦理工学院,曾在施乐帕洛阿尔托研究中心进修两年。他是 Algol W 、Modula、Pascal、 Modula-2、Oberon 等语言的主设计师
,是 Euler 语言的发明者之一。1984 年他因在编程语言上的贡献而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和执行队伍的重要成员。他的文章《Program Development by Stepwise Refinement》视为软件工程中的经典之作。他写的书名《Algorithms + Data Structures = Programs(算法+数据结构=程序)》是计算机科学的名句。
最新一期的 TIOBE 语言流行度指数显示,Python 的榜首位置仍然很稳,但过去一年其流行度出现了下降。前 20 流行语言中 C#、PHP 、Scratch、Fortran、F#、Kotlin、Delphi/Object Pascal 和 Rust 有所增长,其中 C# 同比增长 2.38%,其余最高是 Fortran 的 0.64%。Python 流行度下降了 2.8%。流行度下降的原因是过去流行度较低的小语种语言的流行度在增长,一年前排名第 50 的语言流行度只有 0.14%,今天是 0.24%。前 10 的语言分别是:Python、C、C++、Java、C#、JavaScript、PHP、Visual Basic、SQL、Assembly language。
1983 年 11 月 20 日,Borland 公司发布了 Turbo Pascal 的第一个版本。在软件行业 Turbo Pascal 是一款具有里程碑意义的产品,是第一款流行的集成开发环境(IDE),它取得了惊人的成功。1995 年 Borland 公司开发了替代 Turbo Pascal 的 Delphi,但此时的 Borland 也在微软的竞争下逐渐衰退,2008 年它将开发 IDE 的子公司 CodeGear 出售给了 Embarcadero Technologies,Delphi 系列产品由 Embarcadero 继续开发,该公司前不久释出了编译器的第 36 版——Embarcadero Delphi for Win32 compiler version 36.0(Delphi 12 Athens 的命令行编译器版本),版本号中 36 可以追溯到 1983 年的第一代
Turbo Pascal。
指令式、通用、多范式、静态类型、编译型的编程语言 Nim 释出了 v2.0 版本。新版的一个主要新特性是默认 ORC 内存管理。开发者称,Nim 是一种适合各种用途但不适合所有人的编程语言。它专注于命令式编程范式,通过宏系统加以增强。可定制的内存管理使其非常适合硬实时系统和系统编程等要求苛刻的领域。
2005 年推出的 Ruby on Rails(或 Rails)Web 应用框架诞生于互联网发展的黄金时期,它一度被视为将接替 Java 语言,然而今天无处不在的 Web 语言是 JavaScript,它为何失败了?资深 Ruby 开发者 Matthew Boeh 说,Rails 诞生于 Web 转型和发展的关键时期,它同时受益和推动了 Web 的发展。它也可以说是自己成功的受害者。它在 2000 年代初期向从未听过 Lisp 语言的人引荐了 REPL(交互式命令行)驱动开发,向被 Perl 软件包库 CPAN 吓跑的人引荐了包管理器,向非企业开发者引荐了测试驱动的开发,诸如此类。所有这些今天已被视为理所当然。它们并不是 Rails 开创的,但它推广和普及了这些概念。今天的 JavaScript 的生态是早期无法想象的。从 1999 年到 2009 年只发布了一个 JavaScript 新标准,如今的 JavaScript 标准每年发布一个新版本。今天的全栈开发者必须掌握 JavaScript,而 Rails 是在 JavaScript 未流行前夕全栈开发者所需要掌握的东西。JavaScript 有着科技巨头如 Google 的支持,而 Rails 缺乏同等规模的企业赞助商,它在性能上被认为已经落后了。
很多软件项目的诞生是因为某个程序员有个人问题需要解决。2006 年,29 岁的 Graydon Hoare 是 Mozilla 的程序员。某天他返回位于温哥华的公寓,发现软件崩溃导致电梯发生故障。这不是第一次发生了。他的公寓在 21 楼。在爬楼梯时他感到很恼火,认为这太荒唐了,我们搞计算机的人甚至不能制造一部不崩溃的电梯。软件的崩溃通常与内存相关,而电梯等设备的软件通常是用 C 或 C++ 开发的,此类编程语言容易引入导致崩溃的内存漏洞。绝大部分人在生气之后可能就会选择换个地方。Hoare 则决定做点事情,他开始设计一种新的编程语言,希望能用它写出没有内存错误的高性能代码。他将其命名为 Rust 语言,以真菌锈菌的名字命名,这种真菌以生命顽强著称。17 年后,Rust 变成了世界最热门的语言之一。有 280 万名程序员在用 Rust 写程序。在编程问答社区 Stack Overflow,Rust 连续 7 年被评为最喜爱的编程语言。Hoare 本人在 2013 年退出了该项目,乐于将它交给其他工程师。
Ruby 语言在圣诞节这天释出了 3.2.0 版本,包含了众多新功能和性能改进。其中包括:基于 WebAssembly 的WASI 支持;YJIT 不再列入实验性功能,做好了生产准备,在 Linux 上支持 x86-64 和 arm64/aarch64 CPU,构建需要 Rust 1.58.0+;改进 Regexp 抵御正则表达式 DoS 攻击;SyntaxSuggest;等等。
GCC 13 将支持 Modula-2。Modula-2 是 Pascal 语言的直接继承者,如名字所表示的,旨在更加模块化,更有利于并行编程。其设计理念的一部分是将程序分解成非连续块,可分别编译运行。瑞士计算机科学家、Pascal 语言作者 Niklaus Wirth 在施乐帕洛阿尔托研究中心进修期间受到了早期 GUI 界面和 Mesa 语言的启发,在返回苏黎世联邦理工后终止了 Pascal 第一个后继者 Modula 的工作,创建了 Modula-2,使用基于 coroutines 的模型,加入对对模块间通信的支持。Modula-2 至今仍然在使用中,如俄罗斯的导航卫星 GLONASS 系统。GNU Modula-2 最近合并到了 GCC 主线,将成为 GCC 13 的一部分。
小C同学的粉丝 写道 "凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。目前官方的“凹语言、图灵机和 BF 语言”文章,给出了一个简化版本的 BrainFuck 语言虚拟机实现。官方表示“既然可以通过凹语言实行一个 BF 虚拟机那么凹语言必然也是图灵完备的,下一次希望通过凹语言构建更为复杂有趣的程序。”希望国产凹语言能够带来更多的惊喜,让我们拭目而待。"
小w同学 写道 "凹语言™(凹读音 “Wa”)是国内 Gopher 针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。主页:https://wa-lang.org 。v0.3.1 更新内容:1. 完善 WAT 后端, 支持多包; 2. LLVM 后端支持基本数值运算 (依赖 clang 和 llc) ;3. wazero 更新到 v1.0.0-pre.3。"
Meta/Facebook 透露它开发 Android 应用使用的语言从 Java 迁移到了 Kotlin,而 Kotlin 的代码行数突破了一千万。Kotlin 相对于 Java 的优势包括:内置为空性(nullability)处理,支持内联函数和 lambda 表达式,代码更短,能定义 DSL(Domain-specific language)。缺点是需要在很长时间内面对混合代码库,而 Kotlin 的流行度仍然远逊于 Java——Java 是世界第二大或第三大流行的语言。
至今人类建造的最昂贵太空望远镜大量使用 JavaScript 写的脚本,而它使用的 JS 语言版本有二十年历史了。根据 JWST Integrated Science Instrument Module(ISIM)的手册,ISIM 的软件由 Script Processor Task (SP)控制,在收到命令后运行 JavaScript 写的脚本。JWST 使用了大量预先编写的脚本去执行特定任务,用名叫脚本处理器的程序去解释 JS 代码。脚本使用的语言版本是 Nombas ScriptEase 5.00e,由已经倒闭的 Nombas 公司开发,其最新更新是在 2003 年 1 月释出的。选择如此古老的程序事实上并不令人惊讶。韦伯太空望远镜项目始于 1989 年,2004 年开始建造,当时 ScriptEase 5 只有两年历史,而太空飞行器通常使用成熟而不是最新的技术。
最新 TIOBE 语言流行度指数显示Python 的榜首位置岿然不动。荷兰软件质量保证公司 Tiobe 跟踪了编程语言的流行度逾二十年,它侧重于企业级语言,根据语言相关的搜索查询等因素进行排名,多年来 Java 和 C 一直排在最前面,但去年 10 月 Python 首次跃居第一,此后 10 个月一直保持这一位置。除了安全关键的嵌入式系统领域,Python 语言几乎在所有编程领域都被广泛使用。Python 是动态类型,对嵌入式系统而言速度太慢。TIOBE 排名前十的语言为:Python、Java、 JavaScript、C#、C/C++、PHP、R、TypeScript、Swift、JavaScript 和 Objective-C。Rust 语言接近 20 名。