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

Προγραμματισμος για αρχαριους


as223

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

 

β) αν θες να μπεις στον κόσμο της C/C++ πρέπει να έχεις υπόψη σου ότι η C και η C++ χρησιμεύουν κυρίως σε DOS/unix/linux και είναι λίγο ξεπερασμένες. Μπορείς να φτιάξεις και w32 apps βέβαια αλλά πρέπει να είσαι μαζόχας και να έχεις πολύ διαθέσιμο χρόνο. Απο βιβλία εγώ θα σου πρότεινα το Jamsa's programmers bible ως βάση και για τις δύο περιπτώσεις. Τεράστιο αλλά πραγματικά μοναδικό. Επειδή έχει πολλές επαναλήψεις σε βοηθά πολύ να μαθαίνεις και να θυμάσαι πολλά πράγματα. Μαθαίνεις πάρα πολύ καλή C' date=' καλή C++ καθώς και τα βασικά του πώς λειτουργούν τα windows. Με βάση αυτό αργότερα πας είτε σε Java με πραγματικά *ελάχιστο κόπο* είτε σε MFC (που είναι πραγματικό χάσιμο χρόνου όμως...), είτε πας σε C on winAPI. Για συνέχεια προς java παίρνεις "Thinking in Java", για συνέχεια προς MFC παίρνεις Ivor Horton's VC++ 6 (και το κρίμα στο λαιμό σου), για συνέχεια προς C on winAPI παίρνεις Charles Petzold's Programming Windows (καταπληκτικό αν σε ενδιαφέρει να μάθεις πώς πραγματικά λειτουργούν τα windows και να εκμεταλλεύεσαι το winAPI στο μέγιστο).

[/quote']

 

To Thinking in VC++ 6 einai gia MFC??? To pira gia C++ kai to afisa stin MFC giati kanei ena trelo alma kai ekei xanesai :( !!!

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

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

Kαι εγώ ψηφίζω ξένη βιβλιογραφία και εκδόσεις που είναι κορυφή είναι

 

Wrox Press και O'Reily. Ας είσαι αρχάριος με λίγα αγγλικά θα είσαι κορυφή.

 

Επίσης αν θες Java να ψάξεις εκδόσεις της Sun και για Oracle εκδόσεις της ίδιας της Oracle.

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

Εχμμμ..

 

Εννοείς το βιβλίο του Horton; Για να μην γίνει παρεξήγηση δεν λέγεται Thinking in VC++, αλλά Beggining in VC++ 6 και ναι είναι καθαρά για MFC. Η λέξη «Visual» συνεπάγεται ως γνωστόν microsoft και μαζί με με «C++» ουσιαστικά συνεπάγεται object oriented programming με κληρονομιά από τις MFC.

 

Το βιβλίο απλά έχει μια αρκετά μεγάλη εισαγωγή για να μάθεις (ή να κάνεις επανάληψη) στην σύνταξη και στις δομές της C++. Αλλά αν δεν ξέρεις C++ δεν είναι και ο καλύτερος τρόπος να μάθεις (μάλλον είναι ο χειρότερος). Έπειτα, από την μέση και μετά, το βιβλίο είναι καθαρά MFC προσανατολισμένο και επικεντρώνεται στο μοντέλο application-template-document-frame-view της microsoft. Το να εμβαθύνεις σε κάτι τέτοιο είναι απλά παντελώς άχρηστο και χάσιμο χρόνου ειδικά τώρα πια που έχει βγει η .NET .

 

Προσέξτε ότι οι MFC εν τέλη δεν είναι και τόσο καλύτερες από την απλούστατη vb. Πάλι θες runtimes και πάλι δεν προγραμματίζεις σε χαμηλό επίπεδο. Τα .exe βγαίνουν τεράστια και τα applications αρκετά αργά. Μαθαίνεις συγκεκριμένα objects που τα ξέρει μόνο η microsoft. Η μόνη διαφορά είναι ότι *αν* ήδη ξέρεις από API και message handling τότε μπορείς θεωρητικά να επεμβείς πάρα πολύ πιο εύκολα σε χαμηλό επίπεδο. Αλλά διαβάζοντας MFC δεν μαθαίνεις για το API. Άλλο το ένα και άλλο το άλλο. Επομένως καλύτερα να διαβάσεις το βιβλίο του Charles Petzold όπου πραγματικά θα μάθεις πώς λειτουργούν τα windows παρά οποιοδήποτε MFC βιβλίο.

 

Ακόμα πάντως και αν θες να μάθεις τον τρόπο σκέψης του object oriented programming δεν αξίζει να μάθεις κάτι τόσο microsoft specific. Καλύτερα να διαβάσεις γενική C++ (από Jamsa, από την εισαγωγή του Horton ή από οπουδήποτε αλλού) και έπειτα πας στο Thinking in Java. Είπαμε και ξαναείπαμε: ένα και μοναδικό;) !!

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

DVS:

Να ξεκινήσεις με το Beggining in VC++ πράγματι μου φαίνεται πολύ βαρύ:( . Υποτίθεται ότι ξέρεις C++ πριν πας σε VC++. Για τον ίδιο λόγο, μην προσπαθήσεις να πας σε επίπεδο C και API αν δεν ξέρεις ήδη πολύ καλή C.

 

javanidh:

Όλα εξαρτώνται από το επίπεδο του καθένα. Το βιβλίο του Petzold δεν σε μαθαίνει C και φυσικά δεν είναι από τα πρώτα βιβλία που θα πάρει ένας αρχάριος. Σε μαθαίνει πώς λειτουργούν τα windows σε αρκετά χαμηλό επίπεδο και θεωρεί δεδομένο ότι μπορείς να διαβάσεις άριστα και ξεκούραστα απλό κώδικα C. Προφανώς ένα τέτοιο βιβλίο δεν θα μπορούσε να είναι «φιλικό»... Μήπως τα βιβλία του Stroustrup όμως είναι «φιλικά» για αρχαρίους; Τώρα, με την προϋπόθεση ότι ξέρεις C (π.χ. έχεις μάθει τον Jamsa απ' έξω) και θες να μάθεις το api τότε αυτή είναι από τις καλύτερες επιλογές σου. Άλλο βέβαια που επαγγελματικά δεν θα σου χρειαστεί πουθενά! :wink:

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

egw eimai edw kai xronia pwrwmenos VBas kai sigoura 8a parameinw

sta lnmeria pou 3ekinisa!

 

aplws metakomizw pleon siga siga stin .NET oikogeneia afou den nomizw

na afnsw etsi apla tin VB 6.0 pou toso agapnsa ;)

 

suxenomai oles tis baries glwsses programming kai gia na milnsw kai stin

glwssa ton coders me kourazoun oles oi LOW Level languages kai gia ta

projects ta opoia endiaferomai kai douleuw mporw na pw 100% oti mou

einai kai axrnstes..

 

genikos kanonas einai oti ean den kaneis ton legomeno hardware

programming den uparxei logos na xrnsimopoieis low level glwsses

oi opoies einai duskoloteres kai xronobores! kai ean milame pleon

epaggelmatika o xronos einai xrnma..

 

auto pou apofasisa apo persi na alla3w sto epipedo tou programmatizein

mou einai na er8w kontutera oxi sto hardware alla sto idio to leitourgiko

mou dld sta windows. kai auto me tin VB 6.0 ginetai me to Win32 API.

otan loipon asxoln8eis me auto to apokroustiko pragmataki pou legetai

winapi 3afnika o kwdikas tns VB metamorfwnetai apo paidikos kai litos

se teratwdns, akatalabistikos ALLA super! dnmiourgikos!

 

 

ooopppppppsssss... sorry pnra fora kai e3umno tin VB (isws na to

sunexisoume se allo topic auto giati eimai sigouros oti 8a er8ei o

mr.C++ man kai 8a mou leei oti n VB den kanei mia mprosta stin

C++ kai tin C kai egw 8a tou dei3w mia routina n opoia trexei

poio grngora se VB! apo oti se C++ kai 8a xwristoume se stratopeda)

 

 

twra ston filo mas loipon me to vivlio tou!

 

file mou egw propersi anagkastika na ma8w C gia tin sxoln kai enas

filos trelos C(as) mou proteine to ANSI C tou Brian W. Kernighan kai

Dennis M. Ritchie (second edition).

 

to biblio den einai akribws biblio alla poio polu se manual 8a to xaraktnriza

alla nomizw oti einai polu eukolonoito efoson exeis programmatistiki logikn

kai sigoura se 3ekinaei apo ta basics!

 

auta ta ma8e C se 24 wres isws na sou fanoune poioi eukola alla ama

mpeis sto kolpo 8a deis oti oles autes oi seires einai mia kai mia xalia..

 

kapoios filos poio panw anafer8ike se biblia tis O'REILLY ta opoia einai

pragmatika ta kalutera! den 3erw gia C alla gia ADO kai Coldfusion

pou exw einai super grammena, super katanoita kai exoune mesa

texnikes programming kai me8odologies pou den tis briskeis se alla..

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

genikos kanonas einai oti ean den kaneis ton legomeno hardware

programming den uparxei logos na xrnsimopoieis low level glwsses

oi opoies einai duskoloteres kai xronobores! kai ean milame pleon

epaggelmatika o xronos einai xrnma..

 

Συμφωνώ και επαυξάνω:) Έχεις απόλυτο δίκιο. Υπάρχουν πράγματα που στην VB θέλουν 2 λεπτά' date=' στην VC++ θέλουν 20+ ενώ στην C θέλουν 30+. Επίσης στην C++ είναι πολύ εύκολο να σου διαφύγουν bugs γιατί οι δείκτες δίνουν και παίρνουν ακόμα και σε πολύ απλά πράγματα. Για αυτό και στον επαγγελματικό χώρο ο τρόπος προγραμματισμού με MFC είναι σίγουρα νεκρός.

 

ooopppppppsssss... sorry pnra fora kai e3umno tin VB (isws na to

sunexisoume se allo topic auto giati eimai sigouros oti 8a er8ei o

mr.C++ man kai 8a mou leei oti n VB den kanei mia mprosta stin

C++ kai tin C kai egw 8a tou dei3w mia routina n opoia trexei

poio grngora se VB! apo oti se C++ kai 8a xwristoume se stratopeda)

 

Καλά κάνεις και εξυμνείς την VB. Οι περισσότερες καθημερινές δουλειές γίνεται πανέμορφα με vb. Όμως θα ήθελα να σχολιάσω κάτι εδώ: Η C και η C++ έχουν ΤΕΡΑΣΤΙΑ διαφορά όσον αφορά τον προγραμματισμό window apps και δεν πρέπει να συγχέονται.

 

Ο «C++ man» λοιπόν έχει σίγουρα άδικο. Ο «C man» όμως έχει σίγουρα δίκιο. Δεν μπορείς με τίποτα να παράγεις κώδικα που να ξεπερνά σε ταχύτητα την C απλά γιατί η C δεν παράγει apps που να χρειάζονται το οποιοδήποτε runtime. Μπορείς να φτιάξεις καθαρά win16/32 apps και καλείς κατευθείαν το API κάτι που η vb δεν μπορεί να κάνει άμμεσα, ενώ η VC κάνει με πατέντες. Επίσης ακριβώς για αυτόν τον λόγο η VB δεν έχει καθόλου ασφάλεια. Ο κώδικας της είναι κατά 99% (το 1% το χαρίζω για χάρην της στατιστικής και μόνο) αναστρέψιμος κάτι που ισχύει εν μέρη και για την VC αλλά δεν ισχύει καθόλου για την C όπου ο κώδικας γίνεται τόσο ισχυρός όσο θες και μπορείς εσύ να τον κάνεις. Υπάρχει βέβαια και κάτι άλλο: Αν ξέρεις μόνο C (ή VCPP) μαθαίνεις vb μέσα σε μία εβδομάδα. Αν ξέρεις μόνο vb δεν μαθαίνεις C ούτε σε δύο μήνες...

 

dvs:

Διορθώνω για να μην παρεξηγηθώ: Δεν θα σου χρειαστεί επαγγελματικά στην Ελλάδα. Και αυτό γιατί στην Ελλάδα οι περισσότερες εταιρίες ασχολούνται με ole/directx controls και desktop applications που συσχετίζονται με τον α ή β τρόπο με βάσεις δεδομένων. Για αυτό και ανθίζουν οι delphi και vb. Με τις νέες αλλαγές της .ΝΕΤ φυσικά θα στραφούν αποκλειστικά στον προγραμματισμό web/distributed/multi-tier applications (αν δεν έχουν στραφεί ήδη) αλλά πολύ δύσκολα θα στραφούν ποτέ σε παιχνίδια. Έτσι και οι λίγοι C++ προγραμματιστές θα πάνε σε C#, και θα αφήσουν το api στο όνομα του .ΝΕΤ framework. Οπότε η δομή των MFCs θα πεθάνει 1000%. Αυτό ακριβώς είναι και που ήθελε να πετύχει η ms και φαίνεται ότι τα καταφέρνει: Να αφήσουμε το API και να πάμε μόνιμα όλοι στο framework όπου η C# και η VB.ΝΕΤ σχεδόν εξισώνονται.

 

Τώρα, έξω από την Ελλάδα τα πράγματα είναι διαφορετικά. Ο προγραμματισμός με MFC είναι κάτι που χρησιμοποιείται πάρα πολύ στο εξωτερικό και ειδικά στην βιομηχανία παραγωγής παιχνιδιών επειδή η C++ είναι object oriented. Έτσι π.χ. σε RTS ή RPG games, όπου τα objects δίνουν και παίρνουν, η vb γίνεται εξαιρετικά δύσχρηστη και πολύ αργή. Ακόμα και η C χρησιμοποιείται μόνο για να παράγει γρήγορα dlls (γιατί αν κάνεις όλο το πρόγραμμα σε C θα το δουν μόνο τα εγγόνια σου) ενώ η VC++ έρχεται για να τα συνδέσει όλα σε ένα γρήγορο και σταθερό app και να σου δώσει δυνατή πρόσβαση σε directx. Και βέβαια εννοείται ότι κανένας emulator δεν γράφεται σε vb:) Πάντως και πάλι όπως δείχνουν τα πράγματα οι MFCs θα πεθάνουν.

 

Επομένως αν βγεις στην αγορά εργασίας σε 2-3 χρόνια θα έχει μικρή σημασία αν ξέρεις το API ή αν ξέρεις π.χ. directx στην Ελλάδα. Πιο σημαντικό θα είναι να ξέρεις το framework και να ξέρεις java ώστε να παίζεις και στις δύο μεριές του ταμπλό. Και σαν κερασάκι στην τούρτα να ξέρεις καλή θεωρία βάσεων δεδομένων αφού η ανάπτυξη λογισμικού στη χώρα μας λίγο πολύ μόνο με αυτό ασχολείται.

 

Αυτά ελπίζω να μην σας ζάλισα πάλι;) πάλι έκθεση μου βγήκε γμτ!

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

Συμφωνώ ότι η vb είναι πιο γρήγορη και πιο ασφαλής για απλές εφαρμογές, αλλά υπάρχουν και μερικοί πολύ καλοί λόγοι να μάθει κανείς c (αν όχι c για windows, τουλάχιστον την ansi c, αυτή που τρέχει σε console)

 

1. Υπάρχουν και άλλα λειτουργικά εκτός από windows, και αν ξέρεις ansi c σε ότι περιβάλλον και αν βρεθείς μία γλώσσα για την console θα την έχεις σίγουρα, αυτό είναι σημαντικό.

2. και σε win με vb να προγραμματίζεις μπορείς να ανακατέψεις λίγη c/c++ αν χρειαστεί, δηλ. φτιάχνεις το user interface σε vb και κάποιο κομμάτι σε c

3. αν ξέρεις c πολλές γλώσσες θα σου φανούνε πανεύκολες γιατί η σύνταξή τους βασίζετε στην c, πχ οι php και awk για κάποιον που ξέρει c είναι λιγότερο από βδομάδα υπόθεση.

 

Αξίζει η c να την ξέρεις και ας κάνεις τις δουλειές σου σε vb για πιο γρήγορα και εξάλλου για κάποιον που ξέρει μία γλώσσα δεν είναι και τόσο δύσκολη (αλλά για αρχάριους είναι λίγο ζόρικη)

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

και εγω ειμαι της αποψης οτι καλες βασεις στην C ειναι παντα οτι καλυτερο! (δυστηχως ποτε δεν τις απεκτησα απο την αρχη).

 

οσο αναφορα περι perfomance VB χωρις να ειμαι 100% σιγουρος εχω διαβασει ακουσει..οτι η VB στα πολυ κατω layer χρησιμοποει τον Compilier καποια παλιας εκδοσης της Visual C. Δεν θα μου φαινοταν παραξενο μιας και η VB παραγει πολυ ομορφα και ολοκληρωμενα COM οbjects ...ειναι τουλαχιστον μια ενδειξη!

 

Το MFC κατα την γνωμη δεν ηταν ασχημο σαν ιδεα...αν εξαιρεσεις οτι επρεπε να το codareis σε C++ που εχει ενταξει τις δυσκολιες της οπως και να το κανουμε!

Με μια τεραστια υπεραπλουστευση μπορουμε να πουμε ειναι οτι το MFC μοιαζει πολυ με την Java. η και το αντιθετο..τι θελω να πω..οτι και τα 2 εργαλειο σε καποιο (πολυ γενικεθμενο βαθμο..μην παρεξηγηθουμε) ειναι set απο ετοιμες βιβλιοθηκες που σου κανουν την ζωη πιο ευκολη σε πολλα πραγματα ...σε αντιθεση με την Vanilla C, C++ που ισως να επρεπε να εφευρεις τον τροχο καθε φορα!

 

η C# δεν ειναι ασχημη γλωσσα παντως (ε μεταξυ μας..χεχεχεχ ειναι ομορφη επειδη ειναι αντιγραφη της Java χεχεχεχ.ελπιζω να μην παρεξηγηθω)

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

σιγουρα δεν ειναι η πιο δημοφιλης λυση..παρολα αυτα τα τελευταια χρονια αρχιζει σιγα σιγα να παιρνει την θεση που της αρμοζει ιδιατερα σε server side εφαρμογες (JSP, J2ee)κτλ κτλ .

Δεν θα την δεις σε project για standlone client εφαρμογες παρολα αυτα ισως με τον ερχομο γρηγοροτερων VM να αρχιζει και να αναπτυσεται αυτος ο τομεας! στην συγκεκριμενη κατηγορια το εργαλειο που βλεπω να βρισκεται σε υψηλη δημοτικοτητα σε λιγο καιρο ειναι η C# και το .Net !

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

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

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


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