Ας πούμε ότι κάποιος θέλει να ξεκινήσει προγραμματισμό. Προφανώς κάποια στιγμή θα χρειαστεί να εμπλακεί με κάποια από τις C, C++, Java, θα τις βρει μπροστά του. Για ποιο λόγο λοιπόν να μάθει Pascal ? δεν του προσφέρει τίποτα. Το μόνο θετικό της Pascal είναι ότι μοιάζει λίγο στη σύνταξη με τη ΓΛΩΣΣΑ. Έτσι ξεκινώντας με αυτό το υποσύνολο της C++ που λέω, και μαθαίνει στοιχειώδη προγραμματισμό αλλά και "είναι πιο κοντά" στην δομή/σύνταξη αυτών των γλωσσών που είναι παράγωγα της C.
Μιλώντας για κάποιον που δεν ξέρει τίποτα πέρα απο την λογική της ΓΛΩΣΣΑΣ,μου φαίνεται αρκετά αποδεκτό να δει pascal.Υπάρχει η delphi,υπάρχουν διάφορα.Γενικά δεν θα το συνιστούσα σε κάποιον αλλά δεν είναι και τόσο εξωπραγματικό.Στους ΗΜΜΥ αρκετά χρόνια κάναν pascal.
Επίσης αυτό το υποσύνολο της C++ είναι και η καλύτερη επιλογή για όποιον θέλει να ασχοληθεί με τους διαγωνισμούς πληροφορικής.
Δεν διαφωνώ,στο code jam γράφανε C++ με STL,άμα ξέρεις τι κάνεις,θα έχεις απίστευτο αποτέλεσμα.Δεν ξέρω και πώς λειτουργούν οι συγκεκριμένοι διαγωνισμοί που ανέφερες,άμα έχουν περιορισμό στο performance προφανώς και θα αξίζει C ή C++.Αλλά εντάξει,στα δύο άτομα που είχα γράψει σε αυτό το νήμα,δεν νομίζω να τους απασχολούσε σε πρώτη φάση η συμμετοχή σε διαγωνισμό.
Για να συνοψίσω η γνώμη μου είναι ότι αν κάποιος θέλει να ασχοληθεί με τον προγραμματισμό θα πρέπει να δει τουλάχιστον μια γλώσσα από την οικογένεια C#, C++, Java (με προτιμότερη τη C++) και μια script γλώσσα όπως javascript ή python με προτίμηση στην python.
Γιατί να μην ασχοληθεί με C# και να προτιμήσει C++;Επειδή είναι ΜS;Είναι σε κάθε περίπτωση πιο rewarding,ειδικά τώρα που υπάρχει και το VS express και μπορείς να κάνεις πολύ πιο εύκολα πράγματα που στην C++ σου βγαίνει το λάδι να τα γράψεις(και να τα κάνεις debugg).
ΥΓ. Παρατηρώ ότι αποτρέπεις τον κόσμο να ασχοληθεί με τη C. Γιατί
Δεν αποτρέπω γενικά κόσμο.Αποτρέπω αυτούς που θέλουν να ασχοληθούν με προγραμματισμό και δεν έχουν εμπειρία.Άμα θες να γράψεις κάτι για linux και να το κολλήσεις στον kernel,φυσικά και θα σου πω να γράψεις C.Εξαρτάται απο το τι θες να κάνεις.Η C και η C++,δεν μου φαίνεται πώς προσφέρουν κάτι σε κάποιον που ξεκινάει.Το έχω ξαναγράψει.Θα κάτσουν να μάθουν λεπτομέρειες που αρχικά,δεν θα έπρεπε να τους απασχολούν.Λεπτομέρειες,που δεν έχουν σχέση με το πρόβλημα που επιλύουν.Πιστεύω πώς είναι πιο ευχάριστο να προσπαθήσεις να λύσεις το knight tour,από το να προσπαθείς να λύσεις γιατί η συνάρτηση δεν δουλεύει,επειδή δεν αρχικοποιήθηκε ο τάδε pointer ή επειδή κάνει mutate το state της τάδε δομής.
Ακόμα και η java,που θα προσπαθούσα να την αποφύγω σε κάθε περίπτωση,σε βοηθάει να εστιάσεις εκεί που θες,τις περισσότερες φορές.Αλλά δεν έχω πρόβλημα με τη C.Εντάξει,να γράφεις wrappers πάνω στα ugly C ΑPIs δεν είναι και ότι πιο ευχάριστο,αλλά κάποτε έπρεπε να γίνει.Κατα τη γνώμη μου για έναν αρχάριο python > C(και C++) .
(Έχω πρόβλημα με την java πάντως

)