Θέμα: Re: ellinika sto xmms
Giorgos Keramidas
keramida at ceid.upatras.gr
Tue Jul 11 13:44:45 EEST 2006
On 2006-07-11 13:23, basOS G <noxelia at gmail.com> wrote:
>On 11/07/06, Giorgos Keramidas <keramida at ceid.upatras.gr> wrote:
>> Αν ξέρω τον Μιχάλη τόσο καλά όσο νομίζω όσο τον ξέρω, εννοεί ότι:
>>
>> Το γεγονός ότι υπάρχει άπλετη μνήμη δεν είναι καλή δικιολογία για
>> να την κατασπαταλάει κανείς ασύστολα.
>>
>> Είναι το ίδιο πράγμα με αυτό που γράφει ο Ollivier Robert[1]:
>>
>> ``I do not believe that the fact that hard disks are now cheap is a
>> good reason to waste that space.''
>>
>> Σε γενικές γραμμές συμφωνώ κι εγώ μ' αυτό :)
>
> Σιγουρα δεν ειναι οτι καλλιτερο.
> Αλλα ομολογουμενως καποιοι τροποι προγραμματισμου ειναι πιο απληστοι
> σε μνημη σε ανταλαγμα δομηση και απλοτητα στον κωδικα.
Καμιά φορά γίνεται κι αυτό.
> Π.Χ. γραφοντας ενα προγραμμα σε C πολυ προσεκτικα καταφερνεις ενα
> ελαχιστων resoyrses εκτελεσιμο. Πλην λιγο πολυπλοκοτερο απο οτι αν το
> εγραφες στην πιο σπαταλη αλλα πιο δομημενη (λογω της δυνατοτητας
> αφαιρεσης μεσω κλασεων) C++.
Ανάλογα το πρόγραμμα. Δεν είμαι ιδιαίτερα μεγάλος fan της έξτρα
πολυπλοκότητας που εισάγει η C++ σε ένα πρόγραμμα, αλλά αυτό
σπάνια έχει σχέση με το πόσο βαρύ είναι ένα userlevel πρόγραμμα.
> Βεβαια αν ο προγραμματιστης καταφερει να σπαταλα resources ασυνειδητα
> ( γραφοντας και ενα δυσαναγνωστο προγραμμα) τοτε εχει προβλημα.
Η ευαναγνωσιμότητα ενός προγράμματος δεν έχει απαραίτητα καμία σχέση με
το πόσα resources χρειάζεται για να τρέξει. Εχω την εντύπωση ότι έχεις
μπερδέψει δυο διαφορετικά πράγματα σε ένα εδώ. Το παρακάτω C πρόγραμμα
δεν χρησιμοποιεί παρά ελάχιστα resources, αλλά δεν είναι τόσο εύκολο
στην ανάγνωση:
| char*f="char*f=%c%s%c;main(){printf(f,34,f,34,10);}%c";main(){printf(f,34,f,34,10);}
Αντίθετα, το παρακάτω C++ πρόγραμμα είναι πολύ ευανάγνωστο αλλά έχει
τραγικά μεγαλύτερες απαιτήσεις για να τρέξει:
| #include <iostream>
| #include <iomanip>
| #include <vector>
|
| #include <limits.h>
|
| using namespace std;
|
| #ifndef VECTOR_SIZE
| #define VECTOR_SIZE LONG_MAX
| #endif
|
| int
| main(void)
| {
| vector<float> V;
| size_t k;
|
| for (k = 0; k < VECTOR_SIZE; k++)
| V.insert(V.end(), 1.0 * k);
| cout << V.size() << " elements added" << endl;
| return 0;
| }
Παρατήρησε όμως πως η όποια διαφορά έχουν δεν οφείλεται στην επιλογή της
γλώσσας, αλλά σε άλλους παράγοντες.
> Οποτε αν η σπαταλη φυση του amarok ειναι ενα μειονεκτημα του γεγονοτως
> οτι ο κωδικας του ειναι πιο απλος, και δεδομενου του νομου του moore
> για τα pc, δεν ειναι και τοσο σπαταλο για τις δυνατοτητες του.
Δεν έχω δει τον πηγαίο κώδικα του amarok, αλλά το έχω δει να τρέχει.
Δε μπορώ να πω ότι φαίνεται άσχημο και με όλα αυτά τα features σε ένα
μεγάλο, ελκυστικό πακέτο δε θα το κακολογήσω επειδή είναι απαιτητικό.
Ίσως ο Μιχάλης να έχει δει κάτι περισσότερο και το λέει "βαρύ".
More information about the Linux-greek-users
mailing list