Workflow
JavaScript
icon
搜索文档
谁是2025年度最好的编程语言?
量子位· 2025-10-01 09:12
Python的市场主导地位 - Python在IEEE Spectrum 2025编程语言排行榜上再次获得最受欢迎编程语言称号 [2] - Python相对于第二名Java呈现出"一骑绝尘"的断崖式领先优势,且两者差距仍在不断扩大 [4][5] - Python实现了IEEE Spectrum排行榜的十连冠,并首次在综合排名、增长速度和就业导向三个板块同时问鼎第一,成为该榜单12年来首个三冠王 [6][7] Python的成功因素分析 - Python凭借简洁性优势逐渐替代Java成为高校主流教学语言 [9] - NumPy、SciPy、matplotlib、pandas等核心库的成熟使Python在科研、金融和数据分析领域确立领先地位 [10] - 强大的开源社区网络效应构建了Python的生态护城河,吸引了大量开发者贡献代码和解决方案 [11] - 人工智能发展进一步放大了Python优势,其丰富的训练数据使大模型在使用Python时表现更出色,吸引了更多AI用户选择Python [12][13] 其他编程语言格局变化 - JavaScript在综合排名中波动最大,从去年前三跌至第六位,其网页编写优势正受到Vibe Coding的冲击 [14][15][16] - SQL多年来作为最受雇主欢迎技能的宝座被Python攻破,但由于其作为企业数据库标准语言的垂直定位,与Python差距不大且仍是极具价值的就业技能 [17][18][19][21][22][23] AI对编程行业的影响 - 程序员社区文化显著衰落,Stack Overflow新增问题数量从2023年3月的8.7万个降至2024年3月的5.88万个,一年内下滑32.5%,到2024年12月同比下降达40% [24][25][26][27] - AI让程序员逐渐摆脱对编程细节的执着,包括语法细节、流程控制和函数等传统需要死磕的内容正越来越多交给AI处理 [30][31][32] - 编程语言多样性可能显著下降,主流通用语言将获得指数级增长形成"强者恒强"格局,而非主流语言因缺乏训练数据支持将被进一步边缘化 [34][36][37][38][39] 编程范式变革趋势 - 编程正在经历自20世纪50年代编译器问世以来最大变革,未来可能通过Prompt直接与编译器对话,跳过传统编码环节 [41][45][46] - 在没有源代码的未来,程序员角色将转向底层的架构设计与算法选择,这些核心能力依然至关重要 [48][49][50]
小众语言再难出头!写代码靠和 AI 聊天、连用啥都不在乎了,开发者感叹:等我们不在了,AI 智能体会接手
AI前线· 2025-09-29 15:05
编程语言排名方法 - IEEE Spectrum通过三种维度对编程语言流行度进行排名,包括在职程序员使用情况、雇主需求以及主流趋势热度,并对数据源进行加权处理生成整体流行度指数[2] - 排名过程采用七种不同指标,数据收集于2025年7-8月,指标包括谷歌搜索流量、Stack Exchange问题数量、研究论文提及热度和GitHub开源代码库活跃度等[3] - 统计方法依赖代理指标来衡量编程语言受欢迎程度,但无法涵盖所有编程人员,如《我的世界》服务器创作者或开发新架构的学术人士[4] 2025年编程语言排名结果 - Python在2025年排名中位居榜首,其多功能性体现在网页开发、人工智能和自动化等领域,被称为代码界的瑞士军刀[4] - JavaScript从去年第三名跌至今年第六名,人气显著下降可能与AI影响有关,因为JavaScript常被用于创建网页和氛围编程[4] - 在仅关注雇主所需技能的就业排名中,Python位列第一且较去年第二名有所上升,SQL技能仍是简历中极具价值的技能类别[10] - TypeScript在就业排名中高于JavaScript,有开发者认为不应将TypeScript和JavaScript视为两种独立语言[7] - Solidity作为2025年顶尖编程语言之一,排名紧随CUDA之后[7] AI对编程行为的影响 - 程序员行为发生根本性转变,不再翻阅书籍或在Stack Exchange搜索答案,而是直接与Claude或ChatGPT等大模型对话[2][12] - 在Cursor等AI辅助编程工具支持下,很多问题甚至还未提出就被自动解决,2025年Stack Exchange上提问数量锐减为2024年的22%[2][12] - 随着大模型承担开发工作占比提升,程序员已不太在乎具体使用哪种语言,语法细节、流程控制和函数等越来越多工作交由AI解决[13] - 在尝试使用小众语言编程时,AI输出结果往往会大幅降质,这影响了新语言的推广和使用[15] 编程语言未来发展趋势 - AI参与可能导致未来新语言诞生越来越少,因为小团队或个人发布的新语言难以吸引AI大模型关注,而人类开发者更依赖AI辅助[14] - 新语言出现本为解决程序员麻烦,但如果AI能解决当前使用各类语言时遇到的问题,新语言可能难以积累影响力和形成关键规模[15] - 编程AI可能转向中间语言,直接从提示词生成代码,届时高级编程语言的重要性可能下降,程序员角色将转向架构设计和算法选择[18] - 有观点认为编程领域正经历自20世纪50年代初编译器问世以来最重大变革,利用大语言模型编写代码很可能成为留存下来的技术[19] - 脱离人类可读编程语言后代码修复成为问题,使用AI人群自身技能水平正在下降,而AI学习所用代码的来源也值得关注[19]
为什么 setTimeout(0) 不是真的 0 毫秒?浏览器藏了这些“小心思”
程序员的那些事· 2025-09-14 19:04
以下文章来源于算法爱好者 ,作者小蒜 算法爱好者 . 算法是程序员的内功!「算法爱好者」专注分享算法相关文章、工具资源和算法题,帮程序员修炼内功。 昨天在 HN 刷到的一篇,之前没注意,分享给大家。 即便你已经使用 JavaScript 有一段时间了,可能也会对 setTimeout(0) 并非真的"延迟 0 毫秒执行"感到惊讶。 实际上,它可能要等 4 毫秒后才会运行。 const start = performance.now() setTimeout(() => { // Likely 4ms console.log(performance.now() - start) }, 0) 大约十年前,我还在微软 Edge 团队工作时,有人向我解释过,浏览器这么做是为了防止"滥用"。也就是说,现在很多网站会频繁调用 setTimeout , 为了避免耗尽用户设备的电量或阻碍页面交互,浏览器设置了一个特殊的"限制"——最小延迟为 4 毫秒。 这也能解释为什么有些浏览器会针对使用电池供电的设备进一步加强限制(比如旧版 Edge 会把延迟调到 16 毫秒),或者对后台标签页的限制更严格 (Chrome 甚至会调到 1 ...
GPT-5:前端开发者的“选择自己的冒险路线”
36氪· 2025-09-05 18:33
GPT-5前端编码能力表现 - OpenAI声称GPT-5在前端Web开发方面70%的时间击败OpenAI o3模型[2] - 开发体验负责人称GPT-5在前端开发"惊人地出色"[2] - 前端基础设施公司Vercel支持该模型并认为它是"最好的前端AI模型"[2] 开发者对GPT-5的负面评价 - YouTube影响力人物Theo Browne从积极评价转变为负面体验 称GPT-5在Cursor中表现远不如测试期[3] - GitHub Copilot Pro用户抱怨GPT-5在总结和解释方面非常弱 总体令人失望[3] - Claude Sonnet 4被用户认为比GPT-5好很多[3] - AI工程专家Shawn Wang的民意调查显示40%以上用户认为GPT-5"一般"或"糟糕"[4] - 具体投票结果:23.1%用户兴奋 30.6%认为与Claude相当 10.8%表示失望 35.5%无意见[5] 框架选择与开发模式变革 - OpenAI推荐使用Next.js(TypeScript) React和HTML等框架与GPT-5配合[7] - Moderna的AI产品负责人通过GPT-5从概念到可工作React原型完成全流程开发[7] - AI创业公司Raindrop联合创始人使用GPT-5创建无需React框架的网站 仅用HTML CSS和JavaScript[7] - GPT-5可能使开发者绕开React框架 直接使用底层Web平台开发基础应用[8] - 浏览器成熟度允许仅用基础技术构建复杂Web应用 框架必要性受质疑[8] 模型版本与编码特性差异 - GPT-5不同版本存在性能差异 预发布测试使用的高端版本gpt-5-high表现更佳[9][10] - 代码安全公司Sonar研究显示不同LLM有独特编码个性:GPT-4o为"高效的全才" Claude Sonnet 4为"资深架构师"[10] - Claude Sonnet 4功能通过率77.04% 高于GPT-4o的69.67%[11] - 所有模型的主要缺陷类型中代码异味占比均超过89%[11]
逆向还原代码,这是大模型最好的用处了吧~
菜鸟教程· 2025-09-05 11:30
产品概述 - Humanify是一个基于Node.js开发的开源JavaScript工具 采用MIT许可证 结合LLM智能命名建议与Babel AST重命名技术 使代码逻辑一致且语义清晰[3] - 核心功能是通过LLM根据上下文为变量/函数提供智能命名 将混淆代码转换为可读性高的正常人写法[4] - 支持三种运行模式:openai云端模式 gemini云端模式 以及local本地模式 满足不同使用场景需求[7] 技术实现 - 实际重命名工作由Babel完成 确保语法结构安全不变[11] - 云端模式运行在专用硬件上 准确率更高 费用根据代码长度收取[12] - 本地模式使用预训练模型 免费但准确率较低 运行速度取决于GPU性能(Apple M系列芯片有原生支持)[12][15] 安装与配置 - 可通过npm全局安装:npm install -g humanifyjs 安装后可直接在命令行运行[6] - 支持npx临时试用:npx humanifyjs 无需安装即可体验[6] - 使用前需配置API密钥 可通过命令行参数或环境变量设置(OPENAI_API_KEY或GEMINI_API_KEY)[8][9][10] 模型管理 - 本地模式需下载2B参数规模的预训练模型 仅需下载一次[13] - 支持根据硬件资源选择不同模型 通过humanify download命令查看可用模型[14] - 无GPU时会自动降级到CPU模式 但运行速度会显著下降[14] 应用案例 - 可将压缩代码如function a(e,t){var n=[];...}转换为人类可读版本function splitString(inputString, chunkSize){var chunks=[];...}[16][17] - 输出结果包含语义清晰的变量命名(chunks, stringLength, startIndex等)大幅提升代码可维护性[17]
2025 年 08 月编程语言排行榜|Python 在 AI 编程助手加持下,一路狂飙!
菜鸟教程· 2025-08-11 08:29
编程语言排行榜核心观点 - AI编程助手推动Python在TIOBE指数中达到历史最高点26.14%,领先第二名C++近17个百分点[1][17][18] - 主流语言因AI工具加持形成"强者恒强"格局,Python/C++/C/Java/C/JavaScript垄断前六[9][22] - 小众语言面临生态劣势,新兴语言如Rust/Kotlin/Dart/Julia未能突破前十[13][27] 主流语言竞争格局 Python统治力 - 以26.14%的占有率断层领先,较2024年保持首位,主要受益于AI和数据科学领域应用[1][18][23] - 尽管存在执行效率低的短板,但凭借丰富的库生态和AI工具支持维持高增长[18][19] - 历史排名从2015年第7位持续攀升至2025年第1位[29] 传统语言表现 - C++/C/Java保持稳定,分别以9.18%、9.03%、8.59%的占有率位列2-4名[18][22] - JavaScript虽排名第6但占有率仅3.15%,与头部语言差距显著[18][23] - C历史排名从2005年第9位提升至2025年第5位[29] 中尾部语言动态 老牌语言韧性 - Visual Basic凭借企业遗留系统以2.33%排名第7,Go/Perl/Delphi以2%左右占有率紧随其后[22][23] - Fortran(1.75%)/SQL(1.72%)/Ada(1.52%)在特定领域保持不可替代性[13][14][27] - Ada因航空航天等高安全需求场景重现活力[13][14] 新兴语言困境 - Rust(1.13%)/Kotlin(1.10%)等现代语言未能进入前20,Assembly language(1.03%)排名第20[27] - Swift/Ruby/Dart/Julia等语言徘徊在25-30名区间[28] - Perl年度排名从第25跃升至第9,可能反映人才断层后的需求回升[23] 技术驱动因素 - AI代码助手使主流语言开发效率提升约20%,微软Copilot等工具更倾向支持流行语言[5][7] - Python作为"AI御用语言"获得额外增长动能,AI训练依赖其海量代码数据[1][7][16] - 开发者生态形成正向循环:主流语言工具链完善→吸引更多开发者→进一步强化生态[9][19] 历史趋势观察 - Python近十年排名持续上升,从2015年第7位升至2025年第1位[29] - C语言长期占据头部位置,2000-2005年排名第1,2025年回落至第3[29] - Go语言表现突出,从2015年第36位跃升至2025年第7位[29]
2025 年 07 月编程语言排行榜|主流编程语言内卷升级,安全系“黑马” Ada 正在逆袭?
菜鸟教程· 2025-07-11 10:31
编程语言市场格局分析 - Python以26.98%的市场占有率稳居榜首,与第二名C++(9.80%)拉开17%以上的差距,呈现断崖式领先 [7][10] - C++、C、Java、C、JavaScript、Go连续三年占据前七名,形成稳固的第一阵营 [1] - Visual Basic、SQL、Fortran、Ada、Perl、Delphi在8-12名展开激烈竞争,月度排名波动显著 [1][3] 新兴语言与传统语言的竞争态势 - Rust、Kotlin、Dart、Julia等新兴语言虽具备技术优势(如Rust的安全性、Kotlin的简洁性),但均未进入前十 [4] - 传统语言在特定领域保持不可替代性:SQL(数据库)、Fortran(科学计算)、Ada(航空航天/军工)、Perl(Linux运维)、Delphi(桌面开发) [5] - Ada因高安全性需求复兴,在"零容错"系统中成为首选 [4] Python的统治力与争议 - Python凭借AI/数据分析风口、丰富生态库和易用性实现快速增长,但性能短板显著(执行速度远低于C++) [11] - 行业出现"边吐槽边使用"现象,其AI御用语言地位强化了不可替代性 [8][11] - 若未来解决性能问题(如JIT编译/GPU加速),可能进一步扩大市场份额 [12] 月度排名详情 - 前十名依次为:Python、C++、C、Java、C、JavaScript、Go、Visual Basic、Ada、Delphi/Object Pascal [14] - 11-20名中,Fortran(12名)、SQL(13名)、Rust(18名)、Kotlin(20名)等语言竞争胶着 [17] - 21-50名包含Swift(21)、COBOL(22)、Ruby(23)、Julia(35)等语言,呈现长尾分布 [18] 历史趋势与数据来源 - TIOBE排名基于工程师数量、课程、供应商及搜索引擎数据,反映主流语言趋势 [20] - 历史数据显示编程语言市场呈现"头部固化+尾部混战"特征 [20]
2 万程序员签名!Node.js 之父炮轰 Oracle,这事对行业有重大影响。网友直呼:它就是寄生虫
程序员的那些事· 2025-06-29 19:31
最新进展 - 商标审判和上诉委员会(TTAB)驳回了对甲骨文公司的欺诈指控,但相关方对此裁决持不同意见 [3] - 指控称甲骨文在2019年商标续展时故意提交Nodejs网站截图作为JavaScript商标使用证据,而Nodejs与甲骨文无任何关联 [4] - 案件核心主张转向商标的通用性和放弃使用,而非欺诈指控 [5] - JavaScript已成为全球通用的编程语言名称,而非特定品牌或甲骨文产品 [6] - 案件加速推进,甲骨文需在8月7日前回应撤销申请,9月6日启动证据开示程序 [7][8] - 已有20455人在javascripttm网站联署支持撤销商标 [8] JS商标恩怨由来 - 2024年11月Deno Land公司向USPTO提交请愿书要求撤销甲骨文对JavaScript商标的所有权 [12] - 商标最初由Sun Microsystems于1995年注册,2009年随Sun被甲骨文收购而转移 [14][15] - 甲骨文被指控长期闲置商标且未用于实际产品开发,唯一关联产品JET工具包市场影响力微弱 [15] - 2019年甲骨文商标续展时使用Nodejs官网截图作为证据,而Nodejs是独立开源项目与甲骨文无关 [17][18] - 2024年9月行业领袖发起联名公开信,联署人数从2024年11月的14万增至2025年6月的20万 [20][21] 法律程序与行业影响 - Deno Land指控甲骨文三项违规:商标通用化、欺诈行为和放弃使用 [22] - 技术命名混乱导致业界被迫使用ECMAScript替代JavaScript,部分企业收到甲骨文律师函 [25] - 甲骨文坚持商标被解读为法律威慑策略,类似其对Java商标的长期诉讼历史 [26] - 开源社区认为JavaScript应作为公共产品而非企业资产,Nodejs和Deno项目的成功佐证这一观点 [27] - 案件结果将决定JavaScript是否成为首个回归公共领域的主流编程语言名称 [28] 网友观点 - 网友质疑甲骨文在JavaScript商标上无实际利益却坚持诉讼的合理性 [32][33]
2025 年 06 月编程语言排行榜|SQL 的未来在哪?SQL 算不算编程语言?
菜鸟教程· 2025-06-11 09:41
SQL 语言现状与趋势 - SQL 在 2025 年 6 月 TIOBE 排行榜跌至第 12 位,创历史最低 [2] - 2003 年 10 月曾达到历史峰值第 6 位,但 2004 年初因"是否属于编程语言"争议被移出榜单,2018 年因图灵完备性论证重新回归 [5] - 仍是数据库领域核心语言,广泛应用于银行交易、电商订单、医疗病历等结构化数据管理场景 [7] SQL 与 NoSQL 竞争格局 - AI 浪潮中非结构化数据需求增长,NoSQL(如 MongoDB、Redis)凭借 JSON/XML 格式灵活性和高扩展性对 SQL 构成实质性威胁 [10][12] - NoSQL 适用于海量数据、高并发读写、实时推荐等场景,类型包括文档型(MongoDB)、键值型(Redis)、列族型(Cassandra)和图数据库(Neo4j)[13][14][16] - 主流 SQL 数据库仍占据重要地位,包括开源产品 MySQL/PostgreSQL(占市场份额 65%)和商业产品 Oracle/SQL Server(企业级市场主导)[9] 编程语言市场格局 - Python 以 25.87% 的占有率稳居榜首,较第二名 C++(10.68%)领先超 15 个百分点,呈现碾压式优势 [20][22] - 2025 年 6 月前十名:Python、C++、C、Java、C、JavaScript、Go、Visual Basic、Delphi/Object Pascal、Fortran [23] - 11-20 名中 SQL 排名下滑显著(从 2024 年 8 位降至 12 位),Perl、R、Rust 等语言波动较大 [26] 技术基础设施演变 - 云数据库服务(Amazon RDS、Google Cloud SQL、Azure SQL)成为新增长点,提供托管式解决方案 [9] - 动态语言(Python、JavaScript)持续挤压静态语言(C++、Java)份额,反映开发效率优先趋势 [12][20] - 历史数据显示编程语言更迭加速,但各语言在特定领域(如 Fortran 科学计算、COBOL 金融系统)仍不可替代 [29]
零JS,他用4.6万行HTML+CSS手搓了个《我的世界》,程序员哭诉:网友把服务器玩爆了
36氪· 2025-05-28 20:14
前端技术突破 - 开发者Benjamin Aster仅用480行CSS和46,022行HTML实现《我的世界》克隆版,完全未使用JavaScript [1][3][5] - 项目构建9x9x9的3D世界,支持放置/移除7种方块并实现视角旋转,交互逻辑依赖HTML/CSS组合 [3][7] - 核心代码量极精简,编译后HTML文件仅3.07MB,CSS文件通过像素级渲染和3D变换实现立体效果 [5][9] 技术实现原理 - 采用35001个`<label>`标签和5840个`<input type="radio">`构建状态引擎,通过`has()`选择器动态切换方块材质 [6][7] - 使用Pug模板语言批量生成HTML标签,解决数万行手写代码的复杂度问题 [6][16] - CSS动画控制3D旋转,通过`paused`/`running`状态切换实现视角变换 [9][11][12] 行业影响与反馈 - 项目在Hacker News引发热议,被开发者誉为"CSS黑魔法",激发对前端技术潜力的重新思考 [13][17] - 原始托管服务因流量激增超出Firebase免费限额,作者紧急迁移至Cloudflare应对访问压力 [14] - 作品验证了HTML/CSS的极限表现力,尤其展示了`:has()`选择器的创新应用场景 [14][17] 项目资源 - 开源地址与演示链接:GitHub仓库含Pug/SCSS源码,YouTube提供操作视频 [3][16][17] - 推荐Chromium或Firefox浏览器体验最佳效果,桌面端支持更完善 [15]