Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Θέλετε την γνώμη των άλλων για την σελίδα σας; Τότε βρίσκεστε στο σωστό μέρος.

Συντονιστές: WebDev Moderators, Super-Moderators

Κλειδωμένο
ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από ailouros » 23 Ιουν 2016 14:25

"Πράσινα" νήματα.

WTF?

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 14:38

Μπορείς να διαβάσεις εδώ:
https://en.wikipedia.org/wiki/Green_threads
Και μπορείς να δεις ένα παράδειγμα που τα χρησιμοποιεί:
https://www.youtube.com/watch?v=4g2P-XTwElA
Ανοίγω τριάντα παράθυρα (με το ενσωματωμένο framework της Μ2000 - είναι γραμμένο στο κώδικα του διερμηνευτή), και σε καθένα τρέχει ένα νήμα που ζωγραφίζει!

φτιάξε ένα παρόμοιο με Net...
Αυτό είναι το κανάλι μου στο youtube
https://www.youtube.com/user/GETBREAK/v ... d=0&view=0

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από ailouros » 23 Ιουν 2016 14:54

Bugman έγραψε: φτιάξε ένα παρόμοιο με Net...
Κατάλαβα, ήρθες εδώ για να κάνεις τον μάγκα. Δεν απορώ που σε έδιωξαν από το insomnia. Απαξιώ να συνεχίσω. Μίλα μόνος σου.

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 15:01

Περίμενε ένα λεπτό!
Δεν κάνω τον μάγκα, αλλά μου ζήτησες διαφορές, και μόλις σου έδειξα μία έγινα "μάγκας"...
Σε καμία περίπτωση δεν είμαι μάγκας όπως λες.
Μιλάμε για κάτι που δουλεύω χρόνια. Αν μια εταιρεία έφτιαχνε κάτι τέτοιο θα το τελείωνε σε τρεις μήνες, επειδή θα χρησιμοποιούσε επαγγελματίες.
Εγώ δεν είμαι επαγγελματίας, αλλά χομπίστας!
Άρα πως εγώ κάνω τον μάγκα; Απλά στο ανέφερα για να μου απαντήσεις ότι στις Net γλώσσες δεν δίνουν control arrays. Αυτή την απάντηση περίμενα! Και θα σου εξηγούσε πως τελικά δεν μιλάμε για wrapper της Vb6 (ούτε η VB6 έχει control arrays σε φόρμες, έχει όμως σε controls πάνω στην φόρμα).

Υ.Γ.
Δεν με έδιωξαν από το Insomnia, αποχώρησα με email που έστειλα!
Και μάλιστα μου έστειλαν πάλι δικό τους μήπως άλλαξα γνώμη!

(Ο κώδικας της Μ2000 είναι ανοιχτός, μιλάμε για OpenSource, και όπου έχω χρησιμοποιήσει ρουτίνες άλλων το γράφω, όπως π.χ. στην εξαγωγή jpg)

DansGame
Δημοσιεύσεις: 29
Εγγραφή: 22 Ιουν 2016 14:21

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από DansGame » 23 Ιουν 2016 15:30

Και για πες και για τις lambdas που έφτιαξες σε ένα απόγευμα.
...you can run, but you can't hide!

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 15:50

Δεν είναι ίδιες με αυτές της Python. Η διαφορά είναι στο capture...δηλαδή η M2000 αντιγράφει την μεταβλητή ή τον πίνακα που δίνουμε ως non local. Αυτό σημαίνει ότι μένει μέσα στην λάμδα, αλλάζει τιμές σε επόμενες κλήσεις, αλλά δεν εμφανίζεται στην αρχική η όποια αλλαγή. Στην Python έχουμε ίδια μεταβλητή. Υπάρχει όμως ένα τύπου αντικείμενο στη Μ2000 που δεν περνάει με αντιγραφή και αυτό είναι η Κατάσταση (Ειδών) που είναι ένα είδος Map, με ζευγάρια κλειδιών-τιμών και λειτουργεί με Ο(1) στην αναζήτηση, στην προσθήκη και στη διαγραφή (λειτουργεί με πίνακα κατακερματισμού). Σε αυτή τη περίπτωση φαίνεται η λάμδα όπως και αυτή της Python.
Επιπλέον την έχω προχωρήσει, μπορεί κανείς να κάνει αναδρομή στη λάμδα χωρίς να ξέρει το όνομα της λάμδα (Αφού μπορεί να μπει σε άλλη μεταβλητή) και αυτό γίνεται με κλήση της λάμδα με το όνομα λάμδα!

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Alice_Cooper » 23 Ιουν 2016 16:48

:? esto oti afto eksigithike...
poia glossa den exei compiler?

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 17:06

Όσες γλώσσες εκτελούνται με Interpreter δεν χρειάζονται compiler. Υπάρχουν γλώσσες που έχουν και τα δύο, όπως η VB6.
https://en.wikipedia.org/wiki/Interpreted_language
Η Μ2000 δεν μπορεί να έχει compiler (ίσως κάποτε φτιάξω κάποιον jit για μέρη κώδικα), γιατί έχει δυο εντολές, την INLINE που βάζει κώδικα (Injection), και τις Eval() και Eval$() που αποτιμούν ένα αλφαριθμητικό και δέχεται και ονόματα μεταβλητών σε αυτά. (άρα επιλύει αναφορές σε ονόματα, που κατά την μεταγλώτιση δεν ήταν γνωστά, άρα δεν μπορεί να συμβεί αυτό σε μεταγλωτισμένο κώδικα)

Και οι άλλες γλώσσες με compiler
https://en.wikipedia.org/wiki/Compiled_language

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από korgr » 23 Ιουν 2016 17:12

Αγαπητέ bugman είμαι web developer και δεν έχω ιδέα από desktop programming, οπότε δεν μπορώ να κρίνω τι είναι αυτό που έφτιαξες.
Θα σου δώσω όμως συγχαρητήρια, γιατί ακολουθείς τον δικό σου δρόμο, ένα όραμα!
Τα έχω ακούσει κι εγώ κατά καιρούς σε αυτό το forum σχετικά με το wheel reinventing, όταν αποφάσισα να δημιουργήσω το δικό μου PHP Framework και στηριζόμενος σε αυτό να δημιουργήσω δικό μου CMS και στη συνέχεια e-commerce platform.

Ξέρω όσο λίγοι πόση δύναμη αλλά και πόση δουλειά χρειάζεται για να χαράζεις δικό σου δρόμο. Δεν έχει σημασία που θα σε βγάλει, μετράει το ταξίδι και οι γνώσεις που αποκομίζεις :)

Keep on

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Alice_Cooper » 23 Ιουν 2016 17:15

ekanes dld kati san qbasic alla gia parathiriko?

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 17:32

Έγραφα κώδικα σε Qbasic, και Visual Basic, αλλά ήθελα:
1: Έναν διερμηνευτή με ότι χρειάζεται (όπως το έβλεπα τότε που ξεκίνησα) από την αρχή.
2: Ελληνικές + Αγγλικές εντολές, και ενσωματωμένη βοήθεια
3: Να υπάρχει μια κονσόλα με δυνατότητες γραφικών, και να ορίζουμε τύπους λειτουργίας (Mode)
4: Βασικές εντολές, και η χρήση ενός σωρού τιμών για πέρασμα τιμών (η Μ2000 δεν κοιτάει πόσες παραμέτρους και τι περνάμε, αλλά αφήνει αυτό που καλούμε να τις "διαβάσει" όποτε θέλει αυτό, και όπως θέλει). Αυτό το στοιχείο αρχικά διαφοροποίησε τη γλώσσα.
5: Εντολές για γραφικά, bitmap, ήχο, βίντεο, βάσεις δεδομένων (να εκτελεί SQL ερωτήματα, παλιά είχα το DAO και τώρα έχω το ADO, αλλά οι βασικές εντολές δεν άλλαξαν, πρόγραμμα δηλάδή που δούλευε με παλαιού τύπου MDB και DAO, δουλεύει και με ADO)

Τελικά κατέληξε στην έκδοση 8.2 που έχει, αντικείμενα (φτιάχνεις αντικείμενα με ιδιωτικές και δημόσιες μεθόδους και ιδιότητες), δομές (structures με unions) για να φτιάχνουμε διαρθρώσεις μνήμης (buffers, κοινώς να κάνουμε Malloc), καταστάσεις (maps με hash function για τα κλειδιά), λάμδα συναρτήσεις, Αντικείμενα Γεγονός με multicast (και με πέρασμα με αναφορά), Φόρμες-Παράθυρα με λίστες με κύλιση με σπρώξιμο και επεξεργαστή κειμένου με χρωματισμό κώδικα, τα νήματα που αναφέρω σε άλλο μήνυμα, καθώς και την χρήση εξωτερικών dll, δυο ειδών, αυτά του λειτουργικού και αυτά της C (διαφέρει ο τρόπος κλήσης), καθώς και η χρήση com αντικειμένων (δηλαδή μπορούμε να ανοίξουμε το Word, και μάλιστα μπορούμε να πάρουμε και events από αυτό).
Τέλος ο διερμηνευτής είναι ActiveX αντικείμενο, δηλαδή μπορεί κάποιος από άλλη γλώσσα να ξεκινήσει την Μ2000 ως αντικείμενο όπως η VbScript, αλλά θα τρέχει εντολές της Μ2000, στην κονσόλα και στα παράθυρα της Μ2000.

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 17:39

@korgr
Ευχαριστώ. Πράγματι έχω περάσει πολλά. Π.χ. το πώς θα περνάω αντικείμενα μέσα από τον parser για τις εκφράσεις μου έφαγε καιρό να το καταλάβω.
Βλέπω σε Πανεπιστήμια να βάζουν εργασίες, για να φτιάχνουν πχ Pazcal (τι οποίες δεν μπορώ να κάνω, να είμαστε σοβαροί δηλαδή) όπου δεν ζητούν επιστροφή πίνακα από συνάρτηση (Η Μ2000 γυρνάει οτιδήποτε από συνάρτηση εκτός από τμήμα και ρουτίνα....)

(ρουτίνες και τμήματα διαφέρουν στη Μ2000, τα τμήματα τρέχουν σε δικό τους αντικείμενο εκτέλεσης. Η έννοια αντικείμενο εκτέλεσης ταιριάζει με το DOM, αλλά δεν είναι ίδιο)

crossover
Δημοσιεύσεις: 35
Εγγραφή: 23 Ιουν 2016 18:10

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από crossover » 23 Ιουν 2016 18:19

Μα αφού χρησιμοποιείς VB6 από πίσω αυτό που έχεις κάνει είναι ένας wrapper ή στη πραγματικότητα ένας parser που μεταφράζει τις εντολές της Μ2000 σε εντολές VB6 και όχι γλώσσα.

Άβαταρ μέλους
Bugman
Δημοσιεύσεις: 362
Εγγραφή: 01 Ιούλ 2003 20:39
Τοποθεσία: Πρέβεζα
Επικοινωνία:

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από Bugman » 23 Ιουν 2016 18:34

Ο διερμηνευτής της γλώσσας είναι γραμμένος σε VB6 αλλά είναι ένα πρόγραμμα που έχει γίνει πια γλώσσα μηχανής. Έτσι αυτό που εκτελείται όταν τρέχει η Μ2000, είναι κώδικας σε γλώσσα μηχανής και όχι VB6 κώδικας (εδώ ελπίζω να κατανοεί την διαφορά κανείς του source, του object, και του exe που φτιάχνεται από Linker).
Όλες οι γλώσσες σε κάποια γλώσσα φτιάχτηκαν. Θα είχαμε wrapper αν είχαμε ένα προς ένα αντιστοιχία της Μ2000 με την VB6. Αυτό δεν συμβαίνει.
Π.χ. μια διαφορά της Μ2000 με την VB6 είναι ότι στην Μ2000 έχουμε συναρτήσεις και τμήματα μέσα σε συναρτήσεις και τμήματα. Στην VB6 δεν ισχύει αυτό. Αν είχαμε wrapper τότε πώς θα έβγαινε η συνάρτηση μέσα σε συνάρτηση (ούτε η VB6 γυρνάει συνάρτηση όπως γυρνάει η Μ2000).
Δεν ισχύει να λέμε ότι γράφω με assembly π.χ. C άρα η C είναι wrapper της Assembly. Από την VB6 ο διερμηνευτής δανείστηκε το βασικό σύστημα παραθύρων, το οποίο εμπλούτισα με νέα αντικείμενα. (βασικά ένα user control μέσω αλλων αντικειμένων γίνεται όλα τα στοιχεία ελέγχου του παραθυρικού περιβάλλοντος της Μ2000. Δεν χρησιμοποιώ τα commom controls της VB6.)

ailouros
Δημοσιεύσεις: 212
Εγγραφή: 08 Ιούλ 2015 17:44

Γλώσσα Προγραμματισμού με Ελληνικές Εντολές Μ2000

Δημοσίευση από ailouros » 23 Ιουν 2016 18:37

@korgr
Δεν νομίζω ότι η περίπτωση σου έχει καμία σχέση με αυτό που περιγράφει ο Bugman. Εσύ απλά προέκτεινες μια ζωντανή γλώσσα. Αυτός ασχολείται με μια γλώσσα η οποία έχει να ανανεωθεί από το 1998 και από το 2008 η Microsoft έχει πάψει και να την υποστηρίζει. Απλά συμπεριλαμβάνει το runtime στα Windows για λόγους backward compatibility. H VB6 δεν έχει πλέον πεδίο εφαρμογής. Δεν ξέρω κανέναν που να ασχολείται ακόμα με αυτή.

@Bugman
Τι από όλα αυτά που κάνεις δεν τα κάνει το .NET; Η φυσική εξέλιξη οποιουδήποτε προγραμματιστή ασχολιόταν με Visual Basic ήταν να μεταπηδήσει σε .NET. Καταλαβαίνω ότι μπορεί να σου ξενίζει ως περιβάλλον αλλά διάολε, μετά από 20 χρόνια θα έπρεπε να έχεις συμβιβαστεί με την πραγματικότητα. Αυτό το πράγμα που έχεις φτιάξει μπορεί να ακούγεται ενδιαφέρον ως δείγμα εργασίας αλλά σε ρεαλιστική βάση είναι παντελώς άχρηστο. Έχουμε πολύ καλύτερα εργαλεία σήμερα.

Για το ελληνικό συντακτικό δεν θα πω τίποτα. Είναι εντελώς λάθος κατεύθυνση. Θα βάλεις κώδικα στο Github, θα μπει ο ολλανδός και δεν θα καταλάβει Χριστό.

Κλειδωμένο

Επιστροφή στο “Θέλω την γνώμη σας για την Σελίδα μου...”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες