V.I.Smirnov Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 Kι όμως, η γλώσσα με την οποία φτάσαμε πιο μακριά είναι η Fortran όσο απίστευτο κι αν ακούγεται : Σκεφτείτε μόνον ότι με αυτήν πήγαν τα επανδρωμένα Αpollo 11 - 14 στη σελήνη. Το Viking στον Αρη. Τα Pioneer 10 & 11 βγήκαν πρώτα από το ηλιακό σύστημα και τα Voyager έφτασαν στον Ουρανό και τον Ποσειδώνα. Όσοι στοχεύουν στ' αστέρια....Fortran !! H γλώσσα του διαστήματος αποδεδειγμένα.... :D - 1
Directx Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 Όσον αφορά τον υπολογιστή σκάφους των Apollo (AGC) μιας και είχα ασχοληθεί παλαιότερα, το λογισμικό του γράφηκε σε μια μορφή high-level (θα την λέγαμε πιο σωστά σήμερα "meta") assembly ειδικά κατασκευασμένη για τις ανάγκες της επιχείρησης (όπως ήταν άλλωστε και ολόκληρος ο υπολογιστής). Αν τώρα εννοείς το λογισμικό που έτρεχαν οι επίγειοι υπολογιστές και μέσο τηλεμετρίας ενημέρωναν τους υπολογιστές του σκάφους ή επιβεβαίωναν τους on-board υπολογισμούς τους καθώς οι τελευταίοι ήταν αρκετά αδύναμοι για πολύπλοκους μαθηματικούς υπολογισμούς και επίφοβοι για σφάλματα ακρίβειας, συμφωνώ απόλυτα ότι η FORTRAN ήταν γλώσσα επιλογής (από ότι βλέπω, από την εποχή των GEMINI βλ. spoiler). Υ.Γ. Εδώ γίνεται προσπάθεια να γραφθεί ένας emulator του AGC που να τρέχει τα αυθεντικά διασωθέντα sources. Και εδώ.. το source code του GEMINI emulator γραμμένο σε FORTRAN, δεν είναι το ίδιο το λογισμικό που έτρεχε ο Η/Υ του GEMINI αλλά είναι ο emulator για την διαδικασία ραντεβού & τροχιακής σύνδεσης που χρησιμοποιούσε η NASA για τις δοκιμές του. Εικάζεται ότι το πρόγραμμα αυτό αργότερα μεταγράφηκε σε μορφή συμβατή (OBC Assembly Language) με το αδύναμο GEMINI CPU (κανείς δεν θυμάται πια με σιγουριά :-\) -πιστεύω ότι θα σου φανεί πολύ ενδιαφέρον (εγώ από FORTRAN δεν κατέχω).
V.I.Smirnov Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 Ενδιαφέρον link, φίλε directx. Κάπου είχα διαβάσει ότι το συνολικό πρόγραμμα είχε περίπου 100k γραμμές. Θυμάμαι επίσης χαρακτηριστικά και το εξής : Ο προσανατολισμός του διαστημοπλοίου γινόταν με γωνίες Εuler. Όμως αυτός ο τρόπος υποφέρει από Gimbal Lock. Αυτό είναι σοβαρό πρόβλημα και ήταν τόσο δύσκολο να διευθετηθεί αποτελεσματικά ώστε επηρέασε σημαντικά τον σχεδιασμό του προγράμματος : το διαστημόπλοιο δεν επιτρεπόταν να λάβει ορισμένες θέσεις (προσανατολισμό, κλίση) που θα το έφερναν κοντά σε gimbal lock διότι οι υπολογιστές θα έχαναν τον έλεγχό του με αποτέλεσμα την καταστροφή. Σήμερα χρησιμοποιούνται quaternions (κβατέρνια). Αν και τα κβατέρνια (τετραδόνια επί το ελληνικότερον) υπήρχαν από το 1842 και ήταν πολύ μελετημένα από τους μαθηματικούς, δεν ήταν γνωστά σε αυτούς που έγραφαν το πρόγραμμα πλοήγησης με αποτέλεσμα τέτοιους περιορισμούς.... Για την συνέχεια της ιστορίας, τα κβατέρνια "ξανα-ανακαλύφθηκαν" στην πληροφορική κάπου προς τα μέσα του 1980, νομίζω από τον Shoemake, και άρχισαν να τα χρησιμοποιούν στα γραφικά. -
Directx Δημοσ. 26 Αυγούστου 2011 Δημοσ. 26 Αυγούστου 2011 Πολύ ενδιαφέρον καθώς δένει με τούτο εδώ όπου ένας παλαίμαχος προγραμματιστής (Eugene Mertz) της ομάδος που είχε αναλάβει την συγγραφή του λογισμικού για την τροχιακή πτήση των GEMINI θυμόταν (βλ. παράγραφο "From Eugene Mertz") πως το σχεδιασμό του λογισμικού για αυτή την εργασία είχε κάνει ένας μηχανικός της IBM πρώην πανεπιστημιακός καθηγητής ο οποίος μάλιστα από νωρίς άρχισε να τους διδάσκει "ουράνια τροχιακή μηχανική" καθώς οι άνθρωποι δεν είχαν τέτοια εξειδίκευση (άρα ακολουθούσαν τις οδηγίες του και ότι έμαθαν από αυτόν πίστα ..και μόνο). Υ.Γ. Και όμως τελικά ταξιδέψαμε μακριά από το λίκνο του πολιτισμού μας - για να φτάσουμε στο σήμερα όπου η NASA δεν έχει άμεσο αντικαταστάτη για το Διαστημικό Λεωφορείο (κατάντια)
flik Δημοσ. 12 Νοεμβρίου 2011 Δημοσ. 12 Νοεμβρίου 2011 Λοιπόν επαναφέρω λίγο το θέμα. Είναι 13 σελίδες, αλλά δυστυχώς αν συγκεντρώσω τα on-topic θα φτάσει στις 3, γι' αυτό και δεν καλύφθηκα πλήρως. Έχω καταλάβει πως προφανώς δεν μπορεί η απάντηση στην ερώτηση "ποια γλώσσα να μάθω πρώτα" δεν είναι, και δεν θα μπορούσε να είναι άμεση και κοινώς αποδεκτή. Επομένως.. Έχω κάνει λίγη, πάρα πολύ λίγη C. Σε επιλεγόμενο μάθημα στη σχολή μου. Φτιάξαμε 2-3 προγραμματάκια, πάρα πολύ απλά για command line execution. Γενικά την ακολουθιακή λογική, την επαγωγική σκέψη και την χρήση αλγορίθμων μπορώ να πω πως την κατέχω, και μου αρέσει να σκέφτομαι έτσι. Έχω ένα βιβλίο απο το μάθημα της σχολής μου, "C για μηχανικούς". Δεν το πολυδιάβασα γιατί δεν μας χρειάστηκε πάρα πολύ, μιας και δεν κάναμε πολύ θεωρία, αλλά με μια γρήγορη ματιά δεν μου άρεσε πολύ. Άλλο βιβλίο δεν θα ήθελα να αγοράσω, θα ήθελα να μάθω απο pdfs και online-tutorials, καθώς δεν θα ήθελα να πληρώσω λεφτά μόνο για να περάσει η ώρα μου. Τώρα, επειδή έχω λίγο ελεύθερο χρόνο για μερικούς μήνες, λέω να μάθω λίγα παραπάνω πράγματα. Θα ήθελα απλά να φτάσω σε σημείο να φτιάχνω low level εφαρμογές για windows ή για windows phone 7 ενδεχομένως. Καμία σχέση με εμπορικές εφαρμογές κτλ. Απο ότι έχω δει, για λίγο πιο άμεσα αποτελέσματα, και ευκολία, η C# θα ήταν η καλύτερη επιλογή, σωστά; Απο την άλλη, επειδή τέτοιος είναι ο τύπος μου, θα νιώθω οτι μου λείπουν πράγματα. Δηλαδή ενώ δεν θα ήθελα μόνο να μάθω μια γλώσσα μόνο και μόνο για τη θεωρία, αλλά να μπορώ να την εφαρμόσω κάπου, ποτέ δεν ήμουν αυτού του τρόπου σκέψης. Πάντα ήθελα να ξέρω τις βάσεις. Συνοψίζοντας: Ενώ τείνω να καταλήξω στην C#, μήπως είναι εύκολη επειδή στα δίνει λίγο έτοιμα ή καμία σχέση αυτό που λέω; Γιατί δεν μου αρέσει να μου τα δίνουν έτοιμα. Και τέλος με την C# τι περιορισμούς έχω; Προφανώς δεν κάνει τα πάντα, αλλά στα βασικά όπως έχω προσπαθήσει να περιγράψω, θα συναντήσω πρακτικούς περιορισμούς;
migf1 Δημοσ. 12 Νοεμβρίου 2011 Δημοσ. 12 Νοεμβρίου 2011 Συνοψίζοντας: Ενώ τείνω να καταλήξω στην C#, μήπως είναι εύκολη επειδή στα δίνει λίγο έτοιμα ή καμία σχέση αυτό που λέω; Γιατί δεν μου αρέσει να μου τα δίνουν έτοιμα. Και τέλος με την C# τι περιορισμούς έχω; Προφανώς δεν κάνει τα πάντα, αλλά στα βασικά όπως έχω προσπαθήσει να περιγράψω, θα συναντήσω πρακτικούς περιορισμούς; Generic γλώσσα είναι η C#, οπότε κάνει (σχεδόν) τα πάντα. Ο βασικός της περιορισμός είναι η εξάρτησή της από το .net, που σε non-Windows πλατφόρμες προσομοιώνεται από το (όχι και τόσο απροβλημάτιστο) mono.
flik Δημοσ. 12 Νοεμβρίου 2011 Δημοσ. 12 Νοεμβρίου 2011 Ωραία. Αυτό το είδα αργότερα, για το mono, κυρίως όταν έψαχνα και για android. Απο άποψη γνώσεων; Εννοώ γενικών γνώσεων επι προγραμματισμού; Θα μου δώσει μια γενικότερη ιδέα;
Directx Δημοσ. 12 Νοεμβρίου 2011 Δημοσ. 12 Νοεμβρίου 2011 Ωραία. Αυτό το είδα αργότερα, για το mono, κυρίως όταν έψαχνα και για android. Απο άποψη γνώσεων; Εννοώ γενικών γνώσεων επι προγραμματισμού; Θα μου δώσει μια γενικότερη ιδέα; Καταρχήν αφού σε ενδιαφέρει ο προγραμματισμός Windows Phone, η C# είναι απαραίτητη. Μαζί της νομίζω ότι θα μάθεις αρκετά εύκολα και πρακτικά τις βασικές αρχές του αντικειμενοστραφούς προγραμματισμού δίχως τα στρυφνά (και ισχυρά όμως υπό προϋποθέσεις) σημεία της C++. Ταυτόχρονα θα εξοικειωθείς με διάφορες δομές δεδομένων οι οποίες παρέχονται έτοιμες προς χρήση, η εξοικείωση σου αυτή βέβαια δεν θα είναι στο να μάθεις πως να τις κατασκευάζεις (όπως συμβαίνει πχ στην C) αλλά πως να τις εκμεταλλεύεσαι εντός ενός προγράμματος. Γλυτώνεις επίσης τον μπελά της διαχείρισης μνήμης (φυσικά και εδώ χρειάζεται προσοχή για να μην ζορίσεις το GC της) και τούτο για άλλους είναι θετικό για άλλους αρνητικό (προσωπικά θεωρώ ότι καλό είναι να μάθεις τα βασικά στην διαχείριση μνήμης και ύστερα να πας σε αυτοματισμούς αλλά... ). Φυσικά θα έρθεις σε άμεση επαφή με οπτικό προγραμματισμό, φόρμες, πλήκτρα, κοντρόλς, γνώσεις δηλαδή που είναι απαραίτητες πλέον. Γενικά μαθαίνοντας το .NET Framework αποκτάς σφαιρική γνώση και άμεση ικανότητα στην ανάπτυξη ενός ευρύτατου φάσματος εφαρμογών οπότε νομίζω ότι αξίζει τον κόπο να το ψάξεις ειδικά αν σε ενδιαφέρει να "κάνεις δουλειά" και όχι να μαθαίνεις τις εσωτερικές λεπτομέρειες σε κάθε τι που θα χρειασθεί να χρησιμοποιήσεις για να γράψεις ένα πρόγραμμα (πχ. Συμπίεση Δεδομένων ή Κρυπτογράφηση κλπ). Υ.Γ. Αυτά στα λέω καθώς γράφω σε C/C++, Java (ME & Android), C# και νομίζω ότι έχω δει αρκετά μαζί τους πια..
migf1 Δημοσ. 12 Νοεμβρίου 2011 Δημοσ. 12 Νοεμβρίου 2011 Εφόσον λες πως σε ενδιαφέρει κυρίως low-level, οι C/C++ είναι οι προφανείς επιλογές. Καμία όμως γλώσσα δεν μαθαίνεται σε μερικούς μόνο μήνες (που λες ότι διαθέτεις). Αν θες να πάρεις γερές βάσεις για μετάβαση σε οποιαδήποτε άλλη γλώσσα μετά, κι εφόσον σε ενδιαφέρει low-level, εγώ σου προτείνω ανεπιφύλακτα C και μάλιστα με συγκεκριμένο βιβλίο: C Programming: A Modern Approach, 2nd Edition του King (αν... ψαχτείς θα το βρεις )
flik Δημοσ. 13 Νοεμβρίου 2011 Δημοσ. 13 Νοεμβρίου 2011 Μάλιστα. Ευχαριστώ. Δεν είναι αυτοσκοπός η ανάπτυξη σε wp7, αλλά έτσι όπως το περιγράφει ο directx, και έτσι έχω διαβάσει και αλλού δηλαδή, νομίζω μου ταιριάζει περισσότερο η C#, παρότι όντως δέχομαι και πιστεύω πως μια καλή μελέτη της c μπορουσε να μου δωσει περισσότερες βάσεις. Αλλά προς το παρόν δεν σκέφτομαι να μάθω άλλες γλώσσες, αλλά να έχω μια ιδέα και να μπορώ οποτε χρειαστεί να κάνω κάτι πολύ απλό και γενικό να το κάνω ξεκινόντας απο μια βαση. Απο αύριο ξεκινάω διαβασματάκι για C#. Edit: Μπορείτε να μου προτείνεται κανένα βιβλίο για διάβασμα, γιατί με τα tutorials δεν μαθαίνεις αρκετά συνήθως. Δεν έχει σημασία Ελληνικό ή Αγγλικό (αλλά συνήθως τα Αγγλικά βρίσκονται πιο εύκολα, γι' αυτό ).
migf1 Δημοσ. 13 Νοεμβρίου 2011 Δημοσ. 13 Νοεμβρίου 2011 ... Edit: Μπορείτε να μου προτείνεται κανένα βιβλίο για διάβασμα, γιατί με τα tutorials δεν μαθαίνεις αρκετά συνήθως. Δεν έχει σημασία Ελληνικό ή Αγγλικό (αλλά συνήθως τα Αγγλικά βρίσκονται πιο εύκολα, γι' αυτό ). http://pdfebooksfree...-reference.html EDIT: Κι εφόσον δεν έχει πολυ-ασχοληθείς με προγραμματισμό, η γνώμη μου είναι να ΜΗΝ κατεβάσεις το Visual Studio γιατί μάλλον θα χάσεις την μπαλα! Εφόσον έχεις εγκατεστημένο το .net 4 το μόνο που χρειάζεται για να ξεκινήσεις είναι ένας text-editor με syntax highlighting (π.χ. Notepad++). Κάνε search να βρεις σε ποιο φάκελο είναι το csc.exe, βάλτο στο path των Windows και είσαι έτοιμος Γράφεις το πρόγραμμά σου στον editor, το ονομάζεις π.χ. hello.cs, γράφεις στην κονσόλα: csc hello.cs και μετά: hello και τρέχει.
flik Δημοσ. 13 Νοεμβρίου 2011 Δημοσ. 13 Νοεμβρίου 2011 http://pdfebooksfree...-reference.html EDIT: Κι εφόσον δεν έχει πολυ-ασχοληθείς με προγραμματισμό, η γνώμη μου είναι να ΜΗΝ κατεβάσεις το Visual Studio γιατί μάλλον θα χάσεις την μπαλα! Εφόσον έχεις εγκατεστημένο το .net 4 το μόνο που χρειάζεται για να ξεκινήσεις είναι ένας text-editor με syntax highlighting (π.χ. Notepad++). Κάνε search να βρεις σε ποιο φάκελο είναι το csc.exe, βάλτο στο path των Windows και είσαι έτοιμος Γράφεις το πρόγραμμά σου στον editor, το ονομάζεις π.χ. hello.cs, γράφεις στην κονσόλα: csc hello.cs και μετά: hello και τρέχει. Έχω δουλέψει visual studio, με C, αλλά όπως είπα πάρα πολύ λίγα πράγματα. Αλλά θα ξεκίναγα με codeblocks μάλλον για IDE, ξέροντας όντως οτι το notepad++ είναι πολύ καλός editor, και το έχω και ήδη μέσα, οπότε θα δω. Ας μάθω πρώτα...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα