Products > Computers

'RACKET' Programming Language. Say-what!?

(1/6) > >>

GlennSprigg:
According to various lists of languages common to GitHub, the least is 'Lisp'...
It's all horses for courses though, and one uses what is best suited to the task.

'Lisp', (short for 'List-Processing'), is very old! 'Scheme' was/is based on it, and now
'Racket' is on the forefront, and is based on 'Scheme'. Haven't heard of it ??
I'm going back to roots with it now, after studying numerous sites/help. Here's a starter...
https://practicaltypography.com/why-racket-why-lisp.html
It is extremely well structured, and everything is based on functions & expressions.

Has anyone here heard of/used it??  I intend to follow up with some details & examples
if there is any interest.

donotdespisethesnake:
After 40 years of inventing new programming languages, most people have realised that inventing yet another language doesn't solve anything.

SiliconWizard:

--- Quote from: donotdespisethesnake on January 11, 2020, 01:59:24 pm ---After 40 years of inventing new programming languages, most people have realised that inventing yet another language doesn't solve anything.

--- End quote ---

Yet they keep doing it. ;D

janoc:
Racket isn't really new in any sense of the word. It is renamed (in 2010) PLT Scheme, originally from 1995! And when it comes to Lisp and its various dialects (Scheme and thus Racket are Lisp dialects), that's one of the oldest programming languages (not counting assemblers) still in use - only Fortran is older.

PLT Scheme used to be a very popular teaching language for the introductory programming courses in computer science programs (it has been explicitly designed for that purpose, along with Pascal). Only much later it has been mostly displaced by things like Java and Python.

Racket is actually a pretty neat if you are interested in high level programming - it is Lisp/Scheme "with batteries included" (i.e. huge set of included libraries for everything conceivable, unlike many Common Lisp distributions) similar to how Python is distributed, even including a pretty decent IDE (DrRacket) with some unique features.

Actually, John Carmack (of the iD Software Doom/Quake, Oculus and Armadillo Aerospace fame) took it up when teaching his son to program and has something to say about it:

https://www.itworld.com/article/2978142/why-john-carmack-thinks-racket-is-aces-for-beginning-programmers.html

It is a teaching-oriented language, so don't expect to program microcontrollers with it or write a high speed stock trading application in it, but what it does it does well.

GlennSprigg:
'janoc' pretty much said it all !!  :)
It's not a 'new' language, but a newer 'dialect' of one of the originals, and now with a HUGE
subset of additional modules, greatly increasing it's power & functionality.
I personally think it is great introduction to functional programming!! And where the lessons
learnt put you on good stead with a myriad of more 'modern' languages. A win-win to me...

With say 'BASIC', (Beginners All-purpose Symbolic Instruction Code), it went way beyond the
'beginners' in school, in the end, right through to .net applications still valid/powerful today!
(Of course you wouldn't write a modern 'game' with it, but would generally suffice, mostly!).

'Lisp', (Racket), is all about learning from square one again, about fully structured writing, if
at least as a precursor, to getting you back to, (or starting from!), structural writing & basics.
It's not re-inventing any wheel, but taking you back to what a 'wheel' is/was & how it works!!

I may have 'jumped-the-gun' with my original post. I'll be back after licking my wounds   :P

P.S.  Consider a typical high level approach like...
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello world");
        }
    }
In 'Racket', it's simply...
  "Hello World"

Even a '+' sign is basically a Function call, so calculations are in 'prefix' notation like...
(+ 12 4)
16
EVERYTHING in Lisp/Racket is an EXPRESSION! And you can intermix statements &
expressions how ever many levels deep you want, like...
(+ 42 (if (< 1 0) 100 200))

Sorry, I shouldn't have started with this yet!  :)

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod