OSDN Git Service

【修正内容】
[ring-lang-081/ring.git] / docs / en / target / ringapps.txt
1 .. index:: 
2         single: Applications developed in little hours; Introduction
3
4 =================================================
5 Applications developed in little hours
6 =================================================
7
8 Ring is a new programming language that focuses on the Natural Language Programming and Declarative Programming paradigms 
9 and will let you think different about programming and how to solve your problems in a better way. It's just released in 2016.01.25!  
10 In little days we got thousands of downloads and many developers started learning and 
11 using the language. Their feedback are the secret behind the language progress and success. 
12 They said that Ring is powerful, beautiful and easy to learn, Some of them provided good examples about what can be done using Ring in little hours. 
13 They are very happy with the language productivity.
14
15 .. index:: 
16         pair: Applications developed in little hours; Quotes about Ring
17
18 Quotes about Ring
19 =================
20
21 "I like Smalltalk very much but now I like Ring better!"
22         , Gal Zsolt (Hungary)
23
24 "I find the language and its syntax very natural and easy to follow."
25         , Bhudda (United States)
26
27 "Very nice approach for a new language."
28         , Matth Moestl (Austria)
29
30 "Very interesting! I will keep an eye on it!"
31         , Eslipak (Argentina)
32
33 "I'd like to see some benchmarks. Otherwise, at first glance, it looks really promising."
34         , Alex Deva (Sweden)
35
36 "Excellent."
37         , Liju Sankar (United States)
38
39 "I wish you the best with this project."
40         , David O'Neil (United States)
41
42 "Just fantastic."
43         , Jose Antonio (Mexico)
44
45 "This looks like it was developed by some very competent people."
46         , Jim Clack (United States)
47
48 "The Ring programming language seems pretty interesting so far."
49         , Eric Johnson (United States)
50
51 "Thank you for this awesome language and wonderful ready to use Qt binding."
52         , Martial FAESSEL
53
54 "I think it's great what he does for the community of developers and novice programming."
55         , Marino Esteban 
56
57 "Ring is just awesome. The language is so cool and fluent. I am sure it's going to be BIG."
58         , Ahmed Zain
59
60 "What a proud, really wish you Eng. Mahmoud Samir and Your Team  moving forward  ^_^
61  and from now , considered me a big  fan of the Ring programming language."
62         , Zainab Mahmoud
63
64 "Well guys I love this language and it appears that you have created perfect language."
65         , Moemen Ghulmi
66
67 "Good work Mahmoud, I've installed Ring Programming Language, and it's very perfect language."
68         , Ahmed Omar (Egypt)
69
70 "Thanks for this great startup programming language. I wish you best of luck."
71         , Elkhouaja Khalid
72
73 "Congratulations! I am very happy and I wish you Success and good luck."
74         , Abobasmla Hassan
75
76 "Good Features of multi-use language on the Web, Mobile and Desktop."
77         , Abdelrhman Haider
78
79 "Very interesting effort."
80         , Giannakakis Kostas (Greece)
81
82 "I am too lazy to open comment window and write message.
83 But in your case I must say "Perfect"
84 Really, create new remarkable language like your Ring is
85 really perfect job. Even create editor for your language
86 in your language with only few rows...
87 Even noticed in rosettacode.org !
88
89 I read your previous articles and I tried these examples
90 a few days ago and I will continue. I love Ring.
91
92 P.S.: Anders Hejlsberg, Niklaus Wirth, Bjarne Stroustrup, Ada Lovelace.
93 Hall of fame is waiting...."
94         , Martin Nedopil (Czech Republic )
95
96 "Ring seems very attractive to me through its very easy design and the Qt bindings. 
97 I like its declarative approach and the generous documentation."
98         , Shalok Shalom (Austria)
99
100 "Ring (and plenty of extension library + Qt) is wonderful."
101         , Kovacs Attila (Hungary)
102
103 "Since two days I'm trying Ring and I'm really impressed, in add to power
104 commands and easy use, it's really very efficient and very fast.
105
106 Each day I hope to find the couple of the year PWCT+RING ... Maybe for my
107 Christmas gift!!!!  HO HO HO HO
108
109 Continue your fantastic job and congratulations."
110         , Jose Le Roux (France)
111
112 "There are 3 different styles, it looks like Python and C."
113         , 64remy
114
115 "I was taking a tour around Rosettacode and have found Ring. 
116 I like the syntax a lot. It's clean and easy to understand.
117 It looks like a very clean BASIC dialect without sigils.
118 I can say that this is the easiest and the most BASIC-like language I've ever tried."
119         , Tomaaz 
120
121 "Thanks for your effort. I took a quick look and found it interesting. 
122  You are trying to follow more or less like Clipper with simple command and no rigid declaration rules. Good."
123         , Anand Gupta 
124
125 "Thanks for this wonderful language."
126         , Vinod kc (India)
127
128 "Very enlightening. Good job!"
129         , Southmountain (United States)
130
131 "The thing I liked was the loop exiting."
132         , Leon de boer (Australia)
133
134 "An outstanding and easy language to program with."
135         , Kenneth Burgo (Philippines)
136
137 "I chose your language as I feel I can understand it better than other languages"
138         , Harry Singh
139
140 "I like the totality of the language, far more features than expected and the freedom of expressiveness is unique."
141         , Evikone
142
143 "Thank you very much Mahmoud! I am using ring for many experiments and so far I love it.  
144  I really want to continue using ring and contribute what I can."
145         , John (SienSystem)
146
147 "Sir, Very Good"
148         , Kamlesh Patel
149
150 "That's more than a "cool" syntax, the example of writing free-form text between
151  curly-brackets such that each word calls a function. Which could be interesting 
152  (A syntax like that would be nice for declaring text styles)"
153         , LaurieCheers
154
155 "If you browse around you see they have listed 160 contributors. 
156  This year they have entered Top 100 in the TIOBE index. Lot of effort 
157  seem to have been made to make this language pop out and
158  catch the attention of masses."
159         , Htuhola
160
161 "I like the idea of The Ring being in ANSI C
162  it's an impressive creation, and a lot of skill went into it"
163         , Garry Taylor
164
165 "Very innovative language! Syntactically clean"
166         , CodeProject Member
167
168 "The author must be commended for the readily-obvious hard work and effort that has gone into creating a rich ecosystem for his language.
169 It seems that the language is quite extensive as well. I would find it useful to see a BNF grammar and concise coverage of its semantics."
170         , Xx-Leninist-1917-Xx (Reddit)
171
172 "I can see the AI of the future using this technology to solve computational problems for..... the humans."
173         , Cryptonite (United States)
174
175 "I like your programming language, I like you are going to develop mobile app using RingQt and also 
176 I appreciate your web library."
177         , Domenico D'Oria (Italy)       
178
179 "Congratulations for the great work with this new programming language."
180         , Kenny Silva (Venezuela)
181
182 "Ring is an amazingly full-featured language and so well documented (the bane of most newer languages out there!)"
183         , Alex McCullie
184
185 " I found the language yesterday, and liked the Qt bindings, as they give a declarative way to create a QtWidgets GUI."
186         , Cochise Cesar
187
188 "Ring does look intriguing, and I'll be reading more of the documentation soon"
189         , Jamie Cooper
190
191 "I was recently considering designing my own dynamically-typed, prototypical language and then developing a means to compile it into C/C++. However, last night I was surfing the web and noticed a little-known language called "Ring" which you've recently created. I began reading the Motivation section in Wikibooks to see why the language was designed and implemented, and I was shocked to see that someone else had created a language with the same intention and need as myself. I mean, it's mind-blowing that someone would have addressed every issue I have with the currently accepted languages. Why bother with C/C++ when the syntax can be cryptic and they are largely antiquated - why should we still be dealing with header files, etc? Moreover, your comments on Java and C# being too verbose and forcing OOP onto the user is spot on as well - yet these languages are still primarily used by millions of programmers for the most mundane tasks. At this point, I'm led to believe that it's simply a matter of legacy applications that still haven't made the transition, as well as the ever-popular "Appeal to Popularity" fallacy shared by many in academia and enterprise. Then we come to languages, that are easier and much more modern, and yet even now, are being to show their age. Languages like Python which stresses whitespace and indentation, as well as (just like the formerly mentioned languages) irrelevant tokens for the conditional statements. Granted, it's not as bad as tracking down various curly braces or semi-colons, but one misstep in indentation might as well be as frustrating to track down. The same could be true of Ruby, except with Ruby, we have even odder conventions embedded into the design of the language, which I don't feel the need to address and moreover, we're left with something like Lua which is missing a great many features that the previously mentioned languages include. There are many more languages and faults with them, we could claim that PHP is nothing more than a glue for web pages and backends but with so many frameworks available now, it's falling by the wayside fast. Javascript is constantly being cloned. So, each of these general purpose languages, which we all know are mostly domain-specific and in some cases, also oriented at certain OS(C# was before 2016 and Obj-C/Swift will likely always be primarily for MacOS apps). So, then we're left with several additional options, involving everything from hybrids to other imperative-based languages like D, GoLang, Scala, Julia, etc. But finally, there's a new language called Ring - and yes, it may just end up ruling them all. It's the unicorn we've finally been waiting to arrive, that can handle multiple domains, tasks, and paradigms. I honestly can't wait to jump in and when I do I probably won't come back up anytime soon. My only apprehension is that the language may not include a library or primitive functions for math as Python and Julia do. Aside from that, if so, hopefully, I won't be having to use linear expressions as arrays (considering how intellectually lazy it is to do) and that there will be more support/tools as the community continues to grow. It's crazy to think it's only been around for a year and yet, it's already, practically a batteries-included language."
192
193         , Gedalya (YouTube)
194
195 "Thank you Mr. Mahmoud for all the wonderful work, whenever I dive in the Source code I see the great effort, further development more excellence, God will reward you with what you wish"
196
197         , Azzedine Ramal
198
199 "What a great joy to find this surprisingly genius language !!!. It was a total joy to go through the documentation and look at the samples in Rosetta code.
200 Marvelous work. I would even leave my fortune to the development of this language. Keep the good work going and wishing this language will go viral.
201
202 ps: Thanks for keeping array index to start with 1. It means a lot."
203
204         , Nehemiah Jacob (Sydney, Australia)
205
206 "I find it very interesting. Especially the fact that it is cross platform makes it something to keep an eye on."
207
208         , Boudewijn Lutgerink 
209
210 "The language I like the most. Efficient, simple, easy, flexible and wonderful language."
211         , Roshan Ali
212
213 "I like variety. The richer the toolbox, the more appropriate the tool."
214         , Jonathan Day (Quora)
215
216 "I greatly appreciated your work and congratulations on what has been achieved."
217         , Umberto Meglio (Italy)
218
219 "Thanks a lot I just found Ring two days ago and I decided to learn it, it is amazing, the samples are helping a lot."
220         , Zaraki Ken
221
222 "Extraordinary. well done sir"
223         , RugbyLeague (CodeProject Member - United Kingdom)
224
225 "The Ring language is pleasant. You get ahead very quickly."
226         , Neskuk (CodeProject Member - Switzerland)
227
228 "I'm happy to use your language."
229         , Akhil Reddy
230
231 "I am enjoying using the Ring Programming language."
232         , Gabriel Wendt
233
234 "I'm loving this language!"
235         , Pablo Prieto
236
237 "Ring Notepad is a an example of the power of Ring.
238 It is like NotePad++ with built in form design capability, drag and drop, object attributes etc.
239 It is a marvelous application"
240         ,  Bert Mariani (Italy)
241
242 "Ring is the language that offers the greatest potential for converting programmers frustrated with the amount of time it takes to develop apps in C/C++, C#  and other OOP-based languages.
243 Considering the extent to which Ring has evolved since the first release in 2016, the Ring team has proven itself worthy of a very high achievement award in the world of programming languages.
244 The extent to which Ring has simplified the development database apps, web apps and GUI apps is a great credit to the Ring team.
245 Ring's implementation of OOP and GUI based apps is far superior to C++ and C#. 
246 Another major achievement of the Ring team is the ease at which programmers can get on-line access to Ring documentation, compared to on-line C++ and C# documentation.
247 The Ring Game Engine is truly elegant and it's designer (s)  deserve lots of credit for such an impressive bit of software."
248         , L Godioleskky
249
250 "Strongly speaking, it is a strong and new game programming language."
251         , isVowel (Japan)
252
253 "The language seems to have some interesting features, specially the use of braces to access object fields and methods."
254         , Nuaua (Reddit)
255
256 "The code that implements the Ring VM actually looks quite nice. There is a bunch of test code -- great!"
257         , Peterfirefly (Reddit)
258
259 "Ring seems promising. It first appeared in 2016 although it's concept is older. It is meant to be portable and can be embedded in C/C++ projects"
260         , Wim ten Brink (Quora - Top Writer (2018))
261
262 "Interesting alternative to Lua."
263         , djxtc (Sourceforge)
264
265 "Ring is a serious thing in the programming language landscape. One should understand its foundation before she can shape an opinion worth considering. There are several innovations out-there with a clear commitment from its designer to simplicity, flexibility and learn-ability.
266 Natural language as its imagined by Ring opens a window for an unlimited set of applications otherwise impossible to think about. One can built an interactive chatbot based on a rich domain specific language in a matter of hours not months.
267 Combined with a smart yet effective implementation of a declarative programming paradigm, Ring empowers the creation of any kind of programming language on top of it, with any set of syntax. Even the language keywords can be overwritten to serve one's own keywords in any human language not only English.
268 Ring is a disruption, a big intellectual step forward but also a beautiful reincarnation of several legacy ideas and best practices from other old languages like Basic, Lisp and others. Those ideas are a humanity heritage that new visionaries like Mahmoud S. Fayed, the Ring designer, but also Rick Hickey, the Clojure designer, are trying to callback in todays world of complex programmability.
269 An other dimension of Ring, which formed one of its basic motivations, relates to visual programming. Software is a fluid and evolutionary creature and textual code is not accessible to the most of common humans. The promise of visual programming is to empower people, enhance understandability and invite business users to the arena of software development more intuitively. Ring was made by design with an objective of having a programming language capable of better supporting the visual paradigm.
270 Gamification is a first-class citizen in the language. This is a tremendous advantage compared to other general-purpose programming languages. Ring supports a large number of gaming libraries and open a large window of capabilities to use, not only in gaming but also in business and education applications.
271 The best way to assessing the power of Ring is to looking into it and reflecting about the number of problems it is capable to solve."
272         , Mansour Ayouni (Tunisia)
273
274 "I have only known ring-lang for few weeks, really love features and visions of ring: bracket access, class region, declarative and natural programming.
275 It's simple and beautiful the way ring deal with these paradigms. I think it's really great work what you're done, and doing.
276 I want to develop ethereum client in ring language, not only but it's style. It'll have natural and declarative code on it's main part.
277 Furthermore, It will be fantastic if there is "natural language -> evm bytecode" compiler, maybe ring have the solution"
278         , Asta 
279
280 "The language looks great!"
281         , Eric Hawk
282
283 "You put a lot of work in the Ring and you're a great programmer
284 I saw your examples in 3D I've looked at part of your project, it's really great"
285         , Rafal Jopek
286
287 "Looks like a big project and an impressive piece of work"
288         , Rochus Keller (PhD From ETH Zurich, Switzerland)
289
290 .. index:: 
291         pair: Applications developed in little hours; FetchStockData Application
292
293 FetchStockData Application
294 ==========================
295
296 URL : https://groups.google.com/forum/#!topic/ring-lang/-fa1U_SXSjo
297
298 Author : Bert Mariani
299
300 This App is written in Ring. 
301
302 It will fetch stock data from Yahoo and draw various types of charts.
303 Any valid stock ticker can be entered, or selected from the drop down list - Select Symbol.
304
305 It will not guarantee that you make money in the stock market.
306 But it will visualize the history of the stock.
307
308 .. image:: getquotesmac.png
309         :alt: GetQuotesHistory on MacOS X
310
311 .. index:: 
312         pair: Applications developed in little hours; Fifteen Puzzle Game 2
313
314 Fifteen Puzzle Game 2
315 =====================
316
317 URL : https://github.com/ring-lang/ring/blob/master/applications/fifteenpuzzle/CalmoSoftFifteenPuzzleGame.ring
318
319 Author : Gal Zsolt (CalmoSoft)
320
321 .. image:: fifteen2.png
322         :alt: Ring Application
323
324 .. index:: 
325         pair: Applications developed in little hours; Google API Shortener Application
326
327 Google API Shortener Application
328 ================================
329
330 Author : John Storm (SienSystem)
331
332 Hi everyone,
333
334 Wanted to (finally) share a first release version of a small but very nice tool 
335 to shorten urls using the Google shortener API.   The code is fully documented, 
336 maybe too documented, but, provides a good reference as to what is going on. 
337
338 You can obtain your own API key, or you can use my key to test and use the tool.  
339
340 Hope you enjoy the application.  Please feel free to test at your convenience.  
341
342 Ring is FUN!!
343
344 .. image:: urlappmacshot3.png
345         :alt: URLShortener - shot 3
346
347
348
349 .. image:: urlappmacshot4.png
350         :alt: URLShortener - shot 4
351
352 .. index:: 
353         pair: Applications developed in little hours; Analog Clock
354
355 Analog Clock
356 ============
357
358 URL : https://github.com/ring-lang/ring/blob/master/applications/analogclock/AnalogClock-Image.ring
359
360 Author : Bert Mariani
361
362 .. image:: analogclock.png
363         :alt: Ring Application
364
365 .. index:: 
366         pair: Applications developed in little hours; TicTacToe Game
367
368 TicTacToe Game
369 ==============
370
371 URL : https://github.com/AbdelrahmanGIT/RingSamples/blob/master/src/TecTacToe.ring
372
373 Author : Abdelrahman Mohammed
374
375 .. image:: tictactoe.jpg
376         :alt: Ring Application
377
378 .. index:: 
379         pair: Applications developed in little hours; Squares Puzzle Game
380
381 Squares Puzzle Game
382 ===================
383
384 URL : https://github.com/MajdiSobain/RingAllegro_SquaresPuzzle
385
386 Author : Majdi Sobain
387
388 This project is about (Squares Puzzle) popular game that I have programmed using
389 ring language with its RingAllegro Library. The principle of this game is very known to all of us, 
390 which is moving squares to get the real full shape of the original picture.
391
392 This game could be played using mouse and keyboard as well, showing a message of congratulations at the successful solving.
393
394 .. image:: ringapps_shot2.png
395         :alt: Ring Application
396
397 .. index:: 
398         pair: Applications developed in little hours; Video-Music-Player Application
399
400 Video-Music-Player Application
401 ==============================
402
403 Author : Bert Mariani
404
405 Screen Shot:
406
407 .. image:: videomusicplayer.jpg
408         :alt: Video Music Player
409
410
411 .. index:: 
412         pair: Applications developed in little hours; Calculator Application
413
414 Calculator Application
415 ======================
416
417 Author : Magdy Ragab
418
419 Updated Version by Gal Zsolt and Bert Mariani
420
421 Screen Shot:
422
423 .. image:: newcalc2.png
424         :alt: Ring Calculator
425
426
427 .. index:: 
428         pair:  Applications developed in little hours; Windows StartUp Manager Application
429
430 Windows StartUp Manager Application
431 ===================================
432
433 URL : https://github.com/ring-lang/WinStartupManager
434
435 Author : Majdi Sobain
436
437 Windows Startup Manager is an application that has the ability to let 
438 the user control what programs should start at Windows booting time. 
439 It gives you the ability to show, edit, delete, or even add new programs
440 entries to be lunched at Windows booting time.
441
442 It is specialized at managing Windows startup entries that are stored in
443 Windows Registry only, but provides a quick option to edit programs 
444 shortcuts type entries.
445
446 Screen Shot:
447
448 .. image:: winstartupman.jpg
449         :alt: Windows Startup Manager
450
451 .. index:: 
452         pair: Applications developed in little hours; Werdy Application
453
454 Werdy Application
455 =================
456
457 URL : https://github.com/ring-lang/werdy
458
459 Author : Magdy Ragab
460
461 Quran application includes reading suras, searching and bookmarking.
462
463 The applcation is provided for Windows, Linux and Android.
464
465 .. image:: ringapps_shot1.png
466         :width: 300pt
467         :height: 300pt
468         :alt: Ring Application
469
470
471 .. index:: 
472         pair: Applications developed in little hours; Samples in this book
473
474 Samples in this book
475 ====================
476
477 The next samples are developed in little hours and we will introduce them through this book.
478
479 The next screen shot for he Ring Notepad application
480
481 .. image:: ringnotepad_screenshot.png
482         :alt: Ring Application
483
484 The next screen shot for the Cards Game
485
486 .. image:: ringapps_shot4.png
487         :alt: Ring Application
488
489 The next screen shot for the Cards Game (Android)
490
491 .. image:: ringqt_shot52.jpg
492         :alt: Ring Application
493
494 The next screen shot from the Web Development chapter
495
496 .. image:: ex24_2.jpg
497         :alt: Ring Application
498
499 The next screen shots for simple 2D Games that we will present in the Game Engine Chapter.
500
501 Stars Fighter Game
502
503 .. image:: starsfighter.png
504         :width: 450pt
505         :height: 350pt
506         :alt: Ring Application
507
508 Flappy Bird 3000 Game
509
510 .. image:: flappybird.png
511         :width: 450pt
512         :height: 350pt
513         :alt: Ring Application
514
515 Super Man 2016 Game
516
517 .. image:: superman.png
518         :width: 450pt
519         :height: 350pt
520         :alt: Ring Application
521
522 The next screen shot for the TicTacToe 3D Game
523
524 Screen Shot:
525
526 .. image:: tictactoe3d.png
527         :width: 450pt
528         :height: 350pt
529         :alt: TicTacToe 3D Game
530
531 The next screen shot for the Gold Magic 800 Game
532
533 .. image:: gmshot3.png
534         :alt: Gold Magic 800 
535
536
537 .. index:: 
538         pair: Applications developed in little hours; Innovative
539
540 Innovative
541 ==========
542
543 The language comes with better support for Natural Language Programming and 
544 Declarative Programming. The innovation comes in supporting these paradigms 
545 with new practical techniques on the top of Object-Oriented Programming and 
546 Functional Programming. No need to know anything about (Compilers and Parsing). 
547 You get the language constructs ready for use to create domain-specific languages 
548 in a fraction of time. 
549
550 Articles:-
551
552 * Natural Language Programming Library : 
553 https://www.codeproject.com/Articles/1200766/Using-the-Natural-Language-Programming-Library-NLP
554
555 * Natural Language Programming : 
556 https://www.codeproject.com/Articles/1138605/Natural-Language-Programming-in-the-Ring-Programmi
557
558 * The Declarative Approach :
559 https://www.codeproject.com/Articles/1222105/The-declarative-approach-of-the-Ring-programming-l
560
561 * Syntax Flexibility : 
562 https://www.codeproject.com/Articles/1137388/Syntax-Flexibility-in-the-Ring-Programming-Languag
563
564 * The Ring Programming Language : 
565 https://www.codeproject.com/Articles/1089887/The-Ring-Programming-Language
566
567
568 .. image:: ringnatural.png
569         :alt: NLP in Ring
570
571 .. index:: 
572         pair: Applications developed in little hours; Practical
573
574 Practical
575 =========
576
577 Many of the Ring libraries (StdLib, WebLib, Natural Library, Games Engine, etc.) and 
578 the Ring IDE (Ring Notepad, Form Designer, etc.) are written in the Ring language 
579 itself. Ring is ready for use in production and increase the developers productivity. 
580
581 Check the Form Designer source code : 
582 https://github.com/ring-lang/ring/tree/master/applications/formdesigner
583
584 .. image:: ringformdesigner.png
585         :alt: Ring Form Designer
586
587 We can run the Form Designer as Android application!
588
589 .. image:: formdesignerandroid.png
590         :alt: Form Designer - Android