Προτάσεις για Basic to * converters;

...IDE, compilers, κλπ

Συντονιστής: konnn

Προτάσεις για Basic to * converters;

Δημοσίευσηαπό evolgen » 05 Νοέμ 2012, 22:50

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

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό simosx » 05 Νοέμ 2012, 23:15

evolgen έγραψε:Στη δουλειά σήμερα μου έδωσαν ένα πρόγραμμα γραμμένο σε BASIC, το οποίο πρέπει να ξαναγράψω σε Perl, αφού πρώτα καταλάβω τι κάνει. Δεν έχω ιδέα από BASIC και υποπτεύομαι ότι ο κώδικας είναι λίγο κακογραμμένος. Σκέφτηκα μήπως μπορώ να γλιτώσω το διάβασμα και βρω κανέναν converter από BASIC σε κάτι άλλο. Τα προγράμματα που έχω δει ως τώρα είναι καμιάς δεκαετίας και αποτυγχάνουν με τα αρχεία που τους δίνω. Καμιά πρόταση για να γλιτώσω το διάβασμα της BASIC;


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

Δες στη Wikipedia για structured programming, όπου οι περισσότερες (οι μη-αντικειμενοστρεφείς γλώσσες) ακολουθούν.
Έχει μεταβλητές, ρουτίνες και εντολές ελέγχου (βρόχοι for, while).
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό evolgen » 05 Νοέμ 2012, 23:27

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

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό ChrisMiNT » 05 Νοέμ 2012, 23:30

Σε τι basic είναι;
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.04 raring 3.8.0-29-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 AMD Athlon II X4 635 Processor ‖ RAM 2505 MiB ‖ ASUS INC. M2N-SLI DELUXE
4 nVidia GT218 [GeForce 210] [10de:0a65] {nvidia}
5 eth0: nVidia MCP55 Ethernet [10de:0373] (rev a2) ⋮ eth1: nVidia MCP55 Ethernet [10de:0373] (rev a2)
ChrisMiNT
babeTUX
babeTUX
 
Δημοσιεύσεις: 148
Εγγραφή: 03 Φεβ 2012, 15:27
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό evolgen » 05 Νοέμ 2012, 23:31

Μου έδωσαν και έναν installer της Liberty Basic, οπότε Liberty Basic.
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό simosx » 06 Νοέμ 2012, 11:37

evolgen έγραψε:Μου έδωσαν και έναν installer της Liberty Basic, οπότε Liberty Basic.


Δοκίμασε http://docs.activestate.com/pdk/6.0/VBSPerl.html και πες μας αν βγάζει κάποιο αποτέλεσμα.
Αυτό μπορεί να βοηθήσει στην εκμάθηση καθώς μετατρέπεις μικρά προγραμματάκια.
Ένα ζήτημα με τη LibertyBasic είναι να διαπιστώσεις τη λίστα με τις διαφοροποιήσεις που έχει σε σχέση με τις άλλες Basic.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό evolgen » 06 Νοέμ 2012, 12:35

Μπα, δεν ωφελεί. Μου βγάζει όλο syntax errors. Θα αρχίσω γράφοντας ό,τι καταλαβαίνω με το μάτι και τα υπόλοιπα στο google, μέχρι να πελαγώσω. :P
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό pmav99 » 08 Νοέμ 2012, 00:17

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

Είσαι τυχερός που είναι Basic. Εμένα μου είχαν δώσει μια φορά κακογραμμένη Fortran 77. Documentation-σχόλια μηδέν, spaghetti code μέχρι τα μπούνια, common blocks και μη χειρότερα...
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό evolgen » 08 Νοέμ 2012, 00:48

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

Ο λόγος που το θέλαμε σε Perl είναι γιατί ετοιμάζουμε μια σουίτα βιολογικών εργαλείων και δεν μπορούμε να ζητάμε από τους χρήστες την BASIC ως dependency, για προφανείς λόγους. :P
Το να μειώνεις ένα έργο ελεύθερου λογισμικού, επειδή θεωρείς το δικό σου καλύτερο,
είναι απαράδεκτη συμπεριφορά και δε συμβαδίζει με τις αρχές του ελεύθερου λογισμικού.

Γνώσεις Linux: Μέτριο++ ┃ Προγραμματισμός: Perl, R, Python, SQL, C, Common Lisp, BashΑγγλικά: Άριστα

1. Ubuntu 14.04 trusty
2. Intel Core i7-3520M CPU @ 2.90GHz ‖ RAM 7892 MiB
3. Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
4. eth0: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe [14e4:16b4] (rev 10) ⋮ eth1: Broadcom BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
Άβαταρ μέλους
evolgen
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1031
Εγγραφή: 28 Ιούλ 2010, 14:22
Τοποθεσία: UK
IRC: bioevolgenec
Εκτύπωση

Re: Προτάσεις για Basic to * converters;

Δημοσίευσηαπό pmav99 » 08 Νοέμ 2012, 01:39

Spoiler: show
Off topic:
Perl είναι γιατί ετοιμάζουμε μια σουίτα βιολογικών εργαλείων
Δε θέλω να σε απογοητεύσω, αλλά ο κόσμος του scientific computing έχει αγκαλιάσει την Python :P
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Επόμενο

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού