Workflow
JavaScript
icon
Search documents
Python 大哥,C 老二,Java 小三……Go 彻底跌出前十
程序员的那些事· 2026-01-07 23:34
| Jan 2026 | Jan 2025 | Change | | Programming Language | Ratings | Change | | --- | --- | --- | --- | --- | --- | --- | | 1 | 1 | | L | Python | 22.61% | -0.68% | | 2 | 4 | < | C | C | 10.99% | +2.13% | | 3 | 3 | | ﺤﺎﻟﺔ | Java | 8.71% | -1.44% | | 4 | 2 | < | | C++ | 8.67% | -1.62% | | 5 | 5 | | | C# | 7.39% | +2.94% | | ნ | 6 | | ીટ | JavaScript | 3.03% | -1.17% | | 7 | 9 | > | VB | Visual Basic | 2.41% | +0.04% | | 8 | 8 | | SQL | SQL | 2.27% | -0.14% | | 9 | 11 | > | | Delphi/Object Pascal | 1.98% | +0. ...
中国创造一门新编程语言的黄金时代来了?
虎嗅APP· 2025-12-22 15:38
Core Viewpoint - The article discusses the development of MoonBit, an AI-native programming language designed to address the challenges posed by AI in software development, emphasizing its unique features and the vision behind its creation [6][12][40]. Group 1: Development and Features of MoonBit - MoonBit is distinct from existing AI coding tools like Cursor and Copilot, as it aims to create a foundational programming language rather than just a tool for code generation [6][12]. - The development of MoonBit is driven by the emergence of large models like ChatGPT, which have made it feasible to create a new programming language that can scale rapidly [6][12]. - Key characteristics of MoonBit include reliability, simplicity, efficiency, and strong control over the entire toolchain, which are essential for adapting to the AI era [7][12][14]. Group 2: Market Position and Community Engagement - MoonBit has gained significant traction, with user numbers growing from approximately 26,000 in November 2022 to over 100,000 within a year, despite not having released its 1.0 version yet [20][21]. - The community around MoonBit has accumulated nearly 3,000 libraries, which is notable for a programming language that is only three years old [9][25]. - The user base primarily consists of students in China and developers interested in WebAssembly globally, indicating a strategic focus on high-value markets [22][39]. Group 3: Ownership and Ecosystem Strategy - Unlike traditional programming languages that are open-source and community-driven, MoonBit operates on a model of ownership, where high-quality code generated on the platform retains its value exclusively within the MoonBit ecosystem [10][29]. - This ownership model is designed to create a sustainable ecosystem that can support long-term growth and commercial viability, contrasting with the open-source approach that often leads to a lack of funding for development [10][36]. - The company aims to build a robust platform that not only provides a programming language but also a comprehensive toolchain, ensuring that all components work seamlessly together [15][46]. Group 4: Future Outlook and Challenges - The company anticipates that the AI-driven software engineering revolution will deepen over the next 3-5 years, creating a significant market opportunity for AI-native programming languages and tools [17][40]. - The primary challenge for MoonBit will be to maintain patience and focus on long-term goals, as the development of a new programming language typically requires substantial time and effort [48][49]. - The vision includes positioning MoonBit as a leading platform in the software development landscape, with aspirations to deliver a significant portion of global software through its ecosystem by 2026-2027 [40][46].
Java程序员要掌握的前端知识
Sou Hu Cai Jing· 2025-12-15 05:56
Core Insights - The article emphasizes the importance of understanding DOM manipulation and event handling for Java developers transitioning to front-end development, highlighting that front-end is not chaotic but can be approached systematically [2][3]. Group 1: Understanding DOM - DOM is not just a string but a programmable tree structure where each HTML element is an object with properties and methods [2][3]. - The key mindset shift is to view the page as a real-time modifiable data structure rather than a static output [3]. Group 2: Event Handling - Front-end event handling is similar to Java's listener pattern but involves more diverse event sources, including user inputs and interactions [5][6]. - Events have inherent asynchronicity and uncertainty, requiring callback functions for responses [5]. - Event propagation includes capturing and bubbling phases, allowing for efficient event delegation [6][7]. Group 3: Practical Techniques - Ensure DOM is ready before manipulation, as browsers parse HTML while downloading [8][9]. - Avoid duplicate event bindings to prevent multiple triggers of callbacks [10][11]. - Organize interaction logic semantically to maintain code clarity, similar to Java's layered architecture [12]. Group 4: Advantages and Pitfalls - Java developers possess advantages in understanding object-oriented and modular concepts, aiding in component-based development [15]. - Common pitfalls include treating asynchronous events with synchronous thinking and over-relying on global variables, leading to state confusion [15].
2025 年 12 月编程语言排行榜|R 语言杀回前十,C# 或能拿下年度编程语言~
菜鸟教程· 2025-12-11 03:30
Core Viewpoint - The TIOBE index for December 2025 shows that the R programming language has re-entered the top ten, indicating a growing demand for deep data analysis and visualization in enterprises [1][3]. Group 1: R Language Insights - R language is a specialized tool designed for statistical analysis and data visualization, maintaining its stronghold in academia and research-intensive industries [1][5]. - Unlike general-purpose programming languages, R focuses on statistical modeling and data processing, excelling in its niche [4]. - The competition between R and Python has ended, with Python dominating the general programming landscape [6][8]. - R plays a core role in academic and research settings, while industries prefer Python for its unified technology stack [11]. Group 2: TIOBE Index Rankings - The top ten programming languages in December 2025 are Python, C, C++, Java, C, JavaScript, Visual Basic, SQL, Perl, and R [19]. - C is noted as the fastest-growing language, evolving from a Windows-only enterprise language to a modern, cross-platform, open-source representative [15]. - C and Java are now nearly equal in game development, web services, and cloud-native applications [17]. - The historical ranking of programming languages from 1985 to 2025 shows significant shifts, with Python rising to the top position [25].
趣图:一个新听来的理论,听起来很有道理
程序员的那些事· 2025-12-08 00:45
Core Viewpoint - The article discusses the significance and impact of JavaScript in the current technology landscape, highlighting its widespread use and versatility in web development [5]. Group 1 - JavaScript is a dominant programming language, essential for creating interactive web applications and enhancing user experience [5]. - The language has evolved significantly, with frameworks and libraries like React and Angular contributing to its popularity and functionality [5]. - The article emphasizes the importance of JavaScript in the context of modern web technologies, indicating that it is a critical skill for developers [5].
2025 年 11 月编程语言排行榜|C# 要翻身超Java?Java:我不要面子的啊!
菜鸟教程· 2025-11-13 03:30
Core Insights - The TIOBE Index for November 2025 indicates that C may surpass Java for the first time in history, following Python's dominance since late 2023 [1][12] - C is currently the fastest-growing programming language, with a significant upward trend that could lead to it becoming the top language in 2025 [4][12] - The competition between C and Java has intensified, with the gap between their ratings now being less than 1% [12][19] Programming Language Rankings - The current top programming languages are Python, C, C++, Java, and C, with C showing a notable increase of 2.67% [12][21] - The historical ranking of programming languages shows C maintaining its position at fifth place, while Python remains at the top [28][29] - The rankings reflect the shifting focus of developers towards languages that offer modern features and cross-platform capabilities [19][30] Industry Trends - C has evolved from being a Windows-only enterprise language to a modern, cross-platform, and open-source language, making it competitive with Java in various fields [13][19] - Java continues to dominate in the financial sector due to legacy systems, but C is gaining ground in game development, web services, and cloud-native applications [7][9][19] - The programming landscape is characterized by a shift in developer preferences towards languages that enhance productivity and user experience rather than just stability [15][19]
TypeScript超越Python成GitHub上使用最广语言,AI是主要驱动力
机器之心· 2025-11-12 03:17
Core Insights - The core insight of the article is that TypeScript has overtaken Python as the most widely used programming language on GitHub, marking a significant shift in developer preferences towards typed languages, particularly in the context of AI-assisted development [2][4][6]. Group 1: Language Popularity and Growth - TypeScript became the most popular language on GitHub in August 2025, surpassing Python with approximately 2.6 million contributors, a year-over-year growth of 66.6% [6][13]. - Python, while dropping to second place, still maintains a strong presence with around 2.6 million contributors, growing by 48.8% year-over-year [6][20]. - JavaScript remains a significant player with 2.15 million contributors, but its growth has slowed as developers shift towards TypeScript [7][9]. Group 2: Factors Driving TypeScript's Rise - The rise of TypeScript is attributed to its type system, which reduces code ambiguity and helps catch errors generated by AI before deployment [14][15]. - Many modern development frameworks now default to TypeScript, further driving its adoption among developers [14]. - The entry barrier for TypeScript is lower due to tools that simplify setup, making it accessible for junior developers [16] . Group 3: Python's Continued Dominance in AI - Despite TypeScript's rise, Python remains the dominant language in AI projects, driving nearly half of the new AI repositories with 582,196 new projects, a year-over-year growth of 50.7% [20]. - Jupyter Notebook continues to be the preferred exploratory environment for AI, with 402,643 repositories, reflecting a 17.8% increase [20][18]. Group 4: Broader Trends in Development - Open-source development activity reached record levels, with a total of 1.12 billion contributions, a 13% year-over-year increase [24]. - India emerged as the largest source of new developers on GitHub in 2025, contributing over 5.2 million new developers, which is more than 14% of the total new developers [26]. - The growth of traditional languages like Java and C continues, indicating their stability in enterprise environments despite the rise of AI [27]. Group 5: Emerging Languages and Tools - Luau, the scripting language for Roblox, saw a remarkable growth of over 194%, reflecting a trend towards typed flexibility in the industry [31]. - The focus on performance-centric developer tools is increasing, with tools like Ghostty and Tailwind CSS gaining attention for their speed and minimal development friction [32].
少儿编程语言发展趋势榜
Sou Hu Cai Jing· 2025-11-05 04:03
Core Insights - The article emphasizes the growing importance of programming as a skill for children, highlighting the need to choose the right programming language for their learning journey [2][15] - The "Children's Programming Language Development Trend List" serves as a significant reference for understanding industry trends and educational philosophies [2][3] Trend Analysis - The ranking reveals a shift from traditional programming languages like C++, Java, and Python to languages that align more closely with children's cognitive development and interests [3] - The top-ranked platform, Xigua Creator, exemplifies a successful educational approach by integrating a systematic learning path from graphical programming (Scratch) to text-based programming (Python) [3][4] Language Distribution - The list categorizes programming languages into two main tiers: graphical programming languages (e.g., Scratch, Blockly) and text-based programming languages (e.g., Python) [4] - Scratch is recognized as the standard for children's programming initiation, allowing for creative expression without the burden of complex syntax [6] Educational Pathways - The transition from graphical to text-based programming is crucial for children's development, with Python being the recommended next step due to its simplicity and wide application in fields like AI and data science [7][10] - The article outlines a structured approach to learning, emphasizing the importance of engaging and enjoyable educational experiences [8][15] Future Considerations - The choice of programming language is framed as an investment in children's future, with different languages leading to various career paths [9][10] - A comprehensive learning platform is deemed essential, providing exposure to multiple programming paradigms and fostering a supportive learning environment [11][12] Age-Specific Recommendations - For ages 6-9, graphical programming like Scratch is recommended to build foundational logic and computational thinking [16] - Ages 9-12 is identified as the optimal time to transition to Python, while ages 12 and above can focus on languages aligned with their interests, such as C++ for game development or JavaScript for web development [16]
为什么后端老是觉得前端简单?
菜鸟教程· 2025-10-27 03:30
Core Viewpoint - The article discusses the complexities and challenges faced by both front-end and back-end developers, emphasizing that each role has its own difficulties and intricacies that are often overlooked by those outside the field [2][12]. Front-end Development - Front-end development involves a wide range of technologies and frameworks such as React, Vue, Angular, and Svelte, which require continuous learning and adaptation due to rapid changes in the market [7]. - Tools like Webpack and Vite are essential for building applications, but they can be complex to configure and troubleshoot [7]. - The use of TypeScript adds a layer of complexity to JavaScript, but it can help prevent errors in the long run [7]. - CSS layout techniques like Flex and Grid, along with responsive design and animations, require attention to detail to ensure a good user experience [7][11]. - Front-end developers must ensure that applications are visually appealing and user-friendly, which involves meticulous attention to detail in design and functionality [11]. Back-end Development - Back-end development is often perceived as less complex because it lacks a visible interface, but it involves critical tasks such as managing data integrity, server performance, and application logic [11]. - Back-end developers must handle high concurrency, database design, and system architecture, which are essential for maintaining application stability and performance [11][12]. - The responsibilities include designing database structures, implementing caching strategies, and ensuring the system can handle peak loads without failure [11]. Comparison of Roles - The article highlights that perceptions of complexity in development roles are subjective and depend on one's position within the development process [9]. - Both front-end and back-end developers face unique challenges, and the article argues that neither role is inherently easier than the other [12]. - The visibility of front-end work makes it easier for outsiders to critique, while back-end work often goes unnoticed despite its importance [12].
AI 时代,编程语言选型更难也更重要:Go、Rust、Python、TypeScript 谁该上场?
AI前线· 2025-10-22 05:18
Core Viewpoint - The choice of programming languages is becoming increasingly important in the AI era, as it directly impacts the quality of code generated by AI agents [19][28]. Group 1: Programming Language Comparison - Go is favored in AI scenarios due to its thin abstraction layer and structured nature, making it easier for models to understand and rewrite code. In tests, Go outperformed Python and Rust in generating code for similar small programs [2][27]. - Python remains essential for any company, especially for tasks involving machine learning or data processing, even if it is not used for core services [12][16]. - JavaScript and TypeScript are also unavoidable in the current landscape, with TypeScript often accompanying JavaScript [12][17]. Group 2: Language Evolution and Future Trends - The industry is witnessing a trend towards creating "next-generation languages" designed for human-agent collaboration, as existing languages may not be optimal for this new paradigm [3][29]. - The migration from Python 2 to 3 serves as a cautionary tale for future language transitions, highlighting the complexities involved in such changes [4][6][7]. - Rust has learned from Python's migration challenges by implementing an "edition system" that allows for incremental feature adoption without breaking compatibility with older versions [7]. Group 3: Practical Considerations in Language Choice - The choice of programming language should be pragmatic, focusing on the product being built rather than the code itself. Early-stage companies should limit their technology stack to three or four languages [11][18]. - The emergence of AI tools has shifted the focus from the necessity of a unified codebase to maintaining clear boundaries between systems, enhancing development efficiency [18][20]. Group 4: AI's Impact on Software Development - AI tools are significantly changing the software development landscape, allowing for more efficient coding and problem-solving. A substantial portion of code (over 80%) in some companies is now generated by AI [21][24]. - The role of human developers is shifting towards creative and thoughtful tasks, while AI handles more routine coding responsibilities [21][24]. - The democratization of programming is occurring as AI lowers the entry barrier, enabling more individuals to engage in coding without extensive prior knowledge [25]. Group 5: Error Handling and Language Design - Different programming languages exhibit varying error handling characteristics, which can significantly impact system reliability and user experience [34][35]. - The design of programming languages often involves trade-offs between performance and error handling capabilities, which can affect the overall robustness of applications [40][42].