Τι θέλουμε από μια γλώσσα προγραμματισμού

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

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από Bugman » 17 Μάιος 2007 11:17

Για να φτιάξει κανείς μια καλή εφαρμογή, κατά την γνώμη μου, πρέπει να χρησιμοποιεί μια γλώσσα με κλήσεις στο λειτουργικό σύστημα. Αυτό έκανα κάποτε με ένα Electron 32Kb Ram, αυτό κάνω και σήμερα με τα Xp. Ακόμα και έτοιμα αντικείμενα να χρησιμοποιήσει κανείς, αυτά θα είναι γραμμένα με κλήσεις στο λειτουργικό.
Υπάρχουν μερικοί που εμφανίζουν τον προγραμματισμό όπως φαινόταν πριν από τριάντα χρόνια, μια συγγραφή ενός προγράμματος που δέχεται μια σειρά δεδομένων από το αρχείο εισαγωγής και δίνει μια σειρά αποτελεσμάτων σε ένα αρχείο εξαγωγής. Το πληκτρολόγιο, το ποντίκι, η οθόνη, ο εκτυπωτής, ο εγγραφέας CD/DVD, η κάρτα ήχου, η κάρτα γραφικών, η κάρτα δικτύου, τα αφαιρούμενα αποθηκευτικά μέσα, τα ειδικά μέσα εισαγωγής (tablets), και άλλα δεν υπάρχουν για τους "καθηγητές"...αυτά όλα απλά λειτουργούν...για να φτιάξουν τα αρχεία εισαγωγής και να επιδείξουν τα αρχεία εξαγωγής.

Παλιά οι υπολογιστές είχαν ενσωματωμένη γλώσσα προγραμματισμού...διαφορετικά αγόραζες ένα κουτί εξαρτημάτων. Ακόμα και το DOS είχε τρόπο να γράψεις γλώσσα μηχανής αλλά και να τρέξεις προγράμματα σε BASIC. Στα Windows 95 υπήρχε η QBASIC (έδινε μόνο τον Interpreter). Από κει και πέρα το χάος...μέχρι που φθάσαμε στο 2006 που αποφάσισε η Microsoft να δώσει δωρεάν γλώσσες που συνδιάζονται με τη πλατφόρμα .ΝΕΤ. Τι είναι το .ΝΕΤ; Είναι έτοιμα αντικείμενα που κάνουν κλήσεις στο λειτουργικό σύστημα, με ένα ενσωματωμένο σύστημα ασφαλείας, για να δίνει ή να παίρνει το δικαίωμα εκτέλεσης..ανάλογα με το τι θα αποφασίσει αυτός που τελικά θα εκτελέσει το πρόγραμμα. Με λίγα λόγια, πριν τα .ΝΕΤ πάλι ο χρήστης μπορούσε να αποφασίσει αν θα τρέξει κάποιο πρόγραμμα...αλλά τώρα πρέπει να ενημερώσει το λειτουργικό...Πιθανόν η ενημέρωση γίνεται για να έχει στοιχεία το λειτουργικό πως το Χ πρόγραμμα παρά τις προειδοποιήσεις εκτελέστηκε από τον χρήστη! Αυτή η χρηστικότητα ήταν και η απάντηση στα αιτήματα των χρηστών για την έλλειψη ασφάλειας των Windows...Με προειδοποιήσεις και δικαιώματα πρόσβασης βελτιώνουμε την ασφάλεια. Η ουσία όμως από προγραμματιστική πλευρά είναι ότι κρύφθηκε το λειτουργικό από το .ΝΕΤ, άρα μειώθηκε η δυνατότητα προγραμματισμού, ή αλλιώς η χρηστικότητα του λειτουργικού.

Τι έχουμε λοιπόν:
1. Γλώσσες προγραμματισμού με "επίπεδα" ασφαλείας τύπου ΝΕΤ, και ο πιθανός έλεγχος του λειτουργικού κάνει τό πρόγραμμα μη εκτελεσταίο.
2. Γλώσσες που τρέχουν μέσα σε ελεγχόμενα περιβάλλοντα, εικονικές μηχανές, όπως η Java και δεν δίνουν έλεγχο στο λειτουργικό.
3. Γλώσσες της παλιάς σχολής που ελέγχουν τα πάντα, φτιάχνουν γλώσσα μηχανής, είναι γρήγορες, αλλά "έχουν τερματίσει" την υποστήριξή της μαμάς τους...(της εταιρείας κατασκευής), που σημαίνει ότι η συμβατότητα χάνεται...και εφαρμογές που έτρεχαν παλιά σήμερα μπορεί να μην τρέχουν (αφαιρούν κλήσεις από standard dll, ή δεν τα συμπεριλαμβάνουν, ή δεν τα καταχωρούν εξ αρχής ώστε κάποιες δημιουργίες αντικειμένων να πέφτουν έξω και έτσι να βγαίνουν μηνύματα...για λάθος μνήμης και να πέφτει η εφαρμογή).
4. Μακροεντολές...γλώσσες δηλαδή που ζούνε όσο και η εφαρμογή που τις κουβαλάει μαζί. Δεν υπάρχουν κλήσεις στο λειτουργικό, για τις μακροεντολές λειτουργικό είναι η εφαρμογή που τις φιλοξενεί.

Ουσιαστικά οι δυο πρώτες παίζουν για εφαρμογές που θα έχουν συνέχεια..εκτός και αν...μεταβληθεί ο μηχανισμός προστασίας και έτσι βγουν εκτός οι εφαρμογές, εκτός και αν αλλάξει το NET σε 3,4,5 (είναι στο 2 τώρα)...και πρέπει για μια εφαρμογή να κατεβάσει ο χρήστης 150 Mbyte κώδικα του παλιού NET που έχει γραφτεί για XP ενώ είναι τώρα στα Vista...και πιθανόν ακόμα και αυτά να έχουν ασυμβατότητα με το παλιό .ΝΕΤ!

Εκεί που θα έχουμε καλό αποτέλεσμα είναι στις γλώσσες τύπου 2 (ή όχι;). Μπορείς να τρέξεις το πρόγραμμά σου σε διάφορα λειτουργικά! Ω τι κοροϊδία....Και αν θες να εκτυπώσεις σε εκτυπωτή πρέπει να βρεις οδηγό για το άλλο λειτουργικό, και αν θες να γράψεις σε CD θα δεις ότι δεν υπάρχει αντίστοιχη βιβλιοθήκη, γιατί όλες οι εικονικές μηχανές έχουν τους περιορισμούς που δίνει το λειτουργικό!

Συμπέρασμα...με τις ασυμβατότητες των λειτουργικών, ακόμα και της ίδιας οικογένειας, η επιλογή γλώσσας είναι αρκετά δύσκολη, και μάλλον για μικρό χρονικά διάστημα (σήμερα java, αύριο ruby...μεθαύριο c++ .NET8...)

Ας δούμε λοιπόν σκέφτεται η παρέα μας εδώ

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από skeftomilos » 18 Μάιος 2007 01:23

Οι web εφαρμογές ανήκουν σε κάποια από αυτές τις τέσσερις κατηγορίες ή αποτελούν ξεχωριστή κατηγορία από μόνες τους;
Ή μήπως έχουν λίγο απ' όλα;

Σενάριο:
Μια web εφαρμογή ASP.NET γραμμένη σε VB.NET χρησιμοποιεί AJAX για να μιλήσει με τον browser, Transact SQL για να μιλήσει με τη βάση, Remoting για να μιλήσει με τον Application server γραμμένο σε C++, SOAP για να επικοινωνήσει με μια Web Service γραμμένη σε Java, και JSON για να τραβήξει δεδομένα από το Flickr που τρέχει Ruby, Python ή PHP.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από cherouvim » 18 Μάιος 2007 07:18

Αυτό που θέλω από τη βασική γλώσσα στην οποία γράφω την εφαρμογή μου είναι:
- type safety
- να τρέχει σε VM και να μην είμαι κοντά στο λειτουργικό σύστημα
- να υπάρχουν υλοποιήσεις του VM για linux και windows
- να είναι free, open source και με μεγάλη κοινότητα
- να έχει πολλά third party (OSS) libraries
- να έχει καλή υποστήριξη από εργαλεία και IDEs

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από Bugman » 18 Μάιος 2007 10:11

Μπράβω Skeftomile,
έβαλες μια καλή ερώτηση. Σ΄αυτό που λες δεν έχουμε μια εφαρμογή (όλα σε ένα), αλλά μια λειτουργία σε πολλές εφαρμογές, (μια σε πολλά). Αν κάναμε παράσταση με μπλοκ, στην πρώτη περίπτωση η εφαρμογή θα ήταν ένα κουτί και δυο βελάκια θα πήγαιναν από και προς τον χρήστη, αυτό το λέω "όλα σε ένα". Στην δεύτερη περίπτωση...έχουμε πολλά κουτάκια, άλλο κουτάκι η διαχείρηση βάσεων, άλλο κουτάκι ο δρομολογητής αιτιάσεων, άλλο κουτάκι το "τερματικό" (ή τα τερματικά). Έτσι οι web εφαρμογές, είναι πολυχρηστικές εφαρμογές και εμπίπτουν τελικά στο νο 2, τρέχουν δηλαδή σε εικονικές μηχανές...σε ελεγχόμενα περιβάλλοντα.

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

Βλέπω πως και ο cherouvim γράφει για VM δηλαδή εικονικές μηχανές, "ελεγχόμενα περιβάλλοντα".

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από skeftomilos » 18 Μάιος 2007 11:31

Έχω την εντύπωση ότι ο χρόνος ζωής των web εφαρμογών δεν εξαρτάται τόσο από το χρόνο ζωής της τεχνολογίας που τις στηρίζει, γιατί μια επιτυχημένη εφαρμογή μπορεί πάντα να συντηρηθεί και τμήματά της να αναβαθμιστούν με νέες τεχνολογίες. Αυτό που τελικά τις σκοτώνει είναι η εμφάνιση στο προσκήνιο καλύτερων ανταγωνιστικών εφαρμογών.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από Bugman » 18 Μάιος 2007 11:57

skeftomile,
δες για παράδειγμα εδώ http://www.myspace.com/lordi
στον δικό μου υπολογιστή με 1024Χ768 οθόνη δεν έρχεται καλά, σε μια εικόνα...αυτό που θέλει να δείξει η σελίδα.
Γιατί συμβαίνει αυτό; Γιατί ο μπαγάσας που έφτιαξε τα windows ενώ είχε σκεφθεί να αλλάζει τα λογικά dpi με τα πραγματικά...οι εφαρμογές όπως και ο explorer δεν το τήρισαν, για τον απλούστατο λόγο ότι άλλος έγραψε το πως μια εφαρμογή φτιάχνεται να δείχνει το ίδιο μέγεθος φόρμας σε οποιαδήποτε dpi, και άλλος έγραψε κώδικα για μενού και άλλα visual καλούδια...τα οποία και δεν γίνονται "ανεξέρτητα" από dpi.

Στην εφαρμογή Fotodigitallab...δεν είχα κανένα πρόβλημα μέχρι που κάποιος την έτρεξε σε έναν υπολογιστή που είχε αλλάξει Ρύθμιση Dpi. Τελικά κατάφερα στο 90% να το διορθώσω το πρόβλημα...Κάπου το μέγεθος κάποιων labels δεν μπορεί να γυρίσει τελείως σωστά...αλλά η αστοχία του συστήματος δεν είναι υπερβολική όπως ήταν πριν δρομολογήσω ενέργειες για την αντιμετώπιση του φαινομένου (η βασική φόρμα της εφαρμογής εφαρμόζει ένα skin πίσω από την φόρμα ...και κάτω από τα μπουτόνς...και αυτό έπρεπε να αλλάξει για να προσαρμοστεί σωστά).

Για πλάκα μόνο κάνε το πείραμα...βάλε μια φορά μεγάλο μέγεθος 150 dpi και μια φορά μικρό μέγεθος 72dpi. (θέλει επανεκκινήσεις) Και δες ορισμένες εφαρμογές πόσο καλά ακολουθούν την αλλαγή!

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

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Τι θέλουμε από μια γλώσσα προγραμματισμού

Δημοσίευση από LightForce » 25 Μάιος 2007 00:44

Τι θέλω απο μια γλώσσα προγραμματισμού..δεν ξέρω αν θα απαντήσω ακριβώς αλλά λίγες σκέψεις που τώρα μου περνάνε θα τις γράψω..
Υπάρχουν αυτές οι κατηγορίες, και μάλλον για κάποιον που ξεκινάει σήμερα τον προγραμματισμό, είναι σημαντική ερώτηση, το τι γλώσσα να επιλέξει.
Νομίζω το πάν είναι να έχεις μια καλή βάση σε μια γλώσσα.
Και αν μετά απο λίγα χρόνια εντατικής δουλειάς βρεθεί κάποιος σε ένα υψηλό επίπεδο στην γλώσσα που επέλεξε, αυτό είναι δυνατή βάση.
Μια τέτοια γλώσσα εγώ πιστεύω είναι η C που μπορεί να σου δώσει αυτήν την βάση.

Τα δικά μου κριτήρια ήταν και είναι εντελώς χομπίστικα.
Δεν εχουν να κάνουν με τις παραπάνω κατηγορίες ούτε εξαρτούνται απο αυτές. όλες με ενδιαφέρουν και μαζί καμία.
Θέλω σίγουρα ναναι free η γλώσσα η το εργαλείο που επιλέγω, γιατί όχι και open source (ποτε δεν ξέρεις), να με μαθαίνει και να με διασκεδάζει.

τα ξαναλέμε..

Απάντηση

Επιστροφή στο “γλώσσες προγραμματισμού - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες