8 και 16 bit θρύλοι και αναμνήσεις

Ναι ... εχεις δικιο σ'αυτο.
Η ασυμφωνια εκδοσεων ειναι, με διαφορα, το τραγικοτερο προβλημα.
Μετα ερχεται το memory bloat .... πολυ μετα.

Ομως, αυτο που δεν καταλαβα ειναι ΓΙΑΤΙ σοβαρες εταιριες (οπως η Adobe)
κανουν κλησεις στα Msvcrt και λοιπα system dlls .... και δεν γραφουν ΜΟΝΕΣ τους
τον αντιστοιχο κωδικα.

Ποτε δεν το καταλαβα !!!!
(καποιες πολυ συγκεκριμενες εταιριες διαθετουν τους καλυτερους προγραμματιστες στον κοσμο ...
σιγουρα μπορουν να τα γραψουν ΟΛΑ μονες τους .... )
 
Last edited:
Απάντηση: Re: 8 και 16 bit θρύλοι και αναμνήσεις

Ναι ... εχεις δικιο σ'αυτο.
Η ασυμφωνια εκδοσεων ειναι, με διαφορα, το τραγικοτερο προβλημα.
Μετα ερχεται το memory bloat .... πολυ μετα.
Δεν υπάρχει memory bloat, τουλάχιστον στα πολυδιεργαστικά λειτουργικά των τελευταίων 15-20 ετών. Όταν 10 εφαρμογές θέλουν το libssl, αυτό φορτώνεται μία φορά. Αν είχες 10 διαφορετικές υλοποιήσεις του libssl σε 10 static binaries, τότε θα είχες memory bloat. Όπως είπα τα shared libraries είναι κάτι πολύ καλό αφού α. απαλλάσουν τον προγραμματιστή να υλοποιεί ξανά και ξανά τα ίδια πράγματα και β. σε πολυδιεργαστικά περιβάλλοντα που πολλές εφαρμογές κάνουν χρήση της ίδιας βιβλιοθήκης έχεις όφελος και σε χώρο στο δίσκο (σημαντικό κάποτε - όχι πια) και στη μνήμη εκτέλεσης.

Από την άλλη, αν θες να διανέμεις ένα binary σε 10 διαφορετικά Linux distro, δεν έχεις καμία άλλη επιλογή παρά να κάνεις statically linked binary, αφού κάθε διανομή έχει ένα τελείως διαφορετικό σετ από βιβλιοθήκες.
 
Περα απο την δυσκολια συγγραφης καινουργιου κωδικα (κωδικα που ηδη παρεχεται απο την MS)
δεν φορτωνονται ΟΛΑ τα system dlls μαζι με το λειτουργικο (εκτος αν κανω τοσο λαθος, εσεις θα μου πειτε).
ΑΝΕΤΑ, μπορει μια εφαρμογη να φορτωσει τις δικες της βιβλιοθηκες .... και να τις ξεφορτωσει οταν
πια θα τερματιστει.

Kαι δεν μιλαω για τα redistributable runtimes της MS για Visual C (Msvcrt.dll, Msvcp50.dll, Crtdll.dll, κλπ)
αλλα ..... για εκεινα τα υπερωκεανεια που ακουν στο ονομα ..... NET frameworks ! Tι πραγματα ειναι αυτα !
Ναι, βοηθουν τον προγραμματιστη ... αλλα απο την αλλη .... τον καλομαθαινουν μεχρι απαθειας και αδρανειας.
 
:laugh::laugh::laugh:

Εξαρταται τι γιατρος ειναι !

Παντως, εφαρμογιδια της πλακας (NLite, κλπ) να ζητανε NET Framework 3.0 (η 4.0)
δεν το χαρακτηριζεις ως ακρον αωτο κομψοτητας και οικονομιας. Καπου εχει χαθει η μπαλα.
 
Τι σχέση έχει τώρα το .net framework. Το .net δεν είναι απλώς βιβλιοθήκες αλλά ένα ολόκληρο application interface (api). Οι εφαρμογές .net είναι "θεωρητικά" cross platform, φαντάσου πως είναι κάτι αντίστοιχο με τη Java, ο compiler βγάζει όχι x86 bytecode αλλά MSIL bytecode και είναι optimized για JIT compilers.
 
Ναι, δεν εχει σχεση με την δεσμευση μνημης.
Εχει ομως σχεση με την μοδα καποιων προγραμματιδιων ... να το απαιτουν.
Δεν γνωριζω για Just In Time compilers, οποτε δεν μπορω να αποφανθω για
την αναγκαιοτητα τους. Ουτε καν Java γνωριζω ....

Αυτο που αναπολω, ομως, ειναι εποχες οπου ολα γραφονταν ... from scratch.
Αυτο εχει την δυσκολια του .... αλλα εχει και την μαγεια του. Εαν μπορουσες
να γραψεις μια ρουτινα putpixel ... δεν υπηρχε κανενας περιεργος τροχονομος
(η τροχονομοι) να πεταχθει απο το πουθενα (λεγε με λειτουργικο) και να σου
φρεναρει το συμπαν.

Ετρεχες αδεσμευτος σε full speed ... :surf-aki: ... (οσο speed επετρεπε το hardware).
ΑΥΤΟ, σημερα, απλα .... ειναι ονειρο απατηλο. Επισης, ο κωδικας (τοτε) ηταν 8086 !!!!
Aκομα και αν τον ετρεχες σε 486 .... Σημερα, οι επεξεργαστες δουλευουν, εσωτερικα,
ως RISC και βγαινοντας εξω απο τον καταχωρητη .... ως CISC.
 
Last edited:
Δεν ειμαι επαγγελματιας (καρντια μου) :proud: ..... ερασιτεχνης και oνειροπολος ειμαι ! :rolleyes:
Μονο ετσι παραμενεις εραστης με ολα αυτα (τα παλια και καλα :p).
 
Εαν μπορουσες
να γραψεις μια ρουτινα putpixel ... δεν υπηρχε κανενας περιεργος τροχονομος
(η τροχονομοι) να πεταχθει απο το πουθενα (λεγε με λειτουργικο) και να σου
φρεναρει το συμπαν.

H putpixel έφερε την putline, αυτή την putcircle και τελικά, για να μην τα ξαναγράφεις τα έβαλες σε μία βιβλιοθήκη για να τα χρησιμοποιήσεις και σε ένα επόμενο project.
Και κάπως έτσι ξεκίνησες να γράφεις ένα "framework" (που λέει ο λόγος).
Για να έχει αξία ο κώδικας που γράφεις πρέπει να είναι reusable. Όχι να γράφεις κάθε φορά τα πάντα από το 0.
Και από τη στιγμή που υπάρχουν έτοιμες βιβλιοθήκες, δύσκολα κάποιος εργοδότης (ή πελάτης) θα δεχθεί να πληρώσει το χρόνο που θα χρειαστείς να ανακαλύψεις τον τροχό.
 
Μα δεν μιλαω για τοσο αυτονοητο επιπεδο ολοκληρωσης (και ομαδοποιησης).
Οπως πολυ καλα γνωριζεις, υπαρχει τροπος να κανω εναν πολλαπλασιασμο ΧΩΡΙΣ overflow checking
και ... ΜΕ overflow checking. Στην δευτερη περιπτωση (και αν μιλαμε για χιλιαδες πολλαπλασιασμους
σε εναν framebuffer) παει περιπατο η ταχυτητα. Bεβαια, το 1988, πολυ ευκολα ενας framebuffer
ξεπερνουσε τα 65535 εικονοστοιχεια (τους ενος byte). Σημερα .... ειναι αστειο μονο που το λεμε.

Aρα αν θελεις να εισαι ΠΑΝΤΑ SAFE ... θα εισαι ΠΑΝΤΑ SLOW. Και αυτο ειναι η σωστη επιλογη για
πολυ μεγαλα προγραμματα και εφαρμογες. Αν ομως εισαι χομπιστας .... ειναι κλεψιμο καραμελας
μεσα απ'το στομα. Ετσι ακριβως το βλεπω ! Ως χομπιστας :p ....
 
Last edited:
Μπορείς να είσαι και (εικονικά) γρήγορος. :p
Ακόμη και σε εφαρμογές στο internet που έχεις να κάνεις με πράγματα που δεν ελέγχεις, όπως π.χ. την σύνδεση του άλλου.
Παίζεις με διάφορα output buffer flush, ajax calls αφού φορτώσεις τη σελίδα, κλπ κλπ και ο χρήστης νομίζει ότι πας σφαίρα. :p
Πέρα φυσικά από το cache manipulation ή ακόμη, εδώ και κάποια χρόνια το permanent storage του χρήστη.
 
Αjax ? :chinscratch:.... για τα τζαμια ? :laugh: ....

Γραφεις πραγματα που δεν καταλαβαινω. :laugh:
Αντιλαμβανομαι οτι εχω μεινει στον προγραμματισμο αρχων του '90 (να μην πω, τελων του '80).

SINGLE USER, SINGLE TASK and PROCEDURAL !
 
Last edited:
Σαν το Μπλεκ ένα πράγμα.
Όσο διαβάζεις εσύ αυτό που κυκλοφορεί στα περίπτερα, τυπώνεται το επόμενο.
Αν έκανες μία βδομάδα να το διαβάσεις δεν θα καταλάβαινες ότι πρέπει να περιμένεις για να πάρεις το επόμενο. :p
 
Δεν υπηρχε σοβαρη cache το 1988. Oυτε προγραμματιστικη κουλτουρα με caches.
Η μοναδικη cache ηταν .... να γινονται ολα μεσα στους καταχωρητες της CPU.
Oχτω καταχωρητες (των 2 byte) ολοι και ολοι.

ΚΟΛΑΣΗ ! .... :laugh:
 
@SR71B: Μου θυμίζεις κατί ανόητους (κατά τη γνώμη μου) διαγωνισμούς που γίνονταν στα διάφορα demo events της δεκαετίας του 90, του στυλ "φτιάξτε κώδικα που να κάνει το Χ σε 300 bytes". Φαινόταν ήδη ανόητο το 199Χ, πόσο μάλλον το 201Χ. Τι σημασία έχει αν θα κερδίσεις 2-3 byte σε optimization κώδικα την εποχή των GB και TB; Αυτά ήταν ενδιαφέροντα την εποχή των 16 και 64Κ RAM, πλέον εδώ και 20 χρόνια είναι αδιάφορα.
 
Τι κουτόχορτο τρώμε σήμερα. Είχα μια ώρα που μιλούσα με ένα φίλο μου και επέμενε πως η Intel καλά κάνει που δε μας δίνει 6core και 8core μηχανήματα. Σκεφτόμουν το παρόν νήμα και τι καλά που ήταν παλιά. Που μέρα με τη μέρα βλέπαμε καινοτομίες. Σήμερα τίποτα. Τους έχουν χαζέψει οι κάθε πληρωμένοι που γράφουν όπου βρουν.

Σύμφωνα με τη λογική του, καλά κάνει που δε μας τα δίνει καθώς δεν χρειαζόμαστε την πολυεπεξεργασία. Άλλωστε όλες οι εφαρμογές είναι single core. Επίσης πριν μερικά χρόνια η AMD που το δοκίμασε απέτυχε άρα έτσι είναι το σωστό. Το γεγονός πως μας τα αρπάζουν με το σταγονόμετρο δεν το παραδέχεται. Επιμένει πως για να δώσει το κάτι τις παραπάνω θα πρέπει η τιμή να διπλασιαστεί. Αυτά και πολλά άλλα.

Sorry για το offtopic αλλά έχω βαρεθεί να περιμένω να κάνω αναβάθμιση.
 
@SR71B: Μου θυμίζεις κατί ανόητους (κατά τη γνώμη μου) διαγωνισμούς που γίνονταν στα διάφορα demo events της δεκαετίας του 90, του στυλ "φτιάξτε κώδικα που να κάνει το Χ σε 300 bytes". Φαινόταν ήδη ανόητο το 199Χ, πόσο μάλλον το 201Χ. Τι σημασία έχει αν θα κερδίσεις 2-3 byte σε optimization κώδικα την εποχή των GB και TB; Αυτά ήταν ενδιαφέροντα την εποχή των 16 και 64Κ RAM, πλέον εδώ και 20 χρόνια είναι αδιάφορα.


Ακριβώς. Μια εργατοημέρα ενός καλού προγραμματιστή στοιχίζει άνετα 400 . Με τόσα χρήματα αγοράζεις έναν τόνο processing power και RAM. Δεν έχει κανένα πρακτικό νόημα.

Αν είσαι χομπίστας βέβαια και απλά ψάχνεις που να κάψεις τον ελεύθερο χρόνο σου, όλα είναι θεμιτά..

--- Αυτόματη συγχώνευση μηνύματος ---

Τι κουτόχορτο τρώμε σήμερα. Είχα μια ώρα που μιλούσα με ένα φίλο μου και επέμενε πως η Intel καλά κάνει που δε μας δίνει 6core και 8core μηχανήματα. Σκεφτόμουν το παρόν νήμα και τι καλά που ήταν παλιά. Που μέρα με τη μέρα βλέπαμε καινοτομίες. Σήμερα τίποτα. Τους έχουν χαζέψει οι κάθε πληρωμένοι που γράφουν όπου βρουν.

Σύμφωνα με τη λογική του, καλά κάνει που δε μας τα δίνει καθώς δεν χρειαζόμαστε την πολυεπεξεργασία. Άλλωστε όλες οι εφαρμογές είναι single core. Επίσης πριν μερικά χρόνια η AMD που το δοκίμασε απέτυχε άρα έτσι είναι το σωστό. Το γεγονός πως μας τα αρπάζουν με το σταγονόμετρο δεν το παραδέχεται. Επιμένει πως για να δώσει το κάτι τις παραπάνω θα πρέπει η τιμή να διπλασιαστεί. Αυτά και πολλά άλλα.

Sorry για το offtopic αλλά έχω βαρεθεί να περιμένω να κάνω αναβάθμιση.

Αν πρέπει να κάνεις αναβάθμιση, τι ακριβώς περιμένεις; Υπάρχουν μια χαρά hi end επεξεργαστές αν τους έχεις ανάγκη.

Αν δεν πρέπει να κάνεις αναβάθμιση, ποιο ακριβώς είναι το παράπονο; ;)

Η Intel τα τελευταία χρόνια στο desktop computing το έχει ρίξει στην οικολογία.. Λογικό, μιας και ούτως ή άλλως με τις εφαρμογές που τρέχει το 90% των χρηστών αυτοί είναι ικανοποιημένοι από έναν επεξεργαστή πενταετίας+. Οπότε με κάθε νέα γενιά στο mainstream segment δίνουν λίγο μεγαλύτερο processing power με ταυτόχρονα μικρότερη κατανάλωση. Έχουν όμως πάντα και "τερατάκια" για αυτούς που πραγματικά τα έχουν ανάγκη (και άρα θέλουν & μπορούν να τα πληρώσουν). Όπως γινόταν πάντα δηλαδή.

Στο server market από την άλλη που η απόδοση μετράει, η εξέλιξη είναι μια χαρά ραγδαία.. Η Intel στην επόμενη γενιά Xeon που θα ανακοινώσει θα προσφέρει έως και 32-core επεξεργαστές.
 
Το πρόβλημά ΜΑΣ είναι πως μας πουλάνε χάντρες αντί για τεχνολογία. Δε μπορώ να δεχτώ πως ακόμη υπάρχουν 4core i7. Πρόσεχε δε ζητάω υπερβολές. Αλλά το επόμενο βήμα σε λογική τιμή. Ναι να δώσω 300+ για CPU αλλά να έχει αξία να τον αναβαθμίσεις. Δηλαδή από το 2010 μέχρι σήμερα δεν έχει βελτιωθεί η τεχνολογία ώστε να έχεις "οικονομικούς" 6core; Πως είναι δυνατόν να έχουμε πάει από τους αναιμικούς SSD στα τέρατα με 3GB/s διαμεταγωγή και δεν έχουμε μπορέσει να σούμε κάτι στους επεξεργαστές;

Παλιά αναβάθμιζες από τον 486 στον Pentium και νόμιζες πως αγόρασες διαστημόπλοιο. Τώρα θες τα ίδια χρήματα και πάλι δεν κάνεις δουλειά.