Αποστόλης έγραψε:
Το ότι δεν προσπάθησαν δεν το γνωρίζουμε. Μπορεί να υπήρξαν προσπάθειες που δεν είδαν το φως της δημοσιότητας.
Σίγουρα όμως δεν θα υπήρξαν πολλές προσπάθειες, γιατί:
- Μιλάμε για ένα κολοσιαίο έργο, κι όχι λίγες γραμμές κώδικα.
Είναι δύσκολο να βρεθούν τόσοι πολλοί προγραμματιστές που μπορούν να ανταποκριθούν στις ανάγκες (να ξέρουν καλά assembly, C, C++ κι όχι python, php, ruby κ.λ.π. κ.λ.π. - εδώ λοιπόν υπάρχει και απάντηση στο γιατί να μάθω C, C++ ), να έχουν τόσο χρόνο και να μπορούν να συντονιστούν τόσο καλά ώστε να να φέρουν εις πέρας ένα τόσο δύσκολο έργο.
- Υπάρχει πάρα πολλή δουλειά και τεχνογνωσία βασισμένη επάνω στη C που είναι δύσκολο να την αγνοήσεις ελαφρά τη καρδία.
Όσο κι αν θα το ήθελε κάποιος δεν είναι τόσο εύκολο για την Microsoft να πει: σταματάω τα windows και γράφω νέο λειτουργικό στην γλώσσα Ψ.
Και άντε η Microsoft το λέει. Οι εταιρείες που βγάζουν drivers για εκτυπωτές, database connectors καί τόσες άλλες εφαρμογές θα θέλουν;
Θα μπορούν;
Σε πόσα χρόνια;
Και μέχρι τότε; θα συντηρούν 2 ισομεγέθεις εταιρείες; Εδώ οι περισσότερες διώχνουν κόσμο την εποχή μας.
- Η C είναι ήδη κοντά στο να ονομαστεί υπερπλήρης. Άλλες γλώσσες θα χρειαστούν αιώνες για να το πουν αυτό. Όπως λένε και στο ποδόσφαιρο, ομάδα που κερδίζει δεν αλλάζει.
- Κατά μια έννοια έφτιαξαν μια νέα C. Έφτιαξαν μια που κάλυψε τα κενά της C και την ονόμασαν C++.
Κι αυτό που αναφέρεις «οπως σε τοσες αλλες γλωσσες» δεν είναι ακριβώς σωστό.
Δεν έχουν φτιάξει άλλη γλώσσα στη θέση άλλης.
Έφτιαξαν γλώσσες που κάνουν κάτι συγκεκριμένο λίγο καλύτερα/γρηγορότερα/ασφαλέστερα από κάποια άλλη.
Η μόνη περίπτωση που δύο γλώσσες είναι πανομοιότυπες είναι η C# με την Java (μπορείς άνετα να πάρεις κομμάτι από τη μια και να τo βάλεις ΑΥΤΟΥΣΙΟ στην άλλη). Ο λόγος φυσικά είναι ένας. Λεφτά. Εξάλου οι δύο αυτές εταιρείες (Microsoft - Oracle μαζί με 2-3 ακόμα) έχουν εμπλακεί πάμπολλες φορές σε ιστορίες με πνευματικά δικαιώματα, παντέντες κ.λ.π. κ.λ.π. Αλλουνού παπά ευαγγέλιο αυτό.
Αναφορικά με την δεύτερη ερώτησή σου.
Γιατί η C (όπως και οι Fortran, Pascal και μέχρις ενός σημείου η C++ )σε αφήνει να διαχειριστείς την μνήμη και το hardware του υπολογιστή, χωρίς όμως να σου διασφαλίζει οτι αυτό που κάνεις είναι σωστό.
Οι υπόλοιπες Java, C#, python, php κ.λ.π. κ.λ.π. επικεντρώνονται στο δεύτερο. Σου παρέχουν βιβλιοθήκες που μέσες άκρες κάνουν αυτό που θές και τρέχουν μόνες τους διεργασίες που αναλαμβάνουν να κρατάνε ζωντανό και καθαρό τον υπολογιστή σου (π.χ. garbage collector).
Αν θέλεις να επέμβεις στην διαχείριση του υπολογιστή πρέπει να φτιάξεις δικές σου libraries.
Κάτι το οποίο είναι άλλη ιστορία. Έτσι ακριβώς ξεκίνησε η Java το Linux και οι SQL databases.
Από ανθρώπους που δεν ήταν ευχαριστημένοι με τα εργαλεία που είχαν στη διάθεσή τους. Πήραν κάτι που προυπήρχε, το βελτίωσαν και το εξέλλιξαν εν τέλει σε κάτι διαφορετικό.
Η java και η c# είναι όντως πανομοιότυπες αλλά υπάρχει μία διαφορά. Η c# σου επιτρέπει να χρησιμοποιείς και στοιχεία της c, όπως pointers, structures, fucntion pointers κτλ, κάτι που την κάνει λίγο ποιο δυνατή από την java.
Ο κυρίως λόγος όμως είναι ότι δημιουργήθηκε για να μπορούν οι προγραμματιστές να φτιάχνουν εφαρμογές για windows πολύ γρήγορα. Επειδή έχω δουλέψει και με τις δύο γλώσσες και έχω φτιάξει εφαρμογές για windows, πίστεψε με χρησιμοποιώντας visual studio και c# φτιάχνεις εφαρμογές για windows πολύ ποιο γρήγορα απ'ότι σε java. Το μόνο μειονέκτημα είναι ότι τρέχουν μόνο σε windows. Αν θες να φτιάξεις cross platform εφαρμογές τότε επιλέγεις java.