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

java vs c


eirini chrys

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

Το θέμα είναι τι εννοει με το τονίζοντας τα χαρακτηριστικά αυτά

Βλέπω ότι ο στόχος είναι η Java, και το ερώτημα είναι ποιο είναι εκείνο το χαρακτηριστικό που η java το έχει ενώ η c δεν το έχει...και απάντηση είναι το Αντικείμενο!

Θέλεις OP ένα πρόγραμμα σε C που θα έχει την ίδια απόκριση με ένα πρόγραμμα σε Java, και ενώ στη Java θα γίνεται με τη χρήση αντικειμένου, με τη C θα χρησιμοποιεί κανείς Struct....

 

http://stackoverflow.com/questions/5413001/what-is-the-difference-between-c-structures-and-java-classes

Σε ευχαριστώ M2000...!!!

Ήταν ό,τι πιο βοηθητικό έχω ακούσει σήμερα

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

  • Moderators

Άμα δεν έχετε κάνει αυτές τις γλώσσες και μάλιστα ο καθένας έχει διαφορετική γλώσσα για την εργασία του, τότε το μόνο που μπορείτε να κάνετε είναι copy-paste λίστες με διαφορές από τα Ίντερνετς. Λέμε πχ ότι η Java έχει classes και η C όχι. Φαντάζομαι θα πρέπει να κάνεις ένα πρόγραμμα που να υλοποιεί κάτι, και να το κάνεις με κλάσεις στη Java και κάπως αλλιώς στη C. Αλλά άμα δεν έχεις διδαχτεί ούτε Java ούτε C τι ακριβώς περιμένει ο καθηγητής να κάνεις;

Βρήκα ένα link με benchmarks εδώ, αλλά δε νομίζω να βοηθήσει ιδιαίτερα.

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

Άμα δεν έχετε κάνει αυτές τις γλώσσες και μάλιστα ο καθένας έχει διαφορετική γλώσσα για την εργασία του, τότε το μόνο που μπορείτε να κάνετε είναι copy-paste λίστες με διαφορές από τα Ίντερνετς. Λέμε πχ ότι η Java έχει classes και η C όχι. Φαντάζομαι θα πρέπει να κάνεις ένα πρόγραμμα που να υλοποιεί κάτι, και να το κάνεις με κλάσεις στη Java και κάπως αλλιώς στη C. Αλλά άμα δεν έχεις διδαχτεί ούτε Java ούτε C τι ακριβώς περιμένει ο καθηγητής να κάνεις;

Βρήκα ένα link με benchmarks εδώ, αλλά δε νομίζω να βοηθήσει ιδιαίτερα.

Για αυτά τα benchmarks θα είχε ενδιαφέρον να δούμε τον κώδικα C/C++.

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

Για αυτά τα benchmarks θα είχε ενδιαφέρον να δούμε τον κώδικα C/C++.

 

Κλικάρεις πάνω στη γλώσσα στο row header και voila!

 

Edit: Πάντως μου φαίνεται λίγο random ο κώδικας, τα προγράμματα είναι από διαφορετικούς contributors κλπ. Αλλά το σημαντικότερο όλων όταν μιλάμε για perf -- δεν υπάρχει εκτενές ιστορικό για κάθε πρόγραμμα που να λέει πώς έγινε profile, τι τεχνικές δοκιμάστηκαν που, ποιά ήταν τα αποτελέσματα κλπ. Το παίρνεις και το καταπίνεις αμάσητο.

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

Επίσης, στα benchmarks, θαρρώ πως, σημαντικό δεν είναι να συγκρίνουμε κώδικες αλλά χρόνο για την ολοκλήρωση ενός task.

 

Π.χ., μία managed γλώσσα θα μπορούσε να συμπεριφερθεί καλύτερα εάν δεν κάνει ο κώδικας βελτιστοποίηση στους πόρους που χρησιμοποιεί ενώ μία un-managed όχι.

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

  • Moderators

Edit: Πάντως μου φαίνεται λίγο random ο κώδικας, τα προγράμματα είναι από διαφορετικούς contributors κλπ. Αλλά το σημαντικότερο όλων όταν μιλάμε για perf -- δεν υπάρχει εκτενές ιστορικό για κάθε πρόγραμμα που να λέει πώς έγινε profile, τι τεχνικές δοκιμάστηκαν που, ποιά ήταν τα αποτελέσματα κλπ. Το παίρνεις και το καταπίνεις αμάσητο.

 

Κι εγώ κάτι τέτοιο βλέπω, ότι είναι λίγο όπως να 'ναι. Σε μία υλοποίηση C++ για binary trees εδώ, έχει μέσα malloc, sprintf, printf και cout. Το cout και ένα template object_pool της Boost είναι το μόνο C++ που έχει. Δεν ξέρω, σκέφτηκα ότι θα ήταν "good enough" για αυτά που ίσως θέλει ο καθηγητής (που δεν ξέρω καν τι θέλει).

 

 

Για αυτά τα benchmarks θα είχε ενδιαφέρον να δούμε τον κώδικα C/C++.

 

Διάλεξε έναν αλγόριθμο και σου έχει λίστα με όλες τις γλώσσες του benchmark.

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

[...] θα ήταν "good enough" για αυτά που ίσως θέλει ο καθηγητής (που δεν ξέρω καν τι θέλει).

 

Προφανώς, ο καθηγητής δεν είναι τρελός. Επίσης, οι περισσότεροι φοιτητές γκρινιάζουν ότι οι καθηγητές δεν ενδιαφέρονται. Εδώ που έχουν απαιτητικό καθηγητή, αναφέρουν αυτό το χαρακτηριστικό ως μειονέκτημα.

 

 

Ο καθηγητής ξέρει τι θέλει και, το πιο πιθανό, θα το έχει κάνει φανερό για όσους παρακολουθούν διαλέξεις.

 

Και σίγουρα δεν θα θέλει υλοποίηση για κάτι τρελό. Πιστεύω ότι και αποσπάσματα κώδικα, εάν πλαισιώνονται από κατάλληλο text, φτάνουν.

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

Άλλο ενα θρεντ στο οποιο πλακώσανε οι μπαμπάδες να επιπλήξουν την ατακτη που αντι να παρακολουθησει το μάθημα ηταν για καφέ και τωρα μπηκε να ρωτησει εδω!!!!

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

Κλικάρεις πάνω στη γλώσσα στο row header και voila!

 

Edit: Πάντως μου φαίνεται λίγο random ο κώδικας, τα προγράμματα είναι από διαφορετικούς contributors κλπ. Αλλά το σημαντικότερο όλων όταν μιλάμε για perf -- δεν υπάρχει εκτενές ιστορικό για κάθε πρόγραμμα που να λέει πώς έγινε profile, τι τεχνικές δοκιμάστηκαν που, ποιά ήταν τα αποτελέσματα κλπ. Το παίρνεις και το καταπίνεις αμάσητο.

Ήθελα να δω αν η σύγκριση γενικά έστεκε.

 

Απλά είχε τύχει να δω πιο παλιά σύγκριση μεταξύ PyPy και native C, όπου συνέκριναν ταχύτητες σε ένα κώδικα τον οποίο έκαναν compile με gcc χωρίς opts, ενώ τον Python με PyPy που εφαρμόζει ops και ήμου σε φάση "τι σκατά διαβάζω".

 

Τέλος πάντων, υπάρχουν compilers ακόμη και για την ίδια γλώσσα πχ gcc vs. icc vs clang-llvm, που σε κάποιους κώδικες είναι καλύτεροι από σε άλλους υπολείπονται. Άρα όσον αφορά την ταχύτητα μιας γλώσσας θα μπορούσαμε να πούμε πως ταχύτερη είναι αυτή που έχει τον καλύτερο compiler, αν πάρουμε όσο το δυνατόν όμοια, μη βελτιστοποιημένα από το χρήστη παραδείγματα. Απλά το θέμα είναι να ορίσει κανείς, καλώς τί εννοεί με το ταχύτερο.

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

Εμενα παντως μου φαινεται λαθος η λογικη του Καθηγητη. Τα δεδομενα εδω είναι οτι η σχολη δεν ειναι καθαρα Πληροφορικη. Οποτε οι φοιτητες ειναι περιορισμενων γνωσεων, και οτι η  γλωσσα που χρησιμοποιυν στο μαθημα ειναι η C# . Οποτε απο που και ως που ζητας απο τον αλλον να εχει γνωση JAVA και C. Η επιλογη για ποια γλωσσα θα χρησιμοποιηθε  σε ενα project απαιτει αρκετη θεωρητικη γνωση καθως και τριβη με καποιες τεχνολογιες ωστε να ξερεις τι σου προσφερουν και τι οχι. Γιατι οπως ολοι ξερουμε δεν υπαρχει η " καλυτερη γλωσσα" και ολοι λεμε το use the right tool for the job. ΤΟ να βαλεις σε ατομο που κανει ενα εξαμηνο προγραμματισμο να τρεξει benchmark μου φαινεται τελειως παραλογο. Παντως δεν ειναι κακο να στειλεις καποιο email σε αυτον και να τον ρωτησεις. 

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

Άλλο ενα θρεντ στο οποιο πλακώσανε οι μπαμπάδες να επιπλήξουν την ατακτη που αντι να παρακολουθησει το μάθημα ηταν για καφέ και τωρα μπηκε να ρωτησει εδω!!!!

 

δεν μπηκε να ρωτησει. μπηκε να ζητησει να κανει καποιος την ασκηση αντι γι αυτη και μαλιστα με μηδενικη ορεξη να εμπλακει.

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

Έχει λυθεί το θέμα! Πήρανε μια απάντηση, στο αίτημά τους, και μπορούν να την επεξεργαστούν. Δεν ζητούσαν λύση της εργασίας, αλλά αναφορά, σε ένα θέμα της εργασίας. Στις εργασίες πανεπιστημίων η αναφορά μετράει. Δεν είναι copy paste. Αυτός που δεν γνωρίζει πως γίνονται εργασίες θα υποθέτει ότι η αναφορά σε ένα θέμα είναι αντιγραφή. Δεν μπορείς όμως να γράψεις εργασία αν δεν υπάρχουν αναφορές. Οπότε λογικό ήταν οι φοιτήτριες να ψάχνουν για αναφορές. Το τι ακριβώς πρέπει να κάνουν μετά δεν το αναφέρουν εδώ. Και έτσι δεν μπορεί να πει κανείς ότι "λύσαμε την εργασία τους". Αυτό που έκανα τουλάχιστον εγώ ήταν να δώσω μια αναφορά στο θέμα τους. Από κει και πέρα παίρνουν την ιδέα αυτή και την δουλεύουν.

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

Φοιτητές-Φοιτήτριες, σπουδαστές-σπουδάστριες, δεν έχει σημασία. Οι εργασίες πρέπει να έχουν αναφορές αλλιώς δεν είναι εργασίες! Μιλάμε για γραπτή εργασία, όχι για κατασκευή-εφαρμογή. Μια γραπτή εργασία περιλαμβάνει σταθερά στοιχεία (από αναφορά) και μια μέθοδο που εφαρμόζεται σε αυτά για να εξάγει αποτελέσματα. Η άσκηση της μεθόδου είναι το ζητούμενο από τον καθηγητή. Απλά εδώ τους είπε όπως κατάλαβα να βρουν δικά τους "data"...αλλά η μέθοδος είναι συγκεκριμένη.

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

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...