- Spoiler: εμφάνιση/απόκρυψη
[quote="~~Wind~~"][quote="Ισοβίτης"]Πόσω μάλλον όταν αυτό είναι σε Java, για την οποία γράφει libraries και η κουτσή Μαρία [/quote]
Η Java μια χαρά γλώσσα είναι. Σταματήστε να κράζετε. Το ότι κάτι είναι σε Java, δε σημαίνει ότι είναι για πέταμα, ή χειρότερο από κάτι που είναι σε C ή C++ ή δε ξέρω τι. Το code quality δεν είναι μονοπαραγοντικό (με παράγοντα τη γλώσσα προγραμματισμού) αλλά έχει πολλές διαστάσεις, κι ανάλογα του τί φτιάχνεις, και σε ποιόν απευθύνεσαι, το πόσο μετρά κάθε διάσταση αλλάζει.
-- οπότε το κομμάτι της Java, βγαίνει απ έξω.
[quote="Ισοβίτης"]και τις δίνει open source...[/quote]
Crappy code υπάρχει και σε open source και σε closed source συστήματα, όπως υπάρχει κ αξιόλογο.
-- οπότε το κομμάτι του open source, βγαίνει απ έξω
[quote="Ισοβίτης"]Τα Πανεπιστήμια (μικρά - μεγάλα) γράφουν και χρησιμοποιούν πάρα πολύ crappy software. [/quote]
Αυτό ισχύει για τη μεγάλη πλειονότητα, από όσα έχω δει. Εξαιρέσεις υπάρχουν πάντα. Παρόλαυτά, το software που απευθύνεται σε άτομα που δεν είχαν επαφή με το προγραμματισμό, 1ο-έτος, 2ο-έτος κ.α. δε μπορεί να κρίνεται με τον ίδιο τρόπο που θα κρίνει κανείς ένα σύστημα που απευθύνεται σε επαγγελματίες.
Ακόμα, δε προορίζονται όλοι να γίνουν προγραμματιστές, και δεν έχουμε υπολογιστές για να τους χρησιμοποιούν μόνο οι προγραμματιστές.
Το paint είναι χειρότερο από το photoshop.-
Αν έχεις έναν άνθρωπο που δεν έχει ξαναδεί υπολογιστή, θα τον βάλεις να ζωγραφίσει σε Paint (να ένα αξιόλογο πρόγραμμα, κλειστού κώδικα -- ή αντίστοιχα σε Kolourpaint), δε θα τον βάλεις να ζωγραφίσει σε Photoshop (κι άλλο κλειστό αξιόλογο πρόγραμμα -- και δε συγκρίνεται με το Gimp, αν κ αυτό αξιόλογο είναι).
Τί σημαίνει λοιπόν "χειρότερο" ?
-- οπότε το κομμάτι του crap, βγαίνει απ έξω.
Τι μένει ? Μένει ότι για να κρίνει κανείς κάτι, πρέπει να κάνει ένα βήμα πίσω.
Κάθε περίπτωση είναι διαφορετική. Μη τα γενικεύουμε όλα.
Προσωπικά λοιπόν, από το λίγο που έχω δει αυτό το νέο dependency που μπαίνει στο 1ο έτος, στη Java, για το πακέτο της acm, είναι μια μαλα**α κ μία ακόμα ολόκληρη. Δε προσφέρει τίποτα το ιδιαίτερα καλό για έναν πρωτοετή, μόνο τον καθηγητή και τους βοηθούς βοηθάει, στο να αποφύγουν να εξηγήσουν πρακτικά, βασικά πράγματα για κάποιον που υποτίθεται ότι όταν θα τελειώσει τη σχολή, θα πρέπει να ξέρει να γράφει κώδικα.
-- οπότε το crap κομμάτι, μπαίνει μέσα, ffs..
++Ισοβίτη; /* Ισοβίτης just got incremented */[/quote]
Νομίζω ότι υπάρχει μια διαφορά ως προς το σκοπό. Στο μάθημα σκοπός είναι να γνωριστεί κάποιος με τον προγραμματισμό χωρίς να χρειαστεί να μπερδευτεί με συντακτικά κατασκευάσματα τα οποία είναι δευτερεύουσας σημασίας.
Είναι λάθος να ταυτίζουμε τη γνώση προγραμματισμού με τη γνώση μιας συγκεκριμένης γλώσσας και δη της java. Έχω δει πολλούς φοιτητές (για πλειοψηφικές τάσεις μιλάω) που ξέρουν java αλλά δεν ξέρουν να προγραμματίζουν....τίποτα....nada! Ένα άλλο παράδειγμα ύπαρξης της διαφοράς μεταξύ γνώσης προγραμματισμού και γνώσης προγραμματιστικής γλώσσας, είναι και τα "dependencies" που αναφέρεις, δηλ. προσκόλληση σε συγκεκριμένα πακέτα και αδυναμία σκέψης πέρα απο αυτά. Τώρα αν τα dependencies αυτά είναι σε μη standard πακέτα (π.χ., της acm) ή σε standard java packages δεν έχει διαφορά. Δηλ. αυτός που γράφει System.out.println ξέρει προγραμματισμό ενώ αυτός που γράφει println όχι;
Είναι λάθος να νομίζουμε ότι η εκμάθηση προγραμματισμό εξαρτάται από τη χρήση ενός "μαγικού" πακέτου, π.χ., του acm.program.*. Αν ήταν, τότε πεφτουμε πάλι στην παγίδα να ταυτίσουμε τη γνώση προγραμματισμού με τη γνώση συντακτικού.
Όσο τετριμμένο και αν ακούγεται, το κύριο συστατικό ενός εισαγωγικού μαθήματος είναι η διδασκαλία των βασικών εννοιών προγραμματισμού. Αυτές οι έννοιες για να έρθουν στο προσκήνιο, θα πρέπει το συντακτικό να περάσει σε δεύτερη μοίρα. (Διαφορετικά υπάρχει ο υπαρκτός κίνδυνος, να πνιγεί στο συντακτικό πριν δει αυτό που πραγματικά έχει σημασία.) Για αυτό πιστεύω ότι σε ένα εισαγωγικό μάθημα θα πρέπει να χρησιμοποιείται το απλούστερο δυνατό συντακτικό, αφού οι βασικές έννοιες του προγραμματισμού δεν το απαιτούν.