Forth (was: Ta Windows einai kalitera apo to Gnu-Linux.)

Αλέξανδρος Διαμαντίδης adia at hellug.gr
Wed Jul 17 20:21:01 EEST 2002


* George Kourtis <gkourtis at freemail.gr> [2002-07-16 08:32]:
>> Ποιες προσπάθειες είναι αυτές που έπεσαν σε λήθη;
> Μια πολλή σημαντική προσπάθεια ήταν η γλώσσα προγραμματισμού Forth.

Δε νομίζω ότι τα παρουσιάσεις πολύ σωστά. Η Forth δεν είναι μία μονολιθική
προσπάθεια. Υπάρχουν διάφορες και ποικίλες ομάδες που τη χρησιμοποιούν, και
ο κάθε προγραμματιστής ακολουθεί το δικό του δρόμο.

Είναι γεγονός ότι η φύση της γλώσσας, με το ταχύτατο compilation και την
interactive φιλοσοφία της, ενθαρρύνει τους προγραμματιστές να βασίζονται
στον πηγαίο κώδικα και όχι στα binaries. Αυτό δε σημαίνει όμως και ότι
τον κώδικα αυτόν τον μοιράζονταν με όλο τον κόσμο, όπως συμβαίνει με
τις ομάδες που αναπτύσσουν ελεύθερο λογισμικό.

> Η Forth μια "Threaded Interpretative Language", από την φύση της γλώσσα
> ανοικτού κώδικα, παρέμεινε κολλημένη σε συζητήσεις παλεολιθικού τύπου όπως
> π.χ. αν πρέπει να χρησιμοποιήται το λειτουργικό για υπηρεσίες αρχείων ή αν
> πρέπει όπως υποστήριζαν μερικοί να χρησιμοποιούνται τα "low level Blocks"
> του δίσκου για να γράφονται τα αρχεία.

Δεν είναι παλαιολιθικού τύπου αν μιλάς για μηχανήματα με ελάχιστη μνήμη
και καθόλου ή υποτυπώδη λειτουργικά συστήματα. Μην ξεχνάς ότι η Forth
ανέκαθεν ευδοκιμούσε ιδιαίτερα στα embeded και στα πολύ μικρά συστήματα.

Από την άλλη, όταν χρησιμοποιείς Forth πάνω από Linux ή κάποιο άλλο
λειτουργικό σύστημα, φυσικά και θα χρησιμοποιήσεις τις υπηρεσίες αρχείων
του λειτουργικού. Αν όμως δουλεύεις σε κάποιο λειτουργικό χωρίς virtual
memory, ή έχεις παλιό κώδικα που βασίζεται σε screens ή blocks, είναι
βολικό να χρησιμοποιήσεις τα αρχεία για τα blocks σου.

Πάντως γενικά η φιλοσοφία της Forth είναι η απόλυτη ελευθερία του
προγραμματιστή. Οι συζητήσεις είναι απλώς συζητήσεις, δεν σημαίνει ότι
αν δεν υπήρχαν η Forth θα είχε κατακτήσει τον κόσμο. Υπάρχουν κι άλλες
γλώσσες όπως η Common Lisp, η Smalltalk και άλλες που δεν είναι τόσο
εμφανείς στο σύγχρονο κόσμο των υπολογιστών. Όμως υπάρχει ένα κοινό που
τις χρησιμοποιεί, υπάρχουν ελεύθερες υλοποιήσεις που οι δημιουργοί
τους συνεχίζουν να τις συντηρούν, και στο δίκτυο τώρα πια ο καθένας
μπορεί εύκολα να βρει βοήθεια και υλικό αν θελήσει να ασχοληθεί. Οι
γλώσσες αυτές και οι κοινότητες που αναπτύσσονται γύρω τους μπορεί να
είναι πολύ μικρότερες από αυτές που βασίζονται στο Unix και τη C, από
την άλλη όμως δεν είναι καθόλου νεκρές.

> Από αυτά και άλλα πολλά ενώ είχε πάρα πολλά φιλοσοφικά καλά ( όσοι δεν την
> έχουν δουλέψει μέχρι βάθος δεν μπορούν να καταλάβουν ) απαρχαιώθηκε και
> είναι τώρα μουσειακό είδος.

Δε χρειάζεται να τη δουλέψεις σε βάθος, και μια επιφανειακή ενασχόληση
(όπως στην περίπτωσή μου) αρκεί για να καταλάβεις την ομορφιά της 
Forth. Είναι όμως ένα εργαλείο για προγραμματιστές - στις δουλειές που
κάνω εγώ, η Perl είναι πολύ πιο χρήσιμη γιατί έχει έτοιμα όλα όσα
χρειάζεται συνήθως ένας χρήστης του Unix. Υπάρχουν όμως άλλοι που
δουλεύουν σε Forth.

Θα μου πεις, όλα τα σημαντικά έργα (Linux, BSD, GCC, KDE, Gnome,
Apache, Samba, Perl, κλπ) είναι γραμμένα σε C. Για αυτό όμως δεν
ευθύνεται μόνο η συμπεριφορά των χρηστών άλλων γλωσσών και συστημάτων.
Είναι και θέματα πολιτικής, ιστορίας, συγκυριών κλπ. Οι εξηγήσεις δεν
είναι απλές, αλλά και ίσως και να μη χρειάζονται μερικές φορές. Όλες οι
προσπάθειες αυτές γίνονται εθελοντικά ή τέλος πάντων ξεκινούν από
κάποιες ανάγκες, και ο καθένας επιλέγει να χρησιμοποιήσει τα εργαλεία
που ξέρει, ή που χρησιμοποιούν οι φίλοι του, ή αυτά που «ακούγονται»,
κλπ. Δεν είναι κακό...

-- 
Αλέξανδρος Διαμαντίδης * adia at hellug.gr



More information about the Linux-greek-users mailing list