Προς το περιεχόμενο

Pio efkolh glosa progr


polidis

Προτεινόμενες αναρτήσεις

Καλά δε χρειάζεται να βρεις άλλα... Καταλαβαίνω. Αυτό πάντως που ξέρω εγώ είναι ότι η αρχική real-time έννοια χρησιμοποιούτανε για συστήματα που θα έχουνε καταστροφικά αποτελέσματα για τον άνθρωπο. Τώρα αν με το πέρασμα του καιρού άρχισε να χρησιμοποιείται και σε άλλους τομείς διότι έπρεπε τα συστήματα να ανταποκρίνοντε σε συγκεκριμένο χρόνο είναι άλλη υπόθεση. Πάντως με τους ορισμούς που μας παραθέτεις θα μπορούσα να ονομάσω άνετα μία Applet που διαβάζει τιμές χρηματιστηρίου από ένα διακομιστή ή μία άλλη Applet που χρησιμοποιείται ως πελάτης (client) για ένα παιχνίδι πολλαπλών παιχτών (multiplayer game) ως real-time. Να, είδες λοιπόν πως μπορεί να χρησιμοποιηθεί η Java για real-time εφαρμογές;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 85
  • Δημ.
  • Τελ. απάντηση

Επειδή γίνεται συζήτηση πάνω σε αρκετά σοβαρή βάση, παραθέτω ένα άρθρο όπως το βρήκα στο δίκτυο με βιβλιογραφία και τα πάντα. Προσωπικά να αναφέρω ότι ασχολούμε κυρίως με C++, δεν έχω σπουδάσει ηλεκτρολόγος μηχανικός ή πληροφορική, σπουδάζω τοπογ. μηχανικός και ασχολούμε σε σύγκριση με εσάς εδώ και μόλις 2-2.5 χρόνια με τον object oriented προγραμματισμό (έμπειρα συστήματα, c++, CLIPS, Prolog). Αν και καθυστερημένα μπαίνω στη συζήτηση έχω την εντύπωση ότι η άποψη του καθενός σχετικά με το ποιά είναι η προτιμότερη ή αν θέλετε "τελειότερη" γλώσσα προγραμματισμού έχει να κάνει με το σε ποιά γλώσσα προγραμματισμού έχει επενδύσει ο καθένας από εμάς τον περισσότερο χρόνο του. Φαντάζομαι ότι έχετε επενδύσει αρκετά περισσότερο απ' ότι εγω λόγο της μεγαλύτερης ενασχόλησης σας με το προκείμενο θέμα. Έτσι από μία άλλη σκοπιά πιστεύω ότι ανάλογα με την εφαρμογή, το πεδίο ενασχόλησης του καθενός και τις απαιτήσεις που αυτό έχει πρέπει να γίνεται η επιλογή της κατάλληλης γλώσσας. Γνωρίζω πολλά παιδιά τα οποία με χρήση της VB κάνουν πράγματα τα οποία τους ικανοποιούν απόλυτα. Από την πλευρά του σχεδιασμού όμως η VB δεν είναι σωστός προγραμματισμός όπως πολύ σωστά είπε ο bandito. <p>Σε καμμία περίπτωση δεν δέχομαι ότι η Java είναι το ίδιο γρήγορη από την C++. Δεν μπορεί να γίνει αυτό από την στιγμή που η Java είναι είναι ένα interpreted σύστημα και όχι compiled. Όσον αφορά το τεστ που παρέθεσες φίλε Γηριόνη χρησιμοποιεί αν είδα καλά την VC++ 5. Δες την 6 ή την .net. Δεν υπερασπίζομαι σε καμμία περίπτωση την Microsoft. Σίγουρα η J++ δεν είναι το φόρτε της για αυτό το λόγο πέταξε στο προσκύνιο την C#. Όσον αφορά το κεφάλαιο memory allocation ή ακόμη το memory leaking έχουν γίνει κάποιες αλλαγές οι οποίες διευκολύνουν τον χρήστη στην περίπτωση που ξεχάσει να διαγράψει την ήδη διαχειρισμένη μνήμη από το free space. Από ότι διάβασα πάντως ή Java τα καταφέρνει πιο εύκολα σε αυτό το ζήτημα. Για να μην μακρυγορώ παραθέτω το link. Ίσως είναι μία άλλη άποψη:<p>http://www.cs.colostate.edu/~cs154/PerfComp/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

globc23 - sigoura exeis dikio se auta pou les. Epeidh malon to link sou einai ligo palio egw tha sou parathesw ena kapws pio prosfato pou vrika. http://verify.stanford.edu/uli/java_cpp.html<p>Oson afora auto pou les oti yperaspizei o kathenas thn glwssa pou douleuei perisotero mporei na exeis dikio. O kathe tomeas ths plhroforikhs xrhsimopoiei kapoies glwsses programatismou perisotero apo kapoies alles kai auto einai logiko. Opws autos pou ftiaxnei programata pou kanoun polyplokous ypologismous h einai real time sigoura thelei performance, etsi kai autos pou ftiaxnei paradeigma GUI gia database h web,e-commerce efarmoges thelei thn dikh tou eukolia. H xrhsimopoihsh ths kathe glwssas se opoiodhpote tomea ths plhroforikhs fenetai eukola me mia matia sthn agora. Poios xrhsimopoiei ti, giati, kai pou to xrhsimopoiei.<p>Kanonika tha eprepe an kapoios rwtaei "poia glwssa einai kalytero na mathei" na lei prwta "ti thelei na ftiajei". Oles oi glwsses pou xrhsimopoiountai shmera exoun efarmogh se sygekrimenous tomeis. Kamia glwssa programatismou den kaliptei olous tous tomeis ths plhroforikhs. Pisteuw oti h syzhthsh pou egine se auto to topic htan kalh an kai to exoume parakanei ligo kai exoume fygei ektos thematos. Anarwtiemai ti tha lei gia ola auta o polidhs pou ekane mia aplh erwthsh kai katalhje na diabazei xilia dyo.<p>Auto pou thelw na thijw oson afora to performance einai oti se epipedo server (kai den milaw mono gia server x86, milaw gia SUN h IBM power4 ...) den exw dei kanena benchmark gia glwsses programatismou kai tha ithela na dw. Edw paizoun kai alla pragmata rolo opws paradeigma h parallhlh epejergasia kai alla pola. Sigoura oloi theloume performance. Auto pou leme omws einai oti se epipedo PC (client efarmogwn) to thema performance tinei na ejaliftei. H megalh diafora xronou sthn ektelesh programatwn konteuei na ginei anektikh apo ton xrhsth. Otan kapote mia egarmogh C++ ithele xrono ekteleshs 2sec se epejergasth x86 500MHz enw se Java h idia efarmogh 4 sec, tote katalabaines th diafora. An omws se epejergasth x86 2GHZ thelei 0.5 sec gia thn C++ enw gia th Java 1sec tote ta pragmata allazoun kapws kai o xrhsths "isws" na mporei na anextei auth th diafora. To poso anektikh mporei na ginei auth h diafora sto performance stous diaforous tomeis ths plhroforikhs, mono o xronos mporei na to dijei.<p>Omws pisteuw oti ginetai megalh prospatheia kai sthn beltistopoihsh tou VM ths Java pou exei beltiothei para poly apo thn prwth ekdosh Java mexri shmera. Aloste to prformance einai ena apo ta shmeia pou skopeuei na xtyphsei to CRL tou .NET thn Java.<p>Telos kai epidh pisteuw oti to exoume ejantlhsei pleon to thema kalo tha einai opoios thelei na mathei kapoia glwssa programatismou na apofasisei prwta me poion sygekrimeno tomea ths plhroforikhs thelei na asxolithei kai meta na dialejei glwssa programatismou. Ama einai na asxolithoume me to performance ths Java perisotero kalytera na anoijoume ena kainourgio topic.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κατ αρχάς φίλε glob να σου πω ότι συμφωνώ με το γεγονός ότι οι γνώμες των περισσότερων στηρίζοντε πάνω στη γλώσσα με την οποία είμαστε πιο πολύ δεμένοι. Επίσης συμφωνώ (και μαζί με τους υπόλοιπους που το υποστηρίζουνε) ότι η VB είναι περισσότερο RAD εργαλείο παρά κανονική γλώσσα προγραμματισμού.<p>Όσον αφορά τη Java να σου πω εδώ ότι η Java δεν ερμηνεύεται (interpret) αλλά αποδελτιώνεται (compile). Ο πηγαίος κώδικας της Java αποδελτιώνεται σε μία διάταξη (bytecode) που είναι ικανή να διαβαστεί από την Εικονική Μηχανή (Virtual Machine). Το bytecode είναι η αντίστοιχη Αssembly της Εικονικής Μηχανής. Όπως μπορείς να γράψεις πηγαίο κώδικα σε Assembly έτσι μπορείς να γράψεις πηγαίο κώδικα απ ευθείας σε bytecode. Όπως ακριβώς ο πηγαίος κώδικας της C++ μας δίνει assembly κώδικα (διογκωμένο βέβαια με κώδικα που εσύ δεν έγραψες αλλά ο αποδελτιωτής τον παρήγαγε έτσι και αλλιώς) έτσι και ο πηγαίος κώδικας της Java μας δίνει bytecode (μόνο όμως ό,τι έγραψες, χωρίς επιπρόσθετες βιβλιοθήκες κλπ). Το bytecode μετά ερμηνεύεται/διαβάζεται/εκτελείται από την Εικονική Μηχανή έτσι όπως ερμηνεύεται/διαβάζεται/εκτελείται και ο συναρμολογούμενος (assembly) κώδικας από την κεντρική μονάδα επεξεργασίας.<p>Όσον αφορά την ταχύτητα της Java Εντάξει τι να κάνουμε, είναι πιο αργή, είπε κάποιος το αντίθετο (αν και σε σημεία μπορεί να γίνει το ίδιο γρήγορη όπως και η C++ όπως έγραψα πιο πάνω); Αλλά για πες μου κάτι. Για ποιό λόγο διάλεξες (αυτή η ερώτηση δεν επευθύνεται μόνο σε εσένα αλλά σε όλους) τη C++/C/Smalltalk/οποιαδήποτε άλλη (εκτός από Assembly και Java); Για την ταχύτητα; Όχι βέβαια. Δε σε ενδιαφέρει η ταχύτητα. Καταδικάζεις τη Java ως αργή αλλά εσύ ο ίδιος επιλέγεις μία γλώσσα η οποία είναι επίσης αργή σε σχέση με την Assembly. Αν πραγματικά σε ενδιάφερε η ταχύτητα θα έγραφες σε Assembly και μόνο σε Assembly (ή ακόμα καλύτερα (χειρότερα) σε γλώσσα μηχανής. Εκεί να δεις ταχύτητα). Οπότε η δικαιολογία ότι επέλεξες την Α, Β, Γ γλώσσα για την ταχύτητά της είναι άτοπη. Απλό και λιτό.<p>«Πώς τι είπες;» Α.. Επέλεξες C++/(είπαμε εδώ βάζετε τη γλώσσα της προτίμησής σας) γιατί κάνει τον προγραμματισμό πιο εύκολο και ξεκούραστο από την Assembly. Η Java να δεις πόσο πιο εύκολο τον κάνει από τη C++. Αλλά εγώ συνεχίζω. «Μα... καλά αφού η C++ είναι πιο αργή. Εσύ πριν μου έλεγες...». Αχα, τώρα σε καταλαβαίνω καλύτερα. Δε σε νοιάζει αν χαραμίσεις μερικές εκατοντάδες χιλιοστά του δευτερολέπτου. Μα μήπως εμένα με νοιάζει με υπολογιστές που αγγίζουνε τα 2GZ και το 1.5ΜΒ μνήμη; Όχι βέβαια. Θα έπρεπε να ήμουνα παρανοϊκός για να με νοιάξει.<p>Η C++ έχει βιβλιοθήκες. Η Java έχει επίσης (και πιο πολλές θα έλεγα). H C++ είναι αντικειμενοστραφής (ΟΟ). H Java είναι επίσης. Η C++ κάνει τον προγραμματισμό δικτύων πιο εύκολο. Πίστεψέ με η Java τον κάνει ακόμα ευκολότερο. Η C++ τρέχει μόνο σε Solaris. Χα... έχασες φιλαράκι, η Java τρέχει παντού. Θα μπορούσα να γράφω για ώρες αλλά θα βαρεθείτε, οπότε σταματάω εδώ.<p>Η ταχύτητα είναι το μόνο αρνητικό που μπορείτε να προσάψετε στη Java σε σχέση με τη C++. ʼλλωστε όλες οι συγκρίσεις που γίνοντε μεταξύ Java και C++ γίνοντε μόνο πάνω στο χρόνο. Πουθενά αλλού. Γιατί άραγε; Πολύ απλό. Γιατί οπουδήποτε αλλού η Java υπερέχει. Όπως υπερέχει και η Assembly έναντι της γλώσσας μηχανής σε οποιονδήποτε άλλο τομέα εκτός της ταχύτητας.<p>Και πρωτού κλείσω σκεφτήτε τρία πράγματα. <p>1) Η Java έχει μόνο εφτά χρόνια που βγήκε και έχει καταφέρει αυτό που η C++ το κατάφερε μέσα σε είκοσι χρόνια. Ο τομέας Java είναι ακόμα ανοιχτός και επιδέχεται πάρα πολλές βελτιώσεις.<p>2) Πόση διαφορά θα έχει η Java από τη C++ όταν τρέχει πάνω σε υπεργρήγορους υπερυπoλογιστές της Sun, της IBM ή της HP;<p>3) Με τους JIT (οι οποίοι μετατρέπουνε το bytecode απ ευθείας σε γλώσσα μηχανής) να βελτιώνοντε συνέχεια η Java στο τέλος θα φτάσει τη C++ σε ταχύτητα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επίσης συμφωνώ (και μαζί με τους υπόλοιπους που το υποστηρίζουνε) ότι η VB είναι περισσότερο RAD εργαλείο παρά κανονική γλώσσα προγραμματισμού.<p>nai. alla i vb ftiaxnei eukola mikroefarmoges(kathos einai rad tool) kai episis xrisimopoieitai kai sto office... (billakos :> )<p>Anyway, pisteuo ama xereis C/vb/java einai ok :> ta epiases ola smile.gif" border="0<p>[ 19-01-2002: Το μήνυμα επεξεργάστηκε από: Dvs ]</p>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε Γηριόνη, αν κατάλαβες ότι είμαι απόλυτος τότε κάνεις πολύ μεγάλο λάθος. Δεν καταδικάζω ούτε είμαι σε θέση να καταδικάσω καμμία γλώσσα προγραμματισμού. H Java είναι μία γλώσσα προγραμματισμού ανερχόμενη με πολύ μεγάλες δυνατότητες. Δεν νομίζω άλλωστε οι απανταχού ερευνητές να σπαταλούσαν χρόνο για να δημιουργήσουν κάτι το οποίο δεν θα είχε δυνατότητες. Ναι ειδικά για δίκτυα όπως λες έχει πολύ μεγάλη ισχύ και παρέχει μεγαλύτερη ευέλιξια από τη c++. Ο λόγος που προτίμησα να ασχοληθώ με c++ έχει να κάνει με το πεδίο εργασίας μου. Για να γίνω πιο συγκεκριμένος: Επεξεργασία εικόνας, GPS. Όταν έψαχνα κάποτε να βρω ποιο προγραμματιστικό εργαλείο να χρησιμοποιήσω έκανα ένα απλό query σε μία μηχανή αναζήτησης και είδα ότι όσον αφορά δορυφόρους, real time διορθώσεις τροχιάς, αποκωδικοποίηση δορυφορικού σήματος κ.ο.κ. η συντριπτική πλειψηφία των προγραμμάτων ήταν γραμμένη σε C++. Ακολουθούσαν προγράμματα σε basic μέχρι και perl. Java δεν είδα πουθενά. Αυτό δεν το λέω για να υπονοήσω κάτι. Απλά δεν την είδα και για το λόγο αυτό δεν την χρησιμοποιήσα. Έτσι αποφάσισα με ποιό εργαλείο θα ασχοληθώ. Για μένα η C++ τόσο από μεριάς αντικειμενοστραφους σχεδιασμού όσο και από πλευρά νοοτροπίας με καλύπτει πλήρως. Δεν με ενδιαφέρει το τι μπορείς να κάνεις με την Java, γιατί δεν με συμφέρει να την χρησιμοποιήσω σε αυτό που κάνω. Να είσαι σίγουρος ότι μόλις φτάσω στο επίπεδο αυτό που επιθυμώ, η Java θα είναι η αμέσως επόμενη επιλογή μου. Ναι γιατί τότε ζητήματα portability κτλ θα μετράνε για μένα. Ούτε λοιπόν καταδικάζω ούτε ποστάρω κάτι για να το ποστάρω. Εσύ έχεις μία τάση να θεοποιήσεις την αγαπημένη γλώσσα προγραμματισμού και να την επιβάλεις --αν θέλεις στον άλλον.<p>Έτσι για να μένουμε στο κεντρικό νόημα αυτού του topic. Προσωπική μου άποψη είναι ότι το καλύτερο για κάποιον που αρχίζει να προγραμματίζει τώρα είναι να αντιληφθεί τι θέλει να κάνει και στην συνέχεια να επιλέξει το εργαλείο που θα του δώσει τη δυνατότητα να το υλοποιήσει γρήγορα και σωστά. Μπορεί να είναι η VB, μπορεί να είναι η Java, μπορεί να είναι η C++. Να γνωρίζει μόνο τι θέλει να κάνει καθώς και τις δυνατότητες του εργαλείου που θα επιλέξει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε globc23, δεν απευθύνομαι προσωπικά σε εσένα. Ούτε και σε κάποιον άλλο εδώ μέσα. Πιστεύω ότι κάνουμε συζήτηση και όλοι ξέρουμε που να σταματήσουμε, που έχουμε δίκαιο και που άδικο. ʼλλωστε θέλω να πιστεύω ότι είμαστε επαγγελματίες και οι ανταλλαγές απόψεων που κάνουμε βασίζοντε πάνω στην εμπειρία μας και πάνω στις γνώσεις μας. Δεν προσπαθώ να επιβάλλω τη γνώμη μου (και τη Java γενικότερα). Αν προσέβαλα κάποιον κατα λάθος τότε ζητάω συγγνώμη. ʼλλωστε αν διάβασες προσεκτικά προηγούμενες καταχωρήσεις μου θα δεις ότι εγώ ο ίδιος λέω ότι η Java δεν είναι πανάκεια και ούτε κάνει για όλα. Το είπα και το ξαναλέω. Η κατάλληλη γλώσσα στον κατάλληλο τομέα. Αν θέλω να γράψω μία βάση τότε δε θα το κάνω με C++/Java αλλά με SQL. Θα μπορούσα να το κάνω και με C++/Java βέβαια αλλά τη στιγμή που εγώ θα ίδρωνα μπροστά από τον υπολογιστή προσπαθώντας να την τελειώσω, κάποιος άλλος (που θα χρησιμοποιούσε SQL) θα ήτανε έξω και θα έπινε μπύρες με τα φιλαράκια του. Και μάλιστα θα είχε τελειώσε μέσα στο 1/10 του χρόνου που θα τελείωνα εγώ.<p>Αυτό που θέλω να τονίσω είναι ότι βλέπουμε μία τάση συνεχών κατηγοριών εναντίων της Java από τη στιγμή που δημιουργήθηκε. Αυτοί που τα βάζουνε μαζί της προσπαθούνε να τη χτυπήσουνε στο ευάλωτο σημείο της. Την ταχύτητα. Η Java δεν είναι αυτό, η Java δεν είναι εκείνο, η Java δεν μπορεί να κάνει το τάδε, η Java δεν κάνει για σοβαρές εφαρμογές (ναι το άκουσα και αυτό), η Java δεν είναι (και ποτέ δε θα είναι) τόσο γρήγορη όσο η ... (βάλε τε μία γλώσσα της αρέσκειάς σας εδώ) και χίλια δύο άλλα.<p>Εντάξει τι να κάνουμε δεν είναι τόσο γρήγορη όσο άλλες γλώσσες αλλά... give Java a chance. Πολλοί, κυρίως νεαρά παιδιά που τώρα αρχίζουνε προγραμματισμό, επιλέγουνε τη C++/C/οποιαδήποτε άλλη μόνο και μόνο επειδή διαβάσανε σε ένα περιοδικό ή σε ένα άρθρο ότι η Java είναι αργή ή ότι δεν κάνει για το συγκεκριμένο πράγμα, ή..., ή..., ή..., ή... Χωρίς βέβαια να το έχουνε ψάξει παραπάνω. Και επιπλέον έχεις τη Microsoft να υποστηρίζει ότι μπορείς να γράψεις ακριβώς την ίδια εφαρμογή σε .NET με το 1/8 του κώδικα της Java!! Όπως είπε και κάποιος σε μία mailing-list «Η Microsoft δεν μπορεί να απαιτήσει ιδιοκτησία της C++, δεν μπορεί να νικήσει τη Java οπότε τώρα έχουμε τη C#».<p>Μετά από τρία συνεχή χρόνια προγραμματισμού σε C++, μεταπήδησα στη Java γιατί στον τομέα που ασχολούμαι (τεχνολογίες Διαδικτύου και διανεμειμένα συστήματα) με βοηθάει αφάνταστα. Επιπλεόν όλα τα εργαλεία που χρειάζομαι έρχοντε δωρεάν. Αν ποτέ θέλω να γράψω λογισμικό για έναν πύραυλο θα χρησιμοποιήσω Ada. Αν πάλι θέλω να γράψω μία άκρως μαθηματική εφαρμογή θα χρησιμοποιήσω Fortran. Αν θέλω να επεξεργαστώ ένα XML αρχείο θα το κάνω με Java γιατί μου παρέχει πάρα πολλές βιβλιοθήκες. Η κάθε γλώσσα στο κατάλληλο πεδίο, γι αυτό άλλωστε υπάρχουνε τόσες πολλές, για να κάνουνε τη ζωή μας ευκολότερη και όχι για να διαφωνούμε για το ποια είναι καλύτερη και ποια είναι χειρότερη. Οπότε επιλέξτε τη γλώσσα που θέλετε και σταματήστε να γκρινιάζετε για το πόσο αργή είναι η Java. Στο κάτω κάτω αν δε σας αρέσει μην τη χρησιμοποιείται. Απλό και λιτό.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ante kai na doume poso grhgoro tha einai to .net (meta na dw ti tha leme gia performance). Pantws twra teleutaia blepw megalh efarmogh ths Java se smart cards. http://java.sun.com/products/javacard/.<p>Oson afora real time java yparxei kai malon xrhsimopoihtai (den jerw poios th xrhsimopoiei).

Real time java: http://www.rtjcom.com/general.html<p>Deite kai pou lene oti efarmojetai : Smart cards, smart card readers/writes and terminals, Electronic toys, Robotic controllers and manipulators, Small consumer devices - pagers, cellular phones, etc. Various embedded systems <p>To parakatw einai apo th sun ena java solutions marketplace gia na deite olous tous tomeis pou xrhsimopoihtai h java. http://industry.java.sun.com/solutions/<p>Pantos sxetika me to ti glwssa programatismou asxolite o kathenas tha ithela na ypenthimisw oti malon h agora tha mas deijei me ti glwssa na asxolhthoume para oi prosopikes mas ektimhseis h sympathies. An kai apo oti blepw yparxei mia tash pros microsoft edw sthn Ellhnikh agora se antithesh me alla europaika krath. Telos thelw na symfonisw apolyta me ton Dvs kai na pw oti h VB se efarmoges tou office kai allwn microsoft egarmogwn kanei thaumata.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για στάκα ρε Γηριόνη smile.gif" border="0 smile.gif" border="0 smile.gif" border="0 <p>Δυο posts πριν, χτυπιοσουν οτι η Java είναι καλύτερη απ'ολες γιατι δεν σε νοιάζει η ταχύτητα. Τώρα πάλι λές οτι η Java δεν κάνει για όλα. Ε αποφάσισε! Κάνει ή δεν κάνει?<p>Τώρα μερικές διορθώσεις. Η assembly δεν είναι προγραμματιστική γλώσσα και δεν έχει καμια διαφορα σε ταχύτητα απο την γλώσσα μηχανής.

Η assembly δεν έχει σύνταξη. Στην ουσία είναι ενα απλο γραμμικό parsing, που το μόνο που κάνει είναι να αλλάζει τα συμβολικά ονοματα (pseudo-instructions) και να τα κάνει δεκαεξεαδικούς χαρακτήρες, καθώς επίσης και να αποδίδει απόλυτες διευθύνσεις στα συμβολικά ονόματα. Πχ το παρακάτω<p>MOV 15d,OUT

σε γλώσσα μηχανής είναι ακριβώς το ίδιο πράγμα μονο που στην θέση του MOV, υπάρχει ένα δεκαεξαδικό opcode.<p>Οταν γράφεις σε C, αναζητώντας performance, θα γράψεις αναγκαστικά και assembly και πολλές φορές θα κοιτάξεις τον κώδικα που παρήγαγε ο c compiler, για να δείς αν κάτι υπάρχει παραπάνω. Επιπλέον, η C έχει μια τεράστια βάση πληροφοριών που η Java ούτε που την ονειρεύεται (αυτό δεν είναι κακό για την Java, απλώς οφείλεται στην ηλικία της C).<p>Η δημιουργία GUI δεν είναι προγραμματισμός αλλά ζωγραφική. Αν θεωρείται οτι αυτό είναι ρατσιστικό, τότε είμαι ρατσιστής. Αλλά δεν μπορώ να βάζω δίπλα στους προγραμματιστές που φτύνουν αίμα για μια μικρή βελτίωση σε ένα αλγόριθμο, ή για μια καινοτομία δίπλα στους προγραμματιστές που φτιάχουν κουμπάκια και προγράμματα φερε-δειξε-εκτυπωσε. Εσεις θα βάζετε τον Einstein στην ίδια μοίρα με τον καθηγητή της φυσικής στο Γυμνάσιο?<p>Για απλές εφαρμογές, η διαφορά της Java με την C, είναι μικρή εως ασήμαντη. Για πολυ μεγάλες εφαρμογές η διαφορά τους είναι τεράστια. Το λειτουργικό που χρησιμοποιείς σε τι είναι γραμμένο αραγε?<p>Το ρώτησα και πριν αλλά δεν απάντησε κανένας. Αφού οι υπολογιστές είναι τόσο super, duper γρήγοροι, τι τις θέλουμε τις καλές γλώσσες? Τι θέλουμε τις βελτιώσεις στους αλγόριθμους? Γιατι να κάτσω να ψάξω τον καλύτερο αλγόριθμο ταξινόμησης για την εφαρμογή μου, αφού τον επόμενο μήνα η Intel, θα έχει ανεβασει καμιά 200ΜΗz και θα είμαι Ο.Κ. Ακουτε εσεις εκεί της θεωρητικής πληροφορικής? ʼχρηστοι είστε, η Intel, δουλευει για εσας. Μην παλεύται να βελτιώσετε τους αλγόριθμους αναγνώρισης φωνής. Η μαμά Intel κάποια στιγμή θα βγάλει πιο γρήγορους επεξεργαστες και οι αλγόριθμοι θα τρέχουν μια χαρά εκεί (και ας μπορούσαν να είναι καλύτεροι, αλλά τι σας νοιάζει για κατι ms). <p>Όταν άρχισε να αναπτύσσεται η C, δεν υπήρχε αντίστοιχη γλώσσα προγραμματισμού, και τότε δειλά-δειλά έκανε τα πρώτα της βήματα η επιστήμη της πληροφορικής. Η Java είχει κάπου να πατήσει και δεν είναι συμπτωση οτι η σύνταξη της C , είναι τόσο διαβολικά όμοια με της C, και όχι με της ADA ή της Pascal για παράδειγμα.

 

Τέλος, προσπάθησε να ανοίξεις και ενα project με καμια δεκαριά αρχεια το καθένα και θα δείς την κατανάλωση μνήμης να πηγαίνει στα 100MB.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Re bandito to thema einai aplo. Pes mas poies etereies xrhsimopoioun C kai pou thn xrhsimopoioun, se ti eidous efarmoges?. Exeis dei efarmoges e-commerce se C? H mhpws oi efarmoges e-commerce einai ths plakas? An enoeis algorithmous sympieshs eikonwn, kryptografhshs, sympieshs hxou kai video h akoma kai egrafh driver gia periferiaka tote logiko einai na xrhsimopoihshs thn C. Alla gia pes mou poioi kai posoi programatistes asxolountai me auta? Mhn ta isopedwneis ola kai mhn anaferesai mono se apla GUI (oxi mono ekei pou se symferei). Gia des polyploka GUI me 2D h 3D grafika. Gia des distributed 3-tier efarmoges. Gia des efarmoges B2B kai B2C me XML kai xilia dyo. Ama einai kai autes ths plakas e tote ti na sou pw.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

kai kati akoma. H C sigoura htan h mama gia poles alles glwsses kai sigoura htan kainotomos glwssa otan ftiaxthke. Omws gia psakse na deis giati o object-oriented programatismos htan aparaithtos sto software engineering. Giati oi programatistes eixan anagh apo glwsses me reusable kodika, kai me poles dynatothtes se software design kai analysis. Des thn domh enos programatos se C kai enos se object-oriented glwssa programatismou. Poia einai kalyterh? Gia ena sxediasth logismikou ti einai kalytero na xrhsimopoiei? Giati den paradexesai oti oi object-oriented glwsses elysan polla provlimata stous sxediastes logismikou kai tous programatistes.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

<blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by bandito:

<strong>Για στάκα ρε Γηριόνη smile.gif" border="0 smile.gif" border="0 smile.gif" border="0 <p>Δυο posts πριν, χτυπιοσουν οτι η Java είναι καλύτερη απ'ολες γιατι δεν σε νοιάζει η ταχύτητα. Τώρα πάλι λές οτι η Java δεν κάνει για όλα. Ε αποφάσισε! Κάνει ή δεν κάνει?

</strong>

<hr></blockquote><p> Καλά θέλεις και τα λες ή σου ξεφεύγουνε; Για πες μου πού λέω ότι η Java είναι καλύτερη από όλες τις γλώσσες γιατί μου φαίνεται ότι λέω λόγια που τα ξεχνάω. Μήπως είπα ότι στον τομέα της είναι καλύτερη; Λέω μήπως; ʼλλωστε αν κοιτάξεις και προηγούμενες καταχωρήσεις μου (και σε άλλα θέματα) ανέκαθεν έλεγα ότι η κατάλληλη γλώσσα στον κατάλληλο τομέα. Αν πραγματικά είπα ό,τι υποστηρίζεις ότι είπα παράθεσέ το εδώ. Αλλιώς καλύτερα ας μην αναλωνόμαστε σε προτάσεις επίδειξης.<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Τώρα μερικές διορθώσεις. Η assembly δεν είναι προγραμματιστική γλώσσα

</strong>

<hr></blockquote><p>Χμμ....

A programming language that is once removed from a computer's machine language. Machine languages consist entirely of numbers and are almost impossible for humans to read and write. Assembly languages have the same structure and set of commands as machine languages, but they enable a programmer to use names instead of numbers.<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

και δεν έχει καμια διαφορα σε ταχύτητα απο την γλώσσα μηχανής.

Η assembly δεν έχει σύνταξη. Στην ουσία είναι ενα απλο γραμμικό parsing, που το μόνο που κάνει είναι να αλλάζει τα συμβολικά ονοματα (pseudo-instructions) και να τα κάνει δεκαεξεαδικούς χαρακτήρες, καθώς επίσης και να αποδίδει απόλυτες διευθύνσεις στα συμβολικά ονόματα.

</strong>

<hr></blockquote><p> Για το παραπάνω συμφωνούμε. Μπορεί να μην έχει σύνταξη (με την έννοια που εννούμε τη σύνταξη για τις γλώσσες υψηλού επιπέδου) αλλά αυτό δεν την κάνει μη-γλώσσα προγραμματισμού.<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Η δημιουργία GUI δεν είναι προγραμματισμός αλλά ζωγραφική. Αν θεωρείται οτι αυτό είναι ρατσιστικό, τότε είμαι ρατσιστής. Αλλά δεν μπορώ να βάζω δίπλα στους προγραμματιστές που φτύνουν αίμα για μια μικρή βελτίωση σε ένα αλγόριθμο, ή για μια καινοτομία δίπλα στους προγραμματιστές που φτιάχουν κουμπάκια και προγράμματα φερε-δειξε-εκτυπωσε. Εσεις θα βάζετε τον Einstein στην ίδια μοίρα με τον καθηγητή της φυσικής στο Γυμνάσιο?

</strong>

<hr></blockquote><p> Αν έχεις τα συστατικά (components) έτοιμα και απλώς τα κολλάς τότε δεν είναι. Αν όμως παιδέυεσαι να τα φτιάξεις από την αρχή τότε γιατί αυτός που γράφει έναν αλγόριθμο να είναι πιο «αληθινός προγραμματιστής» από έναν που γράφει ένα GUI; Και τα δύο απαιτούνε προγραμματιστικές γνώσεις;<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Για απλές εφαρμογές, η διαφορά της Java με την C, είναι μικρή εως ασήμαντη. Για πολυ μεγάλες εφαρμογές η διαφορά τους είναι τεράστια. Το λειτουργικό που χρησιμοποιείς σε τι είναι γραμμένο αραγε?

</strong>

<hr></blockquote><p> Κατ αρχάς κανένα λειτουργικό δεν είναι γραμμένο εξ ολοκλήρου σε C. O πυρήνας (kernel) είναι περισσότερο γραμμένος σε Assembly παρά σε C Ηθικό δίδαγμα: άρχισε να προγραμματίζεις εξ ολοκλήρου σε Assembly.<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Το ρώτησα και πριν αλλά δεν απάντησε κανένας. Αφού οι υπολογιστές είναι τόσο super, duper γρήγοροι, τι τις θέλουμε τις καλές γλώσσες? Τι θέλουμε τις βελτιώσεις στους αλγόριθμους? Γιατι να κάτσω να ψάξω τον καλύτερο αλγόριθμο ταξινόμησης για την εφαρμογή μου, αφού τον επόμενο μήνα η Intel, θα έχει ανεβασει καμιά 200ΜΗz και θα είμαι Ο.Κ. Ακουτε εσεις εκεί της θεωρητικής πληροφορικής? ?χρηστοι είστε, η Intel, δουλευει για εσας. Μην παλεύται να βελτιώσετε τους αλγόριθμους αναγνώρισης φωνής. Η μαμά Intel κάποια στιγμή θα βγάλει πιο γρήγορους επεξεργαστες και οι αλγόριθμοι θα τρέχουν μια χαρά εκεί (και ας μπορούσαν να είναι καλύτεροι, αλλά τι σας νοιάζει για κατι ms).

</strong>

<hr></blockquote><p> ʼτοπη ερώτηση αυτή που κάνεις... Αλλά θα σου απαντήσω. Κανένας δεν είπε ότι οι αλγόριθμοι δεν πρέπει να βελτιώνοντε. ʼλλωστε η πρακτική πληροφορική στηρίζεται στη θεωρητική. Η βελτιστοποίηση των αλγορίθμων έχει εφαρμογές σε πολλούς τομείς. ʼλλωστε αν δεν γίνει έρευνα πάνω σε αυτό η Intel (και η κάθε Intel) δε θα μπορεί να βγάλει καλύτερους επεξεργαστές. Και η θεωρία και η πράξη είναι άρρηκτα δεμένες μεταξύ τους. Ο αλγόριθμος ως αλγόριθμος μπορεί να βελτιστοποιηθεί, αλλά το αν τρέχει γρηγορότερα ή αργότερα σε κάποια γλώσσα είναι άσχετο. Γιατί όταν βελτιστοποιηθέι αυτό θα γίνει για όλες τις γλώσσες προγραμματισμού και όχι μόνο για μία. Ο χρόνος όμως στον οποίο τρέχει δεν έχει σημασία γιατί οι υπολογιστές είναι πολύ γρήγοροι.<p>Για να tο καταλάβεις καλύτερα. Πες ότι έχουμε έναν αλγόριθμο Α. Αυτός εκτελείται σε 2 στη C και σε 6 στη Java. Γίνεται βελτίωσή του και τρέχει 1 στη C και σε 3 στη Java. Γίνεται ακόμα καλύτερος τρέχει σε 0.5 στη C και 1.5 στη Java. Επίσης μέσα σε αυτό το διάστημα βελτιώνεται και η ισχύς του επεξεργστή και ο χρόνος πέφτει σε 0.25 και 0.75 αντίστοιχα. Βλέπεις λοιπόν ότι και τα δύο δουλεύουνε για ένα κοινό σκοπό. Επίσης με τη βελτιστοποίηση των αλγορίθμων έχουμε και καλύτερα (και όχι μόνο πιο γρήγορα) αποτελέσματα. Π.χ. η φωνή μπορεί να ακούγεται καθαρότερη, το χρώμα να φαίνεται πιο έντονο.<p>Αλλά για πες μας τώρα εσύ. Αφού σε ενδιαφέρει τόσο πολύ η ταχύτητα γιατί δεν αρχίζεις να γράφεις σε Assembly;<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Όταν άρχισε να αναπτύσσεται η C, δεν υπήρχε αντίστοιχη γλώσσα προγραμματισμού, και τότε δειλά-δειλά έκανε τα πρώτα της βήματα η επιστήμη της πληροφορικής. Η Java είχει κάπου να πατήσει και δεν είναι συμπτωση οτι η σύνταξη της C , είναι τόσο διαβολικά όμοια με της C, και όχι με της ADA ή της Pascal για παράδειγμα.

</strong>

<hr></blockquote><p> Υπήρχανε και άλλες γλώσσες όπως η Cobol (αν δεν απατώμαι) για παράδειγμα.<p> Και αν μοιάζει η σύνταξη της Java με τη C/C++ τι έγινε δηλαδή; Και της C# είναι ίδια με τη Java. Μας άκουσες ποτέ να λέμε ότι η σύνταξη της Java δε μοιάζει με τη C/C++; Αυτό δε σημαίνει τίποτα; Και αν η Java πάτησε πάνω στη C++ για να δημιουργηθεί και τι έγινε; Απόφυγε πολλές περίπλοκες λειτουργίες της C++ προς όφελος των προγραμματιστών.<p> <blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>

<strong>

Τέλος, προσπάθησε να ανοίξεις και ενα project με καμια δεκαριά αρχεια το καθένα και θα δείς την κατανάλωση μνήμης να πηγαίνει στα 100MB.

</strong><hr></blockquote><p>Με 1GB μνήμη νομίζεις ότι με ενδιαφέρει;<p>Εϊπαμε καλή και η C αλλά εκεί που πρέπει. Καταλάβετέ το. Σταματήστε να έχετε σύμπλεγμα κατωτερότητας ως προς τη Java. Ποτέ δεν είδα κάποιον που προγραμματίζει σε Java να αρχίζει να λέει ότι η C είναι εκείνο... είναι αυτό... είναι το άλλο. Αντιθέτως, όπου και να κοιτάξεις στο Διαδίκτυο και με όποιον κολλημένο C/C++ προγραμματιστή μιλήσεις με την πρώτη ευκαιρία θα σου το πετάξει το αγκάθι. H Java είναι αργή, η Java είναι ψεύτικη, η Java δεν είναι για «αληθινούς» προγραμματιστές. Δηλαδή τι; Φοβόσαστε μήπως μείνετε χωρίς δουλειά; Αφού είπαμε, ήρθανε να λύσουνε διαφορετικών ειδών προβλήματα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Po-po Bravo mou.

Apo mia apli erotisoula pou exo kani kondevei to post mou na ginei epistimi.

Pandos mou exoune lithi para poles apories kai toses meres epitides den exo grapsi kati gia na do pou tha ftasei to thema.

pandos re paidia ena aplo synmperasma exo vgali apo olous esas pou oite iste programmatistes oite asholiste genika me ton tomea tis pliroforikis.

Nomizo oti eiste ligo mperdemenoi genika me tis diafores gloses kai malon poloi iste kai fovismenoi.

Min to parete strava afto aplos eine diko mou sinmperesma apo ta tosa pou ipothikane edo mesa kai san anthropos pou xekinao tora na asxoloume me ton programmatismo ilikrina me exete mperdepsi apo tin mia kai apo tin ali ematha polla pragmata pou den ixera.

Sinexiste pandos tin sizitisi tha vgoun kai alla sinmperasmata.<p>NA STE KALA

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.


  • Δημιουργία νέου...