Αγαπητή PanPan,
Το παράδειγμα αποσκοπεί στο να απαντήσει στο ερώτημα αν είσαι καλύτερος προγραμματιστής ή οχι, γράφοντας κώδικα σε BASIC ή C.
Κι είναι προφανές πως αυτή η ερώτηση δεν έχει άμεση βαση.
"Ένας που έχει φτιάξει το ίδιο λογισμικό σε γλώσσα C πχ, υπερτερεί από έναν άλλο που το έχει φτιάξει σε basic;"
Του λέω λοιπόν πως υπερτερείς ή υστερείς σαν προγραμματιστής, ανάλογα με άλλα πράγματα. Πολλές φορές, το εργαλείο κάνει τον μάστορα.
Φέρε μου όμως έναν τύπο πού κάνει κώδικα σπαγγέτι και δώστου την καλύτερη γλώσσα προγραμματισμού. Ξέρεις πολύ καλά πως υστερεί από έναν επαγγελματία προγραμματιστή.
Δεν έγραψα ουσιαστικά το παράδειγμα για τις δύο γλώσσες αυτές. Πάρε δύο τυχαίες γλώσσες. Δε μπορείς να ορίσεις την αποτελεσματικότητα και την αποδοτικότητα ενος προγραμματιστή, από το τι γλώσσα προγραμματισμού χρησιμοποιεί. Εκτός πια κι αν χρησιμοποιεί κάποια ξεπερασμένη, δίχως να έχει ένα καλό λόγο γι' αυτό.
Διότι αν κάποιος που ας πούμε του ζητήθηκε να φτιάξει ένα πληροφοριακό σύστημα επιχείρισης, η οποία επιχείρηση έχει μοντέρνα υποδομή hardware, το γράψει σε Pascal εντάξει, εκεί κάτι δεν πάει καλά. Ωστόσο ακόμα και τότε, δε μπορώ να κρίνω τον προγραμματιστή, όσον αφορά τις ικανότητές του να φτιάξει κώδικα. Μπορώ ίσως να κρίνω την επιλογή του όμως. Η ερώτηση όμως ήταν αυτή:
"
Ένας που έχει φτιάξει το ίδιο λογισμικό σε γλώσσα C πχ,
υπερτερεί από έναν άλλο που το έχει φτιάξει σε basic;"
Εξαρτάται. Δε μπορώ να κρίνω μόνο από το εργαλείο. Θέλω να δώ τον κώδικα του ενός και τον κώδικα του άλλου.
Τώρα στο παράδειγμα, προσπάθησα να είμαι όσο το δυνατόν πιό απλός μπορούσα.
Δεν ή8ελα να τον αρχίσω με όρους και τα λοιπά.
Το πρόβλημα είναι πως δε γνωρίζω το προγραμματιστικό επίπεδο του καθενός.
Ας πούμε, το δικό μου το ορίζω ώς λιγό πιο πέρα από τα πρώτα βήματα. Κι έχω γνώση του τι λέω. Έχω πολύ πράμα να διαβάσω ακόμα αν θέλω να αποκαλούμαι απλά "καλός". Δεν ξέρω, ίσως πια να είμαι και υπερ-μετριόφρων, αλλά έτσι πρέπει αν καταπιάνεσαι με ένα τόσο δυναμικό περιβάλλον.
Υποθέτω το προφανές λοιπόν. Ότι για να ασχολείται κάποιος με προγραμματισμό, έστω μια IF και μια FOR ξέρει τι κάνει.
Αν όχι, δε μπορώ να απαντήσω απλότερα στην ερώτηση που τέθηκε.
Κατάλαβες τι εννοώ;
Και ως κατακλείδα, δράττομαι της ευκαιρίας να αναφερθώ και σε ένα άλλο θέμα, ΟΧΙ σχετικό με την ερώτησή σου, αλλά σχετικό με μερικά άλλα posts. Ειλικρινά δεν καταλαβαίνω πολλούς ανθρώπους, που κοντράρουν όσον αφορά τη VB και το υπόλοιπο .NET. Προσωπικά θεωρώ τη VB τη βέλτιστη γλώσσα για να εισαχθεί ένας αρχάριος στο .NET περιβάλλον. Σαφώς όμως αυτό, έχει την προυπόθεση να κατανοηθούν σωστά και επαρκώς έννοιες όπως κλάσσεις, αντικείμενα και τα λοιπά, τεχνικές και πρακτικές αποδοτικές κ.ο.κ.
Την αρνηστική άποψη πάντως για το σπαγγέτι κώδικα σε BASIC, δεν την έχουν οι "παλιές καραβάνες" προγραμματιστές άδικα. Θυμάμαι την εποχή που σε QBASIC χρησιμοποιούσαμε κατά βάση GOTO... μη βρίζετε καλέ, ήμουν 14 ετών και μόλις που ψαχνόμασταν τότε με το "νέο παιχνιδάκι" μας. Και λέω χρησιμοποιούσαμε, γιατί όπου κι αν γύρναγα το κεφάλι μου GOTO έβλεπα... ε καλά είπα όλοι έτσι το κάνουμε, έτσι γίνεται... μέχρι που θέλησα να φτιάξω κάτι λίγο πιο μεγάλο... λίγο πιο πολύπλοκο... και μου βγήκε το λάδι και λέω, κάτσε ρε, δεν είναι δυνατόν να είναι έτσι. Ε, εξαπλώθηκε και το Internet... δεν ήθελε πολύ να μάθω δομημένο προγραμματισμό μετά. Και από τότε έβριζα κι εγώ τη GOTO. Αλλά ακόμα κι αυτή η εντολή σε αδόμητο πρόγραμμά λειτούργησε καλά. Τα παιδία παίζει. Χαιρόμασταν που φτιάχναμε μια μπούρδα και διασκδάζαμε. Εξοικειωθήκαμε με τη λογική λειτουργιάς και το συντακτικό. Και μετά ψαχτήκαμε από μόνα μας.
Στο μέλλον, έκατσα και μελέτησα VB 6 πιο παλιά, αναγκάστηκα να δω και την Pascal, βοήθησα μια κοπελιά σε Fortran (συμπαθητικη γλώσσα), αλλά αυτή που με εντυπωσίασε πραγματικά ήταν η C (καταπληκτική γλώσσα, πιο ζόρικη σύναξη μεν, αλλά απίστευτα καλή δε) και σιγά, σιγά τώρα θέλω να εξοικειωθώ με τη C++ kai th C# ώστε να κάνω οριστική μετάβαση.
Ορίστε ρε παιδιά. Λατρεύω τη VB. Αναγνωρίζω τη C++ kai th C#. Δηλαδή γιατί να χωριζόμαστε σε λάθος προγραμματιστικές "κάστες"; Κάθε γλώσσα έχει τα καλά και τα κακά της. Το ερώτημα είναι: Σε εξυπηρετεί; ΤΕΛΕΙΩΣΕ! Αυτά.