-
-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Tried to make the ABOUT.md a bit more appealing - these days no one reads long paragraphs anymore :-( Added some context to LEARNING.md and RESSOURCES.md included e.g. Java script in the Nutshell links Co-authored-by: Victor Goff <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
- Loading branch information
1 parent
4bc60b5
commit 9ed0905
Showing
3 changed files
with
36 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,20 @@ | ||
# About | ||
|
||
Raku (formerly known as Perl 6) is a clean, modern, multi-paradigm language; it offers procedural, object-oriented AND functional programming methodologies. | ||
It is a supremely flexible language, adapting to your style of programming, whether that be quick oneliners for sysadmins, scripts to manage a database import, or the full stack of modules necessary to realise an entire website. | ||
It may be difficult to find a programming language that is more expressive. [Raku](https://raku.org/) is a modern, multi-paradigm language. Raku offers [procedural](https://docs.raku.org/language/functions), [object-oriented](https://docs.raku.org/language/objects) and [functional programming](https://docs.raku.org/language/functions#Functions_are_first-class_objects) methodologies. | ||
|
||
Raku enhances Perl’s longterm appeal with a proper object system including roles, threading and multimethod dispatch. | ||
It has spent a long time coming to fruition and has learned from other programming languages, building on their success and learning from the issues of the past. | ||
We believe Raku is a language that will last for decades as it has been conceived to adapt to future trends and is flexible in its usage with other languages. | ||
[Curious?](https://raku.org/) Dig deeper in the [documentation](https://docs.raku.org/) or the module [repository](https://raku.land/) (like pypi or CPAN). | ||
|
||
Raku learns from other languages. | ||
For instance: taking threading from Java (simplified to a handful of methods); Foreign-function interfaces from Lisp make accessing libraries as simple as one line of code. | ||
Regular expressions are now turned up to 11 with the introduction of Parser Expression Grammars, which let you tackle huge parsing tasks. | ||
Strictures and warnings are now automatic, cutting out huge swathes of potential errors. | ||
It is a supremely [flexible](https://docs.raku.org/language/operators) language, [adapting](https://docs.raku.org/language/glossary#gradual_typing) to your style of programming, whether that be quick [oneliners](https://docs.raku.org/language/create-cli) for sysadmins, scripts to manage a database import, or the full stack of modules necessary to realise an [entire website](https://cro.services/). | ||
|
||
Raku’s mottos remain the same as Perl: | ||
“Perl is different. In a nutshell, Perl is designed to make the easy jobs easy, without making the hard jobs impossible.” and “There Is More Than One Way To Do It”. | ||
Now with even more -Ofun (optimized for fun) added. | ||
Raku learns from other languages: | ||
|
||
* It enhances Perl’s longterm appeal with a proper object system including [roles](https://docs.raku.org/language/typesystem#role), [threading](https://docs.raku.org/language/concurrency) and [multimethod](https://docs.raku.org/language/glossary#Multi-dispatch) dispatch. | ||
* It's taking threading from Java - [simplified](https://docs.raku.org/language/concurrency) to a handful of methods. | ||
* Using [foreign-function](https://docs.raku.org/language/nativecall) interfaces from Lisp makes accessing libraries as simple as one line of code. | ||
* [Regular expressions](https://docs.raku.org/language/regexes) are now turned up to 11 - with the introduction of Parser Expression [Grammars](https://docs.raku.org/language/grammars), which let you tackle huge parsing tasks. | ||
* Strictures and warnings are now automatic, cutting out huge swathes of potential errors. | ||
* ... and it knows how to do [math](https://docs.raku.org/language/math): ```1/10 * 3 == 0.3 ``` - try that in your favorite language! | ||
|
||
Raku’s mottos: | ||
* "Raku is designed to make the easy jobs easy, without making the hard jobs impossible." | ||
* "There Is More Than One Way To Do It - now with even more -Ofun (optimized for fun) added." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,29 @@ | ||
# Learning | ||
|
||
## Learning Raku (formerly Perl 6) | ||
## Learning Raku | ||
|
||
The [Resources](https://raku.org/resources/) page on [raku.org](https://raku.org/) contains a 'For Newcomers' section with a selection of useful material to get you up and running. | ||
|
||
* [Raku Course](https://course.raku.org/) | ||
* [Raku Introduction](http://raku.guide/) | ||
* [Learn Raku in Y minutes](https://learnxinyminutes.com/docs/perl6/) | ||
* [Raku Tutorials](https://github.com/perlpilot/perl6-docs) | ||
* [Learn Raku in Y minutes](https://learnxinyminutes.com/docs/raku/) | ||
|
||
## Raku from Other Languages - Nutshell | ||
## From ... to Raku in a Nutshell | ||
|
||
* [Perl 5](https://docs.raku.org/language/5to6-nutshell) | ||
* [Haskell](https://docs.raku.org/language/haskell-to-p6) | ||
* [JavaScript](https://docs.raku.org/language/js-nutshell) | ||
* [Python](https://docs.raku.org/language/py-nutshell) | ||
* [Ruby](https://docs.raku.org/language/rb-nutshell) | ||
* [Haskell](https://docs.raku.org/language/haskell-to-p6) | ||
* [Perl 5](https://docs.raku.org/language/5to6-nutshell) | ||
|
||
## For Curious Users | ||
|
||
The [Raku language documentation](https://docs.raku.org/introduction) contains introductory material, tutorials and migration guides for users familiar with other languages, covering for example: | ||
|
||
* [CLI](https://docs.raku.org/language/create-cli) | ||
* [Operators](https://docs.raku.org/language/operators) | ||
* [Concurrency](https://docs.raku.org/language/concurrency) | ||
* [Grammars](https://docs.raku.org/language/grammar_tutorial) | ||
* [OO Programming](https://docs.raku.org/language/classtut) | ||
* [Functions](https://docs.raku.org/language/functions) | ||
* [Regexes](https://docs.raku.org/language/regexes-best-practices) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
# Useful Raku Resources | ||
|
||
[The Raku site](https://raku.org/) has a [resources](https://raku.org/resources/) page containing variety of information on the language, such as guides for newcomers, documentation, and screencasts. | ||
|
||
The [documentation](https://docs.raku.org/) contains [introductory material](https://docs.raku.org/introduction), tutorials and migration guides for users familiar with other languages and much more. |