ring-lang.sourceforge.netThe Ring Programming Language
ring-lang.sourceforge.net Profile
ring-lang.sourceforge.net
Maindomain:sourceforge.net
Title:The Ring Programming Language
Description:Ring is an innovative and practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming.
Keywords:Ring, Ring Language, innovative , practical , programming language, multi paradigm language, general purpose language, imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable Windows, Linux, macOS, Android, create Console, GUI, Web, Games, Mobile applications...
Discover ring-lang.sourceforge.net website stats, rating, details and status online.Use our online tools to find owner and admin contact info. Find out where is server located.Read and write reviews or vote to improve it ranking. Check alliedvsaxis duplicates with related css, domain relations, most used words, social networks references. Go to regular site
ring-lang.sourceforge.net Information
Website / Domain: |
ring-lang.sourceforge.net |
HomePage size: | 72.64 KB |
Page Load Time: | 0.068028 Seconds |
Website IP Address: |
216.105.38.10 |
Isp Server: |
Internet Express |
ring-lang.sourceforge.net Ip Information
Ip Country: |
United States |
City Name: |
San Diego |
Latitude: |
32.89440536499 |
Longitude: |
-117.20095062256 |
ring-lang.sourceforge.net Keywords accounting
Keyword |
Count |
Ring | 44 |
Ring Language | 2 |
innovative | 4 |
practical | 7 |
programming language | 1 |
multi paradigm language | 0 |
general purpose language | 0 |
imperative | 1 |
procedural | 1 |
object-oriented | 3 |
declarative using nested structures | 1 |
functional | 2 |
meta programming and natural programming. The language is portable Windows | 0 |
Linux | 1 |
macOS | 1 |
Android | 1 |
create Console | 1 |
GUI | 1 |
Web | 2 |
Games | 2 |
Mobile applications | 1 |
ring-lang.sourceforge.net Httpheader
Server: nginx/1.14.0 (Ubuntu) |
Date: Fri, 14 Feb 2020 21:48:02 GMT |
Content-Type: text/html |
Transfer-Encoding: chunked |
Connection: keep-alive |
Vary: Accept-Encoding, Host, Accept-Encoding |
Last-Modified: Wed, 12 Feb 2020 19:03:10 GMT |
ETag: W/"eab3-59e659fa46b4f" |
Cache-Control: max-age=600 |
Expires: Fri, 14 Feb 2020 21:58:02 GMT |
X-From: sfp-web-7 |
Content-Encoding: gzip |
ring-lang.sourceforge.net Meta Info
charset="utf-8"/ |
content="width=device-width, initial-scale=1" name="viewport"/ |
content="Ring Language" name="title"/ |
content="Ring is an innovative and practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming." name="description"/ |
content="Ring, Ring Language, innovative , practical , programming language, multi paradigm language, general purpose language, imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable Windows, Linux, macOS, Android, create Console, GUI, Web, Games, Mobile applications" name="keywords"/ |
content="index, follow" name="robots"/ |
content="text/html; charset=utf-8" http-equiv="Content-Type"/ |
content="English" name="language"/ |
content="Ring Language - Innovative and practical general-purpose multi-paradigm language" name="og:title" property="og:title"/ |
content="article" property="og:type" |
content="http://ring-lang.sourceforge.net/" property="og:url" |
content="http://ring-lang.sourceforge.net/thering.jpg" property="og:image" |
216.105.38.10 Domains
ring-lang.sourceforge.net Similar Website
Domain |
WebSite Title |
ring-lang.sourceforge.net | The Ring Programming Language |
gmors.com | FKM O-Ring|O-Ring|Viton O-Ring|Hydraulic Seal|Rubber Grommet|GMORS - Seals to Your Heart |
ja.gmors.com | FKM O-Ring|O-Ring|Viton O-Ring|Hydraulic Seal|Rubber |
golang.org | The Go Programming Language |
http2.golang.org | The Go Programming Language |
go-lang.cat-v.org | Go Programming Language Resources |
talks.golang.org | Talks - The Go Programming Language |
dlang.org | Home - D Programming Language |
rust-lang.org | Rust Programming Language |
users.rust-lang.org | The Rust Programming Language Forum |
discourse.julialang.org | JuliaLang - The Julia programming language forum |
cplusplus.happycodings.com | C++ Programming Language Examples Happy Codings C++ |
ardublock.com | Ardublock | A Graphical Programming Language for Arduino |
luaeclipse.luaforge.net | LuaEclipse: An integrated development environment for the
Lua programming language |
c.happycodings.com | C Programming Language Examples | Happy Codings | C Sample Source Codes |
ring-lang.sourceforge.net Traffic Sources Chart
ring-lang.sourceforge.net Alexa Rank History Chart
ring-lang.sourceforge.net Html To Plain Text
 Home Download Download Ring 1.12 Download Ring 1.11 Download Ring 1.10 Download Ring 1.9 Download Ring 1.8 Download Ring 1.7 Download Ring 1.6 Download Ring 1.5 Download Ring 1.4 Download Ring 1.3 Download Ring 1.2 Download Ring 1.1 Download Ring 1.0 Why? Documentation Ring 1.12 Documentation Ring 1.11 Documentation Ring 1.10 Documentation Ring 1.9 Documentation Ring 1.8 Documentation Ring 1.7 Documentation Ring 1.6 Documentation Ring 1.5 Documentation Ring 1.4 Documentation Ring 1.3 Documentation Ring 1.2 Documentation Ring 1.1 Documentation Ring 1.0 Documentation Community Group Resources Team Go! Download Documents Try Online Group Innovative and practical general-purpose multi-paradigm language  Introduction The Ring is an innovative and practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable (Windows, Linux, macOS, Android, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be simple, small, flexible and fast. News Date Description February 12, 2020 Hassouna course samples February 2, 2020 Ring language support in SpaceVim January 25, 2020 Ring 1.12 Released! See more! Innovative Innovative The language comes with better support for Natural Language Programming and Declarative Programming. The innovation comes in supporting these paradigms with new practical techniques on the top of Object-Oriented Programming and Functional Programming. No need to know anything about (Compilers and Parsing). You get the language constructs ready for use to create domain-specific languages in a fraction of time. Ring Article Syntax Flexibility The Declarative Approach Natural Language Programming Natural Language Programming Library Practical Practical Many of the Ring libraries (StdLib, WebLib, Natural Library, Games Engine, etc.) and the Ring IDE (Ring Notepad, Form Designer, etc.) are written in the Ring language itself. Ring is ready for use in production and increase the developers productivity. Previous Next Why Ring? Why Ring? The language is simple, trying to be natural, encourage organization and comes with transparent and visual implementation. It comes with compact syntax and a group of features that enable the programmer to create natural interfaces and declarative domain-specific languages in a fraction of time. It is very small, fast and comes with smart garbage collector that puts the memory under the programmer control. It supports many programming paradigms, comes with useful and practical libraries. The language is designed for productivity and developing high quality solutions that can scale. Why? Designed for a Clear Goal Applications programming language. Examples? Productivity and developing high quality solutions that can scale. Small and fast language that can be embedded in C/C++ projects. How? Simple language that can be used in education and introducing Compiler/VM concepts. How? General-Purpose language that can be used for creating domain-specific libraries, frameworks and tools. How? Practical language designed for creating the next version of the Programming Without Coding Technology software. What? Simple Ring is a very simple language, and has a very straightforward syntax. It encourages programmers to program without boilerplate code. To print something using the standard output, We can use the 'See' command. Why? see "Hello, World!" The Main function is optional and will be executed after the statements, and is useful for using the local scope. Why? func main see "Hello, World!" Uses Dynamic Typing and Lexical scoping. No $ is required before the variable name, but we can use it! Why? You can use the '+' operator for string concatenation and the language is weakly typed and will do simple implicit conversion between numbers and strings only based on the context. Why? nCount = 10 # Global variable func main nID = 1 # Local variable see "Count = " + nCount + nl + " ID = " + nID Trying to be natural Ring is not case-sensitive Why? see "Enter your name ? " give name see "Hello " + Name # Name is the same as name The list index starts from 1 (Or from 0 using the ZeroLib ) Why? aList = ["one","two","three"] see aList[1] # print one Call functions before definition one() two() three() func one see "One" + nl func two see "two" + nl func three see "three" + nl The assignment operator uses Deep copy (no references in this operation) Why? aList = ["one","two","three"] aList2 = aList aList[1] = 1 see alist[1] # print 1 see aList2[1] # print one Pass numbers and strings by value, but pass lists and objects by reference. The for in loop can update the list items. func main aList = [1,2,3] update(aList) see aList # print one two three func update aList for x in aList switch x on 1 x = "one" on 2 x = "two" on 3 x = "three" off next Using Lists during definition aList = [ [1,2,3,4,5] , aList[1] , aList[1] ] see aList # print 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 Exit from more than one loop Why? for x = 1 to 10 for y = 1 to 10 see "x=" + x + " y=" + y + nl if x = 3 and y = 5 exit 2 # exit from 2 loops ok next next Encourage Organization The language encourage organization, Forget bad days using languages where the programmer start with function then class then function and a strange mix between things! Each source file follow the next structure Load Files Statements and Global Variables Functions Packages and Classes This enable us to use Packages, Classes and Functions without the need to use a keyword to end these components. We can write one line comments and multi-line comments The comment starts with # or // Multi-line comments are written between /* and */ /* Program Name : My first program using Ring Year : 2017 */ see "What is your name? " # print message on screen give cName # get input from the user see "Hello " + cName # say hello! // See "Bye!" Compact Syntax The language is not line sensitive , you don't need to write ; after statements, also you don't need to press ENTER or TAB, so we can write the next code see "The First Message" see " Another message in the same line! " + nl see "Enter your name?" give Name see "Hello " + Name The next code create a class called Point contains three attributes X,Y and Z. No keywords is used to end the package/class/function definition . Also, we can write the attributes names directly below the class name . class Point X Y Z We can use classes and functions before their definition , In this example we will create new object, set the object attributes then print the object values. o1 = new point o1.x=10 o1.y=20 o1.z=30 see O1 class Point X Y Z Instead of using the dot '.' operator to access the object attributes and methods we can use braces { } to access the object, then we can use the object attributes and methods . o1 = new point { x=10 y=20 z=30 } see O1 class Point X Y Z Now we will call a method after accessing the object using { } oPerson = new Person { Name = "Somebody" Address = "Somewhere" Phone = "0000000" Print() # here we call the Print() method } class Person Name Address Phone func Print see "Name :" + name + nl + "Address :" + Address + nl + "Phone : " + phone + nl When we use { } to access the object then write any attribute name, the language will check the class for any setter/getter methods that will be called automatically . new Number { see one # Execute GetOne() see two # Execute GetTwo() see three # Execute GetThree() } class Number one two three func GetOne see "Number : One" + nl return 1 func GetTwo see "Number : Two" + nl return 2 func GetThree see "Number : Three" + nl return 3 Define Natural Statements based on Object-Oriented Why? After the object access using { } if the class contains a method called BraceEnd() it will be executed! TimeForFun = new journey # The first surprise! TimeForFun { Hello it is me # What a b...
ring-lang.sourceforge.net Whois
"domain_name": "SOURCEFORGE.NET",
"registrar": "TUCOWS, INC.",
"whois_server": "whois.tucows.com",
"referral_url": null,
"updated_date": [
"2019-07-23 03:49:27",
"2019-07-23T03:49:27"
],
"creation_date": [
"1999-08-08 04:48:02",
"1999-08-08T04:48:02"
],
"expiration_date": [
"2020-08-08 04:47:54",
"2020-08-08T04:47:54"
],
"name_servers": [
"NS1.DNSMADEEASY.COM",
"NS2.DNSMADEEASY.COM",
"NS3.DNSMADEEASY.COM",
"NS4.DNSMADEEASY.COM",
"ns1.dnsmadeeasy.com",
"ns4.dnsmadeeasy.com",
"ns3.dnsmadeeasy.com",
"ns2.dnsmadeeasy.com"
],
"status": [
"clientTransferProhibited https://icann.org/epp#clientTransferProhibited",
"clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited"
],
"emails": "domainabuse@tucows.com",
"dnssec": "unsigned",
"name": "REDACTED FOR PRIVACY",
"org": "REDACTED FOR PRIVACY",
"address": "REDACTED FOR PRIVACY",
"city": "REDACTED FOR PRIVACY",
"state": "CA",
"zipcode": "REDACTED FOR PRIVACY",
"country": "US"