Εμφάνιση Πηγαίου Κώδικα

Γενικά θέματα για τις γλώσσες προγραμματισμού που δεν καλύπτονται από τις άλλες περιοχές της κατηγορίας.

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

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 14 Σεπ 2005 13:32

O Rapid-eraser eipe:
Ta applet tis java eivai n compiled morfi tou kodika pou eivai adiaforn arxitektovikis kai ektelite apo to framework tis java

Ti einai to framework?

Ευχαριστώ τον skeftomilo για το καλό παράδειγμά του αλλά δεν καταλαβαίνω κάποια σημεία.

O skeftomilos eipe:
θα μπορούσαμε να φτιάξουμε μια δική μας γλώσσα και να γράψουμε το πρόγραμμα σε αυτή:

κώδικας:
<script type="text/greggold">^λούπα^από0^ως15^βήμα5^παραθυράκι^τρέχα!^</script>


... και έπειτα να γράψουμε έναν interpreter σε JavaScript που να αναλύει και να εκτελεί τις εντολές αυτής της γλώσσας!


Ti ennoei na analyei kai na ektelei tis entoles ayths ths glossas?
Pws ginetai na ftiaksoyme mia dikh mas glossa mesa apo ayto to programma?


O skeftomilos eipe:
Με λίγα λόγια ένα άλλο πρόγραμμα ανέλαβε να τρέξει τον κώδικά μας.

T enoei me thn frash ayth? Poio programma to anelabe?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 14 Σεπ 2005 14:15

To Framework mporeis va to skefteis sav eva epektasimo sivolo apo API kai me8odous. Oi glosses pou leitourgouv mesa se afto to framework dev xriazete va periexouv tis pliris evtoles gia tnv xrisi sigkekrimevov leitourgiwv (opos givete me tnv xrisi tou API) gia va ektelesouv mia sigkekrimevi diadikasi.

Gia va to pw pio apla gia va pieis vero n diadikasia eivai apli, omos dev xriazete oute va ksereis pos xloriovouv to vero oute to pos ftiaxvete eva potiri vero. To movo pou sou xriazete eivai mia brisi eva potiri kai n dipsa sou :P

Afto simevei pos kapoies me8odous kai leitourgies
dev xriazete va tis ilopiiseis movos sou alla iparxouv etoimes mesa sto framework. Afto kavei pio efkoli tnv douleia sou osov afora to portability ka8os avaloga me tnv platforma ta diafora API ilopiouvte opos xriazete alla n diepafes paramevouv os exouv.

Epidi avtilambavomai oti n epomevi erotisi sou eivai
ti eivai to API...
Ta API (Application Program Interface) , eivai eva sivolw routivwv/me8odwv , protokolov , kai ergaliwv pou sivistouv stnv dimiourgia kapoias efarmogis kai leitourgouv os diepafi metaksi diaforetikwv programatwv.

As poume esto oti eva programa apotelite apo dio megala blocks kodika to eva kavei tnv A ergasia
kai to allo tnv B ergasia. Epidi afta ta dio meri ta dimiourgouv ksexoristes omades kai dev xriazete n mia omada va gvorizei olo tov epimerous kodika tis allis iparxouv kapoia me8odei/routives pou akouei to eva programa to allo gia va ektelesei kapoia sigkekrimeva pragmata.

Tnv parapavo diadikasia 8a tnv sivavtiseis otav xriastei va baleis sta programatasou etoimes biblio8ikes kodika (sta windwos parousiazovte sivi8os os Dll - dynamicaly linked library)
ta opoia sou divouv to api tis leitourgias tous gia va ta xrisimopiiseis xoris va eisai ipoxreomevos va ksereis to pos eivai ilopiimeves esoterika aftes
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 14 Σεπ 2005 14:29

Loipon twra poy nomizw oti katalaba ti einai API moy dhmioyrghthhkan alles apories.

Ta arxeia Dll dhladh einai ayta poy xrhsimopoioyntai dyo diaforetikes glosses programmatismoy gia na kataskeyastoyn?
Δηλαδή αν μπορούσαμε να δούμε τον κώδικα ενός αρχείου Dll τι θα βλέπαμε;;;;;;


O Rapid-eraser eipe:
Epidi afta ta dio meri ta dimiourgouv ksexoristes omades kai dev xriazete n mia omada va gvorizei olo tov epimerous kodika tis allis iparxouv kapoia me8odei/routives pou akouei to eva programa to allo gia va ektelesei kapoia sigkekrimeva pragmata.


Δηλαδή τι είναι αυτές οι me8odei/routives? Καποιες γραμμές κώδικα ή κάτι άλλο;

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 14 Σεπ 2005 14:41

Ta dll eivai biblio8ikes kodika pou kavouv kapoia sigkekriemva pragmata.
Px eva dll 8a mporouse va periexei eva kodika gia tnv dimiourgia evos kiklou aktivas r sto kevdro tis o8ovis.
to api tou va apotelite apo mia me8odo make_cyrcle pou divovtas tis to r va dimiourgei tov kiklo.

Esy dev eisai ipoxreomevos va ksereis pos 8a dimiourgisei tov kiklo. afto pou se viazei eivai ti aktiva 8a exei aftos o klilos. Ara kalovtas tnv me8odo apo to dll dimiourgite o kiklos.

To Dll logo tis fisiologias tou mporei va evsomato8ei divamika mesa sto programa mas kai va miv eivai fortomevo sivexeia alla oute va apotelei meros tou programatos (va eivai dld evsomatomevo movoli8ika mesa sto programa )


Mia me8odos kai routina eivai eva programatistiko modelo. 8a to sivavtiseis parakato stnv poria sou stov programatismo otav 8a ma8eis gia tis functions kai ta avtikeimeva tou programatismou.
Ousiastika tnv dedomevi stigmi mporeis va to skefteis sav kodika kai tipota parapavo.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 14 Σεπ 2005 14:49

O Rapid-eraser eipe:
Mia me8odos kai routina eivai eva programatistiko modelo. 8a to sivavtiseis parakato stnv poria sou stov programatismo otav 8a ma8eis gia tis functions kai ta avtikeimeva tou programatismou

Ti einai oi functions?
Ti ennoeis me tis lekseis antikeimena programmatismoy? To programma poy prokyptei apo ton kwdika? H mhpws kati allo?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Rapid-eraser » 14 Σεπ 2005 15:08

Mia function n allios routina eivai eva komati kodika pou ektelite kata apetisi mesa apo to kirio programamas.

Mas glitovei apo to va grafoume kai va ksavagrafoume tov idio kodika poles fores.

Merikes fores bebea iparxouv kai periptosies pou n xrisi mia function eivai avapofefkti idios otav to programatistiko mas movtelo epibalei avadromi.

Ta avtikimeva stov programatismo me tov texviko oro Objects eivai evas tropos grafis domimevou kodika.
Eva programa grammevo me Object oriented domi dev eivai mia apli lista evtolov pou ektelouvte apo apo pavo pros ta kato alla domes kodika.

Mporeis va to skefteis os eva silodo diadikasiov pou kalouvte apo to kirio programa kavovtas tnv zoi tou programatisti pio efkoli.
Tov oro object / avtikeimevo tov exoume davistei apo tnv fisiki ipostasi evos avtikimevou.
Opos eva fisiko avtikimevo exei idiotites kai leitourgies etsi eva programatistiko avtikeimevo exei
me8odous kai idiotites (methods , properties)

As poume gia va perigrapseis mia mixavi sav eva avtikimevo 8a eixes tis eksis me8odous.
Epitaxivsi , epibradivsi , allagi taxititas , strofi deksia , strofi aristeri.
Evo sav idiotites 8a mporouses va peis to baros tis mixavis , to xroma , n taxitita pou kivite , n epitaxivsi pou exei .

Kata avtistixia exoume to programatistiko avtikeimvo.

Afto mas bon8aei sto va omadopiisoume tov kodika mas
kai va movtelopiisoume pio efkola kapoies katastaseis.
Afto diefkolivei stnv avaptiksi tou programatos ka8os dev xriazete va allazoume olo to programa ka8e fora pou allazei kati stnv ilopiisi mias me8odou ...
Allazoume soterika tnv me8odo sto avtikiemvo xoris va epireazete n eksoteriki xrisi tou mesa sto programa.


ksero oti polla pragmata akougovte kivezika (kai diabazovte kivezika :P logo twv greeklish mou)
Alla ilikriva bgiazese va ta ma8eis ola mesa se mia mera !!!
Parta siga siga ta pragmata .
Ksekiva me tnv glossa pou exeis epileksei kai oso 8a tnv ma8eveis 8a deis pou ola 8a er8ouv siga siga.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
berserk
Δημοσιεύσεις: 5
Εγγραφή: 14 Σεπ 2005 01:41
Τοποθεσία: Thessaloniki
Επικοινωνία:

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από berserk » 14 Σεπ 2005 19:51

H emfanisi pigaiou kodika einai efikti me tin xrisi kapoiou decompiler.
Kata kyrio logo xreiazetai gnosi tis Assembly, gnosi tis glossas stin opoia einai grammeno to programma opws episis kai kapoia gnosi gia tin domi
tou programmatos. Na simeiothei oti einai adinati i pliris anaktisi tou kodika - xanontai sxolia, onomata takseon ka. To decompile theoreitai en genei diskolotero apo to na grapsei kaneis ton arxiko kodika kai xreiazetai poli prospatheia kai trivi me to antikeimeno.

Paratheto to parakato link, gia epipleon enimerosh:

www.codeproject.com/cpp/reversedisasm.asp
"Technology is dominated by two types of people: those who understand what they do not manage, and those who manage what they do not understand." Putt's Law

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 15 Σεπ 2005 00:20

Για να μεταφράσουμε και να εκτελέσουμε τον κώδικα της γλώσσας greggold με JavaScript, θα πρέπει πρώτα με κάποιο τρόπο να διαβάσουμε τον κώδικα σε μορφή κειμένου. Συνήθως ο κώδικας βρίσκεται σε χωριστό αρχείο, ίσως ένα με κατάληξη .grg. Όμως ας κάνουμε το παράδειγμα πιο απλό, ας έχουμε και τους δύο κώδικες στο ίδιο αρχείο με κατάληξη .htm:

Κώδικας: Επιλογή όλων

<script type="text/javascript">
  window.onload = function&#40;&#41; &#123;
    var code = document.getElementsByTagName&#40;'script'&#41;&#91;1&#93;.innerHTML
    alert&#40;code&#41;
  &#125;
</script>

<script type="text/greggold">
  ^λούπα^από0^ως15^βήμα5^παραθυράκι^τρέχα!^
</script>
Εικόνα

Ο κάθε κώδικας είναι σε διαφορετικό script element. Στην ουσία εκμεταλλευόμαστε τις πλούσιες δυνατότητες scripting που έχουν οι σύγχρονοι browsers. Το πρώτο script είναι ο interpreter. Είναι γραμμένο σε JavaScript και σκοπό έχει να διαβάζει και να εκτελεί κώδικα γραμμένο σε γλώσσα greggold. Ο κώδικας greggold βρίσκεται στο δεύτερο script element. Μέχρι στιγμής έχουμε καταφέρει να διαβάσουμε τον κώδικα, ας κάνουμε μια προσπάθεια να τον αναλύσουμε:

Κώδικας: Επιλογή όλων

<script type="text/javascript">
  window.onload = function&#40;&#41; &#123;
    var code = document.getElementsByTagName&#40;'script'&#41;&#91;1&#93;.innerHTML
    var pieces = code.split&#40;'^'&#41;
    alert&#40;pieces.join&#40;'\r\n'&#41;&#41;
  &#125;
</script>

<script type="text/greggold">
  ^λούπα^από0^ως15^βήμα5^παραθυράκι^τρέχα!^
</script>
Εικόνα

Καταφέραμε να σπάσουμε τον κώδικα στα συστατικά του στοιχεία, και τώρα μπορούμε να προχωρήσουμε εξετάζοντας τα κομμάτια. Προφανώς από δω και μπρος τα πράγματα γίνονται πιο δύσκολα, ανάλογα και με τον συντακτικό πλούτο της γλώσσας greggold. Προτού συνεχίσουμε την κατασκευή του interpreter θα πρέπει βέβαια να ορίσουμε με ακρίβεια τη δομή της γλώσσας, τα keywords, τους τύπους των μεταβλητών, τη σύνταξη των εντολών κ.λπ. Στην ουσία αυτό είναι πολύ δυσκολότερο από την κατασκευή του interpreter. Ένας compiler ή interpreter μπορεί να γραφεί σε ένα Σαββατοκύριακο, ενώ η κατασκευή μίας χρήσιμης και δυνατής γλώσσας είναι έργο ζωής.

Υπενθυμίζω ότι πίσω από όλα αυτά βρίσκεται η scripting engine της JavaScript που τρέχει μέσα στον browser. Αυτοί που έφτιαξαν τον interpreter της γλώσσας JavaScript δεν ήξεραν βέβαια ότι κάποιοι θα επιχειρούσαν να γράψουν με αυτήν ένα interpreter μιας άλλης γλώσσας. Όπως δεν ξέρουμε κι εμείς τι προγράμματα θα φτιαχτούν μελλοντικά με τη γλώσσα greggold. Μεταξύ αυτών ίσως είναι ένας compiler για τη γλώσσα globby! :D

Υ.Γ. Ελπίζω να μη με παρεξηγήσεις που ονόμασα τη γλώσσα greggold. Κατά τη γνώμη μου δεν είναι καθόλου άσχημο όνομα για γλώσσα προγραμματισμού. Αν πάντως υπάρχει πρόβλημα ... ok την ονομάζουμε κάπως αλλιώς! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 15 Σεπ 2005 13:30

Ευχαριστώ τον Rapid-eraser και τον skeftomilo για την βοήθειά τους.


O skeftomilos eipe:
Ο κάθε κώδικας είναι σε διαφορετικό script element

Tί είναι το script element;;;;


Τί ακριβώς περιέγραψε ο skeftomiloς με αυτόν τον κώδικα;;;;; Τον έγραψα στο Νotepad και τον μετέτρεψα σε αρχείο htm και όταν άνοιξα τον browser μου έβγαλε κάτι κινέζικα.
Μήπως μπορεί κανείς να μου εξηγήσει;;;;;;;;;;;;

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 16 Σεπ 2005 03:25

Script element είναι αυτό: <script></script>, και ότι περιέχει μέσα του. Και αυτό <body></body> είναι body element και αυτό <p></p> είναι paragraph element. Όλα αυτά μαζί με πολλά άλλα είναι HTML elements. :)

Αν σου έβγαλε κινέζικα τότε μάλλον δεν έχεις δώσει το ελληνικό character encoding ως default στον browser. Καλό είναι να το αλλάξεις, διαφορετικά θα πρέπει να υπάρχει το εξής στην html σελίδα:

Κώδικας: Επιλογή όλων

<meta http-equiv="content-type" content="text/html; charset=iso-8859-7">
Υπόψη ότι για να κρατηθεί το παράδειγμα απλό δεν έγραψα σωστά δομημένη HTML. Ένα έγκυρο HTML έγγραφο θα πρέπει να περιέχει τουλάχιστον τα εξής:

Κώδικας: Επιλογή όλων

<html>
  <head>
    <title></title>
  </head>
  <body>
  </body>
</html>
Τα script elements μπαίνουν μέσα στο <head>, κάτω από το <title>.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 16 Σεπ 2005 14:03

O skeftomilos eipe:

κώδικας:
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>


Τα script elements μπαίνουν μέσα στο <head>, κάτω από το <title>.

Έγραψα αυτό το επιπρόσθετο κώδικα αλλά πάλι δε είχε καμία διαφορά.
Και επιπλέο δε καταλααίω τι ακριβώς κάει αυτός ο κώδικας.

O skeftomilos eipe epishs:
Υπενθυμίζω ότι πίσω από όλα αυτά βρίσκεται η scripting engine της JavaScript που τρέχει μέσα στον browser. Αυτοί που έφτιαξαν τον interpreter της γλώσσας JavaScript δεν ήξεραν βέβαια ότι κάποιοι θα επιχειρούσαν να γράψουν με αυτήν ένα interpreter μιας άλλης γλώσσας. Όπως δεν ξέρουμε κι εμείς τι προγράμματα θα φτιαχτούν μελλοντικά με τη γλώσσα greggold. Μεταξύ αυτών ίσως είναι ένας compiler για τη γλώσσα globby!

Καταρχασ δε παρεκσηγς για το ονομα greggold. Αλλά ας μου εξηγήσει κάποιος τί γλώσσα έφτιαξε ο skeftomilos αφού το μόο που κάει αυτό το πρόγραμμα είναι να βγάζει ένα σημείωμα που να λέει διάφορες εντολές.

Τέλος τί είαι αυτή η γλώσσα globby που ανέφερε ο skeftomilos? Υπαρχει ή τη φατάστηκε;;;;;;;

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 17 Σεπ 2005 08:59

Βρε συ δεν είναι πλήρες πρόγραμμα αλλά ένα παραδειγματάκι με τρεις εντολές! :-) Αν δεν έχεις καμιά εμπειρία από προγραμματισμό τότε είναι λογικό να μη μπορείς να διαβάσεις τον κώδικα. Αν σου αρέσει η ιδέα να γράφεις προγράμματα και να βλέπεις τον υπολογιστή να τα εκτελεί τότε θα πρέπει να μάθεις μία γλώσσα προγραμματισμού, ή και περισσότερες αν έχεις όρεξη. Μπορείς αν θέλεις να διαβάσεις μια εισαγωγή για τη γλώσσα JavaScript γραμμένη πρόσφατα, που νομίζω θα σου λύσει ορισμένες απορίες.

Η γλώσσα globby είναι φανταστική, yeap! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 17 Σεπ 2005 09:05

Με τι ακριβώς ασχολείται η γλώσσα globby??????????
Φοβερή η εισαγωγή που πρότεινε ο skeftomilos!(Thanks)

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από skeftomilos » 17 Σεπ 2005 12:57

Η γλώσσα globby είναι κυριολεκτικά φανταστική, δηλαδή αποκύημα της φαντασίας! :)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Greggold
Δημοσιεύσεις: 64
Εγγραφή: 10 Σεπ 2005 11:40
Τοποθεσία: Ελλάδα- Ελλαδίτσα μου

Εμφάνιση Πηγαίου Κώδικα

Δημοσίευση από Greggold » 17 Σεπ 2005 13:51

Δεν μου λέτε
Μήπως τυχαίνει κάποιος από εσάς να ξέρει Pascal;
Αν ναι σε τι χρησιμοποιείται;;;;;

Τα παιχνίδια σε τι γλώσσα προγραμματισμού κατασκευάζονται συνήθως;;;;

Απάντηση

Επιστροφή στο “γλώσσες προγραμματισμού - γενικά”

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

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