Επιλογή Γλώσσας Προγραμματισμού για Έργο

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Επιλογή Γλώσσας Προγραμματισμού για Έργο

Δημοσίευσηαπό VasilisTsirkinidis » 19 Φεβ 2010, 19:27

xqtr έγραψε:Επισης πολυ καλος και ευκολος τροπος για αυτο που ζητας... ειναι και ο Lazarus... ειναι crosscompile... οποτε μπορεις να το εχεις σε οποιο λειτουργικο θελεις το προγραμμα σου (πχ... σε windows για τους αρχαριους και σε linux για σενα η καποιον αλλο πιο εξειδικευμενο). Ετσι γλυτωνεις και χρηματα απο τις αδειες του λογισμικου (ελπιζω να ξερεις οτι στις εταιριες, αργα η γρηγορα γινεται καποιου ειδους ελεγχος για το αν τα προγραμματα που χρησιμοποιει η εταιρια ειναι νομιμα).

Επιπλεον με τον Lazarus μπορεις να χρησιμοποιησεις τις πιο διαδεδομενες databases οπως mysql, postgresql, sqlite και dbase. Οι δυο πρωτες ειναι για "μεγαλα" projects, ενω οι δυο τελευταιες για "μικρα" και για χρηση σε εναν υπολογιστη. Οποτε με το ιδιο προγραμμα γραμμενο σε lazarus/pascal μπορεις να το χρησιμοποιησεις για αρχη σε εναν υπολογιστη με sqlite και αφου δεις οτι το project σου ειναι σωστο και εχει ανταποκριση, με ελαχιστες αλλαγες το μετατρεπεις σε mysql/postgresql.

Δες και εδω http://wiki.lazarus.freepascal.org/Laza ... e_Tutorial


Επειδή στη σχολή μου διδάχθηκα αντικειμενοστραφή προγραμματισμό και δει java μου είναι πιο οικείο σαν περιβάλλον ανάπτυξης οπότε θα ξεκινήσω από εκεί, αλλά θα έχω στο μυαλό μου και το lazarus στο μέλλον. Και η java είναι crossplatform ούτως οι άλλως, έτσι δεν είναι;
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Ναι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Ubuntu 9.10 σε desktop pc με GIGABYTE GA-P31-DS3L motherboard (intel p31 express chipset)
Προδιαγραφές ⇛ 2x Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz │ 4124MB (260MB used) │ SVGA PCI - EX SPARKLE 9500GT 512 MB │ HDA-Intel - HDA Intel │ SAMSUNG 2243BWX, 1680x1050
Άβαταρ μέλους
VasilisTsirkinidis
babeTUX
babeTUX
 
Δημοσιεύσεις: 30
Εγγραφή: 11 Δεκ 2009, 20:56
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Επιλογή Γλώσσας Προγραμματισμού για Έργο

Δημοσίευσηαπό gkaran » 19 Φεβ 2010, 19:34

Ναι και η java είναι :)
Laptop: Toshiba Satellite A200-14D - ubuntu 9.10 Karmic Koala
Desktop: Παρατημένο εδώ και καιρό, θέλω κάποια στιγμή να το μετατρέψω σε server αλλά αθόρυβο :P
Άβαταρ μέλους
gkaran
babeTUX
babeTUX
 
Δημοσιεύσεις: 23
Εγγραφή: 07 Φεβ 2010, 21:48
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Επιλογή Γλώσσας Προγραμματισμού για Έργο

Δημοσίευσηαπό xqtr » 19 Φεβ 2010, 19:40

έγραψε:Επειδή στη σχολή μου διδάχθηκα αντικειμενοστραφή προγραμματισμό και δει java μου είναι πιο οικείο σαν περιβάλλον ανάπτυξης οπότε θα ξεκινήσω από εκεί, αλλά θα έχω στο μυαλό μου και το lazarus στο μέλλον. Και η java είναι crossplatform ούτως οι άλλως, έτσι δεν είναι;


Αφου ξερεις java τοτε προχωρα μην το ρωτας... ;)

Η διαφορα στο crosscompile της java απο του lazarus ειναι η εξεις: Στην java εχεις το ιδιο εκτελεσιμο αρχειο αλλα σε καθε συστημα/υπολογιστη θα πρεπει να εχεις εγκατεστημενη την αντιστοιχη εκδοση java... ενω στο lazarus, κανεις compile το εκτελεσιμο αρχειο για την καθε πλατφορμα ξεχωριστα... οποτε το εκτελεσιμο αρχειο ειναι ετοιμο προς χρηση χωρις να χρειαζεται την εγκατασταση προσθετων βιβλιοθηκων/αρχειων...

καλη συνεχεια... ;)
O χειμώνας έρχεται...
Γνώσεις ⇛ Linux: Μέτριο │ Προγραμματισμός: Ναι (Delphi/Lazarus) │ Αγγλικά: Καλά
Λειτουργικό : Ubuntu 14.04 σε Acer Aspire 5520
Προδιαγραφές ⇛ AMD Turion 1.8GHz │ 1GB │ ATI X700 │ Broadcom BCM4318 │LCD 15.4"
Άβαταρ μέλους
xqtr
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 509
Εγγραφή: 05 Φεβ 2009, 19:00
Εκτύπωση

Re: Επιλογή Γλώσσας Προγραμματισμού για Έργο

Δημοσίευσηαπό ant_0611 » 20 Φεβ 2010, 12:34

Εγώ θα σου πρότεινα java για το view κομμάτι, java για το bussiness logic κομμάτι + δύο επιλογές για αποθήκευση. Οι δύο αυτες επιλογές θα πρέπει να είναι για 2 διαφορετικά συστήματα αποθήκευσης (Disk Access Objects = DAO). Προσωπικά για τις 2 αυτές επιλογές θα πρότεινα sqlite και MySQL. Αυτές οι δύο επιλογές, δεν θα πρέπει να λειτουργούν ταυτόχρονα, απλα θα είναι σαν επιπλεόν λειτουργικότητα του προγράμματος σε περίπτωση που θέλεις ή χρειαστέι να χρησιμοποιήσεις database server για την εφαρμογή (περισσότεροι υπάλληλοι). Το τί απο τα 2 θα χρησιμοποιείται ανα πάσα στιγμή, ή θα το προσθέσεις στις επιλογές ρύθμισεων του προγράμματος ( μεσα απο το GUI) ή σε configuration file (για αρχή). Μπορείς να ξεκινήσεις με ότι θεωρείς πιο έυκολο. Θα σου πρότεινα, όμως λόγω και του μικρού μεγέθους να ξεκινήσεις απο sqlite, να προσθέσεις όλη την απαραίτητη λειτουργικότητα που επιθυμεί ο χρήστης, και μετά να προσθέσεις την επιλογή για MySQL database server.

Ο τρόπος που σου προτείνω έχει και το πλεονέκτημα σε περίπτωση που επιβληθεί να χρησιμοποιηθεί και διαφορετικός database server (πχ. PostgresSQL, Oracle, Apache Derby) θα μπορείς απλα υλοποιώντας ενα "module" του προγράμματος σου ( θα πρεπει να συμφωνει με συγκεκριμένα interfaces, που θα ορίσεις εσύ) να υποστηρίξεις την καινούργια λειτουργικότητα.

Δώσε πολλή εμφαση στην σχεδίαση του database schema, ωστε να μην περιέχει κενά( περιορισμοι που πρεπει να υπάρχουν ενώ δεν καλύπτονται έστω και εμμεσα) και να είναι όσο γίνεται πιο συμβατό με 3NF ή BCNF. Έτσι δεν θα χρειαστεί να αλλάξει την βάση δεδομένων του , ίσως και , για χρόνια.

Καλό είναι να φροντίσεις να φτιάξεις εναν μηχανισμό μεταφοράς δεδομένων απο το ένα σύστημα στο άλλο, όποτε αποφασισέις να δώσεις αυτην την δυνατότητα. Καλό επίσης είναι να διαβάσεις τα απαραίτητα για auto-documentation ( javadoc κλπ) για να μην χρειαστεί να διπλογράφεις documentation. Προτείνω να χρησιμοποιήσεις ανεπιφύλλακτα το JUnit για testing, και το Netbeans IDE για περιβάλλον υλοποιήσης. Το Netbeans θα σε βοηθήσει και για JUnit και για Database services.

Αυτά! Καλη αρχή!
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Μέτρια
Laptop:
Spoiler: show
Ubuntu 9.10 σε Fujitsu-Siemens A1667G2
Προδιαγραφές ⇛ Επεξεργαστής : AMD Turion 64 ML-37 │ Μνήμη : 1GB│ Κάρτα Γραφικών : ATI X700 128MB │ Κάρτα Ασύρματη : Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g (rev 02) │ Κάρτα Ήχου : VIA 8237 │ 15.4" Glossy 1280x800

Desktop:
Spoiler: show
Ubuntu 10.04
Προδιαγραφές ⇛ Επεξεργαστής : AMD Αthlon 1800+ │ Μνήμη : 1GB│ Κάρτα Γραφικών : Geforce 4 mx440 64MB │ 17" Glossy 1280x1024
Άβαταρ μέλους
ant_0611
punkTUX
punkTUX
 
Δημοσιεύσεις: 294
Εγγραφή: 11 Απρ 2009, 15:16
Τοποθεσία: Χανιά
Εκτύπωση

Προηγούμενη

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι