Skip to content

Commit

Permalink
updating docs (#695)
Browse files Browse the repository at this point in the history
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
3 people authored May 16, 2024
1 parent 4bc60b5 commit 9ed0905
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 18 deletions.
27 changes: 15 additions & 12 deletions docs/ABOUT.md
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 one­liners 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 long­term appeal with a proper object system including roles, threading and multi­method 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 [one­liners](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 long­term appeal with a proper object system including [roles](https://docs.raku.org/language/typesystem#role), [threading](https://docs.raku.org/language/concurrency) and [multi­method](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."
25 changes: 19 additions & 6 deletions docs/LEARNING.md
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)
2 changes: 2 additions & 0 deletions docs/RESOURCES.md
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.

0 comments on commit 9ed0905

Please sign in to comment.