Re: Ingresso nel mondo della mela



ZER0 <zer0.shock@xxxxxxxxx> wrote:

Come ti dicevo, sviluppo quasi tutti quel che mi serve su ultraedit. Quindi
ciò a cui punto è avere un buon editor con syntax highlight che supporti un
discreto tipo di linguaggi, e qualche funzionalità base. Tipo shortcut per
chiamare comandi shell che lavorano sui file aperti e cose del genere. Non
mi pare di chiedere la luna :)

Si con TextMate hai questo e molto di più. Hai sia i "comandi", sia le
snippets (inserimento rapido). Come ti dicevo, è riuscito a convertire
degli Emacsiani...

Non fraintendere, non sono un programmatore web php.

No. Ma era un esempio. Lo stesso vale per un programmatore Java o per un
programmatore Prolog.

Per un programmatore VB o Delphi invece no. Nel senso che cambiando
piattaforma si trova fuori dal balcone. Esattamente come vale per uno
che principalmente lavora con le MFC.

Il mio discorso è semplicemente legato al fatto che nella professione di
programmatore la cosa più costosa sono probabilmente le conoscenze, e
quelle in generale il programmatore se le porta con se.


D'accordo, ma nel mio caso è un investimento a fondo perduto come ti
dicevo. Io lavoro su tutt'altre piattaforme ed è con quelle che guadagno il
pane. Quindi nel possibile, almeno per il momento, vorrei non spenderci
dietro troppi soldi per il software. Rimanendo in ambito free, se si può.

Attenzione, potresti trovare altri ambienti assolutamente inadeguati
dopo avere messo un po' le mani in TextMate :))


Grazie, vedrò di buttare un occhio anche su quello. :)

Ma immagino che se non usavi Emacs prima...

Io. :) Mi dovrò spostare nel medio termine su tali linguaggi sempre per le
esigenze lavorative di cui ti parlavo, non è una scelta. Allo stesso modo
per cui, a prescindere che si possa fare molto per abbandonare PHP,
personalmente continuo a svilupparci sopra perché è tra i linguaggi sui
quali attualmente devo lavorare.

Beh, ognuno fa le scelte che preferisce. Purtroppo Java è un must anche
per chi (come me) non riesce ad apprezzarlo [ la piattaforma non è male,
ma il linguaggio è una pena ].

Penso allora che TextMate possa essere per me più o meno quello che è
UltraEdit in ambiente windows. Adesso devo solo smanettarci un po'.

Credo anche io. È quello che si suol dire un programmer editor general
purpose. BBEdit per dire, rimanendo pur general purpose, ha un buon 70%
delle sue features indirizzate sul web.

TM invece fa faville nelle comunità di Ruby e ROR e fra i Pythonisti
(sia Python applicativo che Python Twisted).

In C/C++ ci faccio di tutto. Ma per lo più utility a riga di comando, di
networking, e games.

Ok. Allora per la "riga di comando" non hai bisogno di GUI. Potresti
essere interessato ad ncurses per avere UI più complesse dentro il
terminale (pensa ad mc, per dire), oppure no. Tutto quello che avresti
su un qualunque BSD o Linux, per capirci.

Le librerie MS per la gestione del terminale ovviamente non ci sono, c'è
appunto ncurses.

Riguardo a networking tutto quello che è POSIX o si appoggia a POSIX
(per esempio certi wrapper in C++ che astraggono i vari socket etc) lo
trovi. Ovviamente ci sono anche i vari libpcap o libnet se devi lavorare
a più basso livello.

Puoi anche usare la parte Foundation di objective C per astrarre un
pochettino. Puoi usare le analoghe di Qt per dire.
Tieni presente che maneggi sotto sotto socket bsd, non WinSocket.

Se vuoi librerie di più alto livello, come sopra: tutto quello che
wrappa le API Posix generalmente lo trova. Io personalmente preferisco
usare direttamente Python per quanto sopra che faccio molto prima: ho
riscontrato un aumento della produttività di circa il 500%.

Per "games" direi che si entra in territorio OpenGL. OpenGL c'è e
funziona davvero bene. Puoi usarlo dentro a Cocoa (per dire), dentro
Carbon oppure che so... dentro QT (inteso come Trolltech, non come quick
time). Cose come SDL pure sono disponibili (e integrate con XCode).

Molti tools per windows no, quelli non ci sono.

Irrlicht per esempio c'è. Non so poi, se vuoi maggiori infos... io
purtroppo sono anni che non ho il tempo di mettermi li a scrivere un
giochino (lo facevo giusto da ragazzino, poi i miei interessi sono
volati altrove e sono rimasto molto indietro sul fronte...)


Non concordo molto,in verità anche quelli son linguaggi in cui si possono
trovare differenti tipologie di sviluppo. Certo, non sono così a basso
livello come il C, ma sempre di strumenti si trattano, come poi vengono
usati (o per cosa) è un altro paio di maniche. Ma va beh, non è questa la
sede adatta.

Beh, la sede la è... qui siamo molto flessibili. Non capisco cosa
intendi... voglio dire ASP sta per Active Server Pages: la sua funzione
è proprio quella. Idem per JSP (non parlo di Java, parlo di JSP).
Così come parlando di servlet Java uno si sta mettendo quasi di certo
nel campo delle applicazioni web (che ovviamente non necessariamente
vuole dire "siti web").

PHP teoricamente lo puoi usare come linguaggio di scripting general
purpose, ma rispetto ai concorrenti è talmente limitato da non valere la
pena. In pratica sono convinto che una percentuale altissima di progetti
in PHP siano appunto "siti" (in senso lato, CMS, Blog etc) oppure
interfacce di applicazioni web.

E no, io sono tutt'altro che un fanatico degli ambienti a basso livello
(tranne quando il compito lo chiama esplicitamente).

Mi sa che qui non ci si capisce e non se ne esce :) Vedrò di arrangiarmi,
altrimenti si rischia di entrare in un circolo vizioso. Grazie cmq.

Comunque nel corrente post mi hai sostanzialmente detto quello che
volevo sapere e ti ho risposto.

E' quello suggerito, ma nella pratica viene effettivamente usato?

La risposta è si. Moltissime applicazioni nuove sono scritte in Cocoa.
TextMate per esempio. Safari, Mail... molte applicazioni Apple (ma non
tutte, Apple usa anche Carbon, ma Carbon ha una curva di apprendimento
decisamente ripida e sembra parecchio "vecchio" come concezione).

Addirittura si sono presi la briga di scrivere Camino, che altro non è
se non un port di Firefox in Cocoa.

Ci sono anche applicazioni non Cocoa. Applicazioni "crossplatform" che
usano QT (Google Earth, altro che non saprei dire), oppure wx (aMule,
Audacity), altro ancora (NeoOffice, Firefox).

Ci sono anche applicazioni storiche con una grossissima base di codice
che non sono state riscritte (Photoshop, Word, BBEdit).

Quindi decisamente si. Per una nuova applicazione desktop è sicuramente
la scelta migliore. Sia per velocità di sviluppo, sia per coerenza di
interfaccia. I toolkit e framework cross-platform alla fine si vede che
sono "alieni" (noi macchisti siamo oltremodo attenti a queste cose).
Carbon no, ma è comunque una faticaccia rispetto a Cocoa (se conosci C e
un'altro linguaggio ad oggetti -- mi pare di capire che sei a tuo agio
sia con Java che con C++ -- Objective C linguaggio lo impari in una
settimana a tempo perso).

Poi Cocoa puoi accederla anche in Python, in Ruby o in Perl. Io
personalmente con Python e Cocoa ci ho lavorato e devo dire funziona
decisamente bene. Apple supporta(va) anche Java, ma io suggerirei di
lasciar perdere, se non necessario.

Imparare ObjectiveC prende un tempo trascurabile rispetto a quello di
imparare a muoversi in un framework nuovo.


--
Ricordo che alla libertà di parola, è associata anche la libertà
di pensiero. Purtroppo vedo che sempre più spesso si fa uso della
prima e non della seconda.
.