Επιμένω ότι είναι πολύ σημαντικό να έχεις μόνος σου την "ευθύνη" για την μνήμη. Πέραν του ότι εκτός από το θέμα του garbage collection υπάρχουν πολλά άλλα θέματα που είναι σημαντικά να ξέρει κανείς(αποθήκευση σε stack ή heap π.χ. και γιατί), ακόμα και στο garbage collection, αυτό που αναφέρεις είναι πολύ σημαντικό σε μεγάλα projects. Το να ελευθερώνεις την μνήμη όταν το αποφασίζεις εσύ και όχι όταν αποφασίσει να τρέξει ο garbage collector από την στιγμή που δεν έχεις άλλο reference, δεν είναι κάτι τόσο αδιάφορο.nachos wrote:No offence, αλλά αυτό το "το JVM κάνει τη δουλειά για σένα" είναι το μεγαλύτερο παραμύθι που έχω ακούσει. Οκ, το JVM έχει αυτόματο garbage collection ενώ στη C++ κάνεις specifically delete. Τι σημαίνει αυτό; Ακόμα και με το delete, τα objects σου περνάνε σε zombi state μέχρι να γίνουν overwritten από κάτι άλλο. Οπότε big a deal. Από κει και πέρα, η κακή υλοποίηση είναι κακή υλοποίηση either way και δεν υπάρχει κάτι στη C++ ούτε στη Java που να σε σώζει από αυτό. Ίσα ίσα που στη C++, αφενός μεν βρίσκεσαι πολλές φορές εκτεθιμένος από τα libraries της (λέγε με πάλαι ποτέ strlen που διάβαζε όλη τη μνήμη μέχρι να συναντήσει το '\0') και αφετέρου δε από τις χακεριές που σου επιτρέπει η ίδια η γλώσσα λόγω της low level αλλά και άναρχης πολλές φορές φύσης της. (πραγματικά δεν έπρεπε να το ανοίξουμε αυτό το θέμα )
Για τα libs, έχω γράψει αρκετό κώδικα σε C++ και δεν μου έχει τύχει κάτι που να είναι λάθος του library και όχι δικό μου.
Anyway, ας αφήσουμε αυτό το θέμα γιατί πέρα από off-topic, έχει ξαναγίνει σε άλλα 1.000.000 topics και καθολική απάντηση δεν υπάρχει.

Ειδικά για το θέμα των βάσεων, όταν ήμουν εγώ, το 1 τμήμα έκανε σε JSP+SQL Server και το άλλο σε PHP+MySQL(εγώ ήμουν στο 2ο, γι'αυτό και έγραψα πιο πάνω ότι δεν είχα ποτέ τον κ. Βασσάλο), οπότε ναι, το DB-net μπορεί να έχει support για πολλαπλές επιλογές. Άλλωστε, σχεδόν σίγουρα το 95% των φοιτητών θα ακολουθούσε την συμβουλή του καθηγητή, ενώ το άλλο 5% άντε να πήγαινε σε 1 επιλογή(η αρχή της τοπικότητας σε real worldnachos wrote:Συγνώμη αλλά αυτό δεν είναι σωστή νοοτροπία. Αλλό πραγμα να υπάρχει εύρος στη χρήση εργαλείων διάσπαρτα στον οδηγό σπουδών σου, και άλλο να θέλει ο καθένας να κάνει ό,τι επιθυμεί στο scope ενός υποχρεωτικού μαθήματος, όπου η συμμετοχή είναι μεγάλη. Είναι παντελώς αντιρεαλλιστικό να ζητάμε από τον διδάσκοντα να παράσχει support και να επιβλέψει γενικά ό,τι κατεβαίνει στο κεφάλι του καθενός. Εσύ μπορεί να θες C++ & MySQL, άλλος Java & oracle, ο παράλλος python & sqlite, C# και sql server και πάει λέγοντας. Σου φαίνεται feasible; Σημειώνω πως το διαχωρίζω τελείως από μαθήματα επιλογής, όπου ζητούμενο δεν είναι το να μάθεις programming (ή database design εν προκειμενω), αλλά να εφαρμόσεις τη γνώση σου για να παράσχεις μια υλοποίηση. Εκεί χρησιμοποιείς ό,τι θες και νομίζω πως γενικά είναι πολύ πιο ευέλικτα τα πράγματα.

