Προς το περιεχόμενο

γλωσσα περιβαλλον


Jimaraz97

Προτεινόμενες αναρτήσεις

Δημοσ.

Πάντως σου προτείνω να μην μπλέξεις με IDEs γιατί θα κακομάθεις...

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

Δημοσ.

+1 κι εγώ για έτοιμο IDE. Για C/C++ το Code:Blocks είναι απλά κορυφαίο και cross-platform. Για άλλες γλώσσες δεν ξέρω πάντως να σας πω λεπτιομέρειες. Τα Netbeans, Eclipse και Aptana Studio (βασισμένο στο Eclipse) είναι από τα πιο δημοφιλή, μιας και υποστηρίζουν πολλές γλώσσες, με τίμημα όμως ότι είναι πιο βαριά.

Δημοσ.

και για την python ποιο?

 

Ενώ έκανα την εγκατάσταση της γλώσσας προγραμματισμού gcc δημιουργήθηκε περιβάλλον UNIX στα Windows XP :confused:

Και τότε είδα ότι έχω στο PC και την Python.

Την λειτούργησα με την Python Shell c:\Python26\Lib\idlelib\idle.bat και εκτέλεσα το πρόγραμμα "Hello world!".

Δημοσ.

Ωραίος. Θα το δοκιμάσω...

 

 

Γιατί με κάτι IDE που έχω μπλέξει προτιμώ να χρησιμοποιώ ως external editor το NP++... αλλά το ρημάδι το "go to definition" είναι χρήσιμο!

Είμαι κι εγώ της... ταλαιπωρίας πάντως :) Παρόλο που αναγνωρίζω την ανωτερότητα των εξειδικευμένων IDE για την κάθε γλώσσα, προτιμώ το Np++ γιατί το έχω συνηθίσει και με αφήνει να το στήσω για οποιαδήποτε γλώσσα. Βέβαια δεν έχω καμία πίεση χρόνου εγώ, αφού έχω αποσυρθεί από το άθλημα επαγγελματικά εδώ και χρόνια και προγραμματίζω πια μονάχα για να περνάω την ώρα μου. Σε αντίθετη περίπτωση, σαφώς και θα προτιμούσα ένα κανονικό IDE.

 

Σχετικά με το Source Cookifier, επειδή το βρήκα χτες με αφορμή την ερώτησή σου δεν το χω ψάξει ακόμα. Από το λίγο που είδα δουλεύει αν έχεις όλα τα αρχεία ανοιχτά μέσα στο np++, αλλά έχει κι ένα "Cookie Session" που εικάζω θα βρίσκει definition και σε κλειστά αρχεία, αλλά πρέπει να το δω για σίγουρα.

Δημοσ.

Είμαι κι εγώ της... ταλαιπωρίας πάντως :) Παρόλο που αναγνωρίζω την ανωτερότητα των εξειδικευμένων IDE για την κάθε γλώσσα, προτιμώ το Np++ γιατί το έχω συνηθίσει και με αφήνει να το στήσω για οποιαδήποτε γλώσσα. Βέβαια δεν έχω καμία πίεση χρόνου εγώ, αφού έχω αποσυρθεί από το άθλημα επαγγελματικά εδώ και χρόνια και προγραμματίζω πια μονάχα για να περνάω την ώρα μου. Σε αντίθετη περίπτωση, σαφώς και θα προτιμούσα ένα κανονικό IDE.

 

Σχετικά με το Source Cookifier, επειδή το βρήκα χτες με αφορμή την ερώτησή σου δεν το χω ψάξει ακόμα. Από το λίγο που είδα δουλεύει αν έχεις όλα τα αρχεία ανοιχτά μέσα στο np++, αλλά έχει κι ένα "Cookie Session" που εικάζω θα βρίσκει definition και σε κλειστά αρχεία, αλλά πρέπει να το δω για σίγουρα.

 

 

Το δοκίμασα και λειτουργεί εάν έχει το .c ή .h αρχείο τα includes. Δεν βγαίνει σαν επιλογή σε δεξί κλικ... αλλά σαν επιλογή στο menu plugins όπου έχει και το Source Cookiefier.

 

Χωρίς να έχω ανοικτό το αρχείο με το "definition", με επιλογή του "ονόματος" και επιλογή του "go to definition" μου το βρήκε. Έχει λίγο πρόβλημα βέβαια.. εάν έχεις την δήλωση και την υλοποίηση ξεχωριστά από μία συνάρτηση. Σου βγάζει δύο "definition", απ' ό,τι είδα.

 

Επίσης δεν ξέρω τι γίνεται εάν τα αρχεία με τα "definitions" είναι σε διαφορετικό directory....

 

 

Υ.Γ. Δεν είναι ανωτερότητα των IDE μόνο για γλώσσες... αλλά και για εφαρμογές. ;)

Σε C γράφω... αλλά το IDE που χρησιμοποιώ σε μία "εφαρμογή".. είναι λίγο πίσω σε ό,τι μπορεί να έχει συνηθίσει κανείς από XCode, VS, NetB κτλ .

 

Οπότε... npp.

Δημοσ.

Το δοκίμασα και λειτουργεί εάν έχει το .c ή .h αρχείο τα includes. Δεν βγαίνει σαν επιλογή σε δεξί κλικ... αλλά σαν επιλογή στο menu plugins όπου έχει και το Source Cookiefier.

 

Χωρίς να έχω ανοικτό το αρχείο με το "definition", με επιλογή του "ονόματος" και επιλογή του "go to definition" μου το βρήκε. Έχει λίγο πρόβλημα βέβαια.. εάν έχεις την δήλωση και την υλοποίηση ξεχωριστά από μία συνάρτηση. Σου βγάζει δύο "definition", απ' ό,τι είδα.

 

Επίσης δεν ξέρω τι γίνεται εάν τα αρχεία με τα "definitions" είναι σε διαφορετικό directory....

Εγώ ακόμα δεν το έψαξα, μιλάμε για το Cookie Session ε; Είναι σε πολύ φρέσκια έκδοση νομίζω, οπότε ελπίζουμε πως θα το βελτιώσει (π.χ. να προσθέσει σχετικό submenu στο context menu).

 

Υ.Γ. Δεν είναι ανωτερότητα των IDE μόνο για γλώσσες... αλλά και για εφαρμογές. ;)

Σε C γράφω... αλλά το IDE που χρησιμοποιώ σε μία "εφαρμογή".. είναι λίγο πίσω σε ό,τι μπορεί να έχει συνηθίσει κανείς από XCode, VS, NetB κτλ .

 

Οπότε... npp.

Έχεις δοκιμάσει Code::Blocks; Προσωπικά το βρίσκω εξαιρετικό!

 

Σχετικο-άσχετο, μόλις έφτιαξα ένα np++ σκριπτακι για compile & run GTK+2 εφαρμογών απευθείας μέσα από το np++, μέσω mingw32.

Θέλει μια κάποια διαδικασία όμως (με την προϋπόθεση πως έχετε ήδη εγκαταστήσει τον mingw ή το cygwin και το GTK+2 API στο σύστημά σας) την οποία και παραθέτω:

 

1. στο msys prompt γράψτε:

>
pkg-config --cflags >cflags.txt
pkg-config --libs gtk+-2.0 >libs.txt

2. ανοίξτε τα αρχεία: cflags.txt και libs.txt και βάλτε τα περιεχόμενά τους σε 2 νέα environment variables των Windows, π.χ...

>
GTK2_CFLAGS=εδώ τα περιεχόμενα του αρχείου cflags.txt
GTK2_LIBS=εδώ τα περιεχόμενα του αρχείου libs.txt

σε αυτό το σημείο είστε ήδη έτοιμοι να κάνετε compile GTK+2 εφαρμογές κι από το στάνταρ command prompt των Windows (cmd.exe)...

>
gcc -Wall myprog.c -o myprog.exe %GTK2_CFLAGS% %GTK2_LIBS%

ο στάνταρ τρόπος...

>
gcc -Wall myprog.c -o myprog.exe `pkg-config --cflags --libs gtk+-2.0`

λειτουργεί μόνο σε MSYS (ή οποιοδήποτε άλλο unix-like shell έχετε τυχόν εγκατεστημένο στα Windows σας) αλλά αδυνατεί να γίνει parse στο cmd.exe των Windows, λόγω του χαρακτήρα ` (για αυτό και η πιο πάνω διαδικασία).

 

3. Για να μεταφέρετε το compilation σε cmd.exe μέσα στο np++ μπορείτε πλέον να προσθέσετε στο NppExec ένα σκριπτάκι σαν τον παρακάτω...

>
npp_save
cd  $(CURRENT_DIRECTORY)
cmd /c del *.o $(NAME_PART).exe
gcc -Wall $(FILE_NAME) -o "$(NAME_PART)".exe $(SYS.GTK2_CFLAGS) $(SYS.GTK2_LIBS)
npp_run "$(NAME_PART)".exe

 

Για όσους δεν γνωρίζουν, το GTK+ είναι ένα cross-platform παραθυρικό API που πατάει πάνω στη glib, έχει bindings για πάρα πολλές γλώσσες, και βασικά με αυτό έχει γραφτεί το GNOME του linux. Για την διευκόλυνση στη δημιουργία των διάφορων widgets του ο περισσότερος κόσμος χρησιμοποιεί το Glade (κάτι αντίστοιχο των resource editors στα Windows).

 

Με λίγα λόγια, φτιάχνετε παραθυρικές εφαρμογές που τρέχουν στις 3 βασικές πλατφόρμες: Unix/Linux, Windows, Mac OS με ένα απλό compilation του κώδικα, καθώς και σε κινητά και tablets. Η έκδοση 2.x είναι η πιο χρησιμοποιούμενη μέχρι στιγμής, μέχρι να ωριμάσει η έκδοση 3.x

Δημοσ.

Τελικά, το SourceCookiefier είναι αρκετά καλό plugin για το npp!

 

 

Δουλεύει άψογα και σε IDEs που δεν έχουν τόσο εξελιγμένο "project viewer" βοηθάει απίστευτα εάν χρησιμοποιείς το npp ως external editor.

 

Έχει και την λειτουργικότητα του "go to definition" αλλά και viewer για τις functions, μεταβλητές, defines κτλ. Στον οποίο "viewer" μπορείς να επιλέξεις εάν θες να βλέπεις απλά ονόματα ή όλο το signature της function.

 

Έχει ακόμα και δυνατότητα να δείχνει τις τοπικές μεταβλητές (δεν χρησιμεύει και τόσο, γιατί δεν καταλαβαίνει, και λογικά, ότι μία μεταβλητή "counter" μπορεί να είναι η "ίδια" σε όλες τις functions, με αποτέλεσμα να παρουσιάζει τόσες μεταβλητές "counter" όσες και οι φορές που την έχει ορίσει κάποιος μέσα σε functions σε ένα αρχείο).

 

να σημειώσω ότι το δουλεύω - δοκιμάζω με "καθαρή" C και όχι κάποια άλλη γλώσσα (προς το παρόν).

Δημοσ.

Ναι, πέρα από το "go to definition" η υπόλοιπη λειτουργικότητα του viewer είναι επηρεασμένη από το "Functions List" plugin, που είναι το standard plugin για αυτές τις δουλειές. Και νομίζω πως "καταλαβαίνει" καλύτερα που ξεκινάνε οι συναρτήσεις, ακόμα κι αν τις ορίσεις με περίεργο τρόπο, π.χ...

>
int*
foo(
...
) {
..
}

To Cookifier νομίζω μπερδεύεται με κάτι σαν το παραπάνω. Αλλά οκ, είναι extreme case, εγώ το απενεργοποίησα πάντως το Functions List κι άφησα μόνο το Cookifier προς το παρόν, μέχρι να μου δοθεί η ευκαιρία να το δοκιμάσω ενδελεχώς και σε διάφορες περιπτώσεις.

Δημοσ.

Τόσο extreme case δεν δοκίμασα...

 

migf1 αγγίζεις τα όρια του μαζοχισμού με κάτι τέτοια συντακτικά!

 

:D

:lol:

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

 

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

 

>
int *
foo( ... ) {
...
}

και αρκετός (παλαιότερος) κώδικας είναι γραμμένος έτσι. Προσωπικά μου την σπάει τελείως έτσι (όπως μου τη σπάει να είναι το άγκιστρο έναρξης στην ίδια γραμμή με τον ορισμό της συνάρτησης :lol:).

 

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

>
/*** DISABLED
int foo( ... )
{
  ...
}
***/
int foo( ... )
{
 ...
}

και την εμφανίζει 2 φορές τη συνάρτηση στον viewer του (αλλά κι αυτό είναι extreme case, αφού συνήθως τέτοιες απενεργοποιήσεις τις κάνουμε με #if directives). Αλλά αν το θυμάμαι καλά, το Functions List μπερδεύεται γενικώς όταν χρησιμοποιείς παρενθέσεις μέσα σε σχόλια, αλλά όχι πάντα... νομίζω μπερδεύεται στα XP, αλλά όχι στα 7 .. κάτι τέτοια κουφά τέλος πάντων :lol:)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...