Newsgroup: it.comp.macintosh
Titolo: Programmazione

Salve a tutti,
sicuramente la mia domanda sarà giudicata molto pretenziosa (anche da
me...), ma bisognerà cominciare da qualche parte no? Mi piacerebbe
imparare a programmare. Ho sempre avuto la voglia di farlo, ma da quando
sono ho "switchato" ho deciso che è arrivato il momento giusto. 
Premetto che non so nulla di programmazione (un po' di turbopascal e
prolog fatto al liceo) quindi sono alla ricerca di tutorial e guide
(anche libri se ne conoscete di indispensabili) per muovere i primi
passi. Naturalmente i programmi che riuscirò a realizzare (ma sì,
facciamo gli ottimisti...) dovranno girare su mac.
Chi mi dà qualche consiglio?
Grazie mille anticipatamente
Marz

 impari il Python e la programmazione Python sotto MacOS X.
Per caso Xcode č un pochetto piů gentile verso il Python?
-- 
Jollino - per rispondere togli il freno a mano
"Se convirtió el vino en vinagre,
las uvas en pasas,
y el amor en dolor..." (M-Clan)

Mac Marz <mber...@NOSPAMNOlibero.it> wrote:

Dipende da quale linguaggio vuoi utlizzare. Le scelte princiapli
possibli sono tre: Cocoa, carbon, Java.
Il mio consiglio se vuoi programmare per il Mac e' usare Cocoa: non
troppo difficle, intuitivo e supportato da un ambiente di sviluppo (PB o
Xcode) eccezionale.
Un buon libero da cui iniziare (anche se presuppone la conoscenza, ma
neanche tanta, di C) e' Bulding Cocoa Applications.
-- 
Bullets cannot be recalled. They cannot be uninvented.
But they can be taken out of the gun. (Martin Amis)

 Chi mi dà qualche consiglio?
Mi aggiungo anch'io alle fila dei programmatori consiglieri... è come
per le partite di calcio: siamo tutti allenatori perchè due calci alla
palla li abbiamo tirati tutti :-) Quindi, dal mio piccolo di
programmatorucolo domenicale, ti dico la mia tanto è gratis.
Chiediti innanzitutto quali traguardi vuoi raggiungere. Se prevedi di
scrivere qualche programmino ad uso personale (dall'agenda al
ricettario), probabilmente puoi orientarti verso un linguaggio che ti
permetta un livello di astrazione alto (cioè di concentrarti
maggiormente sul problema che sulla sintassi); Java è l'ideale e puoi
trovare una enorme disponibilità di codice sorgente da studiare, libri,
tutorial e altro del tutto indipendenti dalla piattaforma che usiamo.
Viceversa, se aspiri a sviluppare software di una complessità maggiore,
il consiglio mighliore che ti posso dare è di essere paziente, molto
paziente. Il perchè è presto detto. Se vuoi fare della buona
programmazione hai bisogno di darti delle buone basi. Un buon testo
sulle strutture dati è fondamentale per non passare il tempo a
scervellarsi su problemi già brillantemente risolti o per non limitarsi
copiare bovinamente da altri programmi. Anche qui la scelta è vasta e
spazia da testi generici a testi che affrontano l'argomento proponendo
sviluppi legati ad un particolare linguaggio. Se hai pazienza e un po'
di predisposizione al linguaggio della logica e della matematica io ti
consiglio il classico di Wirth, "Algorithms + Data Structures =
Programs" stampato da Prentice Hall.
Detto ciò, se scegli di programmare in Java puoi trovare decine di
ottimi libri e un buon supporto nei tutorial della Apple per le
peculiarità di Cocoa.
Se invece scegli di programmare in modo specifico per MacOS X, allora la
scelta è un po' più complessa. Una buona base di partenza è imparare il
linguaggio C. Nonostante l'aura di complessità che lo ha avvolto per
troppo tempo, è un linguaggio semplicissimo con pochissimi costrutti e
parole chiave. La quasi totalità delle funzioni utili sono funzioni
delle librerie e non proprie del linguaggio. Con attenzione e un buon
testo (il Kernighan & Ritchie è stringato e funzionale ancora oggi), in
due settimane lo si maneggia con disinvoltura.
MacOS X è un sistema operativo ad oggetti, pertanto se ne sfruttano
ottimamente le caratteristiche programmando con un linguaggio orientato
agli oggetti, quale il C non è. Per tale ragione, in passato, dal C si
sono sviluppate due distinte evoluzioni in direzione del paradigma
object oriented, ispirate ad altri linguaggi del mondo della ricerca: il
C++ e l'ObjectiveC. Il primo ha avuto un successo strepitoso (come
certamente sai) mentre il secondo, più raffinato IMHO, è rimasto
confinato negli angusti spazi del mercato di un sistema operativo
chiamato NeXTStep... Manco a farlo apposta, MacOS X deriva da lì e
quindi il linguaggio nativo (e ideale) per programmarvi è l'ObjectiveC.
E' più facile imparare l'ObjectiveC che il C++ per chi arriva dal C,
come punto iniziale. Come secondo vantaggio c'è l'integrazione con il
framework Cocoa (cioè l'insieme degli oggetti che "mappa" le
funzionalità che sperimenti ogni volta che usi MacOS X).
Disgraziatamente, sviluppare in ObjC ti lega (al momento ma, io credo,
anche per il prossimo e più che prossimo futuro...) al mondo Mac.
Se scelgi di programmare in C++ trovi decine e decine di libri.
Se scegli di sviluppare in ObectiveC, trovi un eccellente testo
introduttivo nella documentazione Apple (intendo un intero libro
gratuito in formato PDF) e alcuni ottimi libri a pagamento. Ne cito
alcuni ma certamente ne verranno fuori altri dagli altri allenatori...
ehm, programmatori del newsgroup :-)
- Cocoa programming, di Anguish-Buck, Yacktman (SAMS Publishing)
- Cocoa programming for MacOS X, di Aaron Hillegass (Addison-Wesley), il
testo con la miglior spiegazione sul funzionamento della gestione
semi-automatica della memoria...
- Building Cocoa Applications: A step by step guide, di Garfinkel,
Mahoney (O'Reilly)
- Learning Cocoa with ObjectiveC, di Davidson (Apple Computer)
Buon divertimento!
Già che ci sono, e lo dico cospargendomi il capo di cenere perchè non ho
mai avuto il tempo di dare un contributo, ti suggerisco di iscriverti
alla mailing list, tutta italiana, Aquarium... E' un punt d'incontro
virtuale per la comunità degli sviluppatori italiani.
Ragazzi, se qualcuno è in ascolto gli dice come fare? Io non mi ricordo
proprio :-)
Marco

 ricercatissimi dalle banche :)
Vero, e non solo dalle banche.!
-- 
m a g m a  (@)  d o r e l l i . c o m 
http://www.dorelli.com
 - ICQ: #4045760
"Nothing in the world that I love more
your heart, your heart, your Golden Heart..."

 palla li abbiamo tirati tutti :-)
Splendido post, lockato ad uso futuro ;-)


 il consiglio mighliore
:D



Si come IDE perň lascia un po' a desiderare
-- 
Ciao
Fabio

 Vero, e non solo dalle banche.!
Anche dalle aziende alle quali hanno lasciato guai di ogni tipo :-))
Qualche anno fa in RAI ci siamo ritrovati con un "batchone" notturno sul
mainframe assolutamente non documentato e attivo dalla notte dei tempi.
Nessuno è riuscito a immaginare le conseguenze di una sua rimozione,
quindi credo che sia ancora lì a girare in eterno... :-)
I miei ricordi del linguaggio risalgono ai miei primi contatti con
l'informatica... ho uno zio (ormai in pensione) che lavorava in Siemens
Data (o Siemens Informatica, come si chiama oggi) il quale, più che
altro per liberarsene, mi regalò un librone in tedesco intitolato "ANSI
COBOL 77". Avevo solo sette anni ma fu un'illuminazione di tale
portata... da danneggiare gravemente la RAI a distanza di anni :-)
Marco
P.S. Il COBOL sta vivendo una seconda giovinezza e devo dire che ci sono
strumenti di sviluppo oggi che avrebbero fatto la felicità di molte
persone venti e più anni fa!

 proprio :-)
Uhm... Io non ne faccio parte ma ho trovato questo...
http://www.freelists.org/cgi-bin/list?list_id=3186
Ho indovinato?  : )
-- 
Mr. Fix @ home