Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

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

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

Απάντηση
Άβαταρ μέλους
Connor MacLeod
Honorary Member
Δημοσιεύσεις: 13372
Εγγραφή: 07 Φεβ 2005 13:36
Τοποθεσία: Κοζάνη
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από Connor MacLeod » 19 Οκτ 2012 18:24

Καλησπέρα να εχουμε.

Θελω την γνωμη σας για μια σκέψη (προς το παρων) που εχω στο μυαλό μου και θελω να με πείτε την γνωμη σας:

Ασχολούμαι με προγραμματισμό κανενα χρόνο τωρα, στα βασικά ειμαι, εχω μαθει 10 πραγματάκια, αλλα την βασική αρχη την γνωρίζω.

Με ήρθε μια ιδέα για να δημιουργήσω ενα πρόγραμμα το οποιο θα μπορούσε να χρησιμοποιηθεί και σε εκμάθηση αλλα και για βοηθεια στους προγραμματιστές.
Αυτο που θα κανει ειναι κατι αντίστοιχο o με την δουλεια που κανει και ο compiler.

Καταρχήν ο compiler κάνει πολλες δούλευες εκτός την μετατροπή του high level σε γλώσσα μηχανής:
lexical analysis, preprocessing, parsing, semantic analysis (Syntax-directed translation), code generation, και code optimization.

Σε αυτό που θα σταθώ ειναι στό οτι ελέγχει τα συντακτικά λάθη.
ΠΧ στο :

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


int a;
int b;

c = a+b;
Προφανώς και ο compiler θα πετάξει ενα undeclared.

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

Με τον όρο λογικό λάθος εννοώ το έξεις:
Θελω να κανω ενα πρόγραμμα που να προσθέτει 2 οποιουσδηποτε αρθμους και εγω δίνω:

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

int first_number;
int second_number;
int sum;

sum = first_number - second_number;
Προφανώς και ο compiler δε θα δώσει λάθος, αλλά το πρόγραμμα μου εχει δυο λάθη:
1) Την πράξη της αφαίρεσης και οχι αυτη που θέλω.
2) Το ότι δε προσθέτει οποιουσδηποτε αριθμους.

Ακόμα λόγο φόρτου ΑΤΕΙ δε το εχω ψαξει και πολυ, απλα θέλω να με πείτε τη γνώμη σας, κατα ποσο ειναι εφικτό να υλοποιηθεί κατι τετοιο, αν υπάρχει ήδη κατι παρόμοιο και ότι αλλο θέλετε ειναι ευπρόσδεκτο
(μπορείτε να με χαρακτηρίσετε και τρελο για την ιδεα μου αν θέλετε.)
Meizu MX5(5.5"/8Core/3GB/32GB/Sony IMX220 20.7MP)
PC 27'' (3770@3.4/16GB/560SE/500GB SATA3/650W S12G)
Mac mini (2.5GHz/8GB/6630/90GB GorsairGT)

asteriosg
Δημοσιεύσεις: 75
Εγγραφή: 03 Οκτ 2012 16:24

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από asteriosg » 19 Οκτ 2012 23:22

Connor MacLeod έγραψε: (μπορείτε να με χαρακτηρίσετε και τρελο για την ιδεα μου αν θέλετε.)
Λολ :D ωραίος :P

Σε ποια γλώσσα θές να το κάνεις δεν είπες, στη c , c++ υποθέτω ;

Πάντως οι compilers με βάση τη λογική κάνουν τη δουλειά τους τη μαθηματική λογική βέβαια γιαυτό και οι ορισμοί int και λοιπά πρίν απο κάθε τι που γράφεις..

Οι ακέραιοι int είναι μια γενική μαθηματικο-φυσική αλήθεια άρα λογική, όμως αυτό που θές εσύ να κάνεις ονομάζοντας το "λογικό" είναι ουσιαστικά να ελέγξεις αν το περιεχόμενο της sum περιέχει - ή + ή / ή * και να εμφανίσεις ένα μήνυμα μετά που να ειδοποιεί το χρήστη-συγγραφέα του κώδικα ότι αν η sum περιέχει το + τότε καλώς διαφορετικά δείξε λάθος !

Αυτό όπως καταλαβαίνεις γίνεται με χρήση δομών ελέγχου πχ if και δεν είναι κάτι δύσκολο.. σε script γλώσσες όπως η php ακόμα πιο γρήγορα γίνεται πχ με χρήση κάποιας συνάρτησης σε συνδυασμό με δομές ελέγχου όπως η if για το τι περιέχει η sum .

localhostltd
Δημοσιεύσεις: 18
Εγγραφή: 10 Σεπ 2012 01:02

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από localhostltd » 20 Οκτ 2012 15:51

Φίλε μου, μου άρεσε πολύ η αντιληπτικότητα σου στο πρόβλημα και γουστάρω τρελά το τι θες να κάνεις.

Έχω δημιουργήσει μια νέα γλώσσα/πλατφόρμα που είναι abstract και μπορείς μα υλοποιήσεις ότι θες για να κάνεις αυτό που λες και άλλα...

Η γλώσσα και θα γίνει MUST σε λίγα χρόνια.

Μάθε ALPHA Script / Cloud Script για να γράφεις application που θα "τρέχουν" σε όλες τις συκευές και πλατφόρμες, στο cloud, στο κινητό σου, στο PC, Mac, Linux και σε συστήματα που θα βγουν στο μέλλον.

Πάρε μάτι...
http://alpha-script.localhost-ltd.com/
http://pastebin.com/zhiFx9Z2


Σε έφτιαξα? :-)
Security & Hacking Expert
Software Architect
http://about.me/gdelaportas

Άβαταρ μέλους
Connor MacLeod
Honorary Member
Δημοσιεύσεις: 13372
Εγγραφή: 07 Φεβ 2005 13:36
Τοποθεσία: Κοζάνη
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από Connor MacLeod » 21 Οκτ 2012 10:03

Thanks παιδια για τις απαντησεις.
Σε ποια γλώσσα θές να το κάνεις δεν είπες, στη c , c++ υποθέτω ;
Δε με ενδιαφέρει σε τι θα το κανω, αλλα αυτο που σκέφτομαι και με ενδιαφέρει να μπορει να χρησιμοποιηθεί σαν "universal". Δλδ οταν κάποιος θα επισημοποιήσει πχ το eclipse (παράδειγμα φερνω το eclipse) Και θα γραφει απο το IDE του eclipse c, να μπορει να εφαρμοστεί και εκει, αλλα και οταν θα γραφει java παλι να μπορει να εφαρμοστεί. (μπορει δλδ να ειναι κατι σαν ενα επιπλέον layer ή κατι τετοιο)
Meizu MX5(5.5"/8Core/3GB/32GB/Sony IMX220 20.7MP)
PC 27'' (3770@3.4/16GB/560SE/500GB SATA3/650W S12G)
Mac mini (2.5GHz/8GB/6630/90GB GorsairGT)

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από gvre » 21 Οκτ 2012 10:26

Γιατί δε χρησιμοποιείς unit tests;

nkast
Δημοσιεύσεις: 137
Εγγραφή: 15 Νοέμ 2009 20:31
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από nkast » 23 Οκτ 2012 06:01

ενοεις λογικα λαθη οπως πχ αν μια λουπα τερματίζει για καθε εισοδο ; (δηλαδη δεν μπαινει ας endless loop)

sta_xionia
Δημοσιεύσεις: 113
Εγγραφή: 21 Νοέμ 2010 12:34

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από sta_xionia » 23 Οκτ 2012 10:51

gvre έγραψε:Γιατί δε χρησιμοποιείς unit tests;
Και εγώ πιστεύω ότι ο topic starter ξανα-εφηύρε τα unit tests (χωρίς να το ξέρει)!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από dva_dev » 23 Οκτ 2012 11:06

Το να μπαίνει σε endless loop δεν είναι πάντα λάθος. Για παράδειγμα όλα τα ταλιότερα coin-op machines (γνωστά και ως μπιμπλίκια) αλλά και τα νεότερα playstation, xbox, nintedo, κ.λπ. με αυτή τη λογική δουλεύουν.

Τα λογικά λάθη είναι διαφόρων ειδών. Να θέλεις να κάνεις πρόσθεση και να κάνεις αφαίρεση, να θέλεις να κάνεις σύγκριση για < και να κάνεις για >, να θέλεις να κάνεις σύγκριση της βαθμολογίας σου με τον μέσο όρο της τάξης και να μην υπολογίζεις πουθενά το μέσο όρο.
Οτιδήποτε μπορείς να φανταστείς και οτιδήποτε μπορεί να θέλεις να κάνεις αποτελεί ένα ενδεχόμενο λογικό λάθος.

Webmate
Δημοσιεύσεις: 97
Εγγραφή: 21 Αύγ 2012 01:18

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από Webmate » 23 Οκτ 2012 15:26

τα λογικά λάθη δεν πιστεύω οτι έιναι δυνατόν να τα βρίσκει. Ας πούμε οτι δεν είναι νουμερα το παράδειγμά σου και είναι κάτι άλλο . Πως θα μπορέσει να το βρει και να δει το λογικό λάθος? θα πρέπει να έχει μυαλό και να σκέφτεται στην ουσία τι είναι σωστό και τι λάθος. εκτός αν θέλεις να κάνεις κάτι μόνο για αριθμός κια να προσδιορίσεις οτι το sum = prosthesi κοκ. Γενικότερα αυτό που λές είναι λίγο μη εφικτό πιστεύω μπορεί να έχω και λάθος. Στην ουσία εάν στόχευες σε μια γλώσσα θα ήταν μια κλάσση ή ένα πακέτο κλάσσεων ή ένα αντικείμενο το οποίο θα έλεγε τι να κάνεις. Αυτό που θες να πετύχεις το κάνει ήδη ο αντικειμενοστραφής προγραμάτισμός κατα κάποιο τρόπο.

Άβαταρ μέλους
Connor MacLeod
Honorary Member
Δημοσιεύσεις: 13372
Εγγραφή: 07 Φεβ 2005 13:36
Τοποθεσία: Κοζάνη
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από Connor MacLeod » 27 Δεκ 2012 20:21

Πως θα μπορέσει να το βρει και να δει το λογικό λάθος? θα πρέπει να έχει μυαλό και να σκέφτεται στην ουσία τι είναι σωστό και τι λάθος
Αυτο το πρόβλημα μπορει να λυθεί με κατι τετοιο
Machine learning
Και με μια γλωσσα για ΑΙ. (πχ lips)

φανταζομαι τωρα εγω. ακομα στο ψαξιμο ειμαι. δεν εχω ξεκινησει κατι
Meizu MX5(5.5"/8Core/3GB/32GB/Sony IMX220 20.7MP)
PC 27'' (3770@3.4/16GB/560SE/500GB SATA3/650W S12G)
Mac mini (2.5GHz/8GB/6630/90GB GorsairGT)

nkast
Δημοσιεύσεις: 137
Εγγραφή: 15 Νοέμ 2009 20:31
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από nkast » 27 Δεκ 2012 22:46

Τα τελευταία χρόνια εχω δεί τον compiler τις VC++ (και τώρα πλεον και αυτον τις C#) να βελτιώνεται πολύ στον εντοπισμό λογικών λαθών -warnings- και δίνει πολύ χρήσιμα μηνύματα. Eχουν επισημάνει τα πιο συνήθη λαθη που κανει ενας προγραμματιστής και ψάχνουν συγκεκριμένα για αυτα. Επίσης κυκλοφορούν απο τρίτες εταιρίες εφαρμογές για καθε ειδους γλώσσα που μετράνε την συνολική ποιοτητα του κώδικα.
Ολα αυτα περιεχουν αρκετα πολυπλοκες τεχνικές, ευρετικα, κτλ αλλα σε καμια περιπτωση δεν κατανοούν τον κωδικα, ποσο μαλλον να δουλευουν καθολικά για καθε διαφορετική γλώσσα. Η ΑΙ είναι πολυ μακρια απο αυτο το στοχο, στην πραγματικότητα τεχνικές οπως νευρωνικα δίκτυα, γενετικοί αλγοριθμοι κτλ είναι απλα Hacks.

Στην καλύτερή περίπτωση με πολύ ψαξίμο και δουλεια ίσως να καταφερεις ενα συστημα που να δουλευει σε τετριμενες περιπτώσεις , που εχεις απο πριν εντοπίσει και ενσωματωσει στο συστημα σου. Θα δινει την εντίπωση οτι καταλαβαίνει και πιθανότατα να ειναι χρήσιμο σε νεους προγραμματιστές αλλα δεν θα είναι τιποτα περισότερο απο ενα κολπο. Τίποτα σαν αυτο που περιγράφεις δεν μπορεί να γίνει.


Αν θελεις καποιες απαντήσεις (διστυχώς οχι τις απαντήσεις που θα ηθελες να ακουσεις) προτείνω:


http://www.protoporia.gr/o-neos-aytokra ... 32329.html
Ο νέος αυτοκράτορας, Ρότζερ Πένροουζ

Logicomix
http://www.nytimes.com/2009/09/27/books ... wanted=all

Ψαξε για ντοκιμαντερ του BBC απο Marcus du Sautoy & Ali Khalili για την ιστορια των μαθηματικών. Καποια στιγμή μιλάνε για Cantor/Τuring. Ο Sautoy είχε κανει και ενα επισόδιο καθαρα για AI.

http://www.imdb.com/title/tt0488604/
The Oxford Murders, &Aacute;lex de la Iglesia

http://www.imdb.com/title/tt0138704/
π (Pi), Darren Aronofsky

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Εχω μια ιδέα για ενα πρόγραμμα, ποσο εφικτό είναι να υλοποιηθεί?

Δημοσίευση από giannis17 » 27 Δεκ 2012 23:02

Δυστυχώς όπως λέει και ο nkast δεν υπάρχει τρόπος να αντιλαμβάνεται ο compiler (ή οποιοδήποτε άλλο πρόγραμμα) τι θες να κάνεις με το κώδικα που γράφεις οπότε δεν μπορεί να σε βοηθήσει στα λογικά λάθη. Το πιο κοντινό σενάριο θα ήταν κάποιο plugin του eclipse (μιας και το ανέφερες δηλαδή) το οποίο να τρέχει σε κάθε διόρθωση που κάνει οποιοσδήποτε χρήστης πάνω στο κώδικα που δουλεύει και να τον ρωτάει πχ γιατί το άλλαξες μήπως ήταν λάθος (σαν pop-up) και να μαζέυει μια βάση δεδομένων με "τυπικά" λάθη στο cloud και κάθε φορά που βρίσκει κάποιο παρόμοιο κομμάτι κώδικα να πετάει πάλι ένα pop-up που να λέει "μήπως ήθελες να γράψεις αυτό?" και να παραθέτει τον κώδικα που νομίζει ότι είναι ο σωστός. Πάλι δεν έχει καμία σχέση με την ανίχνευση και διόρθωση λογικών λαθών αλλά είναι το πιο κοντινό που μπορώ να σκεφτώ.

Απάντηση

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

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

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