Newsgroup: it.comp.macintosh
Titolo: Programmazione sul Mac

Sarei tentato di imparare a programmare su Mac in C però ho sentito dire
che la cosa più difficile della programmazione sul Mac è la gestione
dell'interfaccia grafica. Ora vorrei sapere se qualcuno di voi, magari
già con qualche esperienza, saprebbe dirmi se è veramente così
difficile?
Se avete qualche utile consiglio da darmi (libri, siti, riviste, cd
ecc.)?
Insomma datemi un consiglio.
-- 
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
La mia Home Page (mac-oriented):
http://mac.finfor.com/mac/index.html
 (in Italia)
                        An Apple a day keeps Windows away!

ecc.)?
Hai ragione della difficoltà nel programmare in C su Macintosh. Purtroppo
programmare macchine a basso livello che hanno un interfaccia utente guidata
ad eventi non è il massimo della semplicità.
E se invece del C tu provassi a dare un'occhiata a RealBasic? E' una figata
ed è assai più semplice... Fai un salto su:
http://www.realsoftware.com
e poi fammi sapere. ;)
Mik.
mic...@priamus.com


Fortissimamente: Code Warrior.
Tra l'altro, è disponibile per il download in versione lite demo:
http://www.metrowerks.com/lite/dl.html
Per quanto riguarda le difficoltà... studia! :-)
Non c'è niente di insormontabile!
Felicio

 
mic...@priamus.com
Ho già provato anche RealBasic ma non mi sembra poi così facile, anche
se è molto bello.
Forse perchè fino ad ora mi sono limitato a programmare su HyperCard e
FileMaker.


 Felicio
CodeWarrior Ok, ma c'è qualche libro su cui mi consigli di studiare?
Come hai imparato tu? Se preferisci possiamo continuare la conversazione
anche via E-mail.
Ciao e grazie


Insomma datemi un consiglio.
Dipende :)
Se non sai programmare in nessun linguaggio e inizi ora, la gestione
dell'interfaccia presenta alcuni problemi. In generale impara prima bene il
C (o C++, meglio) e solo quando sei ad un buon punto inizia a dare
un'occhiata alla toolbox. Dovresti prima essere in grado di gestire
tranquillamente liste dinamiche, pointer e cose del genere.
Se ti avventuri troppo presto nelle chiamate alla toolbox rischi di non
capire niente (a me e' successo questo). Prima metti le basi di C++ (tanto
99% e' uguale PC/MAC) poi capirai tranquillamente la programmazione MAC.
Libri:
Per imparare il C++: Deitel - C++ How to program
(classico :))
Per programmare su mac: potrebbe essere abbastanza l'inside Macintosh su
CD-ROM (non e' un manuale; in realta' sono 22 libri che contengono le
spiegazioni per tutte le 8000 chiamate al sistema operativo, riuniti su un
CD-ROM)
Compilatore: Codewarrior (per gli studenti costa poco, non so il tuo
status)
Ciao
Andrea

 anche via E-mail.
Perché non vi iscrivete alla mailing list di sviluppatori Mac:
Mac-Developers Italia: mail a 
macjo...@sting.it
 con HELP nel body
Comunque a mio avviso bisogna prendere un buon libro a riguardo ed
imparare le cose fondamentali della progammazione. E poi gettarsi nella
pratica altirmenti si capisce ben poco.
Un consiglio l'interfaccia e' una delle ultime cose da considerare! Se
partite da zero vi consiglio il Macintosh Programmer Starer Kit dalla
APDA che fornisce i testi e il software necessario ad un prezzo mooolto
contenuto.
Se non vi piace studiare in inglese acquistate un buon libro
universitario sull'argomento e studiate da lì, almeno i fondamenti, le
strutture di dati e cosi' via.
Ciao, David
-- 
  David Sebastio    -    
seba...@joynet.it
PGP Key Available -       IEEE Student Branch Bari    
 
http://www.poliba.it/IEEESB/


Key Fingerprint = 1D6A 6F20 1E77 76D6 A650  467B 3931 A427 3CBF 4E49
             "Intel Inside... IDIOT OUTSIDE !!!!"


C'è anche qualche altra risposta, oltre la mia... concordo con quella
di David Sebastio, al 100%. Ma anche con quello che dice 'One!'
riguardo alle GUI ed alle risorse su rete. A questo aggiungo solo di
dare un'occhiata al sito Apple, che ha reso disponibili gratuitamente
una caterva di risorse per gli sviluppatori Mac: (vedi su
http://developer.apple.com/macos/intro.html
 )... mi sa che devi
masticare l'inglese, e bene.
Come ho imparato io? ... :-)  smaaaneeeeettaaaaaaaandoooooooooooooooo!
Purtroppo non ho imparato su Mac, e le interfacce grafiche le ho
programmate solo più tardi. Attualmente lavoro su di un RISC/6000 in
AIX, dove tutto è C-like, ma il MIO linguaggio è C++, OOP!
Riguardo le interfacce grafiche, la Apple (ovviamente) ha inventato
anche le norme di disegno (standardizzate poi da un organismo
internazionale: CUA), ed esistono antiche pubblicazioni di mamma Apple
che descrivono quello che poi è diventato, con poche variazioni, lo
standard utilizzato da tutte le GUI, come quelle di MacOS, di
MS-Windows, di x-Windows, OSF-Motif... se ce ne sono altre, anche loro
utilizzano le norme CUA!
Il miglior consiglio che si possa dare a chi intende disegnare una
Graphic User Interface è quello di diventare prima un buon utente,
ovvero: utilizzare applicazioni che siano formalmente corrette da
questo punto di vista.
Una nota di demerito: il MacOS ha una vistosa violazione alle norme
CUA: il cestino! Infatti, l'uso di un oggetto dovrebbe non avere
ambiguità. Se il cestino mi serve per cestinare qualcosa, deve servire
solo a quello. Ma lo utilizziamo anche per espellere un dischetto, per
cui... un utente che non ha mai visto un Mac potrebbe sentirsi a
disagio, non è affatto intuitivo...:
"Perchè mai devo cancellare il mio dischetto, che contiene documenti
vitali per il mio torneo di saltapicchio?... Mai!" ... Ed il dischetto
restò a vita nel Mac :-)
Non me la sento di indicarti un libro, ce ne sono tanti e tutti (o
quasi) ottimi. Io ho utilizzato nei tempi andati un testo in inglese:
Teach Yourself C++ programming on Apple Macintosh, che era però
riferito al Symantec C++, non ricordo la versione.
Se il tuo interesse arriva al C++, potresti dare un'occhiata al testo
di B.Stoustrup, che del C++ è l'inventore: è anche a capo della
commissione ANSI per la definizione dello standard.
In ogni caso, i moderni pacchetti aiutano molto. L'interfaccia utente
è ben curata e comprende strumenti di disegno visuali che aiutano
nella creazione degli oggetti grafici, lasciando al programmatore la
sola scrittura del codice più particolare. Sei libero anche di NON
RISPETTARE le norme CUA, tanto i tuoi oggetti li piazzi dove meglio
credi nel form di sviluppo.... ma poi non lamentarti se qualcuno ti
verrà a dire che il tuo programma è difficile da usare!
Ci tengo molto a questo: la forza della diffusione di pacchetti per la
produttività individuale, come i famigerati componenti del famigerato
MS Office, non è soltanto legata alla potenza commerciale e
propagandistica che c'è alle spalle, ma al fatto che ... si somigliano
tutti tra di loro! Un utente di Word, ad esempio, quando apre per la
prima volta in vita sua PowerPoint, si ritrova in un ambiente più che
familiare: i comandi per cut'n'paste sono esattamente dove lui se li
aspetta, i titoli dei menu sono gli stessi, e contengono le stesse
cose... cambiano solo le specifiche funzionalità della specifica
applicazione, che ovviamente fa cose diverse, ma le fondamenta sono le
stesse. Lascia che possa poi appesantire, fino a bloccarlo, il sistema
(questo è un altro problema :-)): l'utente usa per la prima volta un
programma come se non avesse fatto altro prima. E, non dovendo
reimparare a camminare, proverà da subito a correre!
Se poi il programma funziona bene anche dal punto di vista (nascosto)
delle routine interne... ecco che nasce un best-seller!
Auguri!
P.S. Come ho già detto nel precedente messaggio: STUDIA!!!!!!!

Appendice al mio messaggio (di pochi minuti fa)
Prova anche qui!
http://developer.apple.com/dev/tools/mpw-tools/index.html

 wrote:

GRAZIE A TUTTI PER LE RISPOSTE.


 Insomma datemi un consiglio.
Se inizi da zero, dovrebbe essere molto più facile programmare su
Rhapsody sotto Yellow Box, con i tools di sviluppo che derivano da
quelli del NeXT. Hai anche il vantaggio che sarai pronto per MacOS X il
prossimo anno e potrai ricompilare i tuoi programmi per Windoze
(bleah!!).
Programmare per il MacOS in C è un CASINO (provato!).
Per il momento però ti serve la DR2 di Rhapsody che viene data solo agli
sviluppari (e diventarlo costa una mezza milionata).
Alberto