PDA

Επιστροφή στο Forum : Γλώσσα προγραμματισμού για Linux-Windows



Σελίδες : [1] 2 3 4

giorgosc61
25-08-05, 23:55
Καλησπέρα.

Κάποια στιγμή θέλω να φτιάξω μια εφαρμογή που να τρέχει τόσο σε linux όσο και σε windows.
Θα αφορά διαχείριση σε γραφικό περιβάλλον καρτέλων με ονόματα,διευθύνσεις,κλπ,φωτογραφίες των προσώπων με αναζήτηση κλπ.(database να δεν κάνω λάθος).
Παλιότερα (πριν 10 χρόνια περίπου είχα ασχοληθεί με προγραμματισμό σε basic και turbo pascal ιδιαίτερα τη δεύτερη αλλά δεν έχω προγραμματίσει ποτέ σε παραθυρικό περιβάλλον.

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

Σκέφτηκα για τη lazarus που αναφέρει ο Slammer...

Ευχαριστώ.

Τι προτείνετε?

mastermind
26-08-05, 00:01
Για Windows δεν το συζητώ,ότι θες με την Visual Basic είναι παιχνίδι αλλα σε περιβάλον linux και μάλιστα παραθυριακό δεν ξέρω να σου πω... Υπάρχει μια μεταφορά της vb για linux αλλα δεν ξέρω σε τι βαθμό δουλεύει.

tvelocity
26-08-05, 00:04
Μια λύση είναι αυτή (χωρίς IDE, υπάρχουν IDE's όμως): http://www.wxpython.org/
Υπάρχει κι'αυτό: http://gambas.sourceforge.net/

Μερικά σκόρπια links: http://www.gtk.org/ http://www.wxwidgets.org/ http://python.org/ http://www.ruby-lang.org/en/

yiapap
26-08-05, 00:10
Γιατί όχι Java;

tvelocity
26-08-05, 00:15
Γιατί όχι Java;

Πλύσου με bedadin 20 φορές... Είπες την απαγορευμένη λέξη! Κάνε και γαργάρες με οινόπνευμα ε!

yiapap
26-08-05, 00:27
Πλύσου με bedadin 20 φορές... Είπες την απαγορευμένη λέξη! Κάνε και γαργάρες με οινόπνευμα ε!
γκργκλργκλρ....
Μα... έτσι που τα περιγράφει ο φίλος, κλαίει για J...
:oops:
γκργκλργκλ....

(ελλείψη καθαρού οινοπνεύματος χρησιμοποιώ διάλυμα 11%... Γεωργιάδη :cool: )

mastermind
26-08-05, 00:28
Mακριά απο αυτό το εκτρωμα. Καλύτερα να δουλεύω σε C και ναμαι στην command line παρά σε java.

moshstef
26-08-05, 00:29
Πλύσου με bedadin 20 φορές... Είπες την απαγορευμένη λέξη! Κάνε και γαργάρες με οινόπνευμα ε!Γιατί τί έχει η Java;

ToMaHaWk
26-08-05, 01:09
Στις απαιτησεις σου απανταει χωρις δευτερη σκεψη η Java.Μην πεσεις θυμα της ανουσιας "κοντρας".Η καθε γλωσσα φτιαχτηκε για καποιο σκοπο.Με καποιο σκεπτικο.Και ,συνηθως, ανταποκρινεται ικανοποιητικοτατα σε αυτο το σκοπο/απαιτησεις.Οπως τα windows ειναι κυριως για το μεσο χρηστη(κυριως λεω και οχι απολυτα) και το linux για ατομα που αποζητουν κατι σαφως παραπανω ετσι και η C,C++ ανταποκρινονται εξαιρετικα σε αυτο για το οποιο σχεδιαστηκαν,η VB για ασχετους που θελουν να νομιζουν οτι προγραμματιζουν,η C# και το .NET Framework στο στοχο τους και σαφως και η Java με τη βιβλιοθηκη της στο τομεα της.
Προτεινω να κανεις αυτο που θες σε Java μιας και θα σου ανοιξει συναμα περισσοτερες "πορτες" απο οτι περιμενεις.Για παραδειγμα να μεταφερεις με ιδιαιτερη ευκολια ολη σου την δουλεια σε web εφαρμογη.Θα εχεις εντυπωσιακα πολλες πηγες αναφορας σε καποιο κολλημα σου,κυκεωνα βιβλιων,γρηγορο online help για παραδειγμα απο chat rooms(irc channs) ,πολυ χρησιμη και πληρης βιβλιοθηκη κτλ κτλ.Πολυ καλες επιλογες για προγραμματιστικο περιβαλλον(IDE) οπως NetBeans και εξαιρετικες οπως JBuilder.Και αλλα.
Τη συνιστω.

gatoulas
26-08-05, 01:11
PHP ή Perl με μια MySQL ή PgSQL (πιο δυνατή) Να παίζει και στο web και είσαι άψογος
http://www.hotscripts.com (αυτό μου'ρχεται πρόχειρο για τα βρείς και έτοιμα. Αν θυμάται κανεις κανένα άλλο...)

teacake
26-08-05, 01:13
Ρε παιδιά τι του λέτε του ανθρώπου όχι java; Μην γίνεστε macho- προγραμματισταράδες! Ακούστε το μικρό γαμπρό (η ώρα η καλή yiapap!). Δηλαδή όσοι χρησιμοποιούν java είναι μαλ...;;;

gatoulas
26-08-05, 01:26
Μήν τον μπλέκετε τον άνθρωπο. Κάτι απλό θέλει να κάνει. Άς αρχίσει με κάτι έτοιμο και εύκολο. (Βλέπε παραπάνω post μου)

Rama
26-08-05, 02:58
Χαλαρά Java. Ο yiapap έχει 100% δίκιο.Κάνει κρααααα. Δύο λειτουργικά + ίδια εφαρμογή... = java (ή web αλλά αυτό είναι άλλη ιστορία καθώς θες και web servers κτλ...).
Να προσθέσω σε αυτά που είπε ο ToMaHaWk οτι είναι και πολύ καλή (και εύκολη) γλώσσα για να μάθει και να συνηθήσει κανείς τον αντικειμενοστραφή προγραμματισμό και θα γίνεται πολύ εύκολα η συντήριση της εφαρμογής (δεν θα υπάρχουν 2 versions να αλλάζει κάθε φορά).

giorgosc61
26-08-05, 07:33
PHP ή Perl με μια MySQL ή PgSQL (πιο δυνατή) Να παίζει και στο web και είσαι άψογος
http://www.hotscripts.com (αυτό μου'ρχεται πρόχειρο για τα βρείς και έτοιμα. Αν θυμάται κανεις κανένα άλλο...)

Ευχαριστώ όλου για τις απαντήσεις σας. Αυτές που αναφέρεις εδώ γίνονται compile για εκτελέσιμο? Υπάρχουν και στα 2 λειτουργικά? Έχουν IDE περιβάλλον για ανάπτυξη?

Και κάτι άλλο.Κάτι ανέφερε κάποιος για VB. Θα ήθελα η γλώσσα που θα μου προτείνετε αν γίνεται να έχει τις ευκολίες της VB δηλ να κατέβω σε επίπεδο κώδικα λίγο. Δεν θέλω βέβαια με τίποτα την VB αλλά κάτι αντίστοιχα εύκολο αλλά και "καθαρό" στη δημιουργία κώδικα χωρίς μεγάλη εξάρτηση από βιβλιοθήκες για ανάπτυξη εφαρμογών(νομίζω αυτό που θέλω ονομάζεται RAD ή κάνω λάθος). Με τη Java θα τα βρω πολύ πιο δύσκολα?
Διάθεση για διάβασμα υπάρχει αν και χρόνος περιορισμένος από Σεπτέβρη.

porosis
26-08-05, 08:41
Borland Delphi/Kylix (http://www.borland.com/downloads/download_delphi.html, http://www.borland.com/downloads/download_kylix.html)
ή
Lazarus(http://www.lazarus.freepascal.org/modules.php?op=modload&name=StaticPage&file=index&sURL=about)

+Έχουν IDE
+Object Pascal (θα κερδίσεις χρόνο, αφού έχεις ασχοληθεί με pascal)

Delphi/Kylix κοστίζουν ενώ το Lazarus είναι open-source. Το Lazarus είναι beta ακόμα - δεν ξέρω πόσο σταθερό είναι για κανονικό development...

lazar
26-08-05, 09:00
Συμφωνώ με τον tvelocity
http://www.gtk.org/ http://www.wxwidgets.org/
γιατί είναι C++ και cross platform.
Με Python δεν έχω ασχοληθεί, έχω καταλάβει ότι "λέει", αλλά δεν ξέρω πόσο καλή είναι για κατασκευή εφαρμογής desktop.

gatoulas
26-08-05, 09:27
Ευχαριστώ όλου για τις απαντήσεις σας. Αυτές που αναφέρεις εδώ γίνονται compile για εκτελέσιμο? Υπάρχουν και στα 2 λειτουργικά? Έχουν IDE περιβάλλον για ανάπτυξη?


Όχι, μέσα από το web server τρέχουν. Θα παίζεις σε όποιο λειτουργικό έχει ένα ρημαδοbrowser

giorgosc61
26-08-05, 09:58
Άρα μάλλον δεν μου κάνουν μια θέλω να είναι stand-alone εκτελέσιμο.
C,C++ κλπ μάλλον πολύ δύσκολα για μένα (και τότε που είχα προσπαθήσει άστα χάλια μάυρα).
Υπάρχει IDE για Java που να σε διευκολύνει σαν την VB στην κατασκευή μιας εφαρμογής? Ναι ξέρω ότι το να τα θέλεις όλα εύκολα και έτοιμα είναι δύσκολο να το βρεις και ότι τέτοια περιβάλλοντα δεν δίνουν πάντα πολύ καλά optimized κώδικα αλλά η εφαρμογή ουσιαστικά μια database με εύκολο παραθυρικό περιβάλλον και μεγάλη φιλικότητα για το χρήστη.

tvelocity
26-08-05, 10:08
Με Python δεν έχω ασχοληθεί, έχω καταλάβει ότι "λέει", αλλά δεν ξέρω πόσο καλή είναι για κατασκευή εφαρμογής desktop.

Χρησιμοποιείται για GUI εφαρμογές συχνότατα (π.χ. τα configuration tools της Red Hat), έχει bindings για όποιο toolkit θές (ότι πρέπει για χρήση με το cross platform wxwidgets), είναι πανέυκολη στην εκμάθηση (ότι πρέπει για πρώτη γλώσσα), ακόμα πιο εύκολη στην κατανόηση και στο maintance, και εξαιρετικά flexible και powerfull (το google είναι "χτισμένο" σε python).

Απο την φύση της είναι interprented γλώσσα (γίνεται ενδιάμεσα compile σε bytecode, κάποιος μπορεί άνετα να διανέμει το bytecode αντί για το source), υπάρχουν compilers στο net αλλα δεν ξέρω πόσο καλά δουλεύουν. Έχει καταπληκτική standard library.

gatoulas
26-08-05, 10:37
Πάντως εγώ σε PHP έχω γράψει όλο το CRM της εταιρίας.
Τώρα για την Python όντως είναι δυνατή και αξίζει να αχοληθείς
Η java είναι κάτι διαφορετικό. Αν έχεις χρόνο και διάθεση, θα σε ανταμείψει.

anon
26-08-05, 10:38
Υπάρχει IDE για Java που να σε διευκολύνει σαν την VB στην κατασκευή μιας εφαρμογής?

Υπάρχει το Eclipse (http://www.eclipse.org/) και το Sun Netbeans (http://www.netbeans.org/downloads/index.html)
Και τα δύο εξαιρετικά, δωρεάν, και crossplatform (παίζουν όπου μπορεί να παίξει Java δηλαδή σχεδόν παντού).
Ομως έστω και για σοβαρά προγραμματάκια πρέπει να είσαι προετοιμασμένος για πολύ διάβασμα :D :D :D

thama
26-08-05, 11:02
Το JBuilder, κάνει θαύματα στην Java. Η Java όμως, είναι πρέπει να θυμάσαι ότι είναι C like γλωσσα προγραμματισμού, συνεπώς τα
for(i = 0; i < N; i++)
ή τους "μυστήριους" τελεστές
bool a = (k <l ) ? 1 : 0; // Ουσιαστικά είναι συντόμευση if then else
που υπάρχουν και στη C θα πρέπει να τους θυμηθείς, ιδιαίτερα αν πρόκειται να πάρεις και έτοιμα κομμάτια κώδικα

Το καλό της υπόθεσης Java (σε σχέση με τη C) είναι οι pointers, που είναι συγκαλλυμένοι κάτω από την ονομασία reference (αναφορά), χωρίς να χρειάζεσαι να τους ορίσεις Τελεστές new και άγιος ο Θεος, χωρίς να σε νοιάζει το delete.

Τα πάντα στην Java είναι αντικείμενα, συνεπώς αν είσαι εξοικειομένος με ΟΟ προγραματισμό, δεν θα δυσκολευτείς πολύ.

Επειδή η εφαρμογή που θέλεις να κάνεις, όμως, ουσιαστικά είναι ένα GUI, πάνω σε μια DB, πρώτα από όλα θα πρέπει να στήσεις μια DB (μια απλή Access θα σου κάνει τη δουλειά) όπου θα ορίσεις όλους τους πίνακες, και τα ερωτήματα.
Στη συνέχεια στη Java, το μόνο που θα απομείνει, είναι το visualiztion κομμάτι.

Το eclipse δεν το συστήνω γιατί είναι δύστροπο, στο visual κομμάτι. Καλύτερα JBuilder, αλλά είναι εμπορικό προϊόν. Με NetBeans, δεν έχω δουλέψει καθόλου.

giorgosc61
26-08-05, 11:19
Κατεβάζω το Netbeans για το linux. Από ότι είδα στο site είναι πλήρες και προσφέρει ευκολίες στη δημιουργία gui πράγμα για το οποίο στην ουσία θέλω τη java.
Κάποιο site με οδηγό για Gui εφαρμογές για αρχάριους σε Java και για το στήσιμο της database?

thama
26-08-05, 11:36
Όσον αφορά το στήσιμο των πινάκων της βάσης δεδομένων τα πράγματα είναι σχετικά απλά.
Πρώτα από όλα καθορίζουμε τα στοιχεία που θέλουμε να καταχωρίσουμε στους πίνακες.
Στην περίπτωση που αναφέρεις ένα απλό παράδειγμα πίνακα είναι το εξής
ΙD, Επώνυμο, Όνομα, Διεύθυνση(οδός, αριθμός), Τηλέφωνο, Κινητό, Φώτο
όπου το ID θα είναι πρωτεύον κλειδί, ακέραιος(και με αυτόματη αρίθμηση, ακόμα καλύτερα)
τα υπόλοιπα θα είναι κείμενο, κατάλληλου μεγέθους και η φώτο θα είναι είτε binary data (δηλ οι φωτογραφίες θα είναι μέσα στη βάση) είτε απλά ένα link για το αρχείο....
Αν θέλεις πολλαπλές φωτογραφίες,ανά άτομο, (πράγμα απόλυτα λογικό και φυσιολογικό) τότε θα χρειαστεί να κάνεις και νέο πίνακα
ID_φωτο ID_προσώπου Φώτο

Δύοι απλοί κανόνες είναι οι εξής:
Κάθε δεδομένο, πρέπει να αναφέρετε μόνο μία φορά (εξαιρούνται τα κλειδιά αναφοράς)
Κάθε κελί περιέχει μία μόνο πληροφορία

H πρακτική έχει αποδείξει ότι μια ΒΔ λειτουργεί αποδοτικότερα στην επονομαζόμενη τρίτη κανονική μορφή ( http://support.microsoft.com/default.aspx?scid=kb;en-us;100139 ) Διάβασε λιγάκι, είναι καλό κειμενάκι. Περισσότερα εδώ http://www.google.com (Είναι εξαμηνιαίο μάθημα η σωστή ανάπτυξη βάσεων δεδομένων)

anon
26-08-05, 11:43
Επειδή η εφαρμογή που θέλεις να κάνεις, όμως, ουσιαστικά είναι ένα GUI, πάνω σε μια DB, πρώτα από όλα θα πρέπει να στήσεις μια DB (μια απλή Access θα σου κάνει τη δουλειά)

Απο ότι ξέρω (διορθώστε εαν κάνω λάθος) Access παίζει μόνο σε Windows, άρα δεν μπορεί να είναι cross platform η εφαρμογή.

Μπορείς να παίξεις με MySQL, PostgreSQL και άλλες βάσεις που είναι και τελείως δωρεάν και υπάρχουν και σε Linux και σε Windows.

thama
26-08-05, 11:52
Το πρόγραμμα της Access, συμφωνώ ότι τρέχει μόνο στα Windows, αλλά, το πρόγραμμα δεν νομίζω να απαιτεί την ύπαρξη κάτι τρελλού (ίσως τό μόνο που χρειάζεται είναι ένας connector για Access <-> Java)
Αυτό όμως θέλει ψάξιμο....

To γεγονός ότι η βάση θα δημιουργηθεί σε Access, απαιτεί την ύπαρξη Windοws αρχικα, αυτό είναι το μόνο σίγουρο.

MySQL, PostgreSQL, Oracle, MS SQL, δεν μπορούν να παίξουν ευκολα σε stand alone εφαρμογή, καθώς πρόκειτα για servers.

thama
26-08-05, 11:55
Και ιδού η απόδειξη
http://sourceforge.net/projects/mdbtools

Project: MDB Tools: Summary
A set of libraries and utilities for reading Microsoft Access database (MDB) files.


http://dba.openoffice.org/drivers/mdb/

dba: Linux MDB driver

yiapap
26-08-05, 11:59
Για τις φωτογραφίες σου προτείνω ΑΝΕΠΙΦΥΛΑΚΤΑ να βάλεις μόνο το link προς το αρχείο. Αλλιώς θα έχεις διάφορα προβλήματα απεικόνισης της εικόνας και δυσκολία στην αλλαγή του backend (από Access σε MySQL ή οτιδήποτε)

Επίσης το νήμα μεταφέρεται στην ενότητα Προγραμματισμός

giorgosc61
26-08-05, 11:59
Εκτός της Accesse έχεις να προτείνεις κάτι δαιφορετικό για database?
Βρήκα αυτό:http://www.sqlite.org/

anon
26-08-05, 12:00
Σε τελική ανάλυση πρέπει να προσδιορίσεις (εαν είναι δυνατό) τι αποσκοπείς με το έργο αυτό.

1. Εαν απλά θέλεις μια εφαρμογούλα στα μέτρα σου, και τίποτε άλλο, τότε καλύτερα ψάξε να δείς εαν υπάρχει κάτι έτοιμο στα μέτρο σου ή που μπορεί να παραμετροποιηθεί στα μέτρα σου. Και το google και το sourceforge και άλλα sites έχουν πλειάδα έτοιμων εφαρμογών. Δεν χρειάζεται να ξανανακαλύψεις τον τροχό :D

2. Εαν θέλεις να το κάνεις ντε και καλά μόνος σου, αλλά χωρίς όμως την προοπτική να ασχοληθείς περισσότερο με αυτο, τότε ξέχνα το cross platform, πάρε μια Visual Basic (arghhh!!!) και κανένα σχετικό βιβλίο και θα τελειώσεις στα γρήγορα. :thumbsup1

3. Εαν θέλεις να φτιάξεις πραγματικά μια εφαρμογή που θα την συντηρήσεις πιθανόν επαγγελματικά τότε:

3.α) Εαν δεν έχεις πολύ χρόνο να επενδύσεις σε εκπαίδευση (διάβασμα, διάβασμα, διάβασμα και πάλι διάβασμα) και ατελείωτες ώρες με δοκιμές και χιλιάδες βιβλιοθήκες, πάρε όπως είπε και ένας άλλος συνάδελφος πιο πριν μια PHP και μια ελεύθερη βάση (όπως πχ MySQL) και θα προχωρήσεις γρηγορα. Το καλό είναι ότι μπορεις να κάνεις εξαιρετικά καλά και πολύπλοκα πράγματα (όπως ο φίλος που έκανε CRM). Και το γεγονός ότι θα είναι Web Based εφαρμογή και όχι stand alone είναι πλεονέκτημα και όχι μειονέκτημα, μιας και μπορεί να παίζει με thin clients και με οτιδήποτε έχει browser. Αν πάλι πρέπει να υπάρχει η δυνατότητα stand alone, τότε απλά φτιάχνεις πακέτο που να περιέχει τα απαραίτητα προγράμματα και τελείωσες. :thumb_dup

3.β) Εαν μπορείς να επενδύσεις χρόνο, και θέλεις να έχεις μια προοπτική επαγγελματική για να δουλέψεις και με μεγάλες εταιρίες, τότε σίγουρα η Java είναι πολύ καλό χαρτί, και το Eclipse επίσης (δες για παράδειγμα διαθέσιμες θέσεις εργασίας σε UK (http://www.jobserve.com/searchresults.aspx?jobType=*&d=7&page=1&q=eclipse&x=0&y=0&order=Rank&all=on&cbAllCountries=on&cb01=1&cb02=2&cb03=4&cb04=8&cb06=16&cb07=32&cb08=64&cb09=128&cb10=256&cb11=512&cb12=1024&cb13=2048&cb14=4096&cb15=8192&cb16=16384&cid=0) ). Μιλάμε για 50 έως 80 χιλιάδες στερλίνες λίρες το χρόνο (δηλαδή 72,500 έως 116,000 ευρώ το χρόνο σύμφωνα με τις τελευταίες ισοτιμίες). :thumb_dup

gatoulas
26-08-05, 12:03
Εκτός της Accesse έχεις να προτείνεις κάτι δαιφορετικό για database?
Βρήκα αυτό:http://www.sqlite.org/

SQLite είναι μια καλή επιλογή για κάτι λιτό και cross platform
Σίγουρα προτιμότερο του mdb file με όλα τα κακά του.
Επίσης η παραπάνω συμβουλή του yiapap είναι σωστότατη!

yiapap
26-08-05, 12:04
Το πρόγραμμα της Access, συμφωνώ ότι τρέχει μόνο στα Windows, αλλά, το πρόγραμμα δεν νομίζω να απαιτεί την ύπαρξη κάτι τρελλού (ίσως τό μόνο που χρειάζεται είναι ένας connector για Access <-> Java)
Αυτό όμως θέλει ψάξιμο....
Νομίζω ότι γίνεται μέσω ODBC (JDBC)

thama
26-08-05, 12:09
Νομίζω ότι γίνεται μέσω ODBC (JDBC)
Κι εγώ, αλλά δεν είμαι σίγουρος, ότι αυτό γίνεται αυτόματα (χωρις κάποιου είδους drivers)

anon
26-08-05, 12:13
Νομίζω ότι γίνεται μέσω ODBC (JDBC)

Με ODBC σίγουρα γίνεται αλλά στην περίπτωση αυτή πρέπει να έχεις ένα Windows σύστημα να παίζει το ρόλο του server για την βάση. Δεν μπαίνω στην περίπτωση να τρέξεις Access σε Linux μέσω Wine ή CrossOffice γιατί ανεβάζει την πολυπλοκότητα.

Εαν δεν μπορείς να αποφύγεις την περίπτωση να βάλεις κάποιο μηχάνημα να παίζει τον ρόλο του server, τότε σίγουρα είναι καλύτερο να είναι Linux o server.
Οσο για τις διαθέσιμες βάσεις υπάρχουν πάμπολες. Ειδικά για την Java όμως μπορείς να σκεφτείς και την Cloudscape (http://www-306.ibm.com/software/data/cloudscape/) . Δωρεάν, commercial grade απο την ΙΒΜ, σε Java και παίζει και αυτή παντού. Τώρα ονομάζεται Derby. Πιστευω ότι είναι ότι καλύτερο για την περίπτωση αυτή, μιας και μπορεί να είναι embeded στην εφαρμογή και είναι almost full SQL compliant RDBMS.

gatoulas
26-08-05, 12:23
Πολλοί Θεσσαλονικιοί δε μαζευτήκαμε; :what:

tvelocity
26-08-05, 12:24
3.α) Εαν δεν έχεις πολύ χρόνο να επενδύσεις σε εκπαίδευση (διάβασμα, διάβασμα, διάβασμα και πάλι διάβασμα) και ατελείωτες ώρες με δοκιμές και χιλιάδες βιβλιοθήκες, πάρε όπως είπε και ένας άλλος συνάδελφος πιο πριν μια PHP και μια ελεύθερη βάση (όπως πχ MySQL) και θα προχωρήσεις γρηγορα. Το καλό είναι ότι μπορεις να κάνεις εξαιρετικά καλά και πολύπλοκα πράγματα (όπως ο φίλος που έκανε CRM). Και το γεγονός ότι θα είναι Web Based εφαρμογή και όχι stand alone είναι πλεονέκτημα και όχι μειονέκτημα, μιας και μπορεί να παίζει με thin clients και με οτιδήποτε έχει browser. Αν πάλι πρέπει να υπάρχει η δυνατότητα stand alone, τότε απλά φτιάχνεις πακέτο που να περιέχει τα απαραίτητα προγράμματα και τελείωσες.

Στην περίπτωση του web based υπάρχει κι'αυτό: http://www.rubyonrails.org/

anon
26-08-05, 12:25
Πολλοί Θεσσαλονικιοί δε μαζευτήκαμε; :what:

Καλό δεν είναι αυτό; Δεν κάνουμε και μια συνάντηση να γνωριστούμε κιόλας;;;

yiapap
26-08-05, 12:28
Καλό δεν είναι αυτό; Δεν κάνουμε και μια συνάντηση να γνωριστούμε κιόλας;;;
Δες το υποφόρουμ The Meeting Point... Πάμε για την 6η σε λίγο!

yiapap
26-08-05, 12:29
Με ODBC σίγουρα γίνεται αλλά στην περίπτωση αυτή πρέπει να έχεις ένα Windows σύστημα να παίζει το ρόλο του server για την βάση.
...
Εαν δεν μπορείς να αποφύγεις την περίπτωση να βάλεις κάποιο μηχάνημα να παίζει τον ρόλο του server, τότε σίγουρα είναι καλύτερο να είναι Linux o server.

Συμφωνώ και συμφωνώ

pelasgian
26-08-05, 13:38
Άρα μάλλον δεν μου κάνουν μια θέλω να είναι stand-alone εκτελέσιμο.
C,C++ κλπ μάλλον πολύ δύσκολα για μένα (και τότε που είχα προσπαθήσει άστα χάλια μάυρα).
Υπάρχει IDE για Java που να σε διευκολύνει σαν την VB στην κατασκευή μιας εφαρμογής? Ναι ξέρω ότι το να τα θέλεις όλα εύκολα και έτοιμα είναι δύσκολο να το βρεις και ότι τέτοια περιβάλλοντα δεν δίνουν πάντα πολύ καλά optimized κώδικα αλλά η εφαρμογή ουσιαστικά μια database με εύκολο παραθυρικό περιβάλλον και μεγάλη φιλικότητα για το χρήστη.

Σημείωση, η java είναι ΣΑΝ τη C++, αλλά δεν είναι τόσο γρήγορη, όμορφη και σέξυ σαν την C++. Επίσης, αν θέλεις Java, πήγαινε προς eclipse πλευρά, γιατί είναι της IBM «πράμμα».

Η άποψή μου είναι ότι μπορείς να χρησιμοποιήσεις C++ με wxGTK, οι οποίες είναι ένα layer που κάνει τα libraries του GTK πάνω από x-windows να μοιάζουν με microsoft foundation classes.

Το καλύτερο παράδειγμα τέτοιας εφαρμογής είναι το Amule που τρέχει σε όλα τα λειτουργικά. http://www.amule.org/

Στη θέση σου δεν θα έβαζα java, παρά μόνο σε web-pages, αλλά και εκεί προτιμώ php γιατί μεταφέρει το βάρος της επεξεργασίας (όπως και της τήρησης της συμβατότητας) στο server end και όχι στο client end. Από τότε που η M$ μπαστάρδεψε το πράγμα τόσο άσχημα ώστε να τρέχει μόνο στα «δικά της» browsers, ουσιαστικά έβγαλε το project από τη πρίζα.

Οι χάκερς βέβαια πήραν την εκδίκησή τους, γιατί κάναν τις ιστοσελίδες ένα big-iron ζήτημα (αν δεν κάνει ο πελάτης την επεξεργασία στο desktop pc του, τότε τη κάνει ο server και οι server τρέχουν ΜΟΝΟ *nix) και επιπλέον βγήκε και το wxGTK για να γράφεις προγράμματα στο ένα, που δουλεύουν και στο άλλο μάλιστα με GNU compilers! (Οπότε δεν έχεις να αγοράσεις και αυτή τη παπαριά το visual studio).

Ένα πράγμα θα σου πω: μην σχεδιάζει ΠΟΤΕ μία εφαρμογή στη βάση του user interface της. Το GUI είναι «άλλο πράμα» το φτιάχνεις σαν extra layer. Η εφαρμογή πρέπει να είναι ΠΑΝΤΑ κονσόλα στις «άκρες» της οποίας (μέσω οποιουδήποτε IPC (εφόσον είναι sockets!)) θα κάθεται το GUI.

Και ακόμα καλύτερα, μην γράψεις καμία εφαρμογή, αν μπορείς να γράψεις ένα wrap-script πολλών προϋπαρχόντων εφαρμογών το οποίο μιλάει με ένα GUI.

Ξεκίνα με bash shell, πήγαινε σε C, πήγαινε σε C++, πήγαινε σε anjuta, πήγαινε σε wxGTK. Αυτός είναι ο τρόπος του σαμουράι (με εξαίρεση λίγο το τελευταίο.)

deo
26-08-05, 13:39
Αυτές που αναφέρεις εδώ γίνονται compile για εκτελέσιμο? Υπάρχουν και στα 2 λειτουργικά? Έχουν IDE περιβάλλον για ανάπτυξη?


Οχι, σε αυτές τις δύο γλώσσες γράφεις script. Δεν χρειάζεται compiler.
Υπάρχουν σε ΟΛΑ τα σοβαρά λειτουργικά, όμως έχε υπόψιν σου πως για να εμφανίσεις γραφικό περιβάλλον πρέπει να το κάνεις με εντολές HTML.
Ουσιαστικά δηλαδή θα κάνεις μια web εφαρμογή που θα τρέχει πάνω σε web-server.
Αυτό βέβαια ίσως είναι λίγο τραβηγμένη λύση γι'αυτό που θέλεις να κάνεις.
Η Perl ή η PHP απλώς χρησιμεύουν για να μπορείς να εμπλουτίζεις μια HTML σελίδα και να την κάνεις δυναμική, να μπορεί να κάνει database connections, να μπορεί να κάνει ελέγχους, πράξεις και ό,τι άλλο κάνουν οι γνωστές γλώσσες προγραμματισμού.
Βέβαια, υπάρχουν κάποιοι περιορισμοί, λόγω του web περιβάλλοντος. Ετσι για παράδειγμα δεν μπορείς να έχεις πρόσβαση άμεσα σε περιφερειακά (μόνο μέσω του web client) ή δεν μπορείς να δουλέψεις DirectX ή OpenGL. Από PHP όμως (δεν γνωρίζω για την Perl) μπορείς να καλείς εξωτερικά DLLs και να κάνεις χρήση των συναρτήσεών τους.

Συμφωνώ με τον porosis.
Η freepascal είναι πολύ καλή, και το Lazarus υποστηρίζει περισσότερα από τα βασικά components.
Επιπλέον έχουν μια μεγάλη γκάμα από add-on components.

Πάντως και η Java καλή είναι, αλλά πολύ "βαριά".

Ice-Blade
26-08-05, 14:18
Μάθε μια .NET γλώσσα, όποια θέλεις. Θα πρότεινα VB .NET ή C# (Η VB .NET είναι πλήρως object oriented και δεν έχει καμία σχέση με τις παλιές Visual Basic). Τη C++ άστην για πολύ μετά, κατά πάσα πιθανότητα δε θα τη χρειαστείς.

lazar
27-08-05, 15:12
Άρα μάλλον δεν μου κάνουν μια θέλω να είναι stand-alone εκτελέσιμο.
C,C++ κλπ μάλλον πολύ δύσκολα για μένα (και τότε που είχα προσπαθήσει άστα χάλια μάυρα).
Υπάρχει IDE για Java που να σε διευκολύνει σαν την VB στην κατασκευή μιας εφαρμογής? Ναι ξέρω ότι το να τα θέλεις όλα εύκολα και έτοιμα είναι δύσκολο να το βρεις και ότι τέτοια περιβάλλοντα δεν δίνουν πάντα πολύ καλά optimized κώδικα αλλά η εφαρμογή ουσιαστικά μια database με εύκολο παραθυρικό περιβάλλον και μεγάλη φιλικότητα για το χρήστη.

Εάν σε δυσκολεύει η C++, τι σε κάνει να πιστέψεις ότι δεν θα σε δυσκολέψει η Java; Ένα critical point, που πρέπει να εξετάσεις, είναι το εξής: εάν η γλώσσα που θα χρησιμοποιήσεις θα είναι OOP ή όχι. Εάν δουλέψεις C++, Java, Delphi/kylix τότε θα πρέπει πρώτα (κατά την άποψη μου) να κατανοήσεις τι είναι ο προγραμματισμός με αντικείμενα. Αυτό φυσικά δεν γίνεται από την μία μέρα στην άλλη. Χρειάζεται δουλειά και χρόνο.
Από την άλλη, ίσως μία web γλώσσα να σου κάτσει πιό εύκολα. Η php βολεύει όταν ξέρεις C. Καλύτερα να πεις πρώτα τι γνωρίζεις. Εάν δεν έχεις προγραμματίσει ποτέ σου, τότε προτείνω C (κι ας λένε κάποιοι ότι είναι δύσκολη).

* για να φτιάξεις εφαρμογή με GUI την σήμερον ημέραν, θα πρέπει να καταφύγεις σε OOP (όχι απαραίτητα, αλλά για ευκολώτερα).

lazar
27-08-05, 15:21
Μάθε μια .NET γλώσσα, όποια θέλεις. Θα πρότεινα VB .NET ή C# (Η VB .NET είναι πλήρως object oriented και δεν έχει καμία σχέση με τις παλιές Visual Basic). Τη C++ άστην για πολύ μετά, κατά πάσα πιθανότητα δε θα τη χρειαστείς.

Ναι, αλλά αυτό θα τον δέσει στο άρμα της M$.

sandman
27-08-05, 16:19
Python. Τελεία.

lazar
28-08-05, 00:07
Python. Τελεία.

Και παύλα; Τόσο πολύ βρε παιδί μου;

Πόσον καιρό την δουλεύεις και σε τι εφαρμογές; Εάν δεν έχεις αντίρρηση, πες μας καμμία κουβέντα να δούμε τι ...παίζει.

sandman
28-08-05, 00:46
Και παύλα; Τόσο πολύ βρε παιδί μου;

Πόσον καιρό την δουλεύεις και σε τι εφαρμογές; Εάν δεν έχεις αντίρρηση, πες μας καμμία κουβέντα να δούμε τι ...παίζει.

Σε Python εκτός από αρκετά προγραμματάκια - σκριπτάκια 10-40 γραμμών έχω γράψει ουσιαστικά μόνο ένα μεγάλο πρόγραμμα (ένα plugin για το poser6). Ωστόσο εδώ και 10 χρόνια που ασχολούμαι με προγραμματισμό έχω προγραμματίσει σχεδόν σε όλες τις γλώσσες που υπάρχουν (c/c++, pascal, java, php, perl, assembly, gwbasic/vb/vba/vb.net κλπ) και η python μου αρέσει περισσότερο από όλες. Είναι αρκετά high level γλώσσα και μπορείς να κάνεις πολλά πράγματα με ελάχιστες γραμμές κώδικα. Είναι γενικός κανόνας πως τα προγράμματα python είναι μικρότερα από τα αντίστοιχα τους σε άλλες γλώσσες και είναι πιο εύκολα στην συντήρηση.

Πχ για να κάνεις swap δυο μεταβλητές αρκεί ένα
x, y = y, x
ή μια συνάρτηση που υπολογίζει τους n πρώτους αριθμούς fibοnacci



def fib(n):
result = []
a,b=0,1
for i in range(n):
result += [b]
a,b=b,a+b
return result


Σε όποια άλλη γλώσσα προγραμαμτισμού και να το υλοποιήσεις τόσο αναγνώσιμο, τόσο συμπαγές και τόσο κομψό δεν γίνεται! Το αντίστοιχο πρόγραμμα σε c++ ή java θα είναι τουλάχιστον 3-4 φορές μεγαλύτερο.

tvelocity
28-08-05, 00:58
Python rulez. ΤΕΛΕΙΑ! :p

Πέστα sandman! Και είναι real programming language, όχι VB και αηδίες!

lazar
28-08-05, 01:02
Thanks Sandman. Έχω καταλάβει ότι ασχολείσαι σοβαρά με τον προγραμματισμό και εμπιστεύομαι τη γνώμη σου γι' αυτό σε ρώτησα.

giorgosc61
02-09-05, 18:29
Ευχαριστώ όλους για τις απαντήσεις σας.
Θέλω να ρωτήσω για την python.
Κάποιο site για να αρχίσει κάποιος?
IDE έχει?

@ ADSLgr.com All rights reserved.