Programming

mihalis's picture

Creating a Preference Pane for a Mac app

I wrote "Creating a Preference Pane for a Mac app" for MacTech November 2013 issue!

Learn how to create and use a System Preference Pane from a Cocoa Mac Application!

mihalis's picture

Ten things I love about Programming

  1. It is a creative process.
  2. I can make money and have fun at the same time.
  3. I can create useful things both for others and myself.
  4. The feeling of successfully finishing a project, either small or big, is great!
  5. I always learn new things that help me not getting bored.
  6. I love being able to program for iOS devices!
  7. I love teaching others how to program.
  8. I can program everywhere as long as I have a computer with me.
  9. I imagine that programming is like playing chess.
  10. I like solving problems.
mihalis's picture

Πώς να γίνεις iOS Developer...

Τα παρακάτω είναι από ένα post που είχα γράψει στο site iPhonehellas.gr σχετικά με το πως μπορεί κάποιος να γίνει iOS Developer διαβάζοντας μόνος του.

«Από το να σκεφτόμαστε "με τι να αρχίσω;", "τι θα κάνω;", "C ή Objective-C;", κ.λπ. και να χάνουμε χρόνο, είναι καλύτερα να ξεκινήσουμε και ας δυσκολευτούμε λίγο.
Το μόνο σίγουρο είναι ότι κάποια στιγμή οι κόποι μας θα πιάσουν τόπο.
Απλά να ξέρουμε ότι χρειάζεται χρόνος για να μάθουμε iOS programming (ειδικά αν είμαστε εντελώς άσχετοι από προγραμματισμό) αλλά αν το θέλουμε πραγματικά θα γίνει.

Μια καλή σειρά είναι η παρακάτω:
- Αγοράζουμε το βιβλίο του Kochan για Objective-C και αρχίζουμε να το διαβάζουμε
- Φτιάχνουμε μικρά προγράμματα με την χρήση του Xcode
- Λύνουμε τις απορίες που παρουσιάζονται
- Ξαναγράφουμε προγράμματα, λίγο πιο δύσκολα
- Ξαναδιαβάζουμε το βιβλίο του Kochan (όχι αναγκαστικά όλο, το βασικό είναι να καταλαβαίνουμε αυτά που διαβάζουμε)
- Ψάχνουμε στο Internet για προγραμματισμό iOS
- Ασχολούμαστε με Δομές Δεδομένων
- Μπαίνουμε σιγά-σιγά στον προγραμματισμό για iOS
- Γράφουμε μικρά προγράμματα για iOS devices
- Βλέπουμε και τις διαλέξεις του Stanford (που όπως έχω πει είναι αρκετά δύσκολες για αρχάριους)
- Συνεχίζουμε να γράφουμε προγράμματα
- Διαβάζουμε και προσπαθούμε να μάθουμε συγκεκριμένα πράγματα που μας ενδιαφέρουν (βάσεις δεδομένων, γραφικά, κ.λπ.)

Το πόσο χρόνο θα πάρουν τα παραπάνω εξαρτάται από εμάς. Το βιβλίο "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον" είναι καλό αν κάποιος είναι άσχετος.
Επίσης, από τα παραπάνω βγαίνει το συμπέρασμα ότι χρειάζεται ΕΞΑΣΚΗΣΗ και γράψιμο προγραμμάτων για να μάθουμε. Αυτό είναι το βασικό.

Οι κουβέντες και οι καθυστερήσεις είναι το χειρότερο που μπορούμε να κάνουμε!»

Σημείωση: θεωρώ ότι ο συντομότερος τρόπος για να μάθει κάποιος ένα αντικείμενο είναι τα ιδιαίτερα μαθήματα ή τα μαθήματα σε group (εκτός Ελλάδος υπάρχει και αυτό). Τα παραπάνω ισχύουν για την περίπτωση που κάποιος θέλει να μάθει iOS programming μόνος του – θα πάρει όμως περισσότερο χρόνο.

mihalis's picture

Quotes by Bjarne Stroustrup

Although I do not like C++ any more, I find the following quotes from Bjarne Stroustrup very useful:

‘Sometimes, it is more important to have the right problem than the best solution.’

‘When done well, software is invisible.’

‘We depend on software. Most people would starve without it. We would also be without electricity, heat and telephones.’

‘If someone claims to have the perfect programming language, he is either a fool or a salesman or both.’

mihalis's picture

Ποια Γλώσσα Προγραμματισμού;

Πολλές φορές σε forum βλέπω την ερώτηση "Με Ποια Γλώσσα Προγραμματισμού" να ξεκινήσω προγραμματισμό.

Να ξέρετε ότι στην αρχή ο προγραμματισμός θα σας φανεί βουνό αλλά στην πορεία τα πράγματα θα είναι πιο εύκολα και ευχάριστα. Η συνεχής εξάσκηση κάνει την διαφορά.

Με τι προτείνω να αρχίσετε (πάντα σε περιβάλλον UNIX):

  • Python: όμορφη γλώσσα που με λίγο κώδικα μπορείτε να κάνετε πολλά πράγματα.
  • C: από τις καλύτερες γλώσσες προγραμματισμού που φτιάχθηκαν! Αν έχετε χρόνο και όρεξη, είναι νομίζω η καλύτερη επιλογή για αρχή. Θα μάθετε πολλές βασικές αρχές προγραμματισμού και θα μπορείτε μετά να πάτε σε οποιαδήποτε άλλη γλώσσα προγραμματισμού.
  • Perl: γλώσσα με πολλές δυνατότητες και πολλές βιβλιοθήκες. Προσωπικά, μου αρέσει σαν γλώσσα και την έχω χρησιμοποιήσει εκτενώς για UNIX administration tasks.
  • Objective-C: ο λόγος είναι απλός, iOS Development! Και μην ξεχνάτε ότι βασίζεται στην C!
  • PHP: μπορείτε εύκολο να φτιάξετε εφαρμογές για Web. Ίσως να είναι καλύτερη επιλογή σαν 2η γλώσσα.

Με τι δεν προτείνω να αρχίσετε:

  • C++: η γλώσσα έχει γίνει τεράστια και δύσχρηστη (φυσικά αν είστε φοιτητής σχολής Πληροφορικής τα πράγματα αλλάζουν).
  • Java: δεν μου αρέσει σαν γλώσσα :)
  • Οτιδήποτε τρέχει μόνο σε Windows: C#, ASP, κ.λπ. Μακριά!!!

Μην ξεχνάτε ότι το σημαντικότερο είναι να ξεκινήσετε τον προγραμματισμό και να μην ψάχνετε συνεχώς την καλύτερη γλώσσα (που δεν υπάρχει)!! Κάποιος που γράφει καλό κώδικα σε μια γλώσσα, μπορεί να γράψει καλό κώδικα σε οποιαδήποτε γλώσσα. Κάποιος που γράφει κακό κώδικα σε μια γλώσσα, ....

Pages

Subscribe to RSS - Programming