Newsgroup: it.comp.os.linux.development
Titolo: distro per programmare

Huummmm devo dire che provo un piacere particolare a postare questa 
domanda perchč per me questo significa l'inizio di un salto evolutivo 
come tecnico programmatore.
La domanda č:
	Quale distribuzione č piů adatta ad un programmatore Delphi
	(Win32/.NET) dove sia possibile installare la maggior parte
	ambienti di sviluppo (Lazarus, SharpDevelop, Kylix) e che sia
	stabile e adatta per una macchina dotata di p4 3200 (no 64bit
	ma che lo supporti) MB Intel 915, HD sata, GeForce 6600 GT ?
Daniele in fase di rinascita.....

Dan,   (20/04/2006 07:25):

Io uso una distribuzione personalizzata da me, basata su slackware 10.2
con kde 3.5.1 e kernel 2.6.14 con supporto sata. Slackware, secondo me,
e' sempre la migliore scelta per gli smanettoni.
Ho installato e uso kylix (ma delphi/kylix francamente ci muore in
linux), tempo fa ho provato per bene gambas, ma, alla fine, ormai uso
solo KDevelop con C++.

 
In che senso Kylix ci muore ? nel senso che non è più supportato da 
Borland ? ma che c.....ta !
Ma di Lazarus cosa mi dici ne ho sentito parlare bene se non che è 
ancora in fase di sviluppo almeno dovrebbe essere promettente.
Non avrei moltissimi problemi a passare a C++ il problemino è che ci 
sono parecchie cose che uso in Delphi che mi sà sono difficili trovare 
in KDevelop ad esempio è un IDE RAD ?? le comunicazioni via rs232 come 
si implementano ? le comunicazioni tcp ip e verso un Web Server ? il 
supporto per le stampanti ? sono disponibili componenti di terze parti ??
Ecco se tu rispondessi positivamente a tutte queste domande mi faresti 
l'uomo più felice della terra ma.....
Daniele

 in KDevelop ad esempio è un IDE RAD ?? le comunicazioni via rs232 come 
Scordati gli ambienti tutto-integrato di Windows. Qui si tende ad avere
un piccolo componente per ogni cosa.
KDevelop, Anjuta, Eclipse e altri, sono IDE.
Per le interfacce userai Glade, WxGlade o QTDesigner, in base al toolkit
che vuoi usare.
Per la seriale accedi a /dev/ttyS*
Per il TCP e i protocolli che ci girano, dipende dal linguaggio che usi.
Vai dalle lib per la manipolazione dei socket a basso livello (libc)
fino a framework che integrano tutto (Twisted in Python, per esempio).
Per le stampanti generi Postscript e lo passi al demone di stampa, poi
ci pensa lui a convertirlo.
Componenti di terze parti... praticamente tutti sono di terze parti.
Bye.
-- 
Alessandro Pellizzari

 
Ok mi rendo conto di non poter avere la stessa semplicità d'uso che ho 
in Windows e mi rendo anche conto che programmare in Linux significa 
avere forse ancor maggior potenza a disposizione. Certo che praticamente 
si deve imparare una mole di cose che non è da poco. Che sò un 
sharpdevelop o un lazarus qui ci calzavano alla grade. Possibile che non 
si sviluppi bene bene un ambiente del genere ? si avrebbe comunque 
potenza, multipiattaforma etc e inoltre si spronerebbero moltissimi 
programmatori win32 a passare a Linux in modo definitivo e senza alcun 
rimpianto.
Comunque moltissime grazie delle preziose informazioni in ogni caso.

 l'uomo più felice della terra ma.....
Ciao
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php



Così avremmo anche in ambiente unix moltissimi pseudo-programmatori che
possono chiamarsi in ogni modo fuorchè programmatori. In linux (e unix in
generale) la filosofia è che per programmare devi sapere *cosa* stai
facendo, cosa che in windows è un optional. IMHO meglio così.

 in KDevelop 
Passa a Python invece che a C++!
Saluti  Manlio Perillo

 facendo, cosa che in windows è un optional. IMHO meglio così.
No non credo che puoi affermare una cosa del genere. Così come dici tu 
nessuno mai potrà chiamarsi programmatore a meno di essere un ingegnere 
elettronico che conosce a mena ditto qualsiasi parte hardware e 
conoscere l'assembler di ogni parte hardware per intervenire dal livello 
più basso possibile. Invece credo che programmatori ci si possa definire 
quando si comprenda cosa significa programmare ovvero studiare algoritmi 
comprendere come implementare gli algoritmi in codice comprensibile alla 
macchina (in qualsiasi linguaggio a dir si voglia) e in genere sapere 
come lavorare con gli strumenti che vengono messi a disposizione. Sapere 
cosa stai facendo può anche significare piazzare su un form quattro 
componenti tanto poi a stì componenti dovrai pur dire cosa fare no ? e 
naturalmente più le cose sono complesse maggiore saranno le tue capacità.
Per concludere credo che programmatori si nasce o si diventa ed è sempre 
questione di esperienza e buona volontà.
Daniele

 domanda.
Nel senso quale strumento di sviluppo è il più supportato ?
Daniele

 in KDevelop ad esempio Š un IDE RAD ??
Personalmente, se conosci Delphi, ti consiglio di passare a Lazarus. 
Probabilmente mancheranno dei componenti (soprattutto quelli proprietari o 
in cui manca il codice), ma almeno non dovrai reimparare tutto da zero (o 
quasi)
Henryx

 Daniele

 "essere programmatori"!
E ok ma allora si ritorna al punto di partenza. Scusami è ma dopo un pò 
di teoria non mi verrai mica a dire che se qualcuno ti chiedesse un 
lavoretto magari pure sottopagato (lo sono sempre) ti metti a scrivere 
un programma da zero con il notepad ? con i tempi che corrono ? con la 
pirateria ? con la figuraccia che faresti con il cliente ? con il fatto 
che perderai mesi della tua vita per fare una cosa che con i nuovi 
strumenti impiegheresti 3 a fare ? Certo che la guida VB in 27 pagine 
non ti fà diventare un programmatore, ma almeno ti inizia all'ambiente e 
te lo dice uno che ha iniziato dalla guida di marco cantu' qualcosa come 
3 giga di esempi di codice libero di altri e ho scritto io stesso 
centinaia di esempi per comprendere Delphi, ed oltre a questo prima ho 
fatto un gran lavoro di apprendimento su quello che sono ottimizzazioni 
degli algoritmi.
Tutto questo non certo per essere polemico ma solo per dire che da 
qualche parte bisogna pure iniziare e prendere fiducia in un campo di 
lavoro decisamente complesso.
Daniele

 
Si ne ho sentito parlare ma quello che non sò è quanto sia supportato e 
se dalla comunità è preso seriamente in considerazione. Questo per non 
vanificare mesi di apprendimento con uno strumento che poi morirà di li 
a breve. Se ne sà qualcosa in proposito ?
Daniele

 rimpianto.
Il problema è che ambienti di questo genere o fanno sforzi sovrumani per
integrare *davvero* la miriade di componenti disponibili e seguirne le
evoluzioni (ogni componente evolve per la sua strada) oppure pongono
rapidamente di fronte alla scelta tra l'ambiente e il componente: tanto
per fare un esempio, nel mio caso tutti gli ambienti che non hanno un
supporto di prim'ordine per autoconf e RPM sono condannati in partenza
a non essere utilizzati (Kdevelop va abbastanza bene).
In aggiunta, non trovo sbagliato richiedere ai programmatori Windows di
disfarsi di tutte le cattive abitudini accumulate in un ambiente che, 
visto ora, fu veramente un lavoro da dilettanti allo sbaraglio.
Un piccolo quiz per i programmatori provenienti da Windows:
  1. di un componente software, dove si installano eseguibili, librerie
     e dati ? perchè ?
  2. è meglio il linking dinamico o statico ? perchè ?
  3. è possibile copiare un eseguibile da un host a un altro e pensare
     che funzioni ? perchè ?
Barone Frankenstein
-- 
Paranoia is an afterthought.

 a breve.
L'unico strumento che sia veramente preso sul serio sotto Linux e' il C. 
Per gli altri, ovviamente, dipende dalla comunita'. Per quantro riguarda la 
comnuita' Lazarus/Freepascal, direi che e' abbastanza corposa da rendere il 
progetto abbastanza attivo da assicurargli una continuita' tranquilla e 
senza troppi problemi (di programmatori Pascal ve ne sono parecchi in giro)
Henryx

 Barone Frankenstein
Sono degno di passare a linux ?? :)
Daniele

 Sono degno di passare a linux ?? :)
Temo che con 0 su 3 ci sia ancora da studiare, ma posso assicurare che ne
vale assolutamente la pena.
Barone Frankenstein
-- 
There is no place like /home.

 secondo me, e' sempre la migliore scelta per gli smanettoni.
De gustibus!
Questione d'abitudine, piu' che altro; poi se il discorso dovesse
riguardare anche l'aspetto etico/filosofico, beh, la Debian non ha
rivali a riguardo.
Tornando ad un concetto venuto alla luce in questo thread; c'e'
confusione tra programmatore ed informatico, il programmatore puo'
definirsi tale, a parer mio, se e' abile in un linguaggio, ossia che sa
creare codice cosi' come scrive una lettera alla fidanzata.
La famosa *padronanza del linguaggio*, come dicevano i professori una
volta.
L'informatico, solitamente un laureato ma non anche un autodidatta, io
li preferisco, non so perche' ma sono piu' creativi, e' colui il quale
scrive ottimo codice in svariati linguaggi di alto e basso livello;
pertanto esperto sia di hardware che di software.
Ed infine mi permetto un consiglio all'autore del thread, GNU/Linux per
un programmatore o per un informatico e' l'ideale ed ultimamente anche
i web designer e web developer possono migrare senza problemi.
Scarica una distribuzione e provala, poi un'altra e ancora un'altra,
vedrai che prima o poi ne restera' una sola (fa molto highlander :) ).
Leggi la policy della debian se sei interessato a qualcosa che va oltre
il semplice utilizzo di un calcolatore, buon divertimento e
auguri per la promozione ... se non ho capito male.
Regards

 auguri per la promozione ... se non ho capito male.
Humm no nessuna promozione semplice processo evolutivo....

 Barone Frankenstein
Per prima cosa voglio ringraziarti sinceramente per averti dato pena nel 
rispondermi così esaurientemente. Per seconda, nonostante abbia capito 
che il passaggio sarà decisamente doloroso, non abbandonerò l'idea.
A questo punto però l'ultima domanda lecita a cui è già stata data 
risposta ma vorrei riformularla alla luce delle nuove conoscenze:
Quale è la distribuzione più standard e più semplice che mi possa in 
qualche modo aiutare almeno a capire il sistema ???
Un piccolo appunto, ho sentito parlare molto di LSB ovvero un tentativo 
di standardizzare linux almeno nelle procedure di installazione e 
configurazione del S.O.. Avbrà un seguito o è morto in partenza ?

 configurazione del S.O.. Avbrà un seguito o è morto in partenza ?
Sta gia` avendo un seguito, visto che sono alla 2.0. Diverse
distribuzioni stanno tentando di adeguarsi, ma non e` una cosa da "oggi
per domani", e` piu` a lungo termine.
Tu cerca di sviluppare software rispettando gli standard e senza cercare
"trucchi" nei compilatori o cose del genere, e se un giorno il tuo
programma non funziona con la nuova versione delle librerie, ti bastera`
ricompilarlo senza modifiche per farlo andare, tranne rarissimi casi o
bug nella nuova versione della lib.
Bye.
Bye.

 configurazione del S.O.. Avbrà un seguito o è morto in partenza ?
Per quel che risulta a me non ha riscosso un grande seguito, era mirato
a fornire una piattaforma di sviluppo per gli ISV ma gli ISV non 
riescono a liberarsi dalla mentalità Windows e "certificano" il proprio
prodotto solo su RedHat. La cosa meriterebbe un discorso a parte, ma in
ogni caso, seguire lo spirito delle linee guida di LSB non è affatto
dannoso; mi verrebbe da dire che una volta che ci si è fatti le ossa,
l'approccio più sensato sarebbe strutturare il proprio codice in modo
che se autoconf rileva il supporto LSB sia possibile produrre un
eseguibile LSB - ma non ho provato.


 configurazione del S.O.. Avbrà un seguito o è morto in partenza ?
E' molto parzialmente usato, più o meno solo nelle gestione delle librerie,
per tutto quello che riguarda la configurazione, sistema di avvio, gestione
dei pacchetti di installazione, ognuno personalizza a man bassa.


Un semplice grazie a tutti ma di cuore per tutte le informazioni adesso 
si tratta di iniziare.
A risentirci sul forum.
Daniele

 Daniele
secondo me la tua domanda e' mal posta.
Se cerchi librerie che wrappano buona parte delle operazioni allora hai
varie scelte.
A me piace tutto la parte gtk/glib e compagnia bella di gnome. Dai un
occhio su 
http://developer.gnome.org/
, soprattutto per la documentazione.
Se vuoi lavorare in C++ forse allora ti interessano le qt e
eventualmente le librerie kde costruite su di esse. Sinceramente a me
non piace come soluzione (preferisco il C), ma e' una libreria valida.
Altrimenti io non scarterei python. Puoi considerarlo come il java a
livello di completezza e portabilita'. ha anche un suo ide, si dovrebbe
chiamare boa costrictor o qualcosa del genere.


 
Se dovessi scegliere io il linguaggio e l'ambiente andrei subito su 
Lazarus e su SharpDevelop provenendo da Delphi e C# perchč reimparare da 
zero un'altro mi comporterebbe una notevole serie di problemi. A quanto 
ho letto sembra che attualmente KDevelop sia comunque il piů supportato 
quindi dovrei propendere per i c/c++ dove ho comunque qualche conoscenza 
in piů. Mi preme di piů capire quale distribuzione utilizzare e qui 
ognuno dice la sua e tutte ben motivate.
Sembra che programmare sotto linux sia una cosa del tutto personale č 
quindi un pň difficile trovare una strada comune.
Tempo permettendo l'unica soluzione č prendere una distro stabile e 
cominciare a studiare l's.o. poi decidere come intraprendere la via 
della programmazione.
un sempre piů confuso Daniele pone i propri saluti....

 ognuno dice la sua e tutte ben motivate.
te ne basta una aggiornata. Io attualmente uso debian testing.
Ciao


 come sia.
1) Borland ha detto che continuera' a supportare i suoi prodotti fino al
momento in cui non riuscira' venderli ad un'altra azienda (in altre
parole, Borland non ha abbandonato una cippa);
2) considerando la vasta comunita' Delphi, direi che definire tale
ambiente  morto e' come dire che la Terra e' a forma di ciambella;
3) Lazarus e' abbastanza simile a Delphi che ci vuole poco sforzo per
portare i propri progetti da un ambiente all'altro (ovviamente il
discorso vale finche' non si tratta di utilizzare dei componenti di cui
non si dispone del codice sorgente, ma per quelli ci sarebbe lo stesso
problema anche passando da una versione all'altra di Delphi). 
Dire che qualcosa e' morta perche' non ci piace oppure perche' la
reputiamo inutile, significa mancare totalmente di obiettivita' 
Henryx

 Henryx
Finalmente uno sprazzo di luce in queste tenebre della migrazione. 
Pensavo che non vi fossero in questo gruppo sostenitori del free pascal 
ma invece vedo con piacere non è così, e con piacere ricevo la tua notizia.
Grande e mi dici quindi che se si è dotati di sorgenti dei componenti si 
può riuscire a farli girare anche sotto Lazarus ?
Per esempio cito Async Pro, Zeos, Indy, Berg Editor, Jedi, AFDES, 
FBarcode, ShellPack, EditPack
Daniele

 reputiamo inutile, significa mancare totalmente di obiettivita' 
Devi pero` ammettere che su 1000 programmatori, 800 sono C/C++, 100 sono
Python, 70 sono Java, 29 sono Ruby e 1 e' Pascal. (Parlo di software
standalone, per il web le percentuali cambiano).
Io, e probabilmente anche Ottavio, questo intendevamo. Sotto Linux
Delphi e il Pascal sono morti o moribondi. Secondo me non vale la pena
mettersi a programmare in questi linguaggi se non per interesse
personale.
Appena hai bisogno di qualcuno che si unisca al tuo progetto, non lo
troverai. E` gia` difficile trovarlo per Python e Ruby...
Bye
-- 
Alessandro Pellizzari

 standalone, per il web le percentuali cambiano).
Da dove peschi questi numeri?  Non mi convincono, se devo dire la verita`.
Ho fatto un po' di statistiche, che pur avendo dei problemi, secondo me
rispecchiano la popolarita` dei linguaggi di programmazione:
http://www.dedasys.com/articles/language_popularity.html
Ciao,
-- 
David N. Welton
- 
http://www.dedasys.com/davidw/
Linux, Open Source Consulting
- 
http://www.dedasys.com/

 
http://www.dedasys.com/articles/language_popularity.html
A occhio, in base al software presente in una distribuzione media
(Debian). Mi sono dimenticato il Perl, che credo sia superiore a Python,
Java e Ruby, per ora.
Il sito che riporti parla di tutte le piattaforme e di tutti i
linguaggi. Io intendevo su Linux e standalone (no webapp o simili).
E mi pare una stima credibile, anche se non precisissima.
L'1 del pascal l'ho messo con ottimismo, visto che non ho mai visto
nessun software scritto in pascal sotto Linux che non fosse per un esame
universitario.
Bye
-- 
Alessandro Pellizzari

 Bye
Comunque sia 'accidenti' non pensavo che il pascal fosse così 
sottovalutato dalla comunità linux. Delphi sotto linux ha spopolato alla 
grande essendo sicuramente potente al pari di un VC++ pur essendo più 
semplice. Ora capisco perchè Borland ha troncato lo sviluppo di Kylix 
(progetto fantastico però)
Sembra quindi che mi dovrò buttare sul c/c++ o C# che mi pare stia 
riscuotendo un bel pò di successo grazie a Mono.
......sempre più dura !
Daniele

 reputiamo inutile, significa mancare totalmente di obiettivita' 
chiedo venia, kilyx e' morto, non delphi.


 riscuotendo un bel pò di successo grazie a Mono.
considera che C e' stato inventato per scrivere la seconda versione di
unix (la prima era in asm) e capirai come mai c'e' un linguaggio cosi'
preferito....


 riscuotendo un bel p• di successo grazie a Mono.
Come ti ho detto, personalmente propenderei ad usare lo strumento che 
conosco meglio e con cui mi trovo meglio (da quello che ho capito, lo  
strumento che per te soddisfa queste esigenze e' Delphi/Object Pascal). 
Per quanto riguarda i componenti da te citati, posso dirti che Zeos 
funziona, gli altri non so. Infine, per quanto riguarda il discorso 
popolarita', non mi sembra un buon motivo di scelta degli strumenti di 
lavoro che si vogliono utilizzare. Se uno strumento e' usato e supportato 
dall'1% degli sviluppatori, ma nonostante questo riesco a soddisfare 
tutti i miei requisiti, allora non vedo perche' dovrei rivolgermi ad un 
altro strumento (che, tra le altre cose, potrebbe essere peggiore di 
quello meno supportato)
Henryx
P.S. a meno che non ti venga richiesto per lavoro, il C# lo lascerei 
perdere (motivo personale: non mi piace; motivo tecnico: la Microsoft, 
con la versione 2.0 di .NET si e' divertita a deprecare e a _togliere_ 
parecchi metodi e classi, rendendo cosi' necessaria una mezza riscrittura 
degli applicativi scritti per .NET 1.1)

 degli applicativi scritti per .NET 1.1)
Ok altri buoni motivi per cui è meglio andare sul classico c++ oppure 
fare lo sforzo e rompere gli indugi e utilizzare ciò che si conosce meglio.
Non ho ancora preso una decisione in effetti non è semplice comunque 
ancora grazie dei consigli.
Daniele


Chiaramente di parte, esprime l'opinione di uno dei creatori del C su
Pascal. Se anche questo non vale *oggi*, ha comunque lasciato un segno
sulla comunità.
Gran parte delle librerie sono in C: usare Pascal non porta un grosso
vantaggio in termini di produttività. Se si vuole essere *molto*
produttivi si salta direttamente ai vari Python e co, che fra l'altro
hanno un enorme numero di librerie disponibili, tutte quante (o quasi)
open source.
Se invece la velocità è una priorità assoluta, C e C++ vanno benissimo.
Alla fine quasi tutti i programmatori in ambiente Unix sono familiari
con il C, e molti con il C++. Si integrano anche eccellentemente con i
linguaggi di cui sopra: è perfettamente possibile scrivere il codice
"critico" (spesso due o tre funzioni) in C, e il resto in Python (o Perl
o TCL o Ruby).
Se poi tieni presente del tempo impiegato ad imparare un linguaggio come
Python o Ruby (per usare Ruby ad un livello di base ci ho messo *3*
giorni o giù di li). In Python qualcosa del genere, ma avevo già
debuggato alcuni programmi (*senza* conoscere Python ero perfettamente
in grado di "aggiustarli" -- ma conoscevo i socket unix, e i bachi erano
li non erano "problemi di linguaggio", anzi la sintassi del linguaggio
non faceva che facilitare la lettura rispetto al C).
Non solo... in ambito unix sono molto diffusi una serie di linguaggi
"minori", ma eccellenti. C'è molto l'abitudine del "bel linguaggio", del
"linguaggio interessante", "fatto bene", "intelligente".
Come ti hanno già detto la presenza di un IDE non è spesso sentita come
imperativa. Meglio lavorare con un buon editor di testo ed un linguaggio
ben fatto. 
Per gli editor ci sono Emacs e vim (oltre circa 56 mila altri... quasi
tutti i programmatori prima o poi hanno scritto il loro editor), fanno
di tutto, di più.
Con questo non dico "non usare Pascal". Fai quello che credi. Ma prendi
in considerazione Ruby o Python. Complessivamente c'è anche il rischio
che fai *molto* prima ad impararti uno dei due e una libreria che a
capire come funziona una singola libreria C.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 
Intanto grazie per la corposa risposta. Una cosa perň che mi spaventa 
nell'usare il ruby o il python č : quanta potenza hanno ?
Cioč posso accedere a qualunque cosa (grafica porte seriali, usb, 
comunicazioni tcp/ip, uso di stampanti di qualsiasi natura, accesso ai 
db ) cosě come immagino possa avvenire con il c ?
Sinceramente, visto che devo comunque impararne uno, preferisco buttarmi 
su un linguaggio che mi faccia rimanere 'appeso' nel caso dovessi uscire 
un pň dal seminato della programmazione base anche se mi costasse piů 
fatica.
Daniele

 fatica.
Rassegnati a dover imparare piu` di un linguaggio. Non e` cosi`
drammatico come sembra.
Python (e forse Ruby, non lo conosco) sonomolto utili per imparare a
fare programmi puliti, e sono ottimi per scrivere software senza pretese
velocistiche (interfacce a DB e altri programmi, per esempio), mentre il
C lo dovrai usare quando fai calcoli pesanti, a meno che non ci sia gia`
una libreria pronta.
Io ti consiglierei di partire da Python (o Ruby) e poi allargarti anche
al C ed eventualmente al C++
Bye.
-- 
Alessandro Pellizzari

 fatica.
Allora, posto che Python (e Ruby) viene usato per le cose più disparate,
non credo ti troverai a piedi. Semmai è più facile trovarsi a piedi
affrontando un compito sopra le proprie capacità/possibilità temporali.
E in entrambi i casi un linguaggio come Python ammazza la complessità
del task di un ordine di grandezza (idem per Ruby e gli altri nominati
nel mio post, non è una questione di Python vs. il resto del mondo, ma
di alto livello vs. basso livello).
Ad ogni modo per dare un'occhiata a Python o Ruby ci va talmente poco...
invece ti sconsiglio l'idea di "volere rimanere attaccato ad un solo
linguaggio". Se proprio devi farlo, allora scegli davvero Python. Ha uno
spettro più ampio.
Perdi possibilità sul bassissimo livello (ad esempio scrivere un device
driver), ma guadagni il web (scrivere cgi in C è un suicidio,
interfacciarsi ad apache molto più arduo in C che in Perl/Python/etc),
guadagni le applicazioni web (tipicamente scrivere un'applicazione web
con Twisted è ordini di grandezza più rapido che farlo in Java, che è a
sua volta diversi ordini di grandezza più rapido che in C).
Tutto quello che è GUI a sua volta diventa molto più agevole in Python
che in C. 
Comunque io sconsiglio senza dubbio il "monolinguaggio", a meno che tu
non sia un "monoprogrammatore" che deve fare *una* sola cosa (ma nel
caso sapresti già quale ambiente imparare e non ti interesserebbe farci
di tutto).


 
Ringrazio entrambi in un colpo solo mi avete certamente dato più 
sicurezza in cosa scegliere. Capitemi ho iniziato a lavorare nella 
programmazione con Visual Basic così che quando ho fatto il passo verso 
Delphi mi è sembrato un'altro mondo decisamente più ricco. Le mie paure 
erano di fare lo stesso errore che però avete contribuito molto a 
fugare. In più leggendo qui è la molti parlano bene del python che 
sembra avere un futuro piuttosto roseo.
Grazie ancora.
Daniele

 sembra avere un futuro piuttosto roseo.
Ti aspettiamo anche su it.comp.lang.python


 
arrivo anche io a poco a poco non dubitate che mi avrete presto tra i 
piedi.....

 db ) così come immagino possa avvenire con il c ?
per il python si'
e' molto piu' ad alto livello del C. Pensalo come il java.


 e' molto piu' ad alto livello del C. Pensalo come il java.
A scanso di equivoci e flame, preciso che sono decisamente ignorante sul 
mondo python (finora l'ho usato solo per qualche esperimento), pertanto 
quello che segue va' preso con le molle :-)
La mia impressione e' che se python puo' essere considerato simile a 
java mi pare che, rispetto a questo, abbia a disposizione molte meno 
librerie "standard" (o comunque banalmente portabili).
Per esempio per quanto riguarda l'accesso a database non credo esista 
un'interfaccia standard (ho visto una proposta di standard ma non so 
quanto sia supportato). Inoltre qualche tempo fa volevo fare qualche 
prova con LDAP ma a quanto ho capito non esiste una libreria portabile 
che lo supporti (quello che ho trovato era un wrapper per le librerie 
OpenLDAP ma non so se siano supportate anche su windows).
Sarei lieto se qualcuno potesse correggere questa mia impressione :-)
Alessandro.

 Alessandro.

 OpenLDAP ma non so se siano supportate anche su windows).
http://python-ldap.sourceforge.net/download.shtml
sta in fondo alla pagina ma c'e'.


 
Il "bello" di java e' che molte librerie sono "native" (scritte in java) 
quindi funzionano ovunque tu abbia la jvm.
Invece se, per esempio, un programma in Python usa una libreria scritta 
in C e vuoi verificarne la portabilita' su un dato sistema, non ti basta 
sapere che esiste l'interprete python per quel sistema ma devi 
assicurarti anche che libreria che usa sia supportata su quel sistema. 
Nella stragrande maggioranza dei casi non sara' un problema, pero' mi 
lascia qualche (piccola) remora.
Alessandro.

 lascia qualche (piccola) remora.
Remore, come dicevo, ingiustificate.


 
Quella e' l'interfaccia alle librerie openldap di cui parlavo. Se non ho 
capito male devi scaricarti (o ricompilarti) le librerie openldap 
separatamente (il dubbio era su queste, comunque a quanto pare sembra 
che effettivamente qualche supporto per windows ci sia).
Alessandro.

 Alessandro.
Anche in java spesso le librerie sono esclusivamente per windows.
E si, nella stragrande maggioranza dei casi non c'è nessun problema a
trovare una libreria in python che faccia quel che vuoi indipendentemente
dalla piattaforma. E se proprio non la trovi, ci vuole in genere molto
poco a fare un wrapper che utilizzi una libreria differente per ogni
sistema che devi supportare offrendo un'interfaccia unica. Veramente MOLTO
poco, grazie alla dinamicità di un linguaggio come python!

 poco, grazie alla dinamicità di un linguaggio come python!
Pero' per fare il wrapper ti devi prima studiare la libreria da 
wrapperizzare (non e' detto che sia banale) e anche per quanto riguarda 
la distribuzione del software le cose si complicano un po'.
Alessandro.

 
Detto cosi' sembra semplice, no?-P
Alessandro.

 Alessandro.
A parte che se vuoi usare una libreria dovresti comunque studiartela bene,
quindi il problema non lo vedo, poi era un caso estremo. Nel caso in cui
proprio non trovi una libreria multipiattaforma, ti assicuro che fare un
wrapper non è così complicato come può sembrare. Per quanto riguarda la
distribuzione, anche qui non vedo minimamente il problema, visto che
python ha integrato nella libreria standard, quindi *sempre* e
*comunque* disponibile, un meccanismo di distribuzione abbastanza semplice
e flessibile....
Ciao

 Detto cosi' sembra semplice, no?-P
Sicuramente più semplice farlo in Python che in C. Semmai poi ti
dovresti prendere un Cray per farci girare l'Hello World. ;)


 e flessibile....
Quello che volevo dire e' che per le librerie non python devi procurarti 
(o far procurare) la versione nativa della libreria per ciascun diverso 
sistema dove il software andra' installato.
(1) non prendo in considerazione kaffe e gcj perche' IMHO hanno ancora 
dei limiti.
(2) per non parlare dei sospetti adombrati dai detrattori di java per il 
fatto che java sia in balia dei "capricci" di Sun.
Alessandro.

 Alessandro.
Voglio rassicurare tutta la comunità javesca dicendo che è in progetto 
di Sun aprire i sorgenti di Java. Con questa mossa Sun batterà 
decisamente tutti i concorrenti. E forse riusciremo finalmente a vedere 
la reale potenza di java in tutte le sue forme. Altro che C# il cui 
unico vantaggio è di avere il VS2005 che gli copre le spalle.
Comunque se devo scegliere un ambiente di sviluppo sotto linux che sia 
multipiattaforma e basato su framework scelgo java e che non me ne 
vogliano i pythonisti. In ogni caso Delphi non è un linguaggio basato su 
framework ma le sue librerie sono basate sulle api del sistema 
operativo. In questo caso devo per forza orientarmi sul c/c++ con tutti 
i problemi che ne conseguono e sono d'accordo con voi su questo.... ma 
non certo adesso che ogni distribuzione va per conto suo e solo in poche 
stanno adeguandosi all'lsb. Come diavolo si fà a pensare di mettere le 
mani su un programma per un'aggiornamento e questo aggiornamento doverlo 
ripetere per ogni distribuzione esistente ???
Ok adesso qualcuno mi dirà ma allora usa java o python e non il c !? ma 
no son due cose completamente diverse dai.
Daniele

 stanno adeguandosi all'lsb.
La JRE di Sun credo sia sviluppata in c/c++ e mi sembra che non
abbia grossissimi problemi con le diverse distribuzioni.
Alessandro.

 
Ok ma pur sempre stai parlando di una virtual machine che per quanto 
potente ha dei limiti. Ora con ciò non voglio dire che dall'oggi al 
domani mi metto a sviluppare il kernel di linux però se proprio devo 
affrontare il grande passo alla grande lo voglio fare. Allora qualcuno 
può dirmi che in questo caso dovrei lasciare perdere il free pascal ma 
non è vero dato che l'ambiente Kylix (anche se poi abbandonato) non 
produce eseguibili in pseudo codice ma in codice nativo quindi il 
problema di scelta risiede solo sul supporto che ha e avrà in futuro un 
determinato ambiente di sviluppo che produce codice nativo.
Daniele

 determinato ambiente di sviluppo che produce codice nativo.
Ma vorresti spiegarmi cosa accidenti stai dicendo? È un periodo
lunghissimo senza il minimo senso.


 no son due cose completamente diverse dai.
Uh?


 i sorgenti
sorgenti della JVM sun, intendo.


 
Cioè non ha senso imparare un ambiente di sviluppo che produce codice 
nativo ?

 
Ma si intendevo prima cosa (java python) seconda cosa (c/c++) e per 
diverse come operano nel sistema operativo la prima basandosi su virtual 
machine la seconda con codice nativo.

 machine la seconda con codice nativo.
E continuo a non vedere il problema.


 nativo ?
Non si capisce il senso di quello che dici la sopra.


 .......

Stai forse facendo un processo alle intenzioni ?
Se cosě č allora o mi sono espresso male o la conversazione non ha 
motivo di continuare.

 Stai forse facendo un processo alle intenzioni ?
Ti sta dicendo che il tuo italiano sgrammaticato e totalmente privo di
punteggiatura non aiuta alla comprensione di cio` che vuoi dire.
Quindi ti ha chiesto di riformulare le tue opinioni in maniera piu`
comprensibile.
Bye.
-- 
Alessandro Pellizzari

 comprensibile.
Esatto. :)


 e permettermi di guadagnare con il porting di alcuni progetti sotto linux.
In tempo di mesi non prenderei nemmeno in considerazione qualcosa di
diverso da Python o Ruby (a seconda del tipo di progetti, per esempio
per "siti web dinamici" suggerirei Ruby su Python per il semplice fatto
che si trovano libri e un sacco di documentazione su ROR).


 
AAAZZZZ mi sento una m...a ! E' che scrivo di getto e il mio italiano 
non č mai stato un granchč. Scusate.

 
Purtroppo il web non è il mio primo obiettivo. Ho capito che mi devo 
rassegnare ad aspettare un bel pò prima di vedere dei risultati.

 rassegnare ad aspettare un bel pò prima di vedere dei risultati.
Perchè purtroppo? Era solo un esempio. Python funziona benissimo
ovunque, non è pensato per il Web. Semplicemente è talmente buono che
eccelle anche li (anche se in particolare è più facile trovare
documentazione su Rails per il web, visto l'hype che ha in questi
tempi).


 
A me sembra, da come ne parli, che python sia il migliore in assoluto ma 
  questo mi sembra un pò esagerato.
Forse l'unica cosa dove siamo della stessa opinione è che ogni progetto 
ha un suo riferimento specifico sia come linguaggio che come ambiente di 
sviluppo e piattaforma. Quindi un python avrà dei pregi in alcuni casi 
come il c/c++ o il free pascal ne avranno in altri.

 come il c/c++ o il free pascal ne avranno in altri.
Un colpo al cerchio e uno alla botte.


 ...e scusa significa ?
Significa che se non conosci le cose di cui parli, non ce la si cava con
frasette generiche tipo:
"Quindi un python avrà dei pregi in alcuni casi
come il c/c++ o il free pascal ne avranno in altri."
È talmente generica che pur non essendo contestabile direttamente, non
vuole dire nulla e da un'impressione sbagliata di come stanno le cose.


 
AHHH aaaahh !!!!! e qui casca l'asino e chi ha mai detto di essere un 
super esperto della situazione ???
Tu mi rispondi (passamela...con una certa agressività) come se ti avessi 
detto di essere il guru di windows e programmazione in generale e 
pretendere di sapere tutto. Ma non mi pare proprio di avere lasciato 
intendere questo.
Per quanto mi riguarda, anche se mi piace chiaccherare con qualcuno che 
comunque "sembra" saperne qualcosa, possiamo terminare la discussione 
anche subito. Non mi sembra in ogni caso produttiva se non per 
evidenziare le lacune che qualsiasi piattaforma e qualsiasi ambiente di 
sviluppo comunque ha.

 La parola futuro non era messa li a casaccio comunque...
La parola "futuro" è un nonsense in ambito informatico. Ci sono
tecnologie vecchie che si impongono, ottime idee che non fanno presa
(magari proprio perchè sono ottime e sono troppo avanzate).
In particolare per un po' tutto quello che gira attorno al mondo Java,
ho spesso il dubbio che siano false esigenze dovute a problemi di base
del linguaggio.
Per esempio in questo link (che non ricordo se lo hanno postato proprio
in questo thread (ma avrebbero fatto bene a farlo) ti parla di come per
implementare una forma limitata di DuckTyping in Java (esigenza di un
programmatore Java all'epoca all'oscuro di Python e Ruby). E Python e
Ruby hanno tale feature for free, dall'inizio.
E questo permette di progettare le cose in modo agile fin dall'inizio.


 
imho potresti seguirli in parallelo, imparare il python non richiede più 
di qualche giorno se hai già esperienza di programmazione OO
-- 
SF

 distribuzione usare per intraprendere quest'ultima strada ?
No. Non concordo su questo punto. Non concordo sul volere imparare ad
usare un martello e poi vedere tutti i problemi come dei chiodi in primo
luogo.
Ma ribadisco... spiega tu cosa fai, cosa devi fare, cosa vuoi fare e
cosa pensi sarai chiamato a fare (sono 4 domande distinte :) ).


 periferiche fatte su misura per un’azienda python me lo permette ?
certo, come tutti i linguaggi. Quello chen tu non sai e' come funzionano
i driver sotto unix. Perche', se non e' qualcosa di semplice che si
attacca su seriali, parallele o usb, allora di devi fare un modulo del
kernel, che va fatto solo in C, e poi con un qualsiasi linguaggio
accederai al device file ad esso associato.
Oppure, sempre se l'hardware e' semplice o usi /dev/port o usi
l'equivalente di ioperm, con la sfiga che il binario deve essere
quantomeno suidato.
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php

 cosa pensi sarai chiamato a fare (sono 4 domande distinte :) ).
Cosa penso sarei chiamato a fare proprio non lo so ... bho !?! diciamo 
che più uno ne sà e più opportunità ha.
Cosa voglio fare è scritto sopra.
Cosa faccio è sempre scritto sopra.
Allora alcuni di questi gestionali utilizzano Touch screen seriale o usb 
in base alle richieste del cliente, lettore di codici a barre in 
emulazione tastiera, collegamento via seriale a registratore di cassa, 
collegamento in rete a periferiche wireless che comunicano via web 
service con un database server centralizzato (mysql). Collegamento a 
stampanti di rete e non per stampe di varia natura, collegamento a 
stampanti fiscali con driver proprietari della casa produttrice (leggi 
epson fp-90 per esempio). Collegamento in rete con altri pc e chiavi 
hardware anticopia.