Αποστολέας Θέμα: Πρόσκληση για συμμετοχή σε open source πρόγραμμα εκτέλεσης αλγορίθμων  (Αναγνώστηκε 15382 φορές)

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1425
  • There are always possibilities...
[quote author=alkisg link=topic=1077.msg6498#msg6498 date=1191405990
Υ.Γ. για τα δεδομένα: αν μπορούσαμε να προτείνουμε να διορθωθούν στο βιβλίο οι δηλώσεις και να γίνουν //Δεδομένα: Μ, Ν, table[Μ, Ν]// θα γλυτώναμε πολύ κόπο...  :-\
[/quote]

Ναι έχεις δίκιο. Έχω αρχίσει και το σκέφτομαι και είναι λίγο μπέρδεμα.
Μήπως πριν αρχίσουμε την υλοποίηση θα πρέπει να οργανωθούμε κάπως?
Πχ. να δούμε όλοι μια γενική αρχιτεκτονική της εφαρμογής, να φτιάξουμε κάποιο project στο sourceforge ϊσως για source control?
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Για source control είχα ξεκινήσει να σας γράφω σε προηγούμενο μήνυμα αλλά το μετάνιωσα για να μην σας τρομάξω!

Λοιπόν, αν είμαστε 5-6 άτομα με καλά χωρισμένα καθήκοντα, τα code versioning systems θα μας φάνε αντί να μας κερδίσουν χρόνο. Από την άλλη, εγώ προσωπικά θα το προτιμούσα έστω και μόνο για την εμπειρία του να δουλέψουμε σε "κανονικό" team.
Well, it's up to you: προτιμάτε κανονικό project εξ' αρχής στο sourceforge με subversion σαν code versioning system ή απλά έναν ftp server, ένα googlepages ή κάτι σχετικό που απλά να μας αφήνει να κάνουμε upload / download;

Για αρχιτεκτονική: τα κομμάτια που ξεκινήσαμε μέχρι στιγμής είναι καλώς ορισμένα και ανεξάρτητα της υπόλοιπης υλοποίησης, δεν υπάρχει πρόβλημα.
Μόλις δω λίγο αυτό που έλεγα με την δοκιμή εκτέλεσης ενός αλγορίθμου, θα ποστάρω και τα υπόλοιπα περί αρχιτεκτονικής.
Προβληματίζομαι στο ότι στην Javascript δεν υπάρχουν threads και έτσι ο κώδικας θα πρέπει να τρέχει με SetTimeOut. Το κακό με αυτό είναι ότι δεν μπορούμε να παράγουμε μονοκόμματο κώδικα, κάθε εντολή θα πρέπει να εκτελείται τελείως ανεξάρτητα, να σταματάει η εκτέλεση και να συνεχίζεται μετά μέσω της SetTimeOut.

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1425
  • There are always possibilities...
Εγώ προσωπικά θα προτιμούσα να έχουμε source control. Νομίζω πως το sourceforge πρέπει να είναι καλό αν και δεν το έχω δουλέψει ο ίδιος.
Ό,τι θέλουν οι περισσότεροι.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Οπότε (Γιώργο; Νίκο; ) μάλλον πάμε για sourceforge.
Για βρείτε και ένα project name. Δεν αλλάζει εύκολα στη συνέχεια. Π.χ. http://activityspace.sf.net

Τι λέτε για pseudoglossa? :)

gouvasg

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 67
    • Ο ιστότοπός μου
no problem,

για το όνομα... greekpseudocode να είναι και διεθνώς κατανοητό? (μην το δει και κανένας ξένος :) )
 
Γεώργιος Γκούβας
Μηχ. Η/Υ-Σ
www.gouvas.eu

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3510
  • to Iterate is human to Recurse divine

ευχαριστώ πολύ για τις πληροφορίες (όπως κατάλαβες θα σε τρελάνω στις ερωτήσεις τώρα που ξεκινάει και το  project)
Για τις λέξεις εννοούσα ότι στον κώδικα του λεκτικού αναλύτη απλά θα αλλάξεις τα tokens. Έτσι δεν είναι? και τα ονόματα των identifiers και κάποιων συμβόλων αλλά η δομή του αναλυτή δεν είναι η ίδια?


Για real time syntax checking: αυτός συνήθως γίνεται από κανονικό parser σε ένα background thread. Recursive descent όπως του Διερμηνευτή δεν κάνουν, γιατί αυτοί επισημαίνουν μόνο το πρώτο λάθος, χρειάζεται μη αναδρομικός, π.χ. με bison/flex και τέτοια. Και φυσικά το syntax editing component χρειάζεται να υποστηρίζει curly underlining.

Για τον highlighter: δεν αλλάζουμε απλά τις λέξεις, χρειάζεται λεκτικός αναλυτής (συνήθως - δεν έχω δει τις λεπτομέρειες του codepress). Μικρός είναι, έστειλα έναν που έχω φτιάξει σε php στο Γιώργο μήπως τον βοηθήσει.

Πάντως σοβαρά καλύτερα να κάνεις plugin για το Eclipse παρά να ξανα-ανακαλύπτεις τον τροχό εξ' αρχής. Ή, αν δουλέψεις σε C++, plugin για το visual studio ή το codeblocks.

Υ.Γ. για τα δεδομένα: αν μπορούσαμε να προτείνουμε να διορθωθούν στο βιβλίο οι δηλώσεις και να γίνουν //Δεδομένα: Μ, Ν, table[Μ, Ν]// θα γλυτώναμε πολύ κόπο...  :-\
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3510
  • to Iterate is human to Recurse divine
ψηφίζω pseudoglossa

no problem,

για το όνομα... greekpseudocode να είναι και διεθνώς κατανοητό? (μην το δει και κανένας ξένος :) )
 

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Για τις λέξεις εννοούσα ότι στον κώδικα του λεκτικού αναλύτη απλά θα αλλάξεις τα tokens. Έτσι δεν είναι?

Όχι. Διαφορετικές γλώσσες χρειάζονται διαφορετικό λεκτικό αναλυτή (εννοώ τον κώδικα, όχι τα tokens). Για παράδειγμα, η Basic με τη ΓΛΩΣΣΑ είναι πολύ κοντά λεκτικά, αλλά σκέψου έναν highlighter για php, που να χρωματίζει και HTML:
Κώδικας: PHP
  1. <p class="test">This <i>is highlighted</i> as html.
  2. <br>
  3. <?php
  4. echo "This should be highlighted as php.";
  5. echo <<HEREDOC
  6. <b>Again this is HTML</b>
  7. /* This comment
  8. is NOT valid here */
  9. :HEREDOC
  10. ?>
  11. ...
  12.  

Απολύτως καμία σχέση με τον ψευδοκώδικα. Το < στον ψευδοκώδικα σημαίνει μικρότερο, στην PHP επίσης, αλλά στα HTML κομμάτια είναι συνήθως αρχή δεσμευμένης λέξης. Ο highlighter θα πρέπει να κοιτάει και που βρίσκεται κάθε κομμάτι για να αποφασίσει για τη λεκτική του σημασία (π.χ. το comment παραπάνω).

Αν θες κώδικα πες μου να σου στείλω!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Για το όνομα: αν είναι να το δούνε ξένοι, και αν (λέμε τώρα!) ποτέ αποφασίσουν να το μεταγλωττίσουν και να το χρησιμοποιήσουν, τότε το greek δεν είναι καλό να υπάρχει σαν μέρος του ονόματος, γιατί με κάθε μεταγλώττιση θα πρέπει να αλλάζει και όνομα το project!

gouvasg

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 67
    • Ο ιστότοπός μου
Για το όνομα: δεν διαφωνώ για pseudoglossa.
 για το highlighter: δεν δουλεύει με απλή αλλαγή των tokens, λεπτομέρειες ή αύριο ή την άλλη εβδομάδα...

Ευριπίδη το κοιτάζω.

άλκη που τον τρέχεις αυτό τον κώδικα; (άσχετο άλλα λείπει ένα ερωτηματικό :) )
Γεώργιος Γκούβας
Μηχ. Η/Υ-Σ
www.gouvas.eu

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Είναι κομμάτι από τον highlighter που έφτιαξα εδώ για το Στέκι για να χρωματίζονται τα [cοde=Ψευδογλώσσα] τμήματα και τα συνημμένα αρχεία .γλώσσα.
Η σχετική ανακοίνωση: https://alkisg.mysch.gr/steki/index.php?topic=405.0
Τι ερωτηματικό λείπει; Στο τέλος; Δεν σου έστειλα ολόκληρο το αρχείο, έχει παρακάτω κώδικα για μετατροπές από/σε Windows-1253/UTF8/UTF16 κτλ.

nikosdimos

  • Ομάδα ανάπτυξης Ψευδογλώσσας
  • *
  • Μηνύματα: 4
Για το πως θα διαχειριζόμαστε τα αρχεία και εγώ ψηφίζω sourceforge. Πρώτον γιατί και εγώ θα ήθελα να έχω την εμπειρία ενός κανονικού team. Δεύτερον μπορεί στην αρχή να φαίνεται λίγο μπέρδεμα αλλά πιστεύω πως σε βάθος χρόνου θα μας βοηθήσει.

Τώρα όσον αφορά το όνομα δεν μπορώ να βοηθήσω. Δεν είμαι καλός στην απόδοση ονομάτων. Αλλά θα συμφωνήσω να μην το πούμε "greekpseudocode" για τον λόγο που είπε και ο alkisg πιο πάνω.

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1425
  • There are always possibilities...
Και εγώ συμφωνώ με το ψευδογλώσσα.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5441
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
ΟΚ, επομένως κάνω αίτηση για άνοιγμα project με το όνομα http://pseudoglossa.sourceforge.net.
Θα πρέπει κι εσείς να κάνετε αίτηση για εγγραφή σαν developers στο sourceforge, και στη συνέχεια μόλις εγκρίνουν το project να δηλώσετε συμμετοχή σ' αυτό.

Υ.Γ. για lisence βάζω GPL 2.0, έτσι;

nikosdimos

  • Ομάδα ανάπτυξης Ψευδογλώσσας
  • *
  • Μηνύματα: 4
ΟΚ, επομένως κάνω αίτηση για άνοιγμα project με το όνομα http://pseudoglossa.sourceforge.net.
Θα πρέπει κι εσείς να κάνετε αίτηση για εγγραφή σαν developers στο sourceforge, και στη συνέχεια μόλις εγκρίνουν το project να δηλώσετε συμμετοχή σ' αυτό.

Υ.Γ. για lisence βάζω GPL 2.0, έτσι;

Εγώ έχω κάνει αίτηση για εγγραφή σαν developer. Όταν θα είναι έτοιμο το project θα δηλώσω συμμετοχή.

Τώρα όσον αφορά την άδεια δεν ξέρω και πολλά πράγματα περί GPL.