Newsgroup: it.comp.os.linux.development
Titolo: Quale ambiente di sviluppo è adatto a me?

Salve amici!
Sono un programmatore di medio-alto livello in ambiente Windows, utilizzo in 
particolar modo il R.A.D. Delphi 7.
Vorrei iniziare a sviluppare in ambiente Linux, sempre con qualche RAD (non 
voglio fare programmi per la shell); quel che cerco è (a parte l'ambiente di 
sviluppo grafico) un rad che mi permetta di fare un pò di tutto (come lo fà 
Delphi), ma non mi interessano i DB; ho bisogno in particolar modo di porter 
sviluppare applicazioni TCP/IP, tipo client di posta e roba simile (in 
Delphi usavo i componenti Indy, ci sarà qualcosa cnhe per Linux 
immagino...).
Cosa mi consigliate?
Spero di non esser stato troppo vago.
Grazie dei consigli.
Un quasi convertito a Linux (ci vorrà del tempo...ma passerò del tutto a 
Linux!)

 immagino...).
c'e' kylix. Sempre dalla Borland, ma e' free. E la versione free e' 
assai limitata. Cmq, c'e' in giro la Enterprise che e' abbastanza 
completa + o - come delphi 4 o 5, anche perche' lo sviluppo e' deceduto 
nel 2003 o giu' di li.
Sotto linux si cambia vita, amico mio, e si passa a C++. Meglio che ci 
pensi da subito.
La vita e' piu' difficile del "clicco e trascino il componente gia' 
bello e fatto", anche se, con strumenti come kdevelop per kde, non si 
parte esattamente da 0.
In cambio, pero', sotto linux si trova una libreria per TUTTO.
-- 
Felinux: il linux made in Italy e' piu' fico.
Cerca su 
www.google.it

 In cambio, pero', sotto linux si trova una libreria per TUTTO.
Anche per Windows se è per questo...(forse si trova anche più 
roba...chissà...)
Grazie dei consigli. 

 pensi da subito.
Per favore motiva questa scelta di linguaggio. Io credo che nel futuro
dell'informatica si debba andare vesro linguaggi di alto livello, ed il
C/C++ non lo sono... Perchè non prendere in considerazione ad esempio
Python? Velocità di sviluppo sensazionali, sviluppo realmente
multipiattaforma, gran quantità di librerie, compattezza (10 righe per
fare un server web od un web service  ad esempio...)
cordialmente,
  mistral

 fare un server web od un web service  ad esempio...)
Per favore motiva? Ma siamo impazziti?
Ti piace python? Bene, allora e' quello che userai certamente.
A me e' del tutto indifferente, invece. Per me e' un linguaggio come un 
altro.
In cambio, il 999 x mille del software che vedo ha i sorgenti in C++. 
Evidentemente non tutti "credono" in quello che "credi" tu, che sara' 
anche vero filosoficamente, ma nella pratica le cose sembrano andare 
diversamente.
E' sufficiente come motivo per conoscere BENE il C++ e per consigliare 
ad altri che vogliono programmare sotto linux di impararlo BENE?


 preferirei di gran lunga a prodotti Borland, visti i prezzi.. :)
l'ultima volta che l'ho visto, Lazarus era ancora ad uno stadio assai 
iniziale, neanche paragonabile alla (scadente) Enterprise di Kylix.
Ora lo riscarico e lo riprovo.


 ad altri che vogliono programmare sotto linux di impararlo BENE?
No. non è sufficiente. mi spiace ma il "tutto fanno così, anche io..."
nello sviluppo software può essere deleterio a mio avviso. E poi
programmare in C++ ad oggetti è davvero complesso. La curva di
apprendimento è troppo ripida ed il nostro amico vorrebbe essere
produttivo in tempi rapidi.
ciao,
  mistral

Quindi che faccio? Mi state confondendo le idee... :( 

 Quindi che faccio? Mi state confondendo le idee... :(
Che tipo di software vuoi sviluppare? Mi pareva applicativi che usino la
rete.... in quel caso python è molto molto snello, prova a vedere il sito
www.python.org
 nella sezione documentation trovi un tutorial (fatto da chi
ha creato il linguaggio) e sarai produttivo in una giornata :)
ciao ciao,
  mistral

  mistral
Grazie!

 (termine fantoziano) via TCP/IP.
Io ti consiglio python; provalo, se non ne sei soddisfatto puoi pensare al
c/c++.
Ciao
  Andrea



vedo che non sono il solo a pensare che Python sia un ottimo linguaggio
per il problema del nostro amico.. :)
buona domenica, 
  mistral

 Quindi che faccio? Mi state confondendo le idee... :(
python + pyqt + qtdesigner (fa parte di kdevelop)
http://www.python.it
 # per la documentazione in italiano su python
http://doc.trolltech.com
 # per la documentazione sulle qt
http://wiki.python.org/moin/PyQt
http://kdevelop.org
 # per il qtdesigner
e vivi contento :) 
-- 
Under construction



se vuoi uno sviluppo cross platform...
www.wxpython.org
ciao,
  mistral

 linguaggio che utilizza?
Non e' una guerra di religione. Il Python esiste da un sacco di anni e 
non e' mai decollato. Secondo me, non e' adatto a fare cose importanti. 
Ma, ripeto, e' solo la mia opinione.
Per me passera' altri 15 anni a fare concorrenza al perl, ma tant'e'. Se 
si sviluppa e diventa qualcos'altro, a me non puo' fare che piacere: 
avrei un altro strumento con cui lavorare.
Poi, ognuno la pensa come crede.
E, poiche' l'uso del C++ e' diffusissimo (in particolare sotto linux), 
e' inutile girarci intorno: si deve imparare.


 e' inutile girarci intorno: si deve imparare.
Sta cosa del tutto lo usano, viva C++ a me non convince... cosa ha che ad
esempio python non ha? Elencami le caratteristiche che lo rendono una
scelta ottima,o, come tu dici, LA scelta....
grazie,
  mistral

 
www.wxpython.org
nota bene: /anche/ le qt sono crossplatform.
dalla tua frase sembra come non lo fossero.
-- 
Under construction

 dalla tua frase sembra come non lo fossero.
si si questo è fuor di dubbio. Però ci sono i soliti problemi di
licenza. Se ci vuoi fare applicativi non open paghi :)
dal sito
------------------------------------------------
If you are using Qt commercially - that is, for creating proprietary
software for sale or use in a commercial setting - you must purchase a
commercial license from Trolltech. Alternatively, if you wish to write
Open Source software you can use the Open Source version of Qt, released
under the GPL. If you use the Open Source version you must release your
application and complete source code under the GPL as well.
------------------------------------------------
ciao,
   mistral

 e' inutile girarci intorno: si deve imparare.
Cosa assolutamente priva di fondamento.
Essere sviluppatore non implica dover imparare il C++, anche perche' questo
linguaggio, benche' abbia innumerevoli meriti, ha un livello di
complessita' assurdamente alto (anche per mantenere una /forma-mentis/ che
viene dal c) e impararlo a livelli non dico alti, ma almeno ragionevoli per
sviluppare qualcosa di piu' del classico helloworld, necessita di tempi
notevolissimi (anche 10 e piu' anni). A maggior ragione dovrebbe essere il
contrario, invece: i linguaggi dinamici (python, ruby e, in parte, perl e
altri) hanno una curva d'apprendimento molto meno ripida, consentendo a chi
vuole imparare a programmare di focalizzarsi sugli algoritmi a piu' alto
livello, invece che perdersi tra i meandri del linguaggio in se'.
-- 
Under construction

Zed....
che dire....
QUOTO QUOTO QUOTO!!!!
ho scoperto python da un anno circa e lo trovo formidabile. Ragazzi
programmate a livello più alto e avrete il 90% del tempo speso a
risolvere un problema. Usando linguaggi come il C++ perderete metà del
vostro tempo per cercare di adattare il vostro problema al linguaggio.
E poi Python viene dall'esperienza di smalltalk. Altissimo livello per
massimi livelli di produttività... :)
ciao,
  mstral

 licenza. Se ci vuoi fare applicativi non open paghi :)
e allora?
cosa c'entra con la discussione di prima?
-- 
Under construction

 scelta ottima,o, come tu dici, LA scelta....
tu continui a mettermi le parole in bocca. Non ho mai detto che e' un 
OTTIMA SCELTA. Non ho mai detto neanche che e' LA SCELTA. E anche qua:
 > Però da qua a dire che sia semplice anche
 > utilizzare C++ con Kdevelop mi pare un poco esagerato...
Mai detto che sia semplice. Ho detto l'opposto. Ho detto che non "parti 
esattamente da 0". Il che non significa che e' semplice, anzi.
Che palle sono diventati 'sti ng. Come al solito, ogni volta che 
qualcuno esprime una preferenza su un linguaggio meglio di un altro o su 
un OS meglio di un altro o su un PC meglio di un altro, si scatena il 
"dagli addosso all'untore". Bleah.

 Essere sviluppatore non implica dover imparare il C++, anche perche' questo
[segue bla bla bla]
esempi di filosofia informatica. "Cosa assolutamente priva di 
fondamento" e' l'espressione di un concetto assoluto, che non si addice 
affatto al problema. E' priva di fondamento PER TE, non per me. Il che 
riduce il concetto espresso ad un relativismo, all'ennesima sfumatura di 
grigio in un mondo dove non esiste ne' bianco ne' nero.
Questo e' l'ultimo post sull'argomento. Se volete scazzarvi, trovatevi 
un altro, io vado a programmare in C++ e disinstallo python per 
rappresaglia.

ciao,
   scusa ma dobbiamo esserci fraintesi. Io nel mi primo post ho elencato
    le motivazioni per cui lo sceglierei. Ho semplicemente chiesto anche a
 te di fare la stessa cosa col C++. Questo credo sia di interesse anche
 per il nostro amico che ha posto la quesione.
grazie,
  mistral  

 a parte, ovviamente :)
-- 
Under construction


Se non sbaglio, molte applicazioni stile firefox e openoffice sono
scritte con C++.  Conclusione?  Se devi scrivere un'applicazione enorme,
probabilmente potrebbe essere una scelta vincente.  Direi anche che la
grande maggioranza di persone non deve scrivere applicazioni di quelle
dimensioni, e quindi un linguaggio come Tcl, Ruby o Python va piu` che bene.
Saluti,
-- 
David N. Welton
- 
http://www.dedasys.com/davidw/
Linux, Open Source Consulting
- 
http://www.dedasys.com/

 dimensioni, e quindi un linguaggio come Tcl, Ruby o Python va piu` che bene.
[...]
verissimo però un po per motivi storici il C è + utilizzato del C++ ... 
tra l'altro io trovo il C un ottimo linguaggio ... il C++ un po meno per 
la sua enorme complessità ed alcuni aspetti come i template mi lasciano 
un po ...dubbioso (il non poter spezzare in .h e .cxx una classe 
template la trovo una grossissima limitazione)

 template la trovo una grossissima limitazione)
ma quella non è colpa del C++, è colpa degli implementatori di compilatori! :-)
-- 
SF

 limitazione) 
come ha detto Dildo Baggins, quella e' colpa dei compilatori :)
-- 
Under construction

 template la trovo una grossissima limitazione)
Beh programmare in maniera procedurale in certi ambiti (vedi applicativi
di tipo "gestionale" o di rete) può essere penalizzante rispetto ad una
programmazione ad oggetti. Certo resta chiaro che programmare ad oggetti
non è solo utilizzare le classi, è un discorso di metodologia di
approccio.
I template sono complicatissimi per l'altissimo grado di espressività che
consentono di ottenere (il fatto di spezzare in .he .cxx non mi pare una
cosa tanto grave IMHO ... ;) ). Personalmente utilizzarli al meglio
richiede tanti tanti anni di studio.. troppi per l'industria del software.
ciao,
  mistral

 
Non è del tutto vero, almeno leggendo su it.comp.lang.c++ questa 
limitazione è nelle specifiche del c++ e non nei singoli compilatori in 
quanto la gestione dei template è a runtime e non a compilation time
(se includessi un .h senza il corpo per un template il compilatore non 
sa in quel momento come svolgere il codice in quanto la specializzazione 
viene decisa dopo da quanto ho capito .... ma prendetela con le molle)
....cmq non sono un esperto di c++ ... ci lavoricchio ma con gli aspetti 
reconditi e teorici del linguaggio .... ci cago poco :)

ehilah wrote:

però mi sembra che il Comeau sia riuscito a implementarlo, almeno, dopo una 
breve lettura, stando a quanto dice qui:
http://www.comeaucomputing.com/4.0/docs/userman/export.html
-- 
SF

Ma in pratica...esiste un'ambiente GRAFICO tipo Visual C/Visual Basic/Delphi 
? 

 ?
Dato che li hanno detti tutti vedi anche Gambas....
-- 
,---- [*Firma*] ---------------------------.
| In questo istante Alien321 sta sentendo  |
| Nulla                                    |
`------------------------------------------´
Inviato da X-Privat.Org - Registrazione gratuita 
http://www.x-privat.org/join.php

 OTTIMA SCELTA. Non ho mai detto neanche che e' LA SCELTA.
Hai detto tu che sotto linux si passa a C++ (cosa peraltro falsa e
tendenziosa)
Enrico
P.S. non sapevo che le uniche applicazioni in C sotto linux fossero il
kernel e la libc...

 io vado a programmare in C++ e disinstallo python per rappresaglia.
Se ci riesci. Disinstallare Python (ma anche Perl) sotto una
distribuzione linux comune[1] significa portarsi dietro praticamente
mezzo sistema
Enrico
[1] ma anche in una distribuzione particolare, vedi Gentoo

 (non voglio fare programmi per la shell)
Allora, personalmente (e solo personalmente) ti consiglio, in ordine di
preferenza, questi:
- Lazarus
  - pro: il linguaggio e' l'object pascal;
       - l'IDE e' simile a Delphi;
       - e' multipiattaforma;
  - contro: non trovi la grande varieta' di librerie che trovi per l'IDE
            della Borland;
          - il compilatore (FreePascal) e' ancora lacunoso in alcuni
            punti (e.g il linking dinamico e' un po' un casino).
- Python 
  - pro: il linguaggio e' estremamente semplice da imparare,
       - e' multipiattaforma;
       - la libreria e' abbastanza vasta;
  - contro: e' interpretato;
          - l'avvio dell'applicazione e' un po' lenta.
Poi, ovviamente, sono scelte che devi compiere tu. Io, comunque, se
conoscessi il linguaggio o avessi l'opportunita' di impararlo, userei
Lazarus senza pensarci
Enrico

 python + pyqt + qtdesigner (fa parte di kdevelop)
Sono gusti. Per me Python + PyGTK + Glade :)
Enrico
P.S. tanto per chiarire la cosa, in Python (cosi' come in qualsiasi
lingauggio sotto linux) non vi e' una libreria grafica dominante