Newsgroup: it.comp.lang.c
Titolo: Principiante: cerco un linguaggio usabile su sistemi operativi diversi (con qualche adattamento): il C è il migliore ?

Finora ho programmato qualcosa in Delphi (a livello assolutamente
amatoriale), ma da un po' di tempo vorrei poter fare qualche programma
per Windows, adattabile a Linux con pochi cambiamenti (per motivi di
"apertura" ai contributi di altri programmatori); inoltre posseggo un
palmare Pocket PC per il quale vorrei creare dei semplici
programmi.....il tutto possibilmente senza spendere soldi!  :-))
I programmi sarebbero con interfaccia a finestre (non console); non
ricerco comunque un ambiente visuale per forza (che, se non funziona
bene, come nel caso di alcune implementazioni per Python, crea più
casini che vantaggi).
Visto che Delphi non va bene per tutte queste esigenze, sono disposto ad
imparare un nuovo linguaggio, ma quale ?
Ho provato a leggere qualcosa in rete: 
- Java & c.: francamente non mi piace nemmeno un po' come sintassi
- Ruby è ancora in sviluppo (e per PocketPC non l'ho trovato)
- Python (che mi "intriga" molto) è ancora in sviluppo (varie GUI e
librerie, a sviluppo diverso a seconda del S.O., con ancora bug qua e
là)
- il mondo di VisualStudio richiede soldi per sviluppare sotto PocketPC
- vari Basic o vogliono soldi o non sono molto "portabili"
- Microsoft eMbedded C++ 4.0: ci ho provato, ma è risultato un
accrocchio ingombrante (tra installazioni, SDK, service pack) di cui
devo ancora venire completamente a capo dei settaggi; peraltro mi
scoraggia non poco aver trovato dei bug ancora prima di cominciare a
programmare (se clicko l'opzione per scegliere la posizione di alcune
directory, crasha all'istante :-/. Se piove quel che tuona...)
- ed eccoci al C: ho trovato il Pelles C che offre qualche wizard,
giusto per partire e capire un po' la gestione del mondo delle finestre
& c., compreso quello per i PocketPC; il linguaggio in sè mi ha sempre
un po' spaventato per l'aspetto scarno e l'estrema libertà (anche di
inguaiarsi, abituato come sono a mamma Delphi), ma anche attratto per la
duttilità, compattezza e velocità; se non ho capito male, anche sotto
Linux "spopola" il C (GCC significa Gnu C Compiler, vero ?): non mi
aspetto di prendere un programma pari-pari da un S.O. e farlo funzionare
all'istante sull'altro,ma suppongo utilizzando come "interfaccia" delle
librerie valide per più mondi, il passo non dovrebbe essere impossibile.
Vengo alla domanda banale (che su questo NG suonerà forse come una
bestemmia): sarà eventualmente ben speso il tempo per imparare questo
linguaggio (nel senso che potrò effettivamente applicarlo su più fronti
(anche nei prossimi anni), trovandomi effettivamente in compagnia di un
gran numero di programmatori [il C è forse il linguaggio più adoperato
?]), o ormai è un po' "superato" e ci sono linguaggi più adatti agli
scopi che mi sono prefisso (progammi con finestre) per evitare eccessivi
"contorsionismi" di programmazione ?
In rete si trova tanto materiale sul C++, però avevo letto che il C++
non è da intendere una evoluzione del C, ma semplicemente un linguaggio
abbastanza differente ed orientato agli oggetti (non necessariamente
migliore)...
Insomma, mi butto sul (Pelles) C ?
Grazie
Simone
_______________________________________________________
 
Sperm: To be fastest doesn't imply that you are smartest.
                   ( by Enrique Herranz )

 programmi...
Se hai tempo e pazienza, C++ & wxWidget.
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Insomma, mi butto sul (Pelles) C ?
se devi programmare GUI, non te lo consiglio.
-- 
Under construction

 trolltech ti piacciono)
wxWidget consente di sviluppare, quasi senza cambiare una riga di
codice,
su Windows, Linux, WinCE e Mac. Inoltre ha l'indubbio vantaggio di
essere
open source, senza restrizioni per qualsiasi tipo di applicativo (anche
closed
source), con un'ottima documentazione e, cosa che non guasta, ha il
look
and feel nativo della piattaforma per cui si produce l'eseguibile.
Qualche pecca ce l'ha e qualche bug pure... Ma niente che non si possa
ignorare/evitare/aggirare senza troppi problemi.
Insomma ha solo vantaggi... :-)
C:\>iao Angelo

 and feel nativo della piattaforma per cui si produce l'eseguibile.
 
(perche' mi sembra una gara a chi ce l'ha piu' lungo? ~__~;;;)
non e' mia intenzione parlar male di wxWidget (che apprezzo, tra l'altro)
ciononostante da come parli sembra che PyQt (o anche solo le Qt)
* non consentano di scrivere codice che giri su varie piattaforme
* non siano opensource e/o abbiano problemi con applicativi closed source
* non abbiano documentazione
* non abbiano un look nativo sulle varie piattaforme
cose che sono un misto di FUD e falsita' vere e proprie.
-- 
Under construction

 cose che sono un misto di FUD e falsita' vere e proprie.
Qt non e' opensource, o sbaglio?
Qt e' a pagamento per programmi closed source, o sbaglio?
QT ha i suoi widget, o sbaglio?
Quello che intendevo dire e' che
- wxWidget ha una licenza molto, ma molto permissiva. Sicuramente
  molto piu' permissiva di quella di QT;
- LO STESSO FRAMEWORK e' supportatO su tutte le piattaforme di
  interesse dell'OP ed anche qualcuna di piu';
- che la scrittura dei programmi per le vari piattaforme non
  richiede particolari accorgimenti (certo che prevedere una
  visualizzazione adatta per finestra minima di 1280x1024 su
  un pocketPC e' un'assurdita', ma volendo...). Questo _*NON
  ESCLUDE*_ che lo stesso sia valido anche per altri framework,
  anzi, ma non faccio affermazioni su cose che _*NON CONOSCO*_;
- che wxWidget, al contrario di altri framework OPENSOURCE,
  ha una documentazione che fa invida. Questo non esclude
  che QT abbia un altrettanto valida documentazione: mi
  meraviglierei del contrario.
Ho anche detto che deve avere tempo e pazienza, perche' capire
come funzionano non e' proprio immediato...  Dov'e' il FUD ed
il celopiulunghismo, scusami ma non capisco.


 il celopiulunghismo, scusami ma non capisco.
Mmm, mi scuso per il tono, tuttavia sembrava un attacco atto a smontare la
mia idea, piuttosto che a portare avanti la tua. Evidentemente non ci
eravamo capiti.
-- 
Under construction

 "liquido"
Si e' possibile lasciare tutto dinamico usando i sizers, ma e'
sempre possibile impostare delle dimensioni fisse o bloccare il
ridimensionamento in una direzione... Cosa che a volte puo'
non essere sbagliata.


 migliore)...
Come sempre questione di opinioni,
per me e' troppo complesso (problema mio), ma e' indubbiamente
molto potente.
E ha il merito di aver ispirato i moderni linguaggi ad oggetti,
come Java e C#
Per finire i miei sproloqui, se hai tempo ti consiglio
di studiare un po' di C comunque.
E' un po' il 'coltellino svizzero' dei linguaggi (imperativi).  ;)
Vero, non insegna ad usare le classi, che pero' sono un
concetto (ormai utilissimo) piu' ad alto livello,
... ma hai le basi per implementarle
(come ha fatto Stroustrup a suo tempo)
... e per implementare qualsiasi altra cosa,
essendo usatissimo per scrivere interpreti e compilatori.
Chiedo scusa per eventuali castronerie
e saro' grato a chi vorra' correggermi.
Ciao
Emilio

Finora...[cut]
Grazie a tutti per i consigli: alla fine (dopo una settimana di
rimuginamenti, aver letto diversi pareri online e documentazione varia)
opterò per C++ con wxwidgets, ben sapendo che l'inizio non sarà
facilissimo (anche se la mia esperienza è già con un linguaggio ad
oggetti: li gestirà con grammatica diversa, ma spero che non mi risulti
tutto totalmente nuovo). 
In realtà un'infarinatura lieve di C ho scoperto di averla (più o meno i
listati riesco a capirli), forse perchè per un breve periodo avevo
giochicchiato con il Turbo C (ed un suo manuale, che ho ritirato fuori,
ha una sezione dedicata proprio al passaggio da Turbo Pascal a Turbo C
con tutte le possibili difficoltà e differenze).
Grazie ancora
