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