.. index:: 
	single: 時速でデキるアプリケーション開発; はじめに

================================
時速でデキるアプリケーション開発
================================

愛用者の皆様からは強力で、すばらしく、簡単に習得できるとの評判に加え、生産性に大満足していただいております。

.. index:: 
	pair: 時速でデキるアプリケーション開発; Ring の評判

Ring の評判
===========
“Smalltalk が大好きですが、いまでは Ring のほうが大好きです！”
	― ガル・ゾルト (ハンガリー)

“言語と文法が非常に自然で理解しやすいです。”
	― ブッダ (アメリカ合衆国)

“この新しいプログラミング言語は非常に素晴らしい取り組みです。”
	― マット・モステール (オーストリア)

“非常に興味深い！ 今後も目が離せません！”
	― エスリパク (アルゼンチン)

“ベンチマークによる性能評価をお願いします。その結果を確認できれば、本当に有望であることが確信に変わるからです。 ”
	― アレックス・デヴァ (スウェーデン)

“素晴らしい！”
	― リジュ・サンカル (アメリカ合衆国)

“このプロジェクトがもっと良くなることを祈ります。”
	― デビッド・オニール (アメリカ合衆国)

“素晴らしい。それ以上の言葉が見つかりません。”
	― ホセ・アントニオ (メキシコ)

“これは少数精鋭のチームにより開発されたと思います。”
	― ジム・クラック (アメリカ合衆国)

“これまでのところ Ring は、かなり興味深いです。”
	― エリック・ジョンソン (アメリカ合衆国)

“インストールして、すぐに Qt バインディングが使えるのがとてもいいです。素晴らしいプログラミング言語をありがとうございます。”
	― マーシャル・ファエッセル

“開発者コミュニティ、および初心者向けプログラミングに関する戦果は素晴らしいことです。”
	―  マリノ・エステバン

“Ring はスゴいとしか言いようがありません。 Ring は最高のプログラミング言語であり、さらにコードをスラスラ書くことができます。Ring の成功を確信しています。”
	― アーメド・ザイン

“マハムード・サミルと開発チームの発展を誇りに思います。 ^_^
	 Ring を大いに応援したいと考えています。”
		― ザイナブ・マハムード

“親愛なる兄弟へ。私は Ring が大好きです。開発者たちは完璧なプログラミング言語を作成したと思います。”
	― モエメン・グルミ

“マハムードさん。お疲れ様です。 Ring をインストールしました。非常に素晴らしいプログラミング言語ですね。”
	― アーメド・オマール (エジプト)

“この素晴らしいスタートアップ・プログラミング言語をありがとうございます。幸運を祈ります。”
	― エル・カウジャ・ハリド

“おめでとうございます！　非常にうれしいです。あなたがたの成功と幸運を祈ります。”
	― アボバシムラ・ハッサン

“ウェブ、モバイルとデスクトップ用の汎用プログラミング言語としては優れた機能がありますね。”
	― アブデリハム・ハイダー

“非常に面白い取り組みですね。”
	― ジャイアンナカキス・コスタス (ギリシア)

“私はコメントウィンドウを開いてメッセージを投稿する気があまり起きない筆不精です。けれども、今回は「完璧」であると断言しなくてはいけません。 実際に Ring が本当の意味で完璧な成果となるよう、注目に値する斬新なプログラミング言語の開発をお願いします。少しずつでもいいので Ring ノートパッド(コードエディタ) の開発継続をお願いします……。”
	― ロゼッタコードでの批評！

“以前に発表された記事の読了後、数日前から用例を試した結果、このまま愛用することにしました。 Ring が大好きです。”
	追伸: アンダース・ヘルスバーグ、ニコラウス・ヴィルト、ビャーネ・ストロヴストルップ、エイダ・ラヴレースなどの巨匠たちと一緒に名誉の殿堂入りを心待ちにしております……。
		― マーティン・ネドピル (チェコ共和国)

“非常にやさしい設計と Qt バインディングは非常に魅力的です。宣言型手法と豊富な解説のある取扱説明書が気に入っています。”
	― シャローク・シャローム (オーストリア)

“Ring (と豊富な機能拡張ライブラリ + Qt) は驚くべきものです。”
	― コバックス・アッティラ (ハンガリー) 

“二日間ほど Ring を試した感想としては、強力な命令と簡単に使えることに加えて、本当に非常に効率的、かつ非常に高速であることに強く感動しています。

今年は Programming Without Coding Technology (PWCT) + Ring の組み合わせを、毎日学びたいです……。これは、私にとってクリスマスの贈り物です！！！　ホー・ホー・ホー・ホー

素晴らしい功績と祝福が続きますように。”
	― ホセ・ル・ルー (フランス)

“C と Python 風の三種類の記法を使用できるのがいいです。”
	― シックスティフォー・レミー

“Rosettacode (ロゼッタコード) を閲覧しているときに Ring を見つけました。私は Ring の明瞭で理解しやすいシンタックスを大変気に入りました。おまじない (Sigil) がいらない非常に明瞭な BASIC 方言風のスタイルです。今まで使用してきたプログラミング言語でもっともやさしく、もっとも BASIC 風のプログラミング言語であると言えます。”
	― トマズ

“労作をありがとうございます。一目で興味深いのが理解できます。
	厳格な定義規則を用いずに、単純明快な命令にすることで Clipper 風にしようとしていますね。それは良いことです。 ”
		― アナンド・グプタ

“驚異のプログラミング言語をありがとうございます。”
	― ヴィノード・ケーシー (インド)

“非常に啓発的かつ良い成果だ！”
	― サウスマウンテン (アメリカ合衆国)

“ループの終了方法が気に入りました。”
	― レオン・ド・ポール (オーストラリア)

“プログラミングに値する秀逸で、やさしいプログラミング言語だ。”
	― ケネス・ブルゴ (フィリピン)

“ほかのプログラミング言語よりも理解しやすいので Ring を選びました。”
	― ハリー・シン

“Ring が気に入りました。予想より遥かに豊富な機能と自由な表現力があり、個性的です。”
	― エビコン

“マハムードさん。ありがとう！　様々な実験で Ring を使用しており、大変気に入っています。
	実際に Ring を使い続けて、私ができることで応援したいです。”
		― ジョン・ストーム (シェンシステム)

“旦那、こいつは非常に優秀だ。”
	― カムレッシュ・パテール

“もっとも優れた点は「クール」なシンタックスです。例えば、各単語による関数の弓括弧間の呼び出しなど自由形式によるテキストの記述です。
	それは興味深いものです (テキストの記法を宣言するためのシンタックスは素晴らしいです)。”
		― ローリ・チアーズ

“Ring のページをブラウズすると 160 人の開発参戦者リストを確認できます。今年は TIOBE インデックスの上位 100 内へ登場しました。多大なる労力により Ring は登場して、そして大衆の注目を集めることができたと思います。”
	― フトゥホラ

“ANSI C に関する Ring 本来の考えかたが気に入りました。
	それは感銘を与える創造物であり、様々な才能が注がれました。”
		― ゲーリー・テイラー

“非常に画期的なプログラミング言語だ！ シンタックスも明瞭ですな。”
	― コードプロジェクトのメンバ－

“事実、開発者は困難な仕事へ取り組み、豊かなプログラミング言語のエコシステムの構築したことは賞賛すべきです。 Ring は非常に大規模であると思います。 BNF 文法とセマンティクスの簡潔な適用範囲を参照することで、実用的であると理解できます。”
	― Xx-レーニスト-1917-Xx (レッドディット)

“私は未来の人工知能が計算機の問題をこの技術で解決しているであろうと考えています……人類のために。”
	― クリプトナイト (アメリカ合衆国) 

“Ring が気に入りました。 RingQt でモバイルアプリケーションを開発する予定です。ウェブライブラリもありがたいです。”
	― ドメニコ・ドリア (イタリア)

“この新しいプログラミング言語による素晴らしい成果を祝福します。”
	― ケニー・シルバ (ベネズエラ)

“Ring は驚異的な完全機能プログラミング言語であり、上手く文章化されています (そこが大抵の新作プログラミング言語にとって悩みの種です！)。”
	― アレックス・マッカリー
	
”昨日、 Ring を見つけました。宣言型手法により QtWidgets GUI の作成を行える Qt バインディングが気に入りました。”
	― コーチス・シーザー

“Ring は興味深いです。そして、取扱説明書をかなりのページまで読み進めています。”
	― ジェイミー・クーパー

“動的型付け、プロトタイプ型言語の設計を行い C/C++ へコンパイルする手段の開発を最近まで検討していましたが、昨晩にウェブを調べていたら、最近開発された知る人ぞ知るプログラミング言語 Ring を見つけました。

Ring の設計理由と実装理由について調べるために Wikibooks で Motivation の記事を読み始めました。すると、検討中の件と同じ目的、必要性でプログラミング言語を開発している人がいることに驚きました。現行のプログラミング言語が抱える問題への言及に心を打たれました。えーと……。

* 時代遅れで、非常に不可解な C/C++ のシンタックスに苦悩する不毛な理由は？

* なぜ未だにヘッダファイル……などを取り扱うのでしょうか？　Java と C# は冗長すぎる上に、ユーザにオブジェクト指向プログラミングを強いることついての意見はまさに正論です。

* これらのプログラミング言語は未だに主流であり、何百万人ものプログラマが日常的な仕事で一番多く使用されています。この時点で、新しい環境への移行が行われてこなかったレガシーアプリケーションの問題と同様、学術界、そして産業界の多くの人々により共有され長年支持され続けた「衆人に訴える論証 (Appeal to Popularity)」に関する誤謬 (ごびゅう) によるものだと思います。

そこで、より簡単で、より現代的であり、なおかつ、今の時代を証明するプログラミング言語に至ります。 Python などのプログラミング言語はスペースとインデント、および (既に言及したプログラミング言語なども) 条件ステートメントと関連付けられていないトークンを重視しています。当然、弓括弧やセミコロンを下方向にたどることは悪くはないことですが、インデントをひとつ踏み間違えて下方向にたどることと同じくらい苛立たしいほうがまだマシです。同じことが Ruby でさえ起きており、言及の必要すらないプログラミング言語にも、理解不能な記法が設計に組み込まれています。既に述べたプログラミング言語に限らず、 Lua などは非常に多くの機能が欠落したままになっています。

そのほかのプログラミング言語でも色々な欠陥があり、 PHP はウェブページとバックエンド用のニカワ言語 (Glue Language) に過ぎないと主張できます。しかし、今日では豊富なフレームワークが利用できる状態であるのにも関わらず、急速に人気や支持を失っています。今もなお JavaScript はクローンが開発され続けています。

既に知られている汎用プログラミング言語は、ドメイン特化であり、ある処理系では特定のオペレーティングシステムに対応しています (C♯ は 2016 年以前から存在しており、 Objective-C / Swift は主にMacOS アプリケーションの開発で常用されています)。それでも、ハイブリッド言語から D, GoLang, Julia, Scala など命令型言語の選択肢が色々あります。

しかし、最後に新しいプログラミング言語 Ring があります。 ― それは全てを統治することになるでしょう。最後まで紹介を遅らせていたのは伝説の一角獣 (Unicorn) だからです。 Ring は様々な問題、作業とパラダイムを処理できます。正直に言いますと、今すぐ移行するために待つことは我慢できません。恐らくそうしてしまうと、すぐには戻ってこられなくなると思います。

唯一の懸念材料として Ring には Julia や Python にある算術ライブラリ、または算術基本関数が搭載されていないことです。それは別として、もし願わくば、リニア式の配列を使用したくありません (知的筆不精であることをお許しください)。

Ring は一年前からある即戦力となる完成された素晴らしい実用プログラミング言語です。
	― ゲダルヤ (YouTube)

“マハムードさま。すべてが素晴らしい成果をありがとうございます。ソースコードを探ると、素晴らしい努力の成果を理解・関心してしまいます。さらなる発展と目覚ましい開発により、創造主は報酬として望むものをお与えになることでしょう。”

	― アズディン・レマル

“驚くべきことに比類なきプログラミング言語を見つけることができるとは…すばらしき歓喜ッ！！！　私は取扱説明書を読破して、ロゼッタコードのサンプルを調べてみると、完全なる歓喜を覚えました。これは驚異的な作品です。このプログラミング言語の開発に私の運命を委ねることにします。このプログラミング言語が爆発的に普及することを祈って良い努力を続けてください。

	追伸: 配列のインデックスが 1 から始点となる仕様を維持していただき、ありがとうございます。これは非常に意味のあることです。”

	― ネヘミヤ・ジェイコブ (オーストラリア国シドニー市)

"非常におもしろいです。特に注目すべきことは、クロスプラットフォームであることです。"

	―  ボウデヴィン・ルトガーインク 

"一番だいすきなプログラミング言語です。効率的、単純明快、やさしい、柔軟性があり、素晴らしいプログラミング言語です。"
	― ロシャン・アリ

"多様性が好きです。ツールボックスが豪華であると、ツールはより適切なものになります。"
	― ジョナサン・デイ (クォーラ)

"この仕事を達成されたことを大いに称賛します。"
	― ウンベルト・メグリオ (イタリア)

"Ring を見つけて二日後に習得を決意しました。驚くべきことに、サンプルは非常に役に立ちます。"
	― ザラキ・ケン

"素晴らしい。上出来だ。"
	― ラグビーリーグ (コードプロジェクトのメンバ－ - イギリス)

"Ring 言語はたのしいです。非常に速く進歩しています。"
	― ネスクック (コードプロジェクトのメンバ - スイス)

"Ring を使うことができてうれしいです。"
	― アキル・レディ

"Ring プログラミング言語を使うことを楽しませていただいています。"
	― ガブリエル・ウェント

"この言語が大好きです！"
	― ハブロ・プリエト

"Ring の実力の一例を挙げるならば、それは Ring ノートパッドです。
	デザイン機能対応、ドラッグ・アンド・ドロップ、オブジェクトの属性など組み込みフォームがあり、まるで NotePad++ のようです。
	Ring ノートパッドは 素晴らしいアプリケーションです。"
	― バート・マリアーニ (イタリア)

"Ring は C/C++, C# などのオブジェクト指向言語で要する長期開発期間と、コストに欲求不満を感じながらも、アプリケーションの開発者にとって乗り換える可能性が最もある言語です。

	2016 年の初版からの開発状況を考慮すると、 Ring チームはプログラミング言語界で非常に高い業績が称賛に値することわかりました。

	Ring がデータベースアプリケーション、 Web アプリケーションと GUI アプリケーションの開発を簡単にしたことは Ring チームへの偉大な栄誉です。

	Ring の オブジェクト指向実装と GUI ベースのアプリケーションは C++, C# よりも遥かに優秀です。

	Ring チームの主要業績を別に挙げますと、オンライン版 Ring 取扱説明書へのアクセスをしやすくしたことで、オンライン版 C++, C# 取扱説明書と匹敵するようになったことです。
	本当に Ring ゲームエンジンはエレガントあり、このような印象的なソフトウェア部品を制作したデザイナーは沢山の名誉を得るに値します。"

	― エル・ゴディオレスッキー

"特筆すべき強力な新型ゲームプログラミング言語です。難しい設定は不要でインストール直後から、すぐにプログラミングに取りかかれますので初学者でも環境構築で挫折する心配がありません。そしてコミュニティは健全性が保たれています。これは非常に重要なことです。

Ring は幅広く使われる土台は揃っているとはいえ、まだまだ発展途上です。 Ring はキラーアプリケーションの不在やドキュメンテーションの品質改善、偏見や誤解の払拭など抵抗なく受け入れられるための課題も多く残されています。改善には世界中の人々の協力、認知度向上が必要です。ですが、健全なコミュニティの支援により、だんだん良くなると信じています。微力ながら、今後もできる限り翻訳や後方支援にて戦いを続けていきたい所存であります。"
	― イズ・ボウエル (オープンソース翻訳者 - 日本)

"この言語には興味深い機能が色々とあります。特に興味深いのが括弧でオブジェクトのフィールドとメソッドへのアクセスです。"
	― ヌアウア (レッドディット)

"本当に Ring VM の実装コードは非常に素晴らしいものに見えます。そしてテストコード集が利用できます ― 素晴らしい！"
	― パーフェクトファイアフライ (レッドディット)

"このような着想は以前からありますが、 2016 年に初公開された Ring は前途有望であると思います。 Ring は移植性を意図してあり C/C++ プロジェクトへの組み込みも可能です。"
	― ウィム・テン・ブリンク (クォーラ - 2018年の上位投稿者)

"Lua に代わる興味深い選択肢です。"
	― ディージェイエックスティーシー (ソースフォージ)

"Ring のプログラミング言語環境は真剣に考えられているものです。この言語の価値を考慮するならば、評価の決定前に基礎を理解するべきです。設計者の明確な約束による簡明、柔軟性と学習容易性といった新機軸があります。

	ほかの方法では、思考不可能な際限のないアプリケーション一式で Ring の境地を開くことにより、自然言語を思い描きます。豊かなドメイン特化型言語により、数カ月ではなく数時間で対話型チャットボットを開発しました。

	宣言的プログラミングのパラダイムは、効率的な実装を賢く組み合わせることで、 Ring はどのような構文体系でも、どのような種類のプログラミング言語であっても作成できます。英語に限らず、人類の言語ならば、自作キーワードを配布することで、言語キーワードの上書きができます。

	Ring は破壊的、大規模知的前進ですが、遺産的着眼点としての美しい霊魂再来説と Basic, Lisp などにある古典言語の最善実践方法も取り入れています。 Ring 設計者のマハムード・Ｓ・ファイド、そして Clojure 設計者のリック・ヒッキーによる理念は新たなるヴィジョナリーとしての人類遺産ですが、今日の複雑なプログラマビリティの世界では、忘れ去られようとしていることです。

	Ring の別次元には、基本的な動機としてビジュアルプログラミング関連の制作があります。ソフトウェアは流動的で進化する生物です。そしてソースコード原文は、ほとんどの一般人が理解できません。ビジュアルプログラミングの約束とは人々にプログラミングの権利を与え、理解性の拡張と更なる直感性により、ソフトウェア開発の活躍の舞台へビジネスユーザーを誘うことです。 Ring は、より良いビジュアルパラダイムに対応するプログラミング言語と成るべく計画的に制作されました。

	Ring 言語において、ゲーミフィケーションは第一級オブジェクトです。この素晴らしい利点が他の汎用プログラミング言語に匹敵します。Ring はゲーミングライブラリに対応していますが、ゲーミングに限らず、ビジネスと文教用アプリケーションにも広大な境地を開きます。

	Ring の実力を評価する最良の方法は説明書と既存知識・経験で早合点することでありません。先入観を捨てること、そして実際の調査・実践と問題解決能力について考えることです。"

	― マンスール・アユウニ (チュニジア)

"Ring 言語を理解するのにかかったのは数週間だけで、本当に Ring の機能と考えかたが大好きになりました: 括弧によるアクセス、クラスの範囲、宣言型と自然言語のプログラミングです。

	Ring で前述のパラダイムを駆使する方法は簡潔かつ見事です。 Ring が本当に大作であり完成しているものと思います。

	それだけに止(とど)まらず、 Ring 言語の流儀でコードの主要部を宣言型と自然言語でプログラミングをしたイーサリアム・クライアントの開発を望みます。

	さらに「自然言語 → イーサリアム仮想機械用バイトコード」コンパイラがあれば、 Ring のソリューションは素晴らしいものとなるでしょう。"

	― アスタ

"この言語は注目に値する素晴らしいものです！"
	― エリック・ホーク

"マハムードさん。あなたは Ring の開発に努力を惜しまない素晴らしいプログラマです。
プロジェクトに収録されている 3D の用例は期待できるものであり、それは本当に素晴らしいものです。"

	― ラファウ・ヨペック

"重要なプロジェクトであり立派な作品であると思います"
	― ロホス・ケラー (スイス・チューリッヒ工科大学在籍博士)

"Ring は母国語でのプログラミングが非常に便利で簡単だと思います。Unicode を使いヒンディー語 (インド) でプログラミングしてみるとキチンと動きました。こんなことが手軽にデキるプラットフォームは Ring 以外にありません。"
	― ネギ・マノジュ (インド)

"Ring の改良に協力できて光栄です。理解しやすいデザインとアーキテクチャがあるのも良いです。 Ring は大きな可能性を秘めていると思います。"
	― ムニール・イドラッシー (VeraCrypt 開発者)

"Ring で WebAssembly の複雑なアプリケーションを手軽に開発できるところが気に入っています。"
	― ルイス・ロザド

"本日、 Ring に一目惚れしてしまい、さっそく使ってみました。 Java, Ada と Python の熟練者として Ring のマルチパラダイムは興味深いです。"
	― バートランド・ピバティ

"わおっ、 Ring はかなりヤバいぜ！　マジでイカしたおニューのプログラミング言語なんてレアモンスター級の逸材じゃん！　ってか、おいおい、なんだよこいつ。 Visual Basic っぽいフォームデザイナーもあんのかよ。ほかの言語じゃ、ここまでやってんのないね。コイツは本当にマジパネェでっけえ謎の力を秘めてんじゃないか！"
	― エタニティフォレスト (レッドディット)

"将来、プロジェクトへの貢献を楽しみにしている者であり、この作品を大変愛している熱狂的な愛好家です。"
	― アデワレ・エージーズ (ナイジェリア)

"私はカナダの企業で働くソフトウェア開発マネージャーであり、約二十五年ほど Python, Perl, VB, C#, Java, REBOL, Euphoria といったような多種多様なプログラミング言語をこれまで楽しんできました。このような素敵なソフトウェアと素晴らしいドキュメンテーションを大変ありがとうございます。"
	― ルジョー・ジョセフ (カナダ)

.. index:: 
	pair: 時速でデキるアプリケーション開発; FetchStockData アプリケーション

FetchStockData アプリケーション
===============================

Yahoo! (USA) から株式情報を取得して各種チャートを描画します。

.. image:: getquotesmac.png
	:alt: MacOS X での FetchStockData アプリケーション

.. index:: 
	pair: 時速でデキるアプリケーション開発; Google API Shortener アプリケーション

Google API Shortener アプリケーション
=====================================

Google 短縮 API で URL を短縮するための小粒で素晴らしいツールです。

.. image:: urlappmacshot3.png
	:alt: URLShortener - スクリーンショット 3

.. image:: urlappmacshot4.png
	:alt: URLShortener - スクリーンショット 4

.. index:: 
	pair: 時速でデキるアプリケーション開発; Video-Music-Player アプリケーション

Video-Music-Player アプリケーション
===================================

マルチメディアファイルの再生用アプリケーションです。

.. image:: videomusicplayer.jpg
	:alt: Video Music Player

.. index:: 
	pair: 時速でデキるアプリケーション開発; Fifteen Puzzle ゲーム 2

Fifteen Puzzle ゲーム 2
=======================

Fifteen Puzzle ゲームの実装です。

.. image:: fifteen2.png
	:alt: Ring アプリケーション

.. index:: 
	pair: 時速でデキるアプリケーション開発; Analog Clock

Analog Clock
============

質実剛健なるアナログ時計の実装です。

.. image:: analogclock.png
	:alt: Ring アプリケーション

.. index:: 
	pair: 時速でデキるアプリケーション開発; Squares Puzzle ゲーム

Squares Puzzle ゲーム
=====================

おなじみ Squares Puzzle ゲームの実装です。

.. image:: ringapps_shot2.png
	:alt: Ring アプリケーション

.. index:: 
	pair: 時速でデキるアプリケーション開発; 本書のサンプル

本書のサンプル
==============

このサンプルは短時間で開発しました。

このスクリーンショットは Ring ノートパッドです。

.. image:: ringnotepad_screenshot.png
	:alt: Ring ノートパッド

このスクリーンショットは Cards ゲームです。

.. image:: ringapps_shot4.png
	:alt: Ring アプリケーション

このスクリーンショットは Cards ゲーム (Android 用) です。

.. image:: ringqt_shot52.jpg
	:alt: Ring アプリケーション

このスクリーンショットはウェブ開発の章からの引用です。

.. image:: ex24_2.jpg
	:alt: Ring アプリケーション

このスクリーンショットはゲームエンジンの章で解説するシンプルな 2D ゲームです。

Stars Fighter ゲーム

.. image:: starsfighter.png
	:alt: Ring アプリケーション

Flappy Bird 3000 ゲーム

.. image:: flappybird.png
	:alt: Ring アプリケーション

Super Man 2016 ゲーム

.. image:: superman.png
	:alt: Ring アプリケーション

このスクリーンショットは TicTacToe 3D ゲームです。

スクリーンショット:

.. image:: tictactoe3d.png
	:alt: TicTacToe 3D ゲーム

このスクリーンショットは Gold Magic 800 ゲームです。

.. image:: gmshot3.png
	:alt: Gold Magic 800 ゲーム

このスクリーンショットは RingQt3D の章からの引用です。

.. image:: qt3d_ex18.png
	:alt: RingQt3D の用法

.. index:: 
	pair: 時速でデキるアプリケーション開発; 画期的

画期的
======

Ring の宣言型と自然言語プログラミングへの対応は非常に画期的かつ優秀であり、それらのパラダイムを重視しております。オブジェクト指向と関数型プログラミングの実用的な新技法によるパラダイムへの対応を導入しており、解決すべき問題に応じて多種多様・豊富で実用的なプログラミングパラダイムの選択・併用ができるマルチパラダイム言語の機能もあります。手続き型、オブジェクト指向、および関数型言語を使い続けるよりも優れています。プログラミングの発想転換となる優れた問題解決手段であるため、 Ring で問題を解決すると意思決定の価値が理解できます。

Ring はコンパイラや構文解析などの事前知識なしで Supernova などの自然言語、あるいは REBOL や QML などの宣言型言語の構築でプログラマが求めるツールであります。さらに、短時間でドメイン特化言語を作成、構築できる言語構成要素を標準装備しています。

記事:-

* Natural Language Programming Library (自然言語プログラミングのライブラリ) : 
	https://www.codeproject.com/Articles/1200766/Using-the-Natural-Language-Programming-Library-NLP

* Natural Language Programming (自然言語プログラミング) : 
	https://www.codeproject.com/Articles/1138605/Natural-Language-Programming-in-the-Ring-Programmi

* The Declarative Approach (宣言型手法) : 
	https://www.codeproject.com/Articles/1222105/The-declarative-approach-of-the-Ring-programming-l

* Syntax Flexibility (シンタックスの柔軟性) : 
	https://www.codeproject.com/Articles/1137388/Syntax-Flexibility-in-the-Ring-Programming-Languag

* The Ring Programming Language (プログラミング言語 Ring) : 
	https://www.codeproject.com/Articles/1089887/The-Ring-Programming-Language


.. image:: ringnatural.png
	:alt: Ring による自然言語プログラミング (NLP)

.. index:: 
	pair: 時速でデキるアプリケーション開発; 実用性

実用性
======

ほとんどの Ring ライブラリ (StdLib, WebLib, 自然言語ライブラリ、ゲームエンジンなど)、
および Ring 統合開発環境 (Ring ノートパッド、フォームデザイナーなど) は Ring で記述されています。

Ring は今すぐ製品開発ができる即戦力であり、開発者の生産性を改善します。

フォームデザイナーのソースコードをご確認ください : 
	https://github.com/ring-lang/ring/tree/master/applications/formdesigner

.. image:: ringformdesigner.png
	:alt: Ring フォームデザイナ

Android アプリケーションとしても実行できます！

.. image:: formdesignerandroid.png
	:alt: フォームデザイナ - Android

WebAssembly を用いたウェブアプリケーションをウェブ・ブラウザで実行することもできます。

.. image:: formdesignerwasm.png
	:alt: Ring フォームデザイナ - ウェブ
