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

Μπορείτε να προτείνετε δεύτερη γλώσσα;


backy1993

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

Δημοσ.

Ναι, αλλά ο ts είπε πως ξέρει ήδη basic και pascal, οπότε είναι ήδη παραπάνω από εξοικειωμένος με ψευδοκώδικες, συντομεύσεις, black-boxes κλπ. Αν πάει πάλι σε παραπλήσιας φιλοσοφίας γλώσσα (οκ, υπεραπλουστεύω ολίγον εδώ :P) πότε θα μάθει τα ενδότερα;

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

IMHO basic και pascal δεν ειναι production grade γλώσσες (όχι πλέον τουλάχιστον). Καλό είναι να γνωρίζει κανείς και γλώσσες που χρειάζεται η αγορά και που αναπτύσσεται πραγματικό software με αυτές (let the flame begin).

 

Καταλήγω πως ο φίλος μας θα πρέπει να διαχωρίσει το τι θέλει να μάθει. Με βάση αυτή του την επιλογή θα μπορεί να διαλέξει και γλώσσα προγραμματισμού. C/C++ vs οποιαδήποτε higher level γλωσσα OO ή Functional. Οτιδήποτε και να ξεκινήσει καλο (κατα την αποψη μου πάντα) θα ήταν να είναι production grade επιλογή.

Δημοσ.

Το production grade είναι σχετικό όμως, γιατί δεν χρησιμοποιούνται σε όλα τα productions οι ίδιες γλώσσες (εννοείται πως η basic και η pascal δεν !).

 

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

 

Στη 2η περίπτωση, η Python είναι "λουκουμάκι" :) Στην πρώτη θα πρέπει αναγκαστικά αργά η γρήγορα να μάθει C++ (τουλάχιστον με τα σημερινά δεδομένα) αλλά αν πάει απευθείας από pascal σε C++ δεν τον βλέπω να κοιμάται καθόλου το επόμενο... 4μηνο :lol:

 

Υπό αυτό το σκεπτικό λοιπόν, ή πρέπει να πάει στη C++ μέσω Java, ή μέσω C (θεωρώ πιο λογική και πιο βατή επιλογή τη C, αλλά οκ αυτή είναι απλά η άποψή μου ;) )

 

IMHO basic και pascal δεν ειναι production grade γλώσσες (όχι πλέον τουλάχιστον). Καλό είναι να γνωρίζει κανείς και γλώσσες που χρειάζεται η αγορά και που αναπτύσσεται πραγματικό software με αυτές (let the flame begin).

 

Καταλήγω πως ο φίλος μας θα πρέπει να διαχωρίσει το τι θέλει να μάθει. Με βάση αυτή του την επιλογή θα μπορεί να διαλέξει και γλώσσα προγραμματισμού. C/C++ vs οποιαδήποτε higher level γλωσσα OO ή Functional. Οτιδήποτε και να ξεκινήσει καλο (κατα την αποψη μου πάντα) θα ήταν να είναι production grade επιλογή.

Δημοσ.

IMHO basic και pascal δεν ειναι production grade γλώσσες (όχι πλέον τουλάχιστον). Καλό είναι να γνωρίζει κανείς και γλώσσες που χρειάζεται η αγορά και που αναπτύσσεται πραγματικό software με αυτές (let the flame begin).

 

Καταλήγω πως ο φίλος μας θα πρέπει να διαχωρίσει το τι θέλει να μάθει. Με βάση αυτή του την επιλογή θα μπορεί να διαλέξει και γλώσσα προγραμματισμού. C/C++ vs οποιαδήποτε higher level γλωσσα OO ή Functional. Οτιδήποτε και να ξεκινήσει καλο (κατα την αποψη μου πάντα) θα ήταν να είναι production grade επιλογή.

 

Και η Basic αλλα και η Pascal εχουν τεραστιο μεριδιο απο τις real world εφαρμογες (VB - Delphi)... Βεβαια ειναι γεγονος οτι οι τελευταιες εξελιξεις στο landscape του software development τεινουν να περιθωριοποιησουν κατα καποιο τροπο την Delphi (την εκδοχη δηλαδη της Pascal για Windows Based programming) παντως λογω του τεραστιου αριθμου apps που εχουν γραφτει σε αυτες θα συνεχιζουν να υπαρχουν για πολλα χρονια στο μελλον.... Το trend σημερα οσον αφορα application programming ειναι προσανατολισμενο προς declarative γλωσσες που εχουν πλεον τοποθετησει για τα καλα τις C/C++ στο περιθωριο... Οσον αφορα windows desktop ο συνδιασμος .NET - C# - WPF - WCF ειναι μακραν η καλυτερη λυση, ενω για server based και cross platform γλωσσες οπως Python, Ruby, Java αποτελουν τους κυριαρχους, ενω το funtional based programming εχει αρχισει να αποκτα σημαντικο μεριδιο με γλωσσες οπως F#, OCaml, Haskel, Clojure και LISP.

 

Αυτη η τελευταια γλωσσα, η LISP ειναι μια απο τις σημαντικοτερες, εκφρστικοτερες και μακροβιοτερες γλωσσες. Σημειωτεων οτι concepts οπως lambdas, closures, Object Orientation, prototype based inheritance και γενικα ολα τα features που προβαλονται σημερα ως innovations υπαρχουν στην LISP και στα παραγωγα της απο την δεκαετια του '60.....

Δημοσ.

Συγγνώμη που επιμένω, αλλά αυτό το "Το trend σημερα οσον αφορα application programming ειναι προσανατολισμενο προς declarative γλωσσες που εχουν πλεον τοποθετησει για τα καλα τις C/C++ στο περιθωριο..." δεν μου... κάθεται καθόλου καλά!

 

Ακόμα κι αν το δεχτούμε με αδιευκρίνιστη την ερμηνεία του "Application Programming", από τη μια είναι τελείως αντιφατικό να υποστηρίζεις πως "η Basic αλλα και η Pascal εχουν τεραστιο μεριδιο απο τις real world εφαρμογες [snip] και παντως λογω του τεραστιου αριθμου apps που εχουν γραφτει σε αυτες συνεχιζουν να υπαρχουν για πολλα χρονια στο μελλον" και 3 γραμμές παρακάτω να λες το... από πάνω για τις C/C++.

 

Αφετέρου, έστω ότι είναι έτσι (που δεν είναι) ποιος θέτει το Application Programming (όπως κι αν το εννοείς) ανώτερο, δημοφιλέστερο, πιο κερδοφόρο ή οτιδήποτε άλλο αφήνεις να εννοηθεί συγκριτικά ας πούμε με το System Programming, το Gaming Programming και το Embed Systems Programming? Τομείς που όχι μόνο οι C/C++ κυριαρχούν και θα κυριαρχούν για πολλά χρόνια ακόμα, αλλά είναι δημοφιλέστατοι τομείς, με παχουλά budgets, με κερδοφορίες και με εταιρείες κολοσσούς να εμπλέκονται.

 

Και η Basic αλλα και η Pascal εχουν τεραστιο μεριδιο απο τις real world εφαρμογες (VB - Delphi)... Βεβαια ειναι γεγονος οτι οι τελευταιες εξελιξεις στο landscape του software development τεινουν να περιθωριοποιησουν κατα καποιο τροπο την Delphi (την εκδοχη δηλαδη της Pascal για Windows Based programming) παντως λογω του τεραστιου αριθμου apps που εχουν γραφτει σε αυτες θα συνεχιζουν να υπαρχουν για πολλα χρονια στο μελλον.... Το trend σημερα οσον αφορα application programming ειναι προσανατολισμενο προς declarative γλωσσες που εχουν πλεον τοποθετησει για τα καλα τις C/C++ στο περιθωριο... Οσον αφορα windows desktop ο συνδιασμος .NET - C# - WPF - WCF ειναι μακραν η καλυτερη λυση, ενω για server based και cross platform γλωσσες οπως Python, Ruby, Java αποτελουν τους κυριαρχους, ενω το funtional based programming εχει αρχισει να αποκτα σημαντικο μεριδιο με γλωσσες οπως F#, OCaml, Haskel, Clojure και LISP.

 

Αυτη η τελευταια γλωσσα, η LISP ειναι μια απο τις σημαντικοτερες, εκφρστικοτερες και μακροβιοτερες γλωσσες. Σημειωτεων οτι concepts οπως lambdas, closures, Object Orientation, prototype based inheritance και γενικα ολα τα features που προβαλονται σημερα ως innovations υπαρχουν στην LISP και στα παραγωγα της απο την δεκαετια του '60.....

Δημοσ.

Συγγνώμη που επιμένω, αλλά αυτό το "Το trend σημερα οσον αφορα application programming ειναι προσανατολισμενο προς declarative γλωσσες που εχουν πλεον τοποθετησει για τα καλα τις C/C++ στο περιθωριο..." δεν μου... κάθεται καθόλου καλά!

 

Ακόμα κι αν το δεχτούμε με αδιευκρίνιστη την ερμηνεία του "Application Programming", από τη μια είναι τελείως αντιφατικό να υποστηρίζεις πως "η Basic αλλα και η Pascal εχουν τεραστιο μεριδιο απο τις real world εφαρμογες [snip] και παντως λογω του τεραστιου αριθμου apps που εχουν γραφτει σε αυτες συνεχιζουν να υπαρχουν για πολλα χρονια στο μελλον" και 3 γραμμές παρακάτω να λες το... από πάνω για τις C/C++.

 

Αφετέρου, έστω ότι είναι έτσι (που δεν είναι) ποιος θέτει το Application Programming (όπως κι αν το εννοείς) ανώτερο, δημοφιλέστερο, πιο κερδοφόρο ή οτιδήποτε άλλο αφήνεις να εννοηθεί συγκριτικά ας πούμε με το System Programming, το Gaming Programming και το Embed Systems Programming? Τομείς που όχι μόνο οι C/C++ κυριαρχούν και θα κυριαρχούν για πολλά χρόνια ακόμα, αλλά είναι δημοφιλέστατοι τομείς, με παχουλά budgets, με κερδοφορίες και με εταιρείες κολοσσούς να εμπλέκονται.

 

Εδω μπορεις να δεις τι εννοω οταν αναφερομαι σε Application Programming:

http://searchsoftwarequality.techtarget.com/definition/application-program

 

Το οτι η VB και το Delphi (οπως φυσικα και η C++) θα συνεχισουν να υπαρχουν για μεγαλο χρονικο διαστημα να υπαρχουν σαν life languages αυτο θα συμβει απλα και μονο λογο της υπαρχουσας επενδυσης που υπαρχει σε υφισταμενες applications ενω οι αντιστοιχες θεσεις εργασιες θα εχουν να κανουν με maintanence οπως ειναι φυσικο. Κατι πολυ αναλογο με αυτο που συνεβει με την COBOL.

 

Σημερα πολυ ελαχιστα application level καινουργια προγραμματα θα γραφτουν σε αυτες γιατι οι competitive τεχνολογιες απλα κερδισαν την μαχη.... Δεν διαφωνω στο οτι η C++ θα συνεχισει φυσικα να εφαρμοζεται σε low level projects κατι που δεν προβλεπεται να αλλαξει, τουλαχιστον οσο τα OSs θα γραφονται σε C/C++... Η αληθεια ομως ειναι οτι αυτου του ειδους τα positions εργασιας ειναι συντριπτικα λιγοτερα με τις αντιστοιχες που απευθυνονται σε application level....

 

Με την ωριμανση του industry ο προγραμματισμος τεινει να γινει declarative αφηνωντας πισω του τα imperative στοιχεια.. Κοιταξε για παραδειγμα την C++0x (πχ http://en.wikipedia.org/wiki/C%2B%2B0x) η οποια αποτελει το evolution της C++ για να καταλαβεις τις τασεις που επικρατουν στο committee το οποιο διεπει την γλωσσα.....

 

Προσωπικα εχω επενδυσει πανω απο δυο δεκαετιες στον χωρο της C++ και δεν εχω κανενα απολυτα συμφερον με τις παραπανω διαπιστωσεις.... Η πραγματικοτητα ειναι οτι η C++ χρησιμοποειται πλεον ΕΛΑΧΙΣΤΑ σε χωρους οπου πριν δεκα - δεκαπεντε χρονια αποτελουσε το αυτονοητο standard... Αν ανοιγες τους κυριακατικους NYTimes 15 χρονια πριν, στο career section θα ευρισκες τουλαχιστον δυο - τρεις σελιδες απο C++ θεσεις εργασιας σε αντιθεση με το παρων οπου μπορεις βεβαια να βρεις μερικα (πολυ λιγα σε σχεση με παλια) ανοιγματα σε C++ αλλα και αυτα θα ειναι σε πολυ niche domains οπως πχ ultra high frequency trading, netting engines κλπ στα οποια ακομα δεν εχουν διεισδυσει οι πιο μοντερνες γλωσσες που χρησιμοποιουν VMs, garbage collectors, lambdas κλπ...

Δημοσ.

Βασικά γνωρίζω τι είναι το Application Programming, για αυτό και απόρησα με το αρχικό σου post (και συνεχίζω να απορώ). Είναι ΓΕΝΙΚΗ έννοια που περιλαμβάνει σχεδόν (αν όχι όλα από) τα πάντα: http://en.wikipedia.org/wiki/Application_software.

 

Δεν έχω σκοπό να συνεχίσω με κατεβατά, απλά θα περιμένω να δω πόσες... δεκαετίες θα κάνουν ακόμα οι γλώσσες που αναφέρεις για να αντικαταστήσουν τις C/C++ στους τομείς που σου ανέφερα παραπάνω, καθώς και σε οποιονδήποτε άλλον τομέα απαιτεί ταχύτητα και efficiency (από aerospace engineering μέχρι τον... Firefox :P)

Δημοσ.

Θα ήθελα να προσθέσω την ακόλουθη πηγή για τα trends των διαφόρων γλωσσών μεταξύ Ιουνίου 2010 και Ιουνίου 2011.

 

Οι γλώσσες με αυξανόμενα trends (Java, C#, Objective C, Lua (quite a surprise :-)), σταθερές (C++, asm, pascal), ελαφρα πτώση (C, php, vb, python, perl, ruby), και βάρβαρη πτώση (delphi/obj pascal)

Δημοσ.

Ναι!

 

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

 

Οπότε δεν υπάρχει γλώσσα που να κάνει για όλες τις περιπτώσεις. Υπάρχουν όμως γλώσσες που τα καταφέρνουν πολύ καλά σε διάφορους τομείς, έστω σε αρκετούς (φυσικά ποτέ σε όλους). Συν ότι πάρα πολύ συχνά χρησιμοποιούνται περισσότερες της μιας γλώσσας στο ίδιο project, με bindings, στα επιμέρους κομμάτια του project (εκεί που είναι καλύτερη η κάθε μια). Π.χ. στα Windows 7 ο πυρήνας και τα low level layers είναι γραμμένα σε C και C++, ενώ στα high level layers χρησιμοποιείται πολύ .net και C# (αν το θυμάμαι καλά αυτό το τελευταίο).

 

C, C++ και Java είναι αυτή τη στιγμή (και πιστεύω θα είναι για πολύ καιρό ακόμα) 3 γλώσσες που σου ανοίγουν επαγγελματικές πόρτες σχεδόν με το καλημέρα, αφού χρησιμοποιούνται και υποστηρίζονται με συνέπεια και διάρκεια σε πάρα πολλούς τομείς.

Δημοσ.

@DeltaLover με python ασχολούμαι εδώ και καιρό έχω ξεπεράσει τις παιδικές αρρώστιες :P

 

Το βιβλίο δεν το παράγγειλα, επειδή το πρότεινες εσύ, αλλά επειδή είδα τι πραγματεύεται και πραγματικά πιστεύω πως όταν βλέπεις πως υλοποιείται σε πιο low-level κώδικα δομές ή προγραμματιστικές προσεγγίσεις ανώτερων επιπέδων μαθαίνεις πιο τεκμηριωμένα και στη πραγματική τους διάσταση το high-level κομμάτι.

 

παράδειγμα στη σχολή πρώτα πέρασα ένα εξάμηνο, σε μάθημα οργάνωσης και διαχείρισης αρχείων (σε C), στη δημιουργία δυαδικών και text αρχείων, την υλοποίηση index, structured αναζήτησης, ανασυγκρότησης δυαδικών αρχείων κ.α. προτού ασχοληθώ με sql.

 

το αποτέλεσμα ήταν όταν έβλεπα high-lvl κώδικα sql να σκάνε στο μυαλό μου αντιστοιχίσεις από τις "κακοτράχαλες" ρουτίνες της C που υλοποιούσαν παρόμοια πράγματα.

 

εμένα με βοηθάει, έτσι πιστεύω οτι θα με βοηθήσει και το να "δω" πως η C αποκτά ιδιότητες του υπερσυνόλου της (C++), για να μάθω καλύτερα τον αντικειμενοστραφή προγραμματισμό. σε python δε μπορείς να το καταλάβεις αυτό, διότι αποκρύπτονται οι τύποι δεδομένων, υπάρχει garbage collector, αυτόματο allocation μνήμης.

 

αν και μέσα σε ακαδημαϊκά πλαίσια διευρύνει την αντίληψη του προγραμματιστή η εκμάθηση των συστατικών μιας προγραμματιστικής προσέγγισης/κατεύθυνσης φιλικής προς τον προγραμματιστή αλλά system-resources-agnostic, σε μια προγραμματιστική προσέγγιση που είναι ένα επίπεδο απο κάτω (έτσι βλέπω τον ΟΟ προγραμματισμό σε C, ή την υλοποίηση DBMS με δυαδικά αρχεία σε C πριν τη μετάβαση σε SQL).

Δημοσ.

@DeltaLover με python ασχολούμαι εδώ και καιρό έχω ξεπεράσει τις παιδικές αρρώστιες :P

 

παράδειγμα στη σχολή πρώτα πέρασα ένα εξάμηνο, σε μάθημα οργάνωσης και διαχείρισης αρχείων (σε C), στη δημιουργία δυαδικών και text αρχείων, την υλοποίηση index, structured αναζήτησης, ανασυγκρότησης δυαδικών αρχείων κ.α. προτού ασχοληθώ με sql.

 

 

Αφου εισαι σοβαρος γυρω απο τον προγραμματισμο κοιτα εδω:

 

 

http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs

 

http://www.youtube.com/watch?v=2Op3QLzMgSY

 

http://www.google.com/url?sa=t&source=web&cd=10&ved=0CFoQFjAJ&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.98.7506%26rep%3Drep1%26type%3Dpdf&ei=ljX7TeuWAcyftwfP_LzcBQ&usg=AFQjCNHiIirQWd2CnTnNEZc6YOzqJ_a89A&sig2=f8LQYucrib6X3p8n6PYxug

 

http://racket-lang.org/

 

Ειναι κατα την γνωμη μου το καλυτερο βιβλιο που υπαρχει (με μεγαλη διαφορα) και γλωσσα για να σε εισαγαγει στον προγραμματισμο.... Αν αφιερωσεις 4-5 εβδομαδες να το τελειωσεις και δεις ολα τα lectures που το συνοδευουν, θα δεις τον προγραμματισμο τελειως διαφορετικα απο οτι τον βλεπεις τωρα....

Δημοσ.

@DeltaLover προτασιακός λογισμός λ... με πήγες πολλά εξάμηνα πίσω.

 

σε ευχαριστώ για το χρόνο, το βιβλίο και τις πληροφορίες grin.png

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

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