Παίδες, παίδες!!!...
Η C είναι απαρχαιωμένη;! Η C++ του 80 μάλλον..;!
Η C πάντως είναι πιο "δυνατή" από πολλές άλλες και δεν πιστεύω να έχει κάποιο αρνητικό.
Σε τί είναι πιο δυνατη; Και ποιο αρνητικο δεν έχει; Μήπως προγραμματίζεις εύκολα σε παραθυρικο περιβάλλον με δαύτην; LOL!!! :-)
Η C για την εποχη της ήταν μια καλη προσπάθεια δημιουργίας ενος -ας πούμε- "αφαιρετικου επιπέδου" των assembly που κυκλοφορούσαν τότε. Επειδη, όποιος έβγαινε στην πιάτσα (τη δεκαετία του 1960) για να βγάλει το ψωμι του ως μηχανικος ΗΥ, έπρεπε να ξέρει απέξω καμια 25αρια υπολογιστες-"ιδιοκατασκευες" (δηλ. με εντελως διαφορετικο στήσιμο και εντελως διαφορετικη γλώσσα μηχανης ο καθένας)... πράγμα εξόχως σπαζοκεφαλιαστικο. Βλέπετε, δεν υπήρχε ακόμη τότε ο γνωστος σημερινος χωρισμος σε επίπεδα bare machine, bios, ΛΣ, κτλ - και οι εντολες που σήμερα φυσιολογικα ανήκουν στο hardware (άντε και στο ΛΣ για τους καθυστερημένους), τότε βρισκόντουσαν σε επίπεδο γλώσσας προγραμματισμου! (Πχ "tape rewind" της COBOL.)
Εντάξει όλ' αυτα, αλλα η τυφλη αντιγραφη βιβλιογραφίας του 1970 διαιωνίζει εντελως μα εντελως ανόητες φήμες. Και η πλάκα είναι ότι αυτα τα γράφουν και υποτίθεται σοβαροι συγγραφεις, με σπουδες κτλ. (Για να διαφωτίσουν και τους φοιτητες τους!)
Πχ:
"Η C είναι γλώσσα ανωτέρου επιπέδου"!Το σωστο: Είναι λίγο παραπάνω απο την assembly, ίσως η μοναδικη υπάρχουσα γλώσσα
μέσου επιπέδου. "Ανωτέρου επιπέδου" με -μετρημένες- μόλις 28 εντολες (κατα ANSI) ντε γκίνεται, καρντιά μου! Εδω καλα καλα δεν μπορει να βάλει τον κέρσορα εκει που θες σε text screen!
"Η C είναι παντοδύναμη"!Το σωστο: Όντως, σου επιτρέπει να κάνεις ό,τι θες με τον ΗΥ... αρκει να ξέρεις το στήσιμο του μηχανήματος! Δεν έχει κανένα απολύτως νόημα να στέλνεις bytes μέσω κώδικα σε C αριστερα και δεξια, αν δεν ξέρεις τί λες και σε ποιο περιφερειακο το λες! (Και σε ποια διεύθυνση του συγκεκριμένου περιφερειακου το λες.)
Αν φτάσεις, όμως, σε τέτοιο σημείο, ήδη ασχολείσαι με assembly! (Άρα, η C περιττη.)
Προσωπικα σου προτείνω ν' ασχοληθεις με Java - φυσικα αν θες να φτιάξεις προγραμματάκια με εικονίτσες, χρωματάκια, και λοιπα ωραία. Η Sun δίνει και βραβείο καναδυο μύρια δολλάρια, αν καταφέρεις να φτιάξεις ιό σε Java! :-)
Αν θες ενασχόληση με system software, μάθε καλα assembly!
Τώρα για τη C++, πολλοι λένε πως ακόμη δεν φτιάχτηκε ο 100% ικανοποιητικος C++ compiler. Τί να σου πω... Ψάξε για άρθρα πχ στο Sourceforge, να δεις τί παίζει.
Τέλος, η C καθιστα σχεδον απαγορευτικο το να φτιάξεις παραθυρικα προγράμματα. Γιατί; Διότι σε περιμένουν ακόμη δύο σετ εντολων! Του Motif και του περιβάλλοντος που θα διαλέξεις (πχ KDE)!
Αν επιμένεις, καλη υπομονη και καλη τύχη!
Το να μάθει κανεις C για εκπαιδευτικους σκοπους, εντάξει. Ίσως είναι το μόνο καλο μιας γλώσσας 28 ετων.
το Linux/Unix είναι ακόμα σε C
Ναι, έ; Να με συμαπαθας, αλλα αμφιβάλλω αν είδες ποτε σου κώδικα Linux kernel!
Ειδικα το Linux για τα πισιά (που είχα την περιέργεια και την υπομονη να το ψάξω) είναι
ΚΑΙ σε C! :-)
Αυτο το "και" είναι που κάνει τη διαφορα!... Ο κώδικας του πυρήνα είναι (περίπου) 60% assembly 80x86, 35% C και τα ρέστα C++.
Ασπασμους! Καλο Σ/Κ!