c++ expression evaluation
Evaggelos Balaskas
ebalaskas at ebalaskas.gr
Wed Jan 28 23:00:23 EET 2009
μόνο και μόνο επειδή έχω κατεβάσει κανά 2/3 τελάρα μπύρες
και επειδή κάπου αναφέρθηκε ότι διαβάζει και ο ρικούδης:
Σε c++ πως θα το έγραφες ;
:D
ΥΓ: Σε λίγο θα μας πεις κι ότι ο emacs είναι καλύτερος editor από το vi
Giorgos Keramidas wrote:
> On Wed, 28 Jan 2009 22:19:14 +0200, Evaggelos Balaskas <ebalaskas at ebalaskas.gr> wrote:
>> γιώργη αυτό
>>
>> ((())(()(()()(()))
>>
>> δεν είναι ούτε πρόγραμμα ούτε καν γλώσσα προγραμματισμού.
>>
>> σαν να διαβάζω Faust σε λίγο θα μας πεις να γράφουμε κι έτσι:
>>
>> 001110011000101010010110001
>
> Πριν από 20 χρόνια αν έλεγες σε κάποιον ότι αυτό:
>
> for l in file('/etc/passwd'):
> pw = l.rstrip('\r\n').split(':')
> print "%s uses %s" % (pw[0], pw[len(pw)-1])
>
> είναι executable κώδικας, θα σε κοιτούσε απορημένος λίγο και μετά θα σου
> ζητούσε το τηλέφωνο του τύπου που σε προμηθεύει ΤΟΣΟ καλά ναρκωτικά.
>
> Ε περίπου το ίδιο ισχύει και για το:
>
> (with-open-file (s "/etc/passwd" :direction :input)
> (loop for line = (read-line s nil 'eof)
> until (eq line 'eof)
> do (let ((pw (string-split line ":")))
> (format "~A ~A~&"
> (aref pw 0) (aref pw (1- (array-dimension pw 0)))))))
>
> Πρόσεξε πως και στις δύο περιπτώσεις δεν είναι τόσο το τι γράφεις σαν
> λέξη, αλλά το indentation που δείχνει το κομμάτι του κώδικα που σε
> ενδιαφέρει κάθε στιγμή.
>
> Η μόνη διαφορά που υπάρχει στο πώς γράφεις κώδικα στις δύο γλώσσες είναι
> ότι στη δεύτερη μπορείς να «κρύψεις» ένα μέρος της πολυπλοκότητας πίσω
> από πολύ extensible macros σε οποιοδήποτε στάδιο της γλώσσας (από τη
> στιγμή που «διαβάζεται» ο κώδικας από τον interpreter μέχρι τη στιγμή
> που μετατρέπεται σε γλώσσα μηχανής, και τελικά να γράφεις κάτι σαν:
>
> (map-file (lambda (line)
> (let ((pw (string-split line ":")))
> (format "~A ~A~&" [pw 0] [pw (1- len)])))
> "/etc/passwd")
>
> Και πάλι το indentation είναι αυτό που μετράει 99% και οι παρενθέσεις
> είναι απλά «βοήθημα» προς τον editor σου για να μπορείς να μορφοποιήσεις
> και να μεταφέρεις κομμάτια κώδικα τριγύρω :-)
>
--
Evaggelos Balaskas
Unix System Engineer - http://ebalaskas.gr/wiki/
Informatics Engineer Technological Education
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20090128/99bf757e/attachment.pgp>
More information about the Linux-greek-users
mailing list