Unicode (was: Re: Εγκατάσταση PECL extension σε SUSE10)

Fotos Georgiadis fotos at di.uoa.gr
Wed Jun 13 15:51:48 EEST 2007


On 13 Jun 2007, at 14:44, Giorgos Keramidas wrote:

> 			 II. UNMAINTAINABILITY
> Όλα τα PHP scripts που έχω δει ή έχω πειράξει ο ίδιος είναι --  
> στηνκαλύτερη περίπτωση -- unmaintainable σκουπίδια.  Μπορεί το  
> οπτικό αποτέλεσμα του output που παράγουν να είναι «όμορφο σε  
> Firefox», αλλά ο πηγαίος κώδικας του script είναι (στη συντριπτική  
> πλειοψηφία των περιπτώσεων), ένας ανείπωτης πολυπλοκότητας χαμός  
> από κακογραμμένα SQL queries, τα οποία είναι ενσωματωμένα σε πολύ  
> άσχημα μορφοποιημένα PHP statements, τα οποία είναι με τη σειρά  
> τους ενσωματωμένα σε ακόμα πιο άσχημα μορφοποιημένη HTML.

Ή κάνουν include το common.php που είναι 3.000 γραμμές (τουλάχιστον)  
και τα κάνει όλα και συμφέρει! :)
Πάντως είναι σχετικά δύσκολο να πετύχεις ωραία μορφοποιημένη HTML  
μέσα από scripting. Σε βαθμό που ο χρόνος για να το κάνεις να  
φαίνεται εντάξει, δεν αξίζει να επενδυθεί εκεί. Ντάξει να μην είναι  
όλα μια γραμμή, αλλά είναι δύσκολο να βγάλεις σωστά indented HTML.

MVC for the win! Αλήθεια παίζει κάνα καλό MVC framework για PHP; Μόνο  
το symphony έχω στα υπόψη αλλά δεν έχω προσωπική εμπειρία. Κάποιος/α  
που να το έχει δουλέψει και να μπορεί να εκφράσει άποψη για το  
symphony ή να προτείνει κάτι άλλο;

> 		 V. DO YOU WANT UNICODE WITH THAT, SIR?

> Το php5 δεν έχει *ακόμα* καλό support για Unicode[4].  Είναι πλέον  
> αδιανόητο για κάποια γλώσσα να μην έχει support για κάποιας μορφής  
> localized strings, εκτός κι αν αυτή η γλώσσα είναι assembly.

Οι μόνοι που κατάφεραν και το πέτυχαν αυτό με το Unicode είναι οι  
τύποι στην Sun με την Java (φαντάζομαι και η Microsoft με την C# θα  
είναι στην ίδια φάση). Είναι η μόνη γλώσσα (που ξέρω) που το όλο θέμα  
με το Unicode και τα διάφορα encodings (UTF-8) είναι σχετικά  
transparent (ίσως και η perl, μην φωνάζετε).

Η PHP ξεμείνε με τα multibyte mb_strlen(), mb_substr(), και τα λοιπά.  
Η C/C++ με κάτι αντίστοιχα ταρζανιλίκια wchar_t και mbstowcs(3), mblen 
(3), κάτι L, wprintf(), και τα λοιπά μαντζούνια που αναφέρει το  
apropos multibyte. H ruby την παλεύει ακόμα να βρει τον δρόμο της  
(στρωμένο με διάφορα bugs στην χρήση των unicode strings).

Από την εποχή του EBCDIC, του ASCII, των άλλων codepages μέχρι το  
Unicode και τις 35 "εκδόσεις" του (UCS-2 / UTF-16, UTF-8, BOM, ξεBOM,  
UCS-4, κτλ.) μια ζωή μπάχαλο και σκέτος εμετός για να κάνεις develop  
μου multilingual εφαρμογή. Μακάρι να εξαφανιστούν όλα και να μείνει  
μόνο μια γλώσσα και ένα encoding! :)

Πολύ καλό introductory read [1], ιδιαίτερα χρήσιμο στην αποσαφήνιση  
του όλου μπλεξίματος...

-fot

[1] http://www.joelonsoftware.com/articles/Unicode.html




More information about the Linux-greek-users mailing list