Πώς να μάθεις τη Factor

Μια επισκόπηση του πώς να ξεκινήσεις από το μηδέν με τη Factor


Υπάρχουν πολλοί εξαιρετικοί πόροι για να μάθεις Factor.

  • Το σεμινάριο Factor του Andrea Ferretti είναι μια διεξοδική περιήγηση στη γλώσσα, που προχωρά από τα βασικά της στοίβας στον μεταπρογραμματισμό, την κατανεμημένη υπολογιστική και την ανάπτυξη ιστού με το Furnace.

  • Factor in 2022 είναι μια ομιλία του 2022 από τους John Benediktsson και Doug Coleman που κάνει μια περιήγηση στη γλώσσα και στο πώς είναι να τη χρησιμοποιείς σήμερα.

  • Thinking Forth του Leo Brodie είναι ένα κλασικό έργο για τη φιλοσοφία σχεδιασμού και τις νοητικές συνήθειες πίσω από τη Forth. Το Factor δεν είναι Forth, αλλά κληρονομεί τον συνενωτικό, προσανατολισμένο στη στοίβα τρόπο σκέψης, και το βιβλίο του Brodie είναι η καλύτερη εισαγωγή σε αυτόν τον τρόπο σκέψης.

  • Η τεκμηρίωση του Factor είναι καταπληκτική και εκτενής. Είναι διαθέσιμη εκτός σύνδεσης, με δυνατότητα αναζήτησης απευθείας από το GUI Listener ή από τη γραμμή εντολών, και η ίδια αναζητήσιμη τεκμηρίωση είναι διαθέσιμη και online.

  • Το playground-factor του Björn Lindqvist είναι ένα αποθετήριο γεμάτο ενδιαφέρουσες συμβουλές και κόλπα. Ως ένας από τους προγραμματιστές του Factor, ο Björn δεν το ενημερώνει πολύ συχνά και είναι υπό εξέλιξη (WIP, καθώς μεγάλο μέρος του περιεχομένου του μεταφέρεται στο GitHub Wiki), αλλά εξακολουθεί να είναι πολύ κουλ υλικό.

  • Learn X in Y Minutes έχει ένα σεμινάριο Factor. Δεν είναι εκτενές με κανέναν τρόπο, αλλά είναι μια καλή αναφορά και αρκεί για να ξεκινήσεις.

  • Rosetta Code: Factor είναι μέρος ενός ιστότοπου προγραμματιστικής χρηστομάθειας. Ανάμεσα σε εκατοντάδες άλλες γλώσσες, έχει λύσεις για πολλά προβλήματα σε Factor, τις οποίες μπορείς να συγκρίνεις με γλώσσες που ήδη γνωρίζεις, μια καλή αναφορά και αφετηρία για λύσεις.

Τέλος, και ίσως το λιγότερο σημαντικό:

  • Stack Overflow. Δεν υπάρχει μεγάλη κοινότητα (εντάξει, περίπου τρεις χρήστες, μαζί με τον γράφοντα), αλλά ρώτησε εκεί αν έχεις πραγματικά κολλήσει και κάποιος σίγουρα θα σε βοηθήσει.

  • Η λίστα αλληλογραφίας. Εδώ μπορείς να ρωτήσεις για οτιδήποτε σχετικό με το Factor και ένας συνεργάτης θα απαντήσει πρόθυμα.

  • Το Factor είναι στο IRC! Έλα κι εσύ, θα χαρούμε να βοηθήσουμε.

  • Μάθε και διάβασε για τη Joy, τη Forth και τον συνενωτικό / βασισμένο σε στοίβα προγραμματισμό γενικότερα.

  • Μάθε και διάβασε για το Common Lisp Object System. Το CLOS θεωρείται ευρέως το πιο προηγμένο και καινοτόμο μοντέλο αντικειμένων στον κόσμο, και το μοντέλο αντικειμένων του Factor βασίζεται σε μεγάλο βαθμό σε αυτό και είναι εμπνευσμένο από αυτό.

  • Από πολλές απόψεις, το Factor είναι μια Lisp. Είναι μια postfix, point-free, συναρτησιακή Lisp, ανάποδη και από μέσα προς τα έξω, με αστεία εμφάνιση, αλλά πολλές ιδεολογίες είναι οι ίδιες. Γι' αυτό, μπορεί να σου φανεί χρήσιμο να μάθεις μια Lisp, κατά προτίμηση μια Lisp-1 όπου οι συναρτήσεις και οι μεταβλητές μοιράζονται έναν χώρο ονομάτων (επειδή στον συναρτησιακό προγραμματισμό οι συναρτήσεις είναι τιμές). Ο γράφων συνιστά ταπεινά τη Scheme ή, για κάτι πιο μοντέρνο και εύχρηστο, τη Racket, απόγονο της Scheme.

  • Τέλος, το Factor είναι γραμμένο σχεδόν εξ ολοκλήρου σε Factor. Διάβασε λοιπόν τον πηγαίο κώδικα και αναζήτησε στην τεκμηρίωση τις λέξεις που δεν ξέρεις.