Προς το περιεχόμενο

Ξεκίνημα στον προγραμματισμό


thephotoshoped

Προτεινόμενες αναρτήσεις

@retromaniac:

 

Ή συμφωνούμε διαφωνώντας ή δεν διαβάζεις τα μηνύματά μου πριν τα απαντήσεις. Δεν μπορώ να το εξηγήσω αλλιώς.

 

Εν τάχει (επειδή ήδη το κουράσαμε)...

 

α) Η βασική μου διαφωνία έγκειται στο ότι χαρακτήρισες την C εκτός εποχής. Θεωρώ κι επιμένω πως η C όχι μόνο είναι εντός εποχής, αλλά αποτελεί κιόλας στοιχειώδη γνώση για όποιον θέλει να ασχοληθεί σοβαρά με τον προγραμματισμό (μαζί με τουλάχιστον μια ακόμα γλώσσα από το OOP paradigm και μια ακόμα από το Functional paradigm).

 

β) Την οριοθέτηση στα της Ελλάδος την έκανες μόνος σου, τη στιγμή που ο φίλος στον οποίον απάντησες έχει ήδη γράψει πως ζει στον Καναδά, τουτέστιν 2 βήματα από την Βόρεια Αμερική... με ότι αυτό συνεπάγεται για όσους γνωρίζουν. Εγώ απεναντίας μιλάω εξαρχής σε παγκόσμιο context και θα μου επιτρέψεις να επιμείνω, κυρίως διότι δεν βλέπω απολύτως κανένα λόγο για κάποιον που ξεκινάει τώρα να περιορίσει τον εαυτό του στον χαμηλότατο εγχώριο πήχη... ειδικά την σημερινή εποχή που οι μισοί από τους νέους (και όχι μόνο) Έλληνες δουλεύουν στο εξωτερικό.

 

γ) Όλες αυτές οι γλώσσες που παρουσιάζεις ως καλύτερες από την C, είναι καλύτερες σε συγκεκριμένους τομείς προγραμματισμού και χειρότερες σε άλλους στους οποίους είναι καλύτερη η C. Το ίδιο ακριβώς ισχύει για οποιαδήποτε γλώσσα (προφανώς και για την C). Δεν θα πας σήμερα να κάνεις web programming με C όπως δεν θα πας σήμερα να κάνεις system programming με C# ...  τα έχω ήδη γράψει στα προηγούμενα μηνύματα, δεν έχω πιο ξεκάθαρο τρόπο να τα παρουσιάσω.

 

δ) Θεωρώ πως ακόμα δεν έχεις συνειδητοποιήσει την διαφορά μεταξύ "mainstream" και "niche" και κυρίως ότι και τα 2 συνιστούν (και συνιστούσαν ανέκαθεν) την εντός εποχής πραγματικότητα. Σε ρώτησα για την άποψή σου σε συγκεκριμένα πράγματα αναφορικά με τη "εκτός εποχής" C και για το Android και για το iPhone και για την Python, όλα τους καραμπινάτα εντός εποχής εργαλεία & πλατφόρμες παγκοσμίως, και απάντηση δεν έχω πάρει ακόμα (όχι ότι το θεωρώ απαραίτητο να μου απαντήσεις, αλλά θα ήταν ωφέλιμο στα πλαίσια της κουβέντας πιστεύω).

 

ε) Δεν προσπαθούσες να με πείσεις να μάθω SQL, προσπαθούσες να με πείσεις να μάθω SQL στα πλαίσια ενός περιορισμένου χρονικά project που είχε κι άλλα πράγματα, και το οποίο project το ολοκλήρωσα σε λιγότερο χρόνο από τον χρόνο που θα ξόδευα για να μάθω SQL.

 

ΥΓ. Παρεμπιπτόντως, niche μεταξύ άλλων σημαίνει λιγότερες δουλειές, πιο δύσκολες και πιο καλοπληρωμένες. Ορίστε και για Ελλάδα: http://gr.indeed.com/jobs?q=c+programming&l=&filter=0&rs=1

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 106
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

@retromaniac:

 

Ή συμφωνούμε διαφωνώντας ή δεν διαβάζεις τα μηνύματά μου πριν τα απαντήσεις. Δεν μπορώ να το εξηγήσω αλλιώς.

 

Εν τάχει (επειδή ήδη το κουράσαμε)...

 

α) Η βασική μου διαφωνία έγκειται στο ότι χαρακτήρισες την C εκτός εποχής. Θεωρώ κι επιμένω πως η C όχι μόνο είναι εντός εποχής, αλλά αποτελεί κιόλας στοιχειώδη γνώση για όποιον θέλει να ασχοληθεί σοβαρά με τον προγραμματισμό (μαζί με τουλάχιστον μια ακόμα γλώσσα από το OOP paradigm και μια ακόμα από το Functional paradigm).

 

β) Την οριοθέτηση στα της Ελλάδος την έκανες μόνος σου, τη στιγμή που ο φίλος στον οποίον απάντησες έχει ήδη γράψει πως ζει στον Καναδά, τουτέστιν 2 βήματα από την Βόρεια Αμερική... με ότι αυτό συνεπάγεται για όσους γνωρίζουν. Εγώ απεναντίας μιλάω εξαρχής σε παγκόσμιο context και θα μου επιτρέψεις να επιμείνω, κυρίως διότι δεν βλέπω απολύτως κανένα λόγο για κάποιον που ξεκινάει τώρα να περιορίσει τον εαυτό του στον χαμηλότατο εγχώριο πήχη... ειδικά την σημερινή εποχή που οι μισοί από τους νέους (και όχι μόνο) Έλληνες δουλεύουν στο εξωτερικό.

 

γ) Όλες αυτές οι γλώσσες που παρουσιάζεις ως καλύτερες από την C, είναι καλύτερες σε συγκεκριμένους τομείς προγραμματισμού και χειρότερες σε άλλους στους οποίους είναι καλύτερη η C. Το ίδιο ακριβώς ισχύει για οποιαδήποτε γλώσσα (προφανώς και για την C). Δεν θα πας σήμερα να κάνεις web programming με C όπως δεν θα πας σήμερα να κάνεις system programming με C# ... τα έχω ήδη γράψει στα προηγούμενα μηνύματα, δεν έχω πιο ξεκάθαρο τρόπο να τα παρουσιάσω.

 

δ) Θεωρώ πως ακόμα δεν έχεις συνειδητοποιήσει την διαφορά μεταξύ "mainstream" και "niche" και κυρίως ότι και τα 2 συνιστούν (και συνιστούσαν ανέκαθεν) την εντός εποχής πραγματικότητα. Σε ρώτησα για την άποψή σου σε συγκεκριμένα πράγματα αναφορικά με τη "εκτός εποχής" C και για το Android και για το iPhone και για την Python, όλα τους καραμπινάτα εντός εποχής εργαλεία & πλατφόρμες παγκοσμίως, και απάντηση δεν έχω πάρει ακόμα (όχι ότι το θεωρώ απαραίτητο να μου απαντήσεις, αλλά θα ήταν ωφέλιμο στα πλαίσια της κουβέντας πιστεύω).

 

ε) Δεν προσπαθούσες να με πείσεις να μάθω SQL, προσπαθούσες να με πείσεις να μάθω SQL στα πλαίσια ενός περιορισμένου χρονικά project που είχε κι άλλα πράγματα, και το οποίο project το ολοκλήρωσα σε λιγότερο χρόνο από τον χρόνο που θα ξόδευα για να μάθω SQL.

 

ΥΓ. Παρεμπιπτόντως, niche μεταξύ άλλων σημαίνει λιγότερες δουλειές, πιο δύσκολες και πιο καλοπληρωμένες. Ορίστε και για Ελλάδα: http://gr.indeed.com/jobs?q=c+programming&l=&filter=0&rs=1

α) Εκτός εποχής εννοώ και τεχνολογικά και εργασιακά. Καλή για embedded/system programming και για μερικές εφαρμογές ακόμη. Εντάξει στο εξωτερικό έχει δουλειές αλλά όχι όπως οι μοντέρνες γλώσσες τεχνολογίες.

Στις αγγελίες που έβαλες βγαίνουν μέσα και c++ και objective c και σε πολλές η c είναι σαν optional. Δεν είναι 2000 δουλειές για c και επίσης είναι διασκορπισμένες σε 50 πολιτείες (αντίστοιχα κράτη με τα δικά μας στην ευρώπη). Δηλαδή υπολογίζω γύρω στις 20 δουλείες ανά πολιτεία που μερικές είναι αρκετά μεγαλύτερες σε πληθυσμό από την ελλάδα. Goog luck.

Ακόμη είμαι της άποψης να ξεκινάς κατευθείαν σε oop γιατί είναι καλύτερα για τον τρόπος σκέψης σου από το να μάθεις αργότερα.

 

β) Δεν είχα προσέξει ότι είναι στον καναδά. Και επίσης δεν καταλαβαίνω που βρήκες την στατιστική αυτή ότι οι μισοί νέοι έλληνες έχουν γίνει μετανάστες! Anyway, νομίζω ότι η πλειοψηφία δεν θέλει ή δεν αντέχει ψυχολογικά να πάει μετανάστης.

 

γ) Είναι καλύτερες σε σχεδόν όλους τους τομείς εκτός από περιορισμένους τομείς που είναι καλύτερη η c. Από αυτή την άποψη αλλά και από την άποψη ότι σε μαθαίνουν να προγραμμάτιζεις με σύγχρονες και πιο σωστές τεχνικές, καθώς και το ότι μπορείς να δημιουργείς πολύ πιο γρήγορα από την στην c τις κάνουν γενικά καλύτερες γλώσσες. Επίσης είναι πιο κοντά στις νέες εξελίξεις που θα ακολοθήσουν τα επόμενα χρόνια από τι η c.

 

δ) Στο android προγραμματίζεις σε java. Η c υπάρχει για λόγους porting φαντάζομαι, ή για system programming ή για κολημένους. Αλλά το 99% των εφαρμογών γίνονται σε java.

H object c είναι oop γλώσσα. Τι σχέση έχει με την c. Εγώ είμαι υπέρ των γλωσσών με oop και κατά αυτών χωρίς oop. Όπως υποστηρίζω και την c++. Και θεωρώ λάθος όπως είπα τόσες φορές να μάθεις πρώτα c και μετά c++ ή objective c. Όσον αφορά την python μιλάμε πάλι για εξωτερικό.

 

ε) Προσπαθούσα να σε πείσω ότι στον χρόνο που έχεις μπορείς να μάθεις και sql και να το φτιάξεις σε sql παρά να το φτιάξεις όπως έλεγες. Αλλά εσύ μάλλον εξακολουθείς να πιστεύεις ότι είναι κάτι τρομερά πολύπλοκο ενώ είναι σχεδόν ότι πιο απλό για τις βασικές λειτουργίες που ήθελες. Έμαθες sql άληθεια;

 

ΥΓ. Στις αγγελίες που παρέθεσες είτε βγαίνει γιατί έχουν το c στο όνομα της εταιρίας, είτε γιατί θέλουν objective c, είτε γιατί όταν θέλουν c++ programmer συνήθως το γράφουν c/c++, είτε γιατί είναι στα optional (παλιά κολήματα) ενώ θέλει java ή κάτι άλλο. Καθαρά c κάτσε και μέτρα πόσες είναι και θα εκπλαγείς.

Μπες και στο kariera.gr και skywalker.gr και βάλε πληροφορική/αθηνα (ελλάδα δεν ύπαρχει θέση εκτός από 1-2 θεσσαλονίκη) και ξεκίνα και μέτρα java και .net και c και έλα πες μου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτή την στιγμή συνεργάζομαι με ένα γραφίστα για την δημιουργία web sites και video games/εφαρμογές για κινητά κυρίως.

Προσπαθώ να απεμπλακώ από τις εταιρίες γιατί τις έχω βαρεθεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για οσο καιρο ακομα τα OS θα γραφονται σε C, σιγουρα αυτη θα αποτελει τον πλεον imperative μηχανισμο για να μιλησεις στο hardware. Αυτο ομως δεν σημαινει οτι αναγκαστικα αποτελει και την προτιμητεα γλωσσα για οποιαδηποτε εφαρμογη. Στην πραγματικοτητα, ακριβως το αντιθετο συμβαινει. Παροτι στηριζεται σε C η συντριπτικη πλειοψηφια του μοντερνου software ειναι γραμμενο σε υψηλοτερου επιπεδου γλωσσες με εμφανη declarative χαρακτηριστικα, τα οποια διευκολυνουν την αναπτυξη αλγοριθμων, frameworks και γενικοτερα αποστασιοποιουν το implementation απο το hard metal με αριστα αποτελεσματα τοσον οσον αφορα τον χρονο που δαπαναται για την αναπτυξη της εφαρμογης οσο και την αποδοση της (performance).

 

Ο low level προγραμματισμος, αν και φυσικα απαραιτητος δεν καλυπτει μεγαλη εκταση στο συνολικο landscape , καθως πανω σε χαμηλοτερα επιπεδα μπορουμε να δημιουργησουμε abstractions τα οποια χωρις να ειναι ιδιαιτερα expensive performance wise ωστοσο βελτιωνουν κατα πολυ το expressibility της γλωσσας αλλα και κανουν εφικτο το cross platform compatibility σε πολυ μεγαλυτερο βαθμο απο οτι η C και η C++.   Ειναι αδιαμφισβητητο γεγονος οτι ο ρολος τοσο της C οσο και της C++ στο application development ειναι πολυ περιορισμενος σε σχεση με τα τελη της δεκαετιας του 90 καθως ελαχιστα πλεον ειναι τα projects που ξεκινανε να γραφτουν πανω σε αυτες, το περισσοτερο development που γινεται σε αυτες τις γλωσσες εχει να κανει με maintenace legacy code, οπως ακριβως γινεται και με την COBOL. 

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φίλε retromaniac, είναι ηλίου φαεινότερο πως έχουμε τελείως διαφορετική οπτική γωνία, ερεθίσματα, κριτήρια και ιεραρχίες σε ότι αφορά όχι μόνο τον προγραμματισμό αλλά και την πληροφορική γενικότερα.

 

Δεν είναι καθόλου κακό, και ούτε χρειάζεται να συμφωνήσουμε.

 

Το ότι η C δεν είναι εκτός εποχής όμως (και ούτε ήταν ποτέ τα τελευταία ας πούμε 25 χρόνια) είναι κάτι το αντικειμενικό και δεν χρειάζομαι εγώ για να αποδείξω το αυτονόητο. Όποια πέτρα και να σηκώσεις βρίσκεται η C από κάτω, είτε μιλάς για εκπαίδευση, είτε για βιβλιογραφία, είτε για internet, είτε για οτιδήποτε... αυτό συμβαίνει για τουλάχιστον 2 δεκαετίες.

 

H Google δεν παρέχει το Android NDK για να ικανοποιήσει τους κολλημένους όπως τους χαρακτηρίζεις στο προηγούμενο ποστ σου, αλλά επειδή...

 

http://developer.android.com/tools/sdk/ndk/index.html

...

Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. When examining whether or not you should develop in native code, think about your requirements and see if the Android framework APIs provide the functionality that you need.

 

Επίσης, η Objective C του iOS δεν είναι strict superset της C κι επιτρέπει ελεύθερα την ανάμιξη καθαρού C κώδικα επειδή η Apple θέλει να ικανοποιήσει τους κολλημένους, αλλά επειδή σου δίνει την ευκαιρία να κάνεις πράγματα π.χ. σαν αυτό εδώ.

 

Οι compilers, οι interpreters, τα virtual machines, οι servers, οι databases, οι browsers, τα λειτουργικά συστήματα, οι drivers, τα πρωτόκολλα, τα CAD και κυριολεκτικά μυριάδες άλλα δεν γράφονται σε C επειδή είναι κολλημένοι όλοι αυτοί που τα γράφουν, ούτε είναι ντεμοντέ το ότι όλες οι τεχνολογίες αιχμής είτε είναι γραμμένες σε C είτε δίνουν πρόσβαση σε C.

 

Όλα αυτά όμως δεν είναι ούτε για αρχάριους, ούτε για βιαστικούς, ούτε για όσους οριοθετούν τον ορίζοντά τους με ταβάνι τις ελληνικές αγγελίες εύρεσης εργασίας του 2013 και μάλιστα με πρώτο κριτήριο το πλήθος.

 

Το να είσαι ένας από τους πολλούς σου εξασφαλίζει κατά κανόνα τα προς το ζειν, το να είσαι όμως ένας από τους λίγους σου εξασφαλίζει κατά κανόνα άνεση και κύρος. Αυτή τουλάχιστον είναι η δική μου άποψη και το δικό μου συμπέρασμα.

 

Με δυο λόγια: mainstream vs niche.

 

Δεν έχω καμία αντίρρηση με όσους ικανοποιούνται με τα προς το ζειν, ούτε καν με όσους ικανοποιούνται με τα με τη βια προς το ζειν. Ίσα ίσα που στις εποχές μας και σε χώρες όπως η δική μας αποτελεί έως και μονόδρομο, τουλάχιστον για ξεκίνημα.

 

Σε καμία περίπτωση όμως δεν θέλω να είμαι εγώ κάποιος που θα οριοθετήσει τις φιλοδοξίες ενός νέου παιδιού που ξεκινάει τώρα, με ταβάνι την ελληνική αγορά και το web/application programming. Υπάρχουν μυριάδες άλλες εναλλακτικές, που σε καμία περίπτωση δεν αποτελούν εύκολη λύση, αλλά έχουν τεράστια δυναμική και σε επαγγελματικό επίπεδο αλλά και σε προσωπικό.

 

Προφανώς και κάποιος θα ξεκινήσει κατά κανόνα mainstream, αφού μεταξύ πολλών άλλων το nich προϋποθέτει και μακρόχρονη εμπειρία. Αυτό όμως δεν σημαίνει πως το niche είναι εκτός εποχής. Απλά σημαίνει πως άλλα τα μάτια του λαγού και άλλα της κουκουβάγιας.

 

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

 

Κλείνω επαναλαμβάνοντας, πως κατά την δική μου άποψη, ένας σοβαρός προγραμματιστής με φιλοδοξίες οφείλει να ξέρει τουλάχιστον C, συν μια OOP γλώσσα (η δική μου πρόταση είναι Java) συν μια functional γλώσσα (η δική μου πρόταση είναι Lisp).

 

Αυτό εγώ το θεωρώ γερή βάση, που εξασφαλίσει ευρύτατη οπτική γωνία ώστε να έχει τα εφόδια να αντεπεξέλθει κατόπιν σχεδόν σε οποιαδήποτε πρόκληση συναντήσει στην μετέπειτα καριέρα του. Το αν θα μάθει πρώτα C ή πρώτα μια OOP ή πρώτα μια functional γλώσσα, προσωπικά το θεωρώ δευτερεύον. Καθώς και το σε ποιο από τα 3 paradigms θα αφοσιωθεί αρχικά

 

Αυτό βασικά θα το καθορίσει εν πολλοίς η πρώτη του δουλειά.

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πραγματικά μπορούμε να μπούμε σε ένα αέναο κύκλο και να απαντάμε ο ένας στον άλλον.

Έχω δει να γίνεται μεταξύ εσένα και defacer.

Αλλά θα σταματήσω εδώ αφήνοντας τον τελευταίο λόγο σε σένα.

Συμπεράσματα μπορούν να βγουν από αυτά που έχουν ειπωθεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτή την στιγμή συνεργάζομαι με ένα γραφίστα για την δημιουργία web sites και video games/εφαρμογές για κινητά κυρίως.

Προσπαθώ να απεμπλακώ από τις εταιρίες γιατί τις έχω βαρεθεί.

 

Α μαλιστα... ποσα βγαζεις το μηνα χοντρικα ας πουμε? και ποσο δουλευεις κατα μεσο ορο την ημερα? δουλευεις απο το σπιτι σου?

 

Κοιτα αμα ξερεις καμια εταιρεια για δικτυα αν μπορεις σε παρακαλω πες την μου... και με 600 ευρω να ξεκινησω δεν ειναι θεμα.... αρκει ρε παιδι μου να σε ασφαλιζουν. Αλλιως δεν εχω προβλημα.

 

Τι ζητανε στις εταιρειες πιο πολυ? Για Web?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για οσο καιρο ακομα τα OS θα γραφονται σε C, σιγουρα αυτη θα αποτελει τον πλεον imperative μηχανισμο για να μιλησεις στο hardware. Αυτο ομως δεν σημαινει οτι αναγκαστικα αποτελει και την προτιμητεα γλωσσα για οποιαδηποτε εφαρμογη.

 

Μέχρι στιγμής πάντως κανείς δεν έχει υποστηρίξει πως η C αποτελεί αναγκαστικά την προτιμητέα γλώσσα για οποιαδήποτε εφαρμογή.

 

Στην πραγματικοτητα, ακριβως το αντιθετο συμβαινει. Παροτι στηριζεται σε C η συντριπτικη πλειοψηφια του μοντερνου software ειναι γραμμενο σε υψηλοτερου επιπεδου γλωσσες με εμφανη declarative χαρακτηριστικα, τα οποια διευκολυνουν την αναπτυξη αλγοριθμων, frameworks και γενικοτερα αποστασιοποιουν το implementation απο το hard metal με αριστα αποτελεσματα τοσον οσον αφορα τον χρονο που δαπαναται για την αναπτυξη της εφαρμογης οσο και την αποδοση της (performance).

 

Όπως για παράδειγμα; Ποια είναι αυτή η συντριπτική πλειοψηφία του μοντέρνου software, τι αξιολογείς ως μοντέρνο software (ποιος και πως το διαχωρίζει δηλαδή από το μη μοντέρνο) και σε ποιες ακριβώς κατηγορίες λογισμικού αναφέρεσαι (για παράδειγμα στην κατηγορία των databases, αυτές εδώ που στην συντριπτική τους πλειοψηφία είναι γραμμένες σε C/C++ είναι μοντέρνες ή όχι; ).

 

Ο low level προγραμματισμος, αν και φυσικα απαραιτητος δεν καλυπτει μεγαλη εκταση στο συνολικο landscape , καθως πανω σε χαμηλοτερα επιπεδα μπορουμε να δημιουργησουμε abstractions τα οποια χωρις να ειναι ιδιαιτερα expensive performance wise ωστοσο βελτιωνουν κατα πολυ το expressibility της γλωσσας αλλα και κανουν εφικτο το cross platform compatibility σε πολυ μεγαλυτερο βαθμο απο οτι η C και η C++.   Ειναι αδιαμφισβητητο γεγονος οτι ο ρολος τοσο της C οσο και της C++ στο application development ειναι πολυ περιορισμενος σε σχεση με τα τελη της δεκαετιας του 90 καθως ελαχιστα πλεον ειναι τα projects που ξεκινανε να γραφτουν πανω σε αυτες, το περισσοτερο development που γινεται σε αυτες τις γλωσσες εχει να κανει με maintenace legacy code, οπως ακριβως γινεται και με την COBOL.

 

Είναι όντως αδιαμφισβήτητο γεγονός πως ο ρόλος της C (και πολύ πολύ λιγότερο της C++) είναι πολύ περιορισμένος στο application development σε σχέση με τα τέλη της δεκαετίας toy 90 (όπου ήταν mainstream γλώσσες... η C++ παραμένει), όπως είναι επίσης αδιαμφισβήτητο γεγονός πως τις εξελίξεις στην πληροφορική δεν τις δρομολογεί το application development, μέχρι στιγμής τουλάχιστον, αλλά εκείνες οι κατηγορίες development στις οποίες χρησιμοποιούνται ως πρώτες επιλογές η C και η C++.

 

@retromaniac: Προσωπικά δεν με απασχολεί ποιος θα έχει τον τελευταίο λόγο. Περισσότερο με απασχολεί να μάθω πράγματα που ενδεχομένως δεν γνωρίζω, καθώς επίσης και να μοιραστώ πράγματα που γνωρίζω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

migf1 πρέπει να κάνουμε διαχωρισμό c/c++.

Θα μιλάμε για την χρησιμότητα/αξία της c ή της c++; Γιατί δεν έχει καμία σχέση η μία με την άλλη.

Στις περισσότερες εφαρμογές που αναφέρεις χρησιμοποιείται η c++. Όπου χρησιμοποιείται η c είναι γιατί έχει ξεμείνει από παλιά. Δεν υπάρχει ούτε ένα λόγος που μπορώ να φανταστώ γιατί να χρησιμοποιήσεις c και όχι c++.

Επίσης δεν ξέρω αν έχεις καταλάβει αλλά όλες σχεδόν οι χρήσεις που έχεις αναφέρει είναι για λόγους optimization/speed σε επιλεγμένα κομμάτια μιας εφαρμογής είτε στο android είτε σε windows για system/programming tools. Και αυτό γιατί οι περισσότερες μοντέρνες γλώσσες βγάζουν intermediate και managed code και όχι native και unsafe. Γιατί όμως να μην χρησιμοποιήσεις c++ αντί για c;

 

Οι databases που αναφέρεις χρησιμοποιούνται natively από τις σύγχρονες γλώσσες και όχι από την c.

Μπορεί να έχουν γραφτεί κάποιες από αυτές στην c εδώ και πολλά χρόνια. Αλλά μπορείς να καταλάβεις την διαφορά; Αυτά είναι basic εργαλεία που χρησιμοποιούνται για την δημιουργία πολύ σύνθετου λογισμικού. Αυτό το σύνθετο λογισμικό δεν φτιάχνεται σε c.

Και οι databases αυτές γράφονται σε c++ κυρίως και όχι σε c όπως είπα.

Αλλά μην νομίζεις ότι ο κυρίως λόγος είναι η ταχύτητα. Η microsoft θα ξαναέγραφε όλο το visual studio σε c# αντί για c++ αλλά μετά από τόσα χρόνια έχει γίνει απίστευτα πολύπλοκο για να το κάνει από την αρχή και το κόστος θα ήταν απαγορευτικό. Κάποια μέρη πάντως είναι με c# πια.

 

Κοίτα την διαφορά από το wikipedia μεταξύ c# και c.

c#

multi-paradigmstructured,imperativeobject-oriented,event-drivenfunctional,genericreflective,concurrent

 

C

Imperative (procedural),structured

 

Τι συγκρίνουμε τώρα; Πώς γίνεται να μάθεις σύγχρονες μεθόδους προγραμματισμού σε μία γλώσσα που δεν μπορεί καν να τις υποστηρίξει;

Ένα πλεονέκτημα έχει η c ότι είναι απλή και ξέφραγκο αμπέλι και αυτό την κάνει γρήγορη και systemικη.

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

 

"@retromaniac: Προσωπικά δεν με απασχολεί ποιος θα έχει τον τελευταίο λόγο. Περισσότερο με απασχολεί να μάθω πράγματα που ενδεχομένως δεν γνωρίζω, καθώς επίσης και να μοιραστώ πράγματα που γνωρίζω."

 

Είμαι προγραμματιστής πολλά χρόνια και έχω ασχοληθεί με δεκάδες πράγματα σε βάθος. Αυτό με βοηθάει στο να έχω ολοκληρωμένη εικόνα. Μήπως πρέπει να κάνεις αυτό και εσύ; Να ασχοληθείς με πολλά πράγματα, να μάθεις αυτά που δεν γνωρίζεις; Τώρα εκφέρεις άποψη και συγκρίνεις πράγματα που δεν γνωρίζεις. Πως μπορείς και το κάνεις αυτό;

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πραγματικά μπορούμε να μπούμε σε ένα αέναο κύκλο και να απαντάμε ο ένας στον άλλον.

Έχω δει να γίνεται μεταξύ εσένα και defacer.

 

 

Και ενώ διάβαζα το thread και όλο χαρά περίμενα να φτάσω στο τέλος για να σχολιάσω "popcorn" μου το χάλασες. Τι κατάλαβες;  :P

 

Και πρόσεχε, γιατί αυτά που λες έχουν ουσία. Δε σε βλέπω να μένεις πολύ καιρό ακόμα ενεργός στο forum... κάνει κούραση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εάν επιτρέπεται, πως θα μπεις σε σχολή για αναλυτής εάν δεν έχεις ιδέα από προγραμματισμό; Σε ποια σχολή; Για τι πτυχίο; Προ ή μετά; 

προ... σε σχολι στο εξωτερικο μενω Καναδα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

migf1 πρέπει να κάνουμε διαχωρισμό c/c++.

Θα μιλάμε για την χρησιμότητα/αξία της c ή της c++; Γιατί δεν έχει καμία σχέση η μία με την άλλη.

Στις περισσότερες εφαρμογές που αναφέρεις χρησιμοποιείται η c++. Όπου χρησιμοποιείται η c είναι γιατί έχει ξεμείνει από παλιά. Δεν υπάρχει ούτε ένα λόγος που μπορώ να φανταστώ γιατί να χρησιμοποιήσεις c και όχι c++.

Επίσης δεν ξέρω αν έχεις καταλάβει αλλά όλες σχεδόν οι χρήσεις που έχεις αναφέρει είναι για λόγους optimization/speed σε επιλεγμένα κομμάτια μιας εφαρμογής είτε στο android είτε σε windows για system/programming tools. Και αυτό γιατί οι περισσότερες μοντέρνες γλώσσες βγάζουν intermediate και managed code και όχι native και unsafe. Γιατί όμως να μην χρησιμοποιήσεις c++ αντί για c;

 

Οι databases που αναφέρεις χρησιμοποιούνται natively από τις σύγχρονες γλώσσες και όχι από την c.

Μπορεί να έχουν γραφτεί κάποιες από αυτές στην c εδώ και πολλά χρόνια. Αλλά μπορείς να καταλάβεις την διαφορά; Αυτά είναι basic εργαλεία που χρησιμοποιούνται για την δημιουργία πολύ σύνθετου λογισμικού. Αυτό το σύνθετο λογισμικό δεν φτιάχνεται σε c.

Και οι databases αυτές γράφονται σε c++ κυρίως και όχι σε c όπως είπα.

Αλλά μην νομίζεις ότι ο κυρίως λόγος είναι η ταχύτητα. Η microsoft θα ξαναέγραφε όλο το visual studio σε c# αντί για c++ αλλά μετά από τόσα χρόνια έχει γίνει απίστευτα πολύπλοκο για να το κάνει από την αρχή και το κόστος θα ήταν απαγορευτικό. Κάποια μέρη πάντως είναι με c# πια.

 

Κοίτα την διαφορά από το wikipedia μεταξύ c# και c.

c#

multi-paradigm: [/size]structured,[/size]imperative, [/size]object-oriented,[/size]event-driven, [/size]functional,[/size]generic, [/size]reflective,[/size]concurrent

 

C

Imperative ([/size]procedural),[/size]structured

 

Τι συγκρίνουμε τώρα; Πώς γίνεται να μάθεις σύγχρονες μεθόδους προγραμματισμού σε μία γλώσσα που δεν μπορεί καν να τις υποστηρίξει;

Ένα πλεονέκτημα έχει η c ότι είναι απλή και ξέφραγκο αμπέλι και αυτό την κάνει γρήγορη και systemικη.

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

 

"@retromaniac: Προσωπικά δεν με απασχολεί ποιος θα έχει τον τελευταίο λόγο. Περισσότερο με απασχολεί να μάθω πράγματα που ενδεχομένως δεν γνωρίζω, καθώς επίσης και να μοιραστώ πράγματα που γνωρίζω."

 

Είμαι προγραμματιστής πολλά χρόνια και έχω ασχοληθεί με δεκάδες πράγματα σε βάθος. Αυτό με βοηθάει στο να έχω ολοκληρωμένη εικόνα. Μήπως πρέπει να κάνεις αυτό και εσύ; Να ασχοληθείς με πολλά πράγματα, να μάθεις αυτά που δεν γνωρίζεις; Τώρα εκφέρεις άποψη και συγκρίνεις πράγματα που δεν γνωρίζεις. Πως μπορείς και το κάνεις αυτό;

 

Εγώ από την άλλη μεριά έμαθα να προγραμματίζω εδώ και μια εβδομάδα, είμαι "απόφοιτος" δημοτικού και μέχρι στιγμής έχω καταφέρει να φτιάξω ένα "hello world" σε logo, που είναι και η μόνη γλώσσα προγραμματισμού που γνωρίζω κι έχω δουλέψει ποτέ στη ζωή μου, μιας και η κανονική μου δουλειά τα τελευταία 25 χρόνια είναι μανάβης.

 

EDIT:

 

Απλά έτσι για την ιστορία (ή για το γαμότο αν προτιμάς) let me google something for you. Αν βρεις κάνα-δυο links που να ΜΗΝ έχουν την C μέσα στο top-10 για να μη σου πως μέσα στο top-5 (ή ακόμα και στο top-3) feel free να τα κάνεις σημαία σε ενδεχόμενη μελλοντική " η C είναι εκτός εποχής"... σταυροφορία. Εικάζω όμως πως τα αποτελέσματα πιθανότατα θα αλλάξουν αν προσθέσεις στα κριτήρια +"in Greece" κι ακόμα περισσότερο αν προσθέσεις +"in Athens".

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...