プレイグラウンドとは、ウェブブラウザ上で実際にプログラミング言語の挙動やライブラリ、フレームワークを試すことのできるサービスのことです。主に「編集画面」と「結果画面」の2つの画面で構成されることが多く、入力したコードをその場すぐに結果反映してくれます。
新しいプログラミング言語に試しに触れてみるときや、開発時のコードテストなどに最適です。
この記事では、各種プログラミング言語別に無料で利用可能なプレイグラウンドとその特徴をご紹介します。
- もくじ
1.【言語別】プレイグラウンドまとめ
1-1 C/C++
C言語はコンパイル型のプログラミング言語で、C++やC#などのプログラミング言語の基礎となっています。C++はC言語にオブジェクト指向プログラミングなどの改良が加えられたものです。
C言語とC++が試せるプレイグラウンドには、「C Playground」があります。
C Playground
ローカル環境にCコンパイラをインストールする必要がなく、C言語の基本的な構文やプログラミングの概念を簡単に学ぶことが可能。
シンプルかつ使いやすいインターフェースで、初心者から上級者まで幅広いユーザーに利用されています。
■リンク:https://programiz.pro/ide/c
1-2 Dart
DartはGoogleによって開発されたオブジェクト指向のプログラミング言語です。マルチプラットフォーム対応なので、Webやモバイル、デスクトップ、サーバーなど、さまざまなプラットフォームでのアプリケーション開発などに使用されています。
Dartが試せるプレイグラウンドには、Dart公式の「DartPad」があります。
DartPad
DartPadにはコードのシンタックスハイライトや自動補完などの基本的なエディタ機能が備わっています。また、ドキュメントの参照やAPIの検索、エラーメッセージの表示など、開発者の作業をサポートする機能も充実しているのが特徴です。
■リンク:https://dartpad.dev/
1-3 Emacs Lisp
Emacs LispはGNU Emacsの拡張機能を開発するために使用されるプログラミング言語です。
Emacs Lisp(略してElisp)が試せるプレイグラウンドには、「Emacs Lisp Playground」があります。
Emacs Lisp Playground
プレイグラウンド内にはEmacs Lispのドキュメントが組み込まれており、関数や変数の説明を参照しながらコードを書けるので、Emacs Lispの学習と実践を同時に行うことができます。
■リンク:https://elisp-playground.vercel.app/
1-4 F#
F#はマイクロソフトによって開発された関数型プログラミング言語の一つです。
F#が試せるプレイグラウンドには、F# Foundation公式の「Try F#」があります。
Try F#
F#を学ぶためのチュートリアルやサンプルコードが豊富に用意されてるので、F#を初めて触る人でも気軽に学習を始めることができます。
1-5 Go
GoはGoogleが開発したオープンソースのプログラミング言語です。シンプルな文法と機能で効率的なプログラミングが可能で、システムプログラミングやWebサービス、クラウドインフラストラクチャなど、さまざまな用途で広く利用されています。
Goを試せるプレイグラウンドには、公式の「The Go Playground」があります。
The Go Playground
サンドボックス環境で実行されるため、セキュリティ上の懸念が少なく、他のユーザーのコードが自分の環境に影響を与えることはありません。また、コードの実行結果も一時的に保存され、プライバシーが保護され流のも特徴です。
■リンク:https://go.dev/play/
1-6 HTML/CSS/JavaScript
Webページを制作するために開発された言語で、HTML/CSS/JavaScriptのプレイグラウンドでおすすめなのが下記の2つです。
・Playground | MDN
・JS Bin
それぞれのプレイグラウンドの概要をご紹介します。
Playground | MDN
HTML、CSS、JavaScript、Web API を段階的に学習できるチュートリアルと、便利なハウツー コンテンツが提供されています。
■リンク:https://developer.mozilla.org/en-US/play
JS Bin
ウェブ開発者向けのオンラインコードエディタで、JavaScript、HTML、CSSのコードを編集し、リアルタイムでプレビューできるのが特徴です。
1-7 PHP
PHPはサーバーサイドで動作するプログラミング言語です。主にウェブ開発に使用され、動的なウェブページの生成やデータベースとの連携など、さまざまなウェブアプリケーションの開発に利用されています。
PHPのプレイグラウンドでおすすめなのが下記の3つです。
・PHP Playground
・PHP Sandbox
・3V4L Online PHP editor
それぞれのプレイグラウンドの概要をご紹介します。
PHP Playground
WebAssembly技術を使用して、基本的なPHPコードをリアルタイムで実行できるのが特徴です。作者は日本人のglassmonkey氏で、モバイル対応もされています。
PHP Sandbox
SymfonyやLaravelなどのフレームワークを試すことができます。無料と有料プランがあり、無料プランでは10プロジェクトを作成可能です。
3V4L Online PHP editor
PHPのバージョンを選択でき、各バージョンでコードテストができるのが特徴です。パフォーマンスの測定や入力補完機能があります。
■リンク:https://3v4l.org/
1-8 Python
Pythonは汎用のプログラミング言語で、ウェブ開発やデータ解析、人工知能、科学計算、システム自動化などの分野で広く活用されています。Pythonのプレイグラウンドでおすすめなのが下記の2つです。
・Colaboratory
・Online Python beta
それぞれのプレイグラウンドの概要をご紹介します。
Colaboratory
Colaboratory(通称:Colab)は、Googleが提供するクラウドベースのJupyterノートブック環境です。GPUやTPUを無料で利用できるため、機械学習などの計算において高速化が期待できます。
■リンク:https://colab.research.google.com/
Online Python beta
シンプルで使いやすいプレイグラウンドです。ローカルにPython環境を設定する必要がなく、好きなブラウザでコードを実行できます
■リンク:https://www.online-python.com/
1-9 Java
Javaはクラスとオブジェクトに基づいており、データと機能を一体化したオブジェクト指向プログラミング言語です。企業のビジネスアプリケーションやWebアプリケーション、モバイルアプリケーション、組み込みシステムなど、さまざまな領域で広く利用されています。
Javaのプレイグラウンドには、Oracle JDKを用いた「The Java Playground」があります。
The Java Playground
Javaの基本的な構文や機能を学びながら、その場でコードを実行してエラーを修正するなど、リアルな開発環境での学習が可能です。
■リンク:https://dev.java/playground/
1-10 Kotlin
KotlinはJetBrains社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した静的型付けのオブジェクト指向プログラミング言語です。多くの場面でJavaの代替として使用され、Android開発やWeb開発などのさまざまなプラットフォームで広く採用されています。
プレイグラウンドには、「Kotlin Playground」があります。
Kotlin Playground
Kotlin Playgroundでは、Kotlinのバージョンやランタイムを選択することができます。また、ブログや他のウェブサイトでKotlinコードを表示するためのスクリプトも提供されているので、Try KotlinやKotlinのリファレンスと同様の機能を自分のウェブサイトで実現可能です。
■リンク:https://play.kotlinlang.org/
1-11 OCaml
OCamlはフランスのINRIA(国立情報学自動制御研究所) が開発した関数型プログラミング言語で、数学やコンパイラ、データベース、ウェブアプリケーションなど、さまざまな領域で使用されています。
プレイグラウンドには、OCamlの公式サイトに「OCaml Playground」があります。
OCaml Playground
OCaml Playgroundは、コードの補完機能があり、コンテキストに基づいて入力の提案や補完を行ってくれるのが特徴です。
1-12 Rust
Rustは2006年にFirefoxで有名なMozillaのグレイドン・ホアレによって発案されたオープンソースのプログラミング言語で、高いパフォーマンスと安全性の両立が特徴です。OSやゲーム、各種ソフトウェア、Webサービスなどさまざまな開発に適しています。
プレイグラウンドには、「Rust Playground」があります。
Rust Playground
公式のフォーマットも用意されており、ツールメニューの「フォーマット」 ボタンをクリックするとコードを自動的に再フォーマットできます。
■リンク:https://play.rust-lang.org/
1-13 Ruby
Rubyは1990年代に日本の松本行弘氏によって開発されたオブジェクト指向プログラミング言語の1つで、シンプルで読みやすい構文が特徴です。RubyはWebアプリケーションの開発やシステム管理ツールの作成など、さまざまな用途で利用されています。
プレイグラウンドには、「TryRuby」があります。
TryRuby
初心者向けに設計されており、基本的なRubyの構文やコンセプトを理解するのに最適です。ユーザーは、対話型のコンソールでコードを入力して実行結果を即座に確認できるので、プログラムの動作や挙動を直感的に理解できます。
■リンク:https://try.ruby-lang.org/
1-14 Scala
Scalaは、Java仮想マシン(JVM)上で実行される多目的プログラミング言語で、オブジェクト指向プログラミングと関数型プログラミングの両方のパラダイムをサポートしており、Javaとの相互運用性が高いのが特徴です。
プレイグラウンドには、Scalaの公式が提供する「Scastie」があります。
Scastie
Scalaの新機能やライブラリのテスト、プロトタイピング、学習など、さまざまな用途で利用可能。デフォルトではScala 3になっていますが、Scala 2とScala 3の両方をサポートしています。
■リンク:https://scastie.scala-lang.org/
1-15 SQLite
SQLiteとはオープンソースのリレーショナルデータベース管理システム(RDBMS)のことで、ファイル形式で他のソフトウェアに組み込んで利用することを想定した軽量な造りになっているのが特徴です。
プレイグラウンドには、SQLite開発チームが提供する「SQLitePlayground(通称Sqlime)」があります。
SQLitePlayground(通称Sqlime)
SQLiteファイルを開いてテーブルを表示でき、シンプルな見た目ながらも必要最低限の機能とスマートフォンでも使いやすい操作性が特徴。ローカル環境でSQLite3が使用できないときに便利です。
■リンク:https://sqlime.org/
1-16 Swift
SwiftはAppleが開発したプログラミング言語で、iOSやmacOS、watchOS、tvOSなどのApple製品向けのアプリケーションを開発するために使用されます。2014年に発表され、Objective-Cに代わる次世代のプログラミング言語として位置づけられました。
プレイグラウンドには、Appleが提供している「Swift Playgrounds」があります。
Swift Playgrounds
Appleが提供するさまざまな学習コースが用意されており、初心者から上級者まで自分のレベルに合った学習コンテンツを利用することができます。Swift Playgroundsのインタラクティブな環境は、プログラミング初心者にとって非常に直感的でわかりやすいのが特徴です。
■リンク:https://www.apple.com/jp/swift/playgrounds/
1-17 TypeScript
TypeScriptはマイクロソフトが開発したJavaScriptの拡張言語で、JavaScriptによる開発効率を向上させるために追加されました。大規模なプロジェクトの開発やチームでの協業に適したプログラミング言語として広く利用されています。
JavaScriptの知識があれば使い始められる言語といえますが、JavaScriptにはない機能が多数あるため、フロントエンドのアプリケーション開発に携わる方は追加で学んでいくとよいでしょう。
プレイグラウンドには、マイクロソフト公式の開発環境「TypeScript Playground」があります。
TypeScript Playground
オンライン上でコードの記述や実行、コンパイル、実行結果の確認などの基本的な処理が可能です。TypeScriptのバージョンを選択できるので、古いバージョンと新しいバージョンの挙動を比較し、特定のバージョンでのコードのテストも行えます。ただし、モジュールのインストールに対応していないため、複雑な挙動を確認するには不向きといえます。
これから実務でTypeScriptを使う方やTypeScriptについてより詳しく知りたい方は、有志のプログラマによってまとめられたTypeScript入門書「サバイバルTypeScript(https://typescriptbook.jp/)」がおすすめです。開発で頻繁に使用するテーマを限定して、応用編と基礎編に分けてわかりやすく解説されているので、TypeScript Playgroundを使用する際に合わせてご覧になってみてはいかがでしょうか。
■リンク:https://www.typescriptlang.org/ja/
2.さまざまな言語に対応したプレイグラウンド
複数の言語を同じ環境で学ぶことで、別々の環境やツールを使う手間が省け、新しい言語を学ぶ際に学習効率も向上します。
ここからは、複数の言語に対応しているおすすめのプレイグラウンド13選をご紹介します。ぜひ、参考にしてください。
2-1 Codedamn
ユーザーが作成したプレイグラウンドは、他のユーザーと共有してフィードバックを受けることができます。利用する際にはGitHubやGoogleアカウントなどの登録が必要です。
■対応言語:HTML/CSS,React,Vue 3,Solidity,Python,Java,Golang,Node.js,C/C++,Next.js,Bun,SQLite,PHP,Rust,Kotlin,Swift,C# playground,From GitHub
■リンク:https://codedamn.com/playgrounds
2-2 CodePen
CodePenには活発なコミュニティが存在し、さまざまなアイデアやテクニックを共有できます。また、学習リソースやチュートリアルも豊富に提供されているので、新しいスキルの習得に役立ちます。
■対応言語:HTML/CSS/JavaScript,TypeScrip,CoffeeScript, Less, Sass, Stylus
■リンク:https://codepen.io/
2-3 CodeSandbox
CodeSandboxのリアルタイムプレビュー機能を活用することで、コードの変更を確認しながら開発を行うことができます。また、デバッグ機能も備えており、開発者がエラーを素早く特定し修正できるのが特徴です。
■対応言語:HTML/CSS/JavaScript,Node.js/Bun/Deno/JavaScript,Python,Go,Rust,PHP,Ruby on Rails
■リンク:https://codesandbox.io/features
2-4 Gitpod
多くのプリセットの開発環境が用意されているので、特定の言語やフレームワークに最適化された環境での開発が可能です。また、複数の開発者がリアルタイムでコードを共同編集できるので、リモートワークや分散チームでの開発に適しています。
■対応言語:C/ C++/C#, Java, Scala, Kotlin, Clojure, HTML/CSS/JavaScript,TypeScript, Bash, Python, Ruby, PHP, Go, Rust, Erlang, Elixir, SQLite, PostgreSQL, MySQL, MongoDBほか
2-5 Glitch
Glitchでは、複数のユーザーが同時にプロジェクトを編集できます。リアルタイムでのコラボレーションが可能なので、チームでの開発やプログラミングの学習に適しています。
■対応言語:HTML/CSS/JavaScript, Bash, Python, Ruby, SQLiteほか
■リンク:https://glitch.com/
2-6 JDoodle
Doodleでは外部ライブラリやフレームワークを利用でき、必要なライブラリを追加してプログラムの機能を拡張することが可能。プログラミング言語の習得やテスト、プロジェクトの開発など、さまざまな目的に利用されています。
■対応言語:HTML/CSS/JavaScript,TypeScript,Node.js/Deno,Java,C/C++/C#,Python,PHP,Ada,Crystal,Julia,Kotlin,Objective-C,Ruby,Swift,VB.net,AWS,Bash,CoffeeScriptほか全88種類
2-7 jsFiddle
フロントエンド開発におけるプロトタイピングやデバッグに適しています。JavaScript、HTML、CSSの複数のファイルを使ってプロジェクトを構築でき、視覚的にも使いやすい点が特徴です。
■対応言語:HTML/CSS/JavaScript,TypeScript,CoffeeScript
2-8 LeetCode Playground
LeetCodeは主にアルゴリズムやデータ構造の問題を提供しており、初心者の方のプログラミングの学習はもちろん、競技プログラミングのスキル向上に役立ちます。
■対応言語:C/C++/ C#, Java, Scala, Kotlin, JavaScript,TypeScript, Dart, Bash, Python, Ruby, PHP, Go, Rust, Swift, Racket, Erlang, Elixirほか
■リンク:https://leetcode.com/playground/new/empty
2-9 myCompiler
myCompilerのインターフェースはシンプルで使いやすく、初心者から上級者まで幅広いユーザーに利用されています。特に対応言語の多いプレイグラウンドです。
■対応言語:JavaScript,TypeScript,NodeJS,Python,Ruby,Go,C/C++/C#,Java,PHP,Bash,R,Octave (MATLAB),Fortran,Lua,Erlang,SQL,MySQL,MongoDB,Clojure,D,Perl,Kotlin,Swift,Rust,Assembly
■リンク:https://www.mycompiler.io/
2-10 paiza.IO
実際の業務に近い形での課題に取り組むことができ、ユーザーのコミュニティでは他のユーザーとプログラミングに関する疑問や問題を共有し、解決策を探ることができます。
■対応言語:C/C++,Java,Ruby,Python,PHP,Perlなど全32種類
■リンク:https://paiza.io/ja
2-11 PlayCode
PlayCodeのエディターは使いやすく、コード補完やシンタックスハイライトなどの機能が備わっているのが特徴です。Web開発からゲーム開発まで幅広い用途に利用できます。
■対応言語:HTML/CSS/JavaScript,TypeScript,CoffeeScript
■リンク:https://playcode.io/
2-12 StackBlitz
StackBlitzのエディターは、コード補完、シンタックスハイライト、自動保存などの機能が備わっており、プロジェクトテンプレートが用意されていて、Webブラウザ上で試すことができます。
■対応言語:HTML/CSS/JavaScript,TypeScript,Node.js
2-13 SoloLearn
プログラミング言語やWeb開発、データサイエンスなど、初心者から上級者まで幅広いレベルに対応した無料の学習コースが特徴です。モバイルアプリ版もあり、スマートフォンやタブレットからいつでもどこでも学習できます。
■対応言語:HTML/CSS/JavaScript,TypeScript,Node.js/JavaScript,PHP,Java,Python,C/C++/C#,Kotlin,Swift、Go,R,Ruby,jQuery
■リンク:https://www.sololearn.com/en/compiler-playground
まとめ
今回は、プログラミング言語ごとにおすすめのプレイグラウンドを紹介しました。
各サイトには独自の特色があり、ちょっとしたコードを試すときや、コードの動きをテストするときなど、開発時にも活用できます。
この記事で紹介した身近なプレイグラウンドを実務に活かしてみてはいかがでしょうか。