Topic CrossConnect

Panos panos at linuxuk.com
Thu Oct 3 13:01:01 EEST 2002


>Η αιώνια παρεξήγηση όσων φοβήθηκαν υπερβολικά να ασχοληθούν με κάτι σοβαρότερο 
>από Java. Άλλο C, άλλο C++.

  Και με ποια κριτήρια παρακαλώ κάτι άλλο είναι σοβαρότερο από τη Java; Εκτός βέβαια και αν μιλάμε μ΄νοο για να μιλάμε, 
ασχέτως αν έχουμε κάτι εποικοδομητικό να πούμε.

>Δύο γραμμές για άνοιγμα αρχείου, χωρίς δέσμευση μνήμης με new, χωρίς 
>εξαιρέσεις, χωρίς όλα αυτά τα χαζά που κάνουν τη Java 2 φορές πιο αργή.

  Αν δε σου αρέσει μη χρησιμοποιείς Java. Δεν μπορείς όμως να καταφεύγεις εναντίων της μόνο και μόνο για λόγους ταχύτητας. 
Στο κάτω κάτω αν θέλεις ταχύτητα γράψε αποκλειστικά και μόνο σε assembly.

>Πώς; Δεν έχετε overloading του τελεστή ! για εξαγωγή ενός απλού bool από από 
>ένα file; Δεν έχετε overloading τελεστών γενικότερα;

  Αν με τη λέξη τελεστής εννοείς operator, τότε έχουμε υπερφώρτωση (overloading) τελεστών. Αν όχι τότε για δώσε μου την 
αγγλική μετάφραση του τελεστή για να καταλάβω τι ακριβώς εννοείς.

>Η δήλωση εξαιρέσεων στη δήλωση της μεθόδου είναι απολύτως υποχρεωτική στη Java 
>για εξαιρέσεις που κληρονομούν τη java.lang.Throwable. Δεν είναι θέμα 
>γούστου. 

  Δε διαφωνώ. Μόνο οι ελεγχόμενες εξαιρέσεις (checked excpetions) πρέπει να υπάρχουνε στο throw μιας μεθόδου. Οι μη-
ελεγχόμενες (unchecked) όμως μπορούνε είτε να πεταχτούνε (throw) είτε να πιαστούνε (catch).

>Επίσης αυτός ο τρόπος δεν είναι και πολύ χρήσιμος γιατί στη Java δεν 
>ισχύει το αυτόματο 1==true, 0==false της C/C++. 

  Μα φυσικά αφού ο τύπος είναι boolean και όχι int. Γι' αυτό και δεν μπορείς να κάνεις cast ένα boolean σε int (και το 
αντίστροφο). Αυτό γιατί να μην είναι και πολύ χρήσιμο; Επειδή κάνει τη γλώσσα καθαρότερη;





More information about the Linux-greek-users mailing list