Αναπτυξη προγραμματος απο το μηδεν .

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

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

Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό g1wrg0s » 21 Ιουν 2012, 10:03

Γεια σας.

Σημειωση! Αν υπαρχει σχετικο θεμα, τοτε οι συντονιστες ας το μετακινησουν. Δεν βρηκα κατι σχετικο οσο εψαξα.

Λοιπον. Εψαξα στο νετ αλλα δεν βρηκα με ποιον τροπο να μεταφερεις ενα προγραμμα το οποιο ειναι σε source code μιας γλωσσας σε ενα "πραγματικο" προγραμμα που λειτουργει κατω απο τις συνθηκες και τις προυποθεσεις που θες. (Με τον ορο πραγματικο εννοω να ειναι σε θεση να το βαλεις στο ubuntu software center αν προκειτε για open software ή να ειναι σε θεση να τρεξει σε window αν θες να εχει αποκλειστικα GUI)

Θεωρω πως ειναι μια καλη ιδεα για οδηγο How to .

Ειμαι σχετικα νεος στο Linux και στον προγραμματισμο , ωστοσο δεν ξεφυγα ουτε εγω απο τη μανια του open source και θελω να δημιουργησω ενα προγραμμα το οποιο αν ειναι σε καλη κατασταση να μπορω να το δωσω στην κοινοτητα. Η ιδεα υπαρχει αλλα περα απο τα κλασσικα project με C/C++ της σχολης δεν εχω καταφερει να δημιουγησω κατι το οποιο θα τρεχει αυτοματα στην εκκινηση ή απλα πατωντας δυο κλικ σε ενα εικονιδιο στο desktop.

Γι αυτο λοιπον ζητω τα φωτα σας σε αυτο. Εστω οτι καποιος εχει απλα ενα project, πως θα μπορουσε να το κανει " προγραμμα " , ωστε να μπορει να διαμειρασει την ιδεα του.

Ευχαριστω για καθε απαντηση.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πρώτα βήματα
2 Ubuntu 12.10 quantal 3.10.20-031020-generic 32bit (el_GR.UTF-8, Unity ubuntu), Windows 8
3 Intel Core i5-3230M CPU @ 2.60GHz ‖ RAM 7923 MiB ‖ Acer VA50_HC_CR - Acer Aspire V3-571G
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ nVidia Device [10de:0fe1] {}
5 eth0: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] (rev 10) ⋮ wlan0: Atheros Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01)
g1wrg0s
punkTUX
punkTUX
 
Δημοσιεύσεις: 196
Εγγραφή: 26 Μάιος 2012, 10:29
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό konnn » 21 Ιουν 2012, 10:19

Καλημέρα, ίσως είναι καλύτερα να αλλάξεις τον τίτλο του θέματος σε π.χ "Σύνδεση πηγαίου κώδικα με γραφικό περιβάλλον" ή "Ανάπτυξη εφαρμογής σε γρ. πριβάλλον".
Δες και viewtopic.php?f=9&t=3601&start=0
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό medigeek » 21 Ιουν 2012, 10:24

Ένας τρόπος, σίγουρος 100% πως θα δουλεύει σε windows και ubuntu είναι μέσω apache (web server) και ιστοσελίδας (http/html).
Μπορείς να φτιάξεις web πρόγραμμα είτε php, python, ruby κτλ. το οποίο να τρέχει αμέσως μέσω ενός internet browser (internet explorer, firefox, opera, chromium/chrome ...)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό g1wrg0s » 21 Ιουν 2012, 11:08

konnn έγραψε:Καλημέρα, ίσως είναι καλύτερα να αλλάξεις τον τίτλο του θέματος σε π.χ "Σύνδεση πηγαίου κώδικα με γραφικό περιβάλλον" ή "Ανάπτυξη εφαρμογής σε γρ. πριβάλλον".
Δες και https://forum.ubuntu-gr.org/viewtopic.p ... 01&start=0


Δεν ειναι αναγκη να ειναι σε γραφικο περιβαλλον. Ας δω πως μπορω πρωτα να κανω κατι χωρις γραφικο περιβαλλον και μετα παιρναμε και στο GUI.
medigeek έγραψε:
Ένας τρόπος, σίγουρος 100% πως θα δουλεύει σε windows και ubuntu είναι μέσω apache (web server) και ιστοσελίδας (http/html).
Μπορείς να φτιάξεις web πρόγραμμα είτε php, python, ruby κτλ. το οποίο να τρέχει αμέσως μέσω ενός internet browser (internet explorer, firefox, opera, chromium/chrome ...)
[/quote]

Θα το ψαξω στο νετ διοτι δεν εχω ιδεα απο αυτα και στο μελλον θα ηθελα να κανω web εφαρμογες. Ωστοσο τωρα θα ηθελα απλα ενα προγραμμα για υπολογιστη χωρις να μπλεκομαι με γλωσσες , οπως αυτες που αναφερεις. δυστυχως ξερω μονο αρκετα βασικα πραγματα απο C/C++ και πριν μαθω τις αλλες λεω να πειραματιστω εκει.

Ευχαριστω για τις απαντησεις σας.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πρώτα βήματα
2 Ubuntu 12.10 quantal 3.10.20-031020-generic 32bit (el_GR.UTF-8, Unity ubuntu), Windows 8
3 Intel Core i5-3230M CPU @ 2.60GHz ‖ RAM 7923 MiB ‖ Acer VA50_HC_CR - Acer Aspire V3-571G
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ nVidia Device [10de:0fe1] {}
5 eth0: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] (rev 10) ⋮ wlan0: Atheros Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01)
g1wrg0s
punkTUX
punkTUX
 
Δημοσιεύσεις: 196
Εγγραφή: 26 Μάιος 2012, 10:29
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό medigeek » 21 Ιουν 2012, 17:49

δοκίμασε το qt creator: https://qt.nokia.com/products/developer-tools
Υπάρχει και στο ubuntu (εγκατέστησε το μέσω του ubuntu software center) αλλά και ως πρόγραμμα για windows.
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό clepto » 21 Ιουν 2012, 18:16

ο τίτλος είναι παραπλανητικός...

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

δεν μπορώ να καταλάβω ακριβώς τι θες, μπορείς να δώσεις παραπάνω πληροφορίες;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό g1wrg0s » 21 Ιουν 2012, 18:28

Οντως και εγω αυτο καταλαβα στη πορεια.
Λοιπον.

Γενικα: Ζηταγα καποιος ο οποιος εχει φτιαξει δικα του προγραμματα και τα εχει διαθεσει στην κοινοτητα να γραψει ποια ειναι διαδικασια που ακολουθεις για να φτιαξεις ενα προγραμμα.

Ειδικα: Γνωριζω αρκετα πραγματα απο C/C++ και θα ηθελα να πειραματιστω φτιαχνοντας το δικο μου προγραμμα . ΟΧΙ project. Project εχω αρκετα γραμμενα σε απλα IDE . Ωστοσο νοιωθω δεμενος , μιας και περα απο απλα project δεν μπορω να κανω για παραδειγμα ενα προγραμμα το οποιο θα λειτουργει αυτοματα κατα την εναρξη ή ενα προγραμμα που με ενα εικονιδιο στην επιφανεια εργασιας θα πειροδοτειται.

Ελπιζω να γινομαι κατανοητος. Δεν ειναι αναγκη να εχει GUI, ουτως ή αλλως αρκετα προγραμματα ειναι χρησιμα και δεν εχουν γραφικο περιβαλλον.

Εχω την δυνατοτητα να κανω κατι περα απο απλα project με τη βοηθεια αυτων των δυο γλωσσων ή ειναι πρωτα αναγκη να μαθω καποια αλλη γλωσσα.
Spoiler: show
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πρώτα βήματα
2 Ubuntu 12.10 quantal 3.10.20-031020-generic 32bit (el_GR.UTF-8, Unity ubuntu), Windows 8
3 Intel Core i5-3230M CPU @ 2.60GHz ‖ RAM 7923 MiB ‖ Acer VA50_HC_CR - Acer Aspire V3-571G
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915} ⋮ nVidia Device [10de:0fe1] {}
5 eth0: Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] (rev 10) ⋮ wlan0: Atheros Inc. AR9462 Wireless Network Adapter [168c:0034] (rev 01)
g1wrg0s
punkTUX
punkTUX
 
Δημοσιεύσεις: 196
Εγγραφή: 26 Μάιος 2012, 10:29
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό clepto » 21 Ιουν 2012, 18:37

για να δούμε αν κατάλαβα σωστά...πες ότι έχουμε ένα πρόγραμμα που λέγεται myprogram
αν θες να το βρεις στο dash και να το τρέχεις πρέπει να φτιάξεις ένα αρχείο .desktop και να το βάλεις στο /usr/share/applications
πως φτιάχνω ένα desktop αρχείο όμως;
o Learner έχει φροντίσει για αυτό https://forum.ubuntu-gr.org/viewtopic.php?f=9&t=22896 :)
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό medigeek » 21 Ιουν 2012, 21:38

g1wrg0s έγραψε:
Εχω την δυνατοτητα να κανω κατι περα απο απλα project με τη βοηθεια αυτων των δυο γλωσσων ή ειναι πρωτα αναγκη να μαθω καποια αλλη γλωσσα.

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

Τα σημεία που πρέπει να προσέξεις:
1. Η κάθε διανομή έχει το δικό της τρόπο διαχείρισης πακέτων -- π.χ. Debian/Ubuntu/Linux mint χρησιμοποιούν apt/apt-get/aptitude (.deb αρχεία), τα redhat/centos/fedora χρησιμοποιούν το rpm/yum (.rpm αρχεία) το archlinux χρησιμοποιεί δικό του σύστημα διαχείρισης.

Το πακετάρισμα άσε το για την κοινότητα ή άσε το για τελευταίο. Αργά ή γρήγορα κάποιος θα ενδιαφερθεί και θα θελήσει να πακετάρει το πρόγραμμα για τη δική του διανομή. :)

2. Η διαδικασία δημιουργίας ενός προγράμματος σε linux θα είναι σίγουρα πιο εύκολη μέσω ενός IDE. Τα Qt Creator (προγραμματισμός με Qt) και το Anjuta IDE (προγραμματισμός με GTK) προσφέρουν εξίσου καλές δυνατότητες για γρήγορη δημιουργία προγραμμάτων με αυτόματη δημιοργία autotools.

3. Αν θέλεις να ξεκινήσεις χωρίς IDE, χρειάζεται οπωσδήποτε ένας τρόπος αυτοματοποίησης του compilation και της εγκατάστασης. Αυτό γίνεται με αυτόματη ρύθμιση μέσω του autotools/autoconf που ανέφερα προηγουμένως, αλλά μπορείς να φτιάξεις και το δικό σου Makefile.
Υπάρχουν makefile tutorials στο διαδίκτυο: http://www.tutorialspoint.com/makefile/index.htm
* https://www.gnu.org/prep/standards/html ... tions.html -- https://www.gnu.org/prep/standards/html ... x.html#Top
Θα χρειαστείς 3 σημαντικά makefile rules: ένα που να κάνει compile (make), ένα που να το εγκαθιστά (make install) και ένα που θα καθαρίζει τα προηγούμενα (make clean). Πιθανότατα κι ένα "make uninstall" για απεγκατάσταση. :)

4. Διαλέγεις μια ελεύθερη άδεια χρήσης, φτιάχνεις ένα αρχείο "LICENSE" στο φάκελο με το πρόγραμμα και επικολλάς εκεί το κείμενο της άδειας χρήσης. Συστήνω GPLv3 ή BSD 3-clause.
http://www.opensource.org/licenses/index.html

5. Compile γίνεται μέσω της εντολής gcc (για γλώσσα C) ή g++ (για C++). Τα απολύτως αναγκαία εργαλεία εγκαθιστώνται με το πακέτο build-essential στο ubuntu.

Αυτά γι' αρχή...
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Αναπτυξη προγραμματος απο το μηδεν .

Δημοσίευσηαπό simosx » 22 Ιουν 2012, 14:43

g1wrg0s έγραψε:
Ειδικα: Γνωριζω αρκετα πραγματα απο C/C++ και θα ηθελα να πειραματιστω φτιαχνοντας το δικο μου προγραμμα . ΟΧΙ project. Project εχω αρκετα γραμμενα σε απλα IDE . Ωστοσο νοιωθω δεμενος , μιας και περα απο απλα project δεν μπορω να κανω για παραδειγμα ενα προγραμμα το οποιο θα λειτουργει αυτοματα κατα την εναρξη ή ενα προγραμμα που με ενα εικονιδιο στην επιφανεια εργασιας θα πειροδοτειται.


Αυτό που αναφέρεις είναι ότι θέλεις να γίνει και το πακετάρισμα του έργου σου, ώστε να είναι διαθέσιμο από διανομές. Off topic:
Γενικά αν σε αρέσει το πακετάρισμα έργων (ακόμα και τρίτων), μπορείς να γίνεις αυτό που λέμε Ubuntu Developer ή Debian Developer.

Κάτι που προτείνω πάρα πολύ, είναι να διαβάσεις για το διαγωνισμό που οργανώνει η Canonical,
https://lists.ubuntu.com/archives/ubunt ... 13672.html
για τη δημιουργία εφαρμογής που θα μπει στο Κέντρο λογισμικού!
Ο διαγωνισμός έχει προθεσμία στις αρχές Ιουλίου, και κάθε επιτυχής συμμετοχή δίνει δωρεάν μπλουζάκι UBuntu στον προγραμματιστή.
Και αν γράψεις μια πολύ ενδιαφέρουσα εφαρμογή, μπορείς να λάβεις και κάποιο από τα μεγαλύτερα δώρα.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Επόμενο

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