菜单

编程练习平台

相关源文件

编程演练场是交互式在线环境,允许用户直接在网页浏览器中编写、测试和执行代码,无需在本地安装任何软件。本页面记录了免费编程书籍(Free Programming Books)仓库中的编程演练场集合,该集合是按编程语言组织的在线编码工具的综合目录。

对于超越演练场的更全面的学习资源,请参阅提供指导学习体验的交互式教程,以及提供结构化教育内容的免费课程

概述

编程演练场在编码教育生态系统中,作为理论学习与实际应用之间的重要桥梁。它们提供即时反馈,使其成为极佳的工具,适用于

  • 测试小段代码
  • 尝试新语言
  • 共享代码示例
  • 快速原型开发
  • 教学和学习编码概念

图示:编程演练场在仓库中的位置

来源:free-programming-books/more/free-programming-playgrounds.md1-457

演练场类型

编程演练场可根据其功能和侧重点分为几种类型

类型描述示例
特定语言专注于单一编程语言Python Playground, JSFiddle
多语言支持多种编程语言Repl.it, CodePen, OnlineGDB
算法可视化帮助可视化算法和数据结构算法可视化工具
基础设施/DevOps允许试验容器化、编排Play with Docker, Kubernetes Playground
正则表达式测试和调试正则表达式Regex101, RegExr
特定框架专为特定框架构建React Playground, Angular Playground

来源:free-programming-books/more/free-programming-playgrounds.md32-56 free-programming-books/more/free-programming-playgrounds.md58-456

语言覆盖范围

该仓库包含了广泛编程语言的演练场,具有不同程度的代表性。有些语言有多个演练场选项,而其他语言可能只有一个或两个。

图示:编程语言演练场分布

来源:free-programming-books/more/free-programming-playgrounds.md58-456

多个平台提供支持多种语言的综合性演练场环境

  1. 基于浏览器的IDE:

    • CodePen - 主要用于HTML、CSS和JavaScript
    • CodeSandbox - 用于Web应用程序开发
    • Repl.it - 支持多种语言
    • StackBlitz - 专注于框架开发
  2. 特定语言环境:

    • Go Playground (play.golang.org)
    • Rust Playground (play.rust-lang.org)
    • TypeScript Playground (typescriptlang.org/play)
    • Python Tutor (pythontutor.com)
  3. 基础设施演练场:

    • Play with Docker (labs.play-with-docker.com)
    • Play with Kubernetes (labs.play-with-k8s.com)

来源:free-programming-books/more/free-programming-playgrounds.md58-140 free-programming-books/more/free-programming-playgrounds.md141-270 free-programming-books/more/free-programming-playgrounds.md271-456

编程演练场的主要特点

大多数编程演练场共享一些共同特点,使它们对学习和实验具有价值

功能描述
代码编辑器语法高亮、自动补全和格式化
执行环境在浏览器中执行代码的运行时
输出显示控制台/终端输出、可视化渲染(适用于Web技术)
共享能力生成URL以共享代码示例
版本控制一些提供GitHub集成或版本保存功能
库/框架预配置了常用库和框架
协作实时协作编辑(在某些平台上)

来源:free-programming-books/more/free-programming-playgrounds.md198-247 free-programming-books/courses/free-courses-en.md121-144

特定语言演练场示例

以下是一些适用于一些最流行的编程语言的演练场示例

JavaScript演练场

JavaScript拥有最全面的演练场选择

来源:free-programming-books/more/free-programming-playgrounds.md232-248

Python演练场

Python提供了多种交互式编码环境

  • Python Tutor - 提供代码执行的分步可视化
  • Repl.it - 具有包支持的完整Python环境
  • Programiz Python Playground - 适用于初学者的简单界面
  • Trinket - 具有可视化功能的Python环境
  • Online Python - 浏览器中的简单Python解释器

来源:free-programming-books/more/free-programming-playgrounds.md326-343

系统编程演练场

适用于C、C++和Rust等语言

  • Compiler Explorer (Godbolt) - 显示编译代码的汇编输出
  • C++ Shell - 在线C++编译器和执行环境
  • Rust Playground - 官方Rust语言演练场
  • OnlineGDB - C、C++及其他语言的调试器

来源:free-programming-books/more/free-programming-playgrounds.md84-119 free-programming-books/more/free-programming-playgrounds.md386-388

专业演练场类型

算法可视化

专注于算法和数据结构的专门演练场

  • The Algorithm Visualizer - 用于算法可视化的交互平台
  • Data Structures Visualization - 可视化数据结构上的操作

来源:free-programming-books/more/free-programming-playgrounds.md58-62

正则表达式测试

专门用于测试和调试正则表达式的工具

  • Regex101 - 测试、调试和学习正则表达式
  • RegExr - 构建、测试和学习正则表达式
  • Regexper - 将正则表达式可视化为铁路图

来源:free-programming-books/more/free-programming-playgrounds.md368-376

DevOps和基础设施

用于试验容器化和编排的环境

  • Play with Docker - Docker实验沙盒
  • Play with Kubernetes - 无需本地安装即可学习Kubernetes概念
  • DevOps Dream - 交互式DevOps挑战和场景

来源:free-programming-books/more/free-programming-playgrounds.md143-153 free-programming-books/more/free-programming-playgrounds.md264-267

与学习资源的集成

编程演练场经常在免费编程书籍(Free Programming Books)仓库的其他部分被引用和使用,从而创建一个全面的学习生态系统

资源类型与演练场的集成
书籍通常会引用演练场进行实际练习
课程使用演练场进行编码作业和练习
互动教程嵌入或链接到演练场以进行实践学习
速查表提供可在演练场中测试的代码片段
问题集建议使用演练场来解决和测试解决方案

来源:free-programming-books/courses/free-courses-en.md121-144 free-programming-books/more/free-programming-interactive-tutorials-en.md1-466

用例和优势

编程演练场在学习和开发过程中服务于几个关键目的

  1. 学习新语言 - 无需在本地安装任何东西即可进行实验
  2. 代码共享 - 与他人共享代码示例的便捷方式
  3. 快速原型开发 - 快速测试概念和想法
  4. 面试 - 公司用于技术评估
  5. 教学 - 教师可以创建和共享编码示例
  6. 文档 - 在文档中提供交互式示例

这些环境通过消除设置要求并提供即时反馈,降低了编程的入门门槛,使它们成为初学者和经验丰富的开发人员不可或缺的工具。

来源:free-programming-books/more/free-programming-playgrounds.md1-57 free-programming-books/more/free-programming-interactive-tutorials-en.md1-57

结论

编程演练场在免费编程书籍(Free Programming Books)仓库中代表着一个重要的类别,提供用于学习和实验代码的实践性、交互式环境。通过提供即时反馈并消除设置要求,它们作为理论学习与实际应用之间的宝贵桥梁,使各个水平的学习者都能更容易地接触编程。

这些环境持续发展,新功能和语言支持会定期添加到仓库的集合中,确保用户在编程旅程中能使用到最新、最有效的工具。