Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

<<RAD, C++, OO == "Bad practices"!>>

Îåêßíçóå áðü ôï ìÝëïò Mitsaras. Τελευταία δημοσίευση από το μέλος thrylos στις 25-10-2006, 15:23. Υπάρχουν 19 απαντήσεις.
Σελίδα 1 από 2 (20 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-10-2006, 13:07 19032

    <<RAD, C++, OO == "Bad practices"!>>

    Έπεσα στο εξής thread στο adslgr.com, και άρχισα να αναρωτιέμαι, αν εγώ κάνω λάθος, ή κάποιοι άλλοι είναι αναχρονιστές: http://www.adslgr.com/forum/showthread.php?t=55001&page=2#21

    Ποια είναι η άποψή σας; Προσωπικά, εκτός του ότι έχω δει ουσιαστικά οφέλη από τον OOP, όπως και από το RAD περιβάλλον που προσφέρει το τρέχον Visual Studio, δε μπορώ να καταλάβω γιατί μεταθέτουμε το πρόβλημα των κακογραμμένων εφαρμογών στα εργαλεία, και όχι στον εκάστοτε προγραμματιστή.

    Πολλοί από εμάς θέλουν να έχουν άμεσο και όσο το δυνατόν low-level έλεγχο των δημιουργημάτων τους. Θεμιτό και αποδεκτό, μια και εγώ ο ίδιος χαρακτηρίζομαι από αυτήν την τάση, και ομολογώ ότι στην αρχή "στραβομουτσούνιασα" όταν είδα το abstraction της ASP.net 1.0. Τελικά όμως παρατηρώ ότι καταλήγω να έχω όφελος από τη χρήση της πιο "αφηρημένης" C# και του RAD designer της, απ' ότι με την C++  και το ανύπαρκτο visual στοιχείο της (η VB6.0 κυριολεκτικά μας έλυνε τα χέρια "τω καιρώ εκείνω").

    Και φυσικά, αν θέλουμε να μιλήσουμε για επίπεδα αφαίρεσης, μπορείς να κατηγορήσεις την C για bloatware, και να πας στην assembly! Ή, τώρα που το σκέφτομαι, θάνατος στην bloated assembly, ζήτω ο κώδικας μηχανής!

    Το επιχείρημα περί αλλαγής RAD = αδυναμία συντήρησης του υπάρχοντος κώδικα το θεωρώ αδύναμο. Στις περισσότερες περιπτώσεις, αν η εταιρεία που το αναπτύσσει έχει κάποιο κύρος, θα χρειαστεί να περάσουν τουλάχιστον 2 εκδόσεις για την κατάργηση ενός χαρακτηριστικού, με το αναμενόμενο deprecation. Ακόμα κι έτσι, οι αλλαγές αυτές δύσκολα θα είναι τόσο μεγάλες, όσο θα ήταν πχ. η μετάβαση από XHtml 1.1 σε XHtml 2.0.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  23-10-2006, 14:03 19036 σε απάντηση της 19032

    Απ: RAD, C++, OO = "Bad practices"!

    Όπως και τα πάντα, οι ευκολίες που δίνει ένα περιβάλλον ανάπτυξης είναι μέσο και παγίδα.

    Μπορείς να παγιδευτείς στην "ευτελή" χρήση ενός περιβάλλοντος και να γράφεις κακογραμμένες εφαρμογές. Μπορείς όμως και να χρησιμοποιήσεις τις ευκολίες για να χτίσεις με κάποια υποτυπώδη λογική απο πάνω τους, σε πιο high-level επίπεδο και να κάνεις maintainable RAD θαύματα σε ελάχιστο χρόνο ...

    Όλα πάντα επικεντρώνονται στο μάστορη, όχι στο εργαλείο ...
    Angel
    O:]
  •  23-10-2006, 14:06 19037 σε απάντηση της 19032

    Απ: RAD, C++, OO = "Bad practices"!

    πρώτα απ' όλα όταν μοιλάς ή γράφεις με τόση εμπάθεια αδυνατίζεις μόνος σου τα επιχειρήματά σου και μειώνεις την αξιοπιστία σου.

    Η άρνηση του OO προγραμματισμού δείχνει ή πλήρη άγνοια των αρχών του και της σωστής σχεδίασης ή χαρακτήρα τελείως συντηρητικό. Δεν μπορεί η μεγαλύτερη επανάσταση στο χώρο του software να πετιέται έτσι στα σκουπίδια.

    Η κριτική στο RAD είναι άστοχη, θα πρέπει να απευθυνθεί προς τις εταιρίες και τους προγραμματιστές. Τι πόρους διαθέτεις; πόσο διαβάζεις; πόσο δοκιμάζεις; με μια λέξη πόσο σοβαρός είσαι; Σίγουρο ευνοείται από τις εταιρίες γιατί δεν χρειάζεται πλέον να έχεις (και κυρίως ) να πληρώνεις γκουρού για να φτιάξεις software αλλά αυτό δεν σημαίνει ότι δεν είναι και χρήσιμο. Παρουσιάζεται δηλαδή το γνωστό λάθος κριτικής των εργαλείων και όχι της χρήσης και του χρήστη.

  •  23-10-2006, 14:39 19041 σε απάντηση της 19037

    Απ: RAD, C++, OO = "Bad practices"!

    Αν και το'χουμε κουρασει το θεμα και σε αλλα topics: Πρωτα για μενα παιζει ρολο ο "μαστορης" που λεει και ο anjelinio πιο πανω και μετα το εργαλειο. Τωρα, αν και τα 2 ειναι σε σε πολυ καλο level τοτε εχουμε το τελειο.

    Η αποτελεσματικοτητα μας σαν developers/engineers κτλ κτλ, κρινεται και απο το βαθμο προσαρμοστικοτητας μας σε "νεα" πραγματα και τεχνολογιες.

    Το οτι δεν ειχα RAD π.χ. το 1990 που ασχολιομουν με Clipper, δεν με εμποδισε να φτιαξω μια Εμπορικη Διαχειριση (τοτε ηταν πολυ της μοδας...) με 150Κ κωδικα και η οποια ετρεχε μεχρι μολις πριν 3 χρονια.

    Ουτε τωρα με το RAD να φτιαξω κατι σαν αυτο που περιγραφω εδω στο Blog μου (αν και δεν βασιζεται τοσο στο RAD αλλα τεσπα)
    Τα εργαλεια εξελισσονται για να κανουν στον προγραμματιστη τη ζωη πιο ευκολη, οχι να του λυσουν τα προβληματα που αντιμετωπιζει με τη λογικη του η την ικανοτητα του...

    Οσον αφορα το RAD και το OOP, πραγματικα δεν θελω να θυμαμαι την εποχη που δεν τα ειχα αυτα τα πραγματα...Απλα ΔΕΝ γινεται να συντηρεις πλεον ενα software γραμμενο σε "κωδικα μακαρονι", απλα ΔΕΝ γινεται να φτιαχνεις πλεον software χωρις να εχεις εναν IDE που να σου προσφερει το στοιχειωδες functionality. Σιγουρα, μπορεις να τα γραφεις ολα σε Notepad, εχεις και τον compiler να κανει compile και ολα "μια χαρα". Απλα τη στιγμη που εσυ θα εχεις τελειωσει ετσι την πρωτη σου φορμα, ο αλλος θα εχει τελειωσει ολοκληρο το project...


    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  23-10-2006, 14:48 19044 σε απάντηση της 19032

    Απ: RAD, C++, OO = "Bad practices"!

    Όταν βλέπω φράσεις όπως "Ολα αυτά τα καινούρια εργαλεία κυρίως εξυπηρετούν την γρήγορη ανάπτυξη gui's στις εφαρμογές! Ομως ας μην τα ισοπεδώνουμε όλα!Υπάρχουν και καποιες καλές πλευρές!", δε μπορώ παρά να συμφωνήσω ότι πρόκειται για άγνοια.

    Συν τοις άλλοις, αγνοούν το γεγονός ότι με το να χρησιμοποιείς υπάρχοντα κομμάτια κώδικα και APIs, επιτυγχάνεται μια ομοιομορφία. Ξέρεις για παράδειγμα ότι ένα listbox και ένα κουμπί σε μια windows εφαρμογή κατά 99% θα είναι ίδιο και σε μια άλλη windows εφαρμογή! Η "εναλλακτική" πρόταση ποια είναι; Να αναπτύσσει ο καθένας τα δικά του Listboxes και buttons? Και μετά να απαιτεί από τον εαυτό του (ή το community αν έχει) να λύσει τα όποια bugs προκύψουν;

    Για να κλείσω, μόνο το ότι συγχέουν την αρχιτεκτονική με το UI, λες και είναι... μονόλιθος 10ετίας-20ετίας είναι αρκετό για να βγουν συμπεράσματα. Κακώς ασχολήθηκα, αλλά... άρχισα να αναρωτιέμαι, αν τελικά εγώ (εμείς) είμαι αυτός που αγνοεί κάτι!
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  23-10-2006, 14:55 19046 σε απάντηση της 19041

    Απ: RAD, C++, OO = "Bad practices"!

    Δεν είναι όλοι οι μάστορες για όλα τα προβλήματα. Ανάλογα το πρόβλημα ο μάστορας θα διαλέξει και τα ανάλογα εργαλεία.

    Αλλα skills and tools χρειάζονται για να γράψεις έναν kernel mode driver

    και αλλα για να γράψεις ένα e-shop...

    Πάντα το πρόβλημα καθορίζει τα skills και τα tools
    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  23-10-2006, 15:09 19047 σε απάντηση της 19032

    Απ: RAD, C++, OO = "Bad practices"!

    Με τη διαφορά ότι στο προαναφερθέν thread, υπάρχει γενικότερη καταδίκη, και όχι απλώς αναγνώριση του best tool for the job (εξ' ου και ο πομπώδης ειρωνικός τίτλος που έβαλα).

    "Το RAD είναι κακό, η C++ είναι κακιά, ο OO είναι κακός, ζήτω το CLI, η C/Assembly και το... σπαγγέτι!"

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  23-10-2006, 20:09 19052 σε απάντηση της 19032

    Απ: <<RAD, C++, OO == "Bad practices"!>>

    Όταν έχει ο Ζαχαρίας τον Τοθελωχτες στο κεφάλι του και του ζητά να έχει τελειώσει το project πριν το deadline και με το υπάρχον budget τί θα κάνει;

    "Η τέχνη του προγραμματισμού" κατά Knuth έχει πεθάνει.

    Έχει διαδεχτεί από τη τέχνη του "project management".

    Πέρα όμως από τα υπερ και κατά των εργαλείων, το συνολικό αποτέλεσμα που παράγεται από το συνδυασμό ανθρώπου και μηχανής είναι "καλό"; Η λέξη "καλό" έχει πολλές ερμηνείες και γι' αυτό τη βάζω σε εισαγωγικά.

    Υπάρχει η φιλοσοφία που λέει ότι οι προγραμματιστές είναι καλοί και άγιοι και για όλα φταίνε οι γλώσσες προγραμματισμού.

    Υπάρχει ακόμα και η αντίθετη που λέει ότι φταίνε οι προγραμματιστές που δε γράφουν καλούς ΚΩΔΙΚΕΣ.

    Σίγουρα θέλουμε καλύτερα εργαλεία προγραμματισμού. Σίγουρα αυτά που έχουμε τώρα δεν αξιοποιούν τους πόρους του συστήματος αποδοτικά.

    Το RAD δεν είναι κακό.

    Κακή είναι η νοοτροπία της Apple την οποία μιμήται και η Microsoft με τα super eye candy γραφικά και εφφέ και δε συμμαζεύεται και κάτω από το καπώ δεν υπάρχει κάτι αξιόλογο.

    Αλλά...αυτά πουλάνε υπολογιστές στα μαγαζιά.

    Αυτή η νοοτροπία έχει μάθει τους καταναλωτές να έχουν λάθος άποψη για το τί είναι "user friendly".


    Powered by openSuSE 11 64-bit Edition
  •  24-10-2006, 00:08 19060 σε απάντηση της 19052

    Απ: <<RAD, C++, OO == "Bad practices"!>>

     thrylos wrote:
    "Η τέχνη του προγραμματισμού" κατά Knuth έχει πεθάνει.

    Δεν ξερω αν εχει πεθανει "Η τέχνη του προγραμματισμού", η μαγεία ομως εχει χαθει σιγουρα, τουλαχιστον οπως εγω την θυμαμαι παλιοτερα...


    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  24-10-2006, 10:23 19072 σε απάντηση της 19060

    Απ: <<RAD, C++, OO == "Bad practices"!>>

    Απόσπασμα από μια ομιλία του Charles Petzold

    "There’s still coding to do, but there’s no APIs, there’s no classes, there’s no properties, there’s no forms, there’s no controls, there’s no event handlers, and there’s definitely no Visual Studio.

    It’s just me and the code, and for awhile, I feel like a real programmer again. "

    http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.html


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  24-10-2006, 11:23 19080 σε απάντηση της 19052

    Απ: <<RAD, C++, OO == "Bad practices"!>>

     thrylos wrote:
    Σίγουρα θέλουμε καλύτερα εργαλεία προγραμματισμού. Σίγουρα αυτά που έχουμε τώρα δεν αξιοποιούν τους πόρους του συστήματος αποδοτικά.

    Γιατί το λες αυτό; Πως το στηρίζεις με επιχειρήματα; 

    Η αποδοτική χρήση των πόρων του συστήματος, κατ'εμέ, δεν έχει να κάνει τόσο με το εργαλείο, όσο με το γεγονός ότι πλέον έχουμε άπλετη υπολογιστική ισχύ και άφθονη μνήμη. Έτσι, ας πούμε ένας προγραμματιστής θα προτιμήσει να γράψει απλά Array.Sort αντί να καθίσει να υλοποιήσει optimized sorting αλγογόριθμο που θα είναι πιο αποδοτικός για να κερδίσει απλά μισό δευτερόλεπτο ταχύτητας. Με το Array.Sort θα ξεμπερδέψει στα γρήγορα και θα ασχοληθεί με το business πρόβλημα, άρα είναι πιο παραγωγικός. Βέβαια, όταν έρθει η ώρα να γράψει κώδικα για ένα server κομμάτι της εφαρμογής σε enterprise scale, μπορεί ο ίδιος κώδικας να αποτελέσει bottleneck. Αλλά αυτό ακριβώς είναι θέμα training.

     thrylos wrote:

    Κακή είναι η νοοτροπία της Apple την οποία μιμήται και η Microsoft με τα super eye candy γραφικά και εφφέ και δε συμμαζεύεται και κάτω από το καπώ δεν υπάρχει κάτι αξιόλογο.

    Αλλά...αυτά πουλάνε υπολογιστές στα μαγαζιά.

    Αυτή η νοοτροπία έχει μάθει τους καταναλωτές να έχουν λάθος άποψη για το τί είναι "user friendly".

    Που είναι και πάλι το κακό με τα super eye candy γραφικά; Μήπως θα πρέπει να μείνουμε στα γραφικά των Windows 95; Των Windows 3.11; Κι αυτά καλά δεν είναι; Δεν "κάνουν τη δουλειά τους"; Ή μήπως να πάμε στο WordPerfect για DOS;

    Όταν είδα το Navision (όπου όλα είναι grey και το interface αποτελείται σχεδόν αποκλειστικά από τα κλασικά controls των Windows - Label, Textbox, ComvboBox, Grid, Button) με έπιασε ναυτία... "Είναι s/w παραγωγής" μας είπε ο instructor "οι χρήστες δεν θέλουν εικονίδια και χρωματάκια". Λες αυτός να είχε καλύτερη άποψη για το τι είναι "user friendly";

    Προσωπικά, γουστάρω το Aero. Γουστάρω το πως ανοιγοκλείνουν τα παράθυρα στα Vista και στο MacOS X. Γουστάρω τον τρισδιάστατο task switcher. Και ακόμα περισσότερο, γουστάρω το UI από τις demo εφαρμογές που έχουμε δει για τα vista. Γιατί να είναι "κακά" όλα αυτά;


    Vir prudens non contra ventum mingit
  •  24-10-2006, 12:43 19089 σε απάντηση της 19032

    Απ: <<RAD, C++, OO == "Bad practices"!>>

    Συμφώνω με τον KelMan σε αυτό το κομμάτι απόλυτα. Δεν μπορώ να καταλάβω που τους χαλάνε μερικούς τα εντυπωσιακά γραφικά και τα ολοένα και πιο "εφφετζίδικα". Και απο τη στιγμή που και το hardware εξελίσσεται δεν βλέπω κάποιο λόγο γιατι να μην το αξιοποιούμε! Και στο κάτω κάτω αν δεν είχε βγεί το GUI και οι υπολογιστές ήτανε ακόμα text based (η ακόμα χειρότερα σε teletypes) τότε δεν θα ήτανε χρήσιμα στον πολύ κόσμο και οι εφαρμογές θα φτιαχνόντουσαν μόνο για συγκεκριμένες περιπτώσεις και θα αφορούσανε μεγάλες επιχειρήσεις και κρατικούς οργανισμούς.

    Απο εκεί και πέρα όσον αφορά το RAD, δεν θεωρώ ούτε ότι σκότωσε τον προγραμματισμό ούτε ότι τον "χάλασε" κάπως. Το RAD ουσιαστικά βοηθάει κάποιους να βγάζουνε σε πέρας πιο γρήγορα, πιο εύκολα και πιο ανώδυνα κάποιες εφαρμογές.

    Δεν φτιάχτηκε ούτε για να κάνεις memory management ουτε για να γράφεις drivers! Εκει και Ansi C θα χρησιμοποιήσεις, και Assembly αν προτιμάς!!

    Απλα έχω την εντύπωση ότι το συγκεκριμένο post που ξεκίνησε το όλο thread (οχι το post του Mitsaras, αυτό που αναφέρει) είναι γραμμένο με τη νοοτροπία ότι όλα τα καινούρια ειναι "κακά" και πως ότι γίνεται δημοφιλές είναι και "άχρηστο". Λες και παλιά πριν τα GUIs και το RAD είχαμε μόνο ποιοτικό software. Ακόμα θυμάμαι κάτι TSRs που απο τη στιγμή που ξεκινούσανε θα κολλούσανε το σύστημα χώρις καμμία παρέμβαση του χρήστη. Απλα με το χρόνο...
  •  24-10-2006, 13:12 19092 σε απάντηση της 19060

    Απ: <<RAD, C++, OO == "Bad practices"!>>

     objectref wrote:

     thrylos wrote:
    "Η τέχνη του προγραμματισμού" κατά Knuth έχει πεθάνει.

    Δεν ξερω αν εχει πεθανει "Η τέχνη του προγραμματισμού", η μαγεία ομως εχει χαθει σιγουρα, τουλαχιστον οπως εγω την θυμαμαι παλιοτερα...

    Μήπως η μαγεία χάνεται όταν μεγαλώνουμε και αλλάζουμε ρόλους και κάθε τι που κάνουμε πρέπει να μεταφράζεται σε χρήμα; Θυμάμαι νοσταλγικά τις μέρες που έγραφα gwbasic όταν ήμουν μικρός και ο καθένας έχει να πει ιστορίες ανάλογα με την ηλικία του και το επαγγελματικό του παρελθόν αλλά... "παλιότερα" ο χρόνος δεν ήταν χρήμα. Και όταν λες "παλιότερα" μάλλον δεν εννοείς τα εργαλεία και τις τεχνολογίες αλλά μάλλον τις ηλικίες και τους ρόλους μας!


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  24-10-2006, 13:32 19094 σε απάντηση της 19092

    Απ: <<RAD, C++, OO == "Bad practices"!>>

     papadi wrote:
     objectref wrote:

     thrylos wrote:
    "Η τέχνη του προγραμματισμού" κατά Knuth έχει πεθάνει.

    Δεν ξερω αν εχει πεθανει "Η τέχνη του προγραμματισμού", η μαγεία ομως εχει χαθει σιγουρα, τουλαχιστον οπως εγω την θυμαμαι παλιοτερα...

    Μήπως η μαγεία χάνεται όταν μεγαλώνουμε και αλλάζουμε ρόλους και κάθε τι που κάνουμε πρέπει να μεταφράζεται σε χρήμα; Θυμάμαι νοσταλγικά τις μέρες που έγραφα gwbasic όταν ήμουν μικρός και ο καθένας έχει να πει ιστορίες ανάλογα με την ηλικία του και το επαγγελματικό του παρελθόν αλλά... "παλιότερα" ο χρόνος δεν ήταν χρήμα. Και όταν λες "παλιότερα" μάλλον δεν εννοείς τα εργαλεία και τις τεχνολογίες αλλά μάλλον τις ηλικίες και τους ρόλους μας!

    Χμμμ...τι να πω, μπορει να εχεις και δικιο (και μαλλον εχεις). Βεβαια, οι εποχες καλως η κακως αλλαζουν και μαζι αλλαζουμε κι εμεις, οι αναγκες που πρεπει να καλυψουμε κτλ κτλ. Φαυλος κυκλος.

    Οταν λεω "παλιοτερα" εννοω και τα δυο που αναφερεις. Τοτε βλεπεις δεν υπηρχε η λεξη "παραγωγικοτητα" (αν και νομιζω οτι εχει γινει abused η εννοια της στις μερες μας...) και το μονο που μας ενδιεφερε ηταν ν'ανοιξουμε το 8088/286 μας και να "χωθουμε" στην turbo pascal ή στην Turbo C ή στο Norton Editor και στην assembly...Οτι και να λεμε τωρα για τα (πραγματικα) υπερσυγχρονα εργαλεια τυπου VS, αυτες οι "παλιες καλες" μερες, δεν θα ερθουν ποτε ξανα.


    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  25-10-2006, 00:23 19152 σε απάντηση της 19094

    Απ: <<RAD, C++, OO == "Bad practices"!>>

    Kelman

    βεβαίως και είναι καλύτερο να έχεις το εργαλείο που θα λέει listME.sortME()

    Είμαι υπέρ τέτοιων εργαλείων. Αυτό που λέω είναι ότι αυτά τα εργαλεία θα έπρεπε να παράγουν αποδοτικότερο compiled code.

    Γίνεται πάρα πολύ έρευνα και ανάπτυξη πάνω στις virtual machines και στο garbage collection πάνω σε αυτό τον τομέα. Να δούμε.

    Η φιλοσοφία της Apple δεν είναι απλά να φτιάξουν ένα αισθητικότερο interface. Είναι να βάλουν όσους περισσότερους υπολογιστικούς πόρους μπορούν στο interface και αφήνουν τους πόρους για την χρήση της εφαρμογής σε τρίτη μοίρα. Είναι το άκρως αντίθετο από το wordperfect του Dos και τις γκρίζες οθόνες του navision.


    Powered by openSuSE 11 64-bit Edition
Σελίδα 1 από 2 (20 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems