Newsgroup: it.comp.programmare.win32
Titolo: Il C e programmi per windows

Ciao ragazzi,
premetto di aver esperienza di programmazione solo in C e in Java ma sotto
Linux, poiche' la programmazione non e' il mio mestiere.
I miei interessi sono di tipo matematico e per questa ragione ho
"sviluppato" solo programmi per lo studio di funzioni e qualche algoritmo
che mi serviva per i miei studi.
Quindi, nulla di commerciale, ma semplicemente piccoli lavori a mio uso e
consumo.
Linux lo uso solo perche' programmi come Derive e Matlab sono troppo costosi
per me e non me li posso permettere, mentre i corrispondenti Octave e
Scilab sotto Linux sono Open Source.
Ecco spiegato il mio uso di Linux;-)
Ora pero' vorrei utilizzare Windows anche per programmare e vorrei chiedervi
cortesemente alcuni consigli:
per la programmazione e' meglio utilizzare win98-me o xp?
ha senso tentare di continuare la programmazione in C su piattaforma
Windows?
in caso di risposta affermativa, mi dareste qualche consiglio a tale
proposito?
Grazie infinite e scusate la lunghezza del post
Smarty

 Windows?
Dipende. Io dico si se:
- lo fai per hobby
- senza aver scadenze da rispettare
- ti interessa approfondire i dettagli di funzionamento di Windows (API,
callback, etc.)
Dico no se:
- non hai pazienza (all'inizio ce ne vuole, anche solo per aprire una
banale finestra, scordati la facilità/immediatezza di java)
- se lo fai in prospettiva per lavoro
- se non ti puoi permettere dilazioni temporali durante lo sviluppo
In questo secondo caso Visual Basic 6 o Net (magari nella nuova
incarnazione C#) sono consigliabili
In ogni caso ti consiglio caldamente di pensare non al C ma al C++ (magari
con qualche framework, tipo MFC, wxWindows per la portabilità oppure il mio
che leggi in signature :-)), che arrivando da java non dovrebbe essere di
difficile approccio.
Ciao
Stefano "HappyMan" (Lake Maggiore - Italy)
PS.
Io programmo in VB6/VB.Net per lavoro, in C++ per hobby (i miei programmi
che vedi in signature li ho fatti in questo linguaggio)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
libero.it

 proposito?
Borland C++ Builder, per una semplice ragione, non diventi
matto per fare un applicazione grafica. Mi sembra di capire che il tuo
scopo sia fare i tuoi programmi e non "programmare dalla mattina alla
sera", quindi piu' hai la vita facile meglio e' :D
Se avessi tempo da perdere, ti consiglierei C# perche' c'e' sia sotto
windows che Linux (e altri) e perche' diventera' lo standard de facto
per le applicazioni nei sistemi microsoft.
Ciao.

 per le applicazioni nei sistemi microsoft.
IMHO il C# sarebbe una buona soluzione (semplice come linguaggio, semplice
da imparare, semplice da usare...), a patto che sia disposto ad utilizzare
il compilatore da linea di comando e scrivere i sorgenti con blocco note,
perché il kit per la programmazione in dotnet č gratis, ma l'IDE costa una
mado... scusate ^_^
A proposito, per la piattaforma consiglio anch'io vivamente Windows 2000/Xp
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Stefano 'HappyMan' wrote:
ok ragazzi, siete stati chiari e gentili, accetto di buon grado i vostri
consigli, ma per il momento vorrei continuare con il C e poi passare a C++
e C#
di C++ non so quasi nulla:-(
di sicuro son certa che desidero programmare su piattaforma windows (xp
perche' 2000 non ce l'ho, purtroppo)
dopo aver approfondito il C sotto windows passero' al C++, ma e' un diletto,
non ho alcuna pretesa da informatico, non ne avrei il tempo:
mi basta fare quello che serve a me per i miei studi
mi date un consiglio per il C sotto Windows?
per Stefano: ho visitato il tuo sito, sei di Varese e abiti a Dormelletto,
fantastico, io sono mezza francese e mezza ossolana, faccio ancora il tifo
per la vecchia provincia di novara e il lalgo maggiore e' bellissimo e mi
manca
ciao e grazie ancora
smarty;-))

 mado... scusate ^_^
ricordatevi che esiste sharpdevelop eh... è un'IDE apposta per il .NET ed
è gratississimo!


 manca
Già, veramente una bella zona, nonostante l'impegno di chi cerca in tutti i
modi di rovinarla (centri commerciali ad iosa tra Arona e Sesto Calende,
uno schifo)
Stefano "HappyMan" (Lake Maggiore - Italy)


 mio post.
Watcom?
http://www.openwatcom.org/
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Grazie a tutti per l'aiuto;-)
ho trovato le seguenti tre possibilità, tra le tante, tra cui l'ultima
suggerita da Angelo, quale mi consigliate?
LCC-Win32-Compilatore C freeware per win32
http://www.cs.virginia.edu/%7Elcc-win32/
 
MinGW32 gcc C/C++/Java/Fortran Compiler
http://gnuwin.epfl.ch/apps/mingw/it/
Open Watcom C/C++/FORTRAN Download (Windows or OS/2 Installer)
http://www.openwatcom.org/index.html
Non deisdero approfittare della vostra cortesia, ma vorrei evitare di
installare su xp programmi che poi si potrebbero rivelare inidonei.
A me sembra, anche se ho letto un po' troppo velocemente le varie
documentazioni, che MinGW32 posssa andare bene al mio caso e poi utilizza
la "crtdll.dll" di windows.
Buona notte a tutti
Smarty

 
http://www.openwatcom.org/
Esatto ! Ero capitato tempo fa sul loro sito ed ero rimasto colpito
dall'evoluzione del compilatore Watcom verso il mondo open source...
Sulla bontà dello stesso però non mi esprimo non avendolo mai usato.
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 Windows?
Direi che è essenziale. Qualcuno ti consiglia il C++, IMHO in molti casi 
si tratta semplicemente di consigliare l'utilizzo di framework di classi 
che alzano il livello della programmazione windows, che oggettivamente è 
abbastanza articolata. A parte questo, programmare windows ha affinità 
con il C e i miei progetti pur quando usano framework C++ contengono lo 
stesso molti file .c.
Il tutto ovviamente se non intendi buttarti su .Net.

 la "crtdll.dll" di windows.
Io "uso" mingw, anche se usare e' una parola grossa. Ma non ha una ide
e quella di dev-cpp l'ultima (e unica) volta che l'ho provata, non mi
e' piaciuta.
Ci sarebbe anche questo
http://libre.act-europe.fr/gps/
da aggiungere alla lista, ma non l'ho provato.


> la "crtdll.dll" di windows.
Beh, cominciare per cominciare bisogna pur iniziare da almeno uno;-)
Io comicio con MinGW32, a naso, e poi dico le mie impressioni insieme a
qualche help;-))
p.s: grazie ancora, venendo da linux per le ragioni che ho pure spiegato,
temevo di finire in bocca al lupo, invece ho avuto un aiuto molto utile,
usenet e' senza frontiere: grazie ancora a tutti;-))
smarty

 è gratississimo!
Fino alla bara sempre s'impara... non lo sapevo! :)
corro subito a scaricarlo...
ciao


 mado... scusate ^_^
ma allora, anche perche' a compilare da linea di comando e scrivere sorgenti
con editor poverissimi ci sono abituata, se sarei interessata al C# potrei
utilizzare come dice P.F. dotnet insieme all'IDE sharpdevolop per il .NET?
scusate ma sto facendo veramente una gran confusione
in sintesi, sono ben disposta ad imparere C# o anche .NET ma non sono una
programmatrice, i miei programmini sono solo utili a me, per questa ragione
investire troppi soldi non si giustifica, come debbo fare?
scusate...:-(
smarty, sempre piu' smarrita... 

 scusate...:-(
hai sbagliato il quote, non ho detto io le cose quotate... ^^
però poi sei rimasta coerente a quanto ho detto sul serio: programmare in
NET non ti costa nulla se usi sharpdevelop, il framework è gratuito
ovviamente altrimenti sarebbe inutile (e monopolistico)
io cmq, che sono agli inizi come te, non mi sono ancora realmente buttato
sul .NET e sto imparando il C++ compilando con mingw32


 sul .NET e sto imparando il C++ compilando con mingw32
Si', hai ragione:-(
ma il 3ed sta diventando lungo e interessante e ho quasi perso il
filo...;-))
OK, comincio a mettere un po' d'ordine
anche io ho installato MinGW e MSYS per il C, solo che non riesco a
compilare
quando lancio MSYS, che e' poi una shell, non riesco a spostarmi entro le
cartelle con i comandi tipici del dos
per esempio, se digito "dir" senza virgolette mi risposnde con un errore di
sintassi
invece se uso il corrispondente comando linux: "ls -al" mi risponde
correttamente e mi indica file, directory, permessi, eccetera
pero' se digito cd "nome dir" non vado nella cartella corrispondente e
neppure con cd.. riesco a tornare indietro
neppure con i comandi corrispondenti di linux''cd /nomecartella'' funge
invece se uso il prompt di msdos ovviamente riesco ad entrare nella
directory che desidero, riesco a compilare, anche se non vedo alcun
messaggio di errore eventuale e,infine, dopo aver ottenuto il file.exe lo
posso eseguire direttamente dal prompt
mi aiuti a capire dove sbaglio?
io ho installato MinGW entro la cartella "Programmi" di xp
forse e' questo l'errore perche' nel leggere la documentazione mi sono
accorta or ora che l'autore sconsiglia di installare il programma in una
dir diversa dalla radice c:\
ciao e buon lavoro a tutto il ng
smarty

 Grazie infinite e scusate la lunghezza del post
Di niente, e buona programmazione.
Ciao!
Dan

 smarty
su 
bloodshed.net
 scarica devcpp, ่ un'IDE free e contiene mingw32


 Dan
Grazie infinite Dan,
seguiro' i tuoi consigli, sei stato esauriente e molto preciso: non sara a
causa del tuo know-out matematico? :-))))
una buona sintesi di quanto si possa fare in termini di programmazione sotto
windows per chi ricerca soluzioni personali e possibilmente freeware: non
chiedevo di meglio
forse avro' ancora bisogno di aiuto, anzi, sicuramente, ma non mi sento piu'
a disagio e fuori luogo, spero che il ng non me ne voglia;-))
buona notte a tutti
smarty

su 
bloodshed.net
 scarica devcpp, è un'IDE free e contiene mingw32
grazie Pink Floyd,
lo faro' domani
ciao a tutti
e grazie ancora,
smarty ;-))

come funzionano a fondo le cose, e' il posto giusto per te! :-)
IL mio pensiero e' che poter programmare bisogna partire dall'abc .
E' un po come per la matematica : va bene la calcolatrice ma le
operazioni di base le devi conoscere.
Quindi secondo me si comincia dalle API e una volta capito come
funzionano le cose si passa ai RAID .
Secondo me un programmatore che non sa interagire a livello API non
sara' mai completo.

 sara' mai completo.
Non sono d'accordo. Se un programmatore usa il computer come _strumento_ 
per i suoi fini, perche' deve perdere tempo con i message loop, 
registrare una classe di finestra, window procedure, WM_CTLCOLOR, 
subclassing... quando invece con VB hai GUI con edit box colorati 
cambiando semplicemente una proprieta' tipo BackColor = Yellow :)
200 righe di codice a 1 ;-)
Ripeto: certamente, se uno vuole capire come funzionano le cose _al loro 
interno_ allora lo studio dell'SDK Win32 e' importante, ci mancherebbe 
(e a me e' anche piaciuto e parso interessante, quando lo affrontai).
...ma non tutti hanno questa esigenza.
Dan

 forse avro' ancora bisogno di aiuto,
Posta tranquillamente quando vuoi.
Bye
Dan

 causa del tuo know-out matematico? :-))))
cmq, qui volevi scrivere sicuramente "know-*how*", vero? :) sara' 
l'ora...

 ...ma non tutti hanno questa esigenza.
Hmmm sono d'accordo a metà :-)
Io uso VB *anche* per progetti grossi (ne ho fatto uno di 180gg/uomo) e con
un buon design di problemi non ne hai, ma la mia conoscenza di Win32 & API
mi è stata comunque utile per costruire classi per funzioni di basso
livello (esempio un popup menu che usa la TrackPopupMenu senza usare ocx o
altro) che uso nei miei progetti.
Ciao :-)
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
libero.it

 altro) che uso nei miei progetti.
Sicuramente: piu' cose conosci, piu' strumenti hai a disposizione, non 
c'e' dubbio.
Pero', come tu stesso dici, si trattava di applicare le tue conoscenze 
Win32 per realizzare classi per funzioni _di basso livello_ . In questo 
contesto, certamente la conoscenza del Win32 SDK e' molto utile.
Io mi riferivo a chi vuole costruire velocemente una GUI: con VB6 
disegni la GUI e imposti qualche proprieta'; anche componenti piu' 
complessi come un list-control si usano facilmente (come tu sai meglio 
di me, il loro uso a livello Win32 non e' proprio banale... :)
Insomma, ti semplifica molto il lavoro. (Per non parlare poi degli 
ottimi controlli data-bounded!)
Poi, e' chiaro che, se uno vuole implementare qualcosa di particolare 
(probabilmente, anche cosa come finestre dal bordo irregolare), o si 
usano OCX scritti da terzi, o si ricorre al Win32 SDK.
Ammiro molto chi come te preferisce scrivere codice "in casa", piuttosto 
che appoggiarsi a componenti di terze parti; ma magari uno puo' avere 
altre priorita' per il proprio tempo, in quest'ultimo caso riusare 
componenti altrui puo' far risparmiare tempo.
Ciao :-)
Dan

 consumo.
A costo di scatenare un vespaio ... hai preso in considerazione
anche Eclipse ? [
www.eclipse.org
]
Con Eclipse ed i suoi plugin (VE, UML2, CDT, ecc. ecc.)
hai un IDE multipiattaforma con una libreria per GUI e grafica
multipiattaforma con look&feel nativo (SWT), editor visuale (VE)
ecc. ecc.
Visto che sai gia utilizzare Java potrebbe essere un opzione
interessante (ma solo se hai un pc con almeno 256MB di ram, quel che
serve per far girare decentemente Eclipse, non i programmi
che ci sviluppi sopra).
L. Micheletto

 che ci sviluppi sopra).
cut
Grazie per il suggerimento,Lorenzo,
ho già scaricato devcpp da 
bloodshed.net
 e mi ci trovo benissimo, sono grata 
a Pink Floyd per l'ottimo consiglio;-))
Danguard: know-how e non "know-out", hai perfettamente ragione, ero stanca
morta, ma che figuraccia!!
mi perdonerai? 
Ora pero' vorrei dire che il post di Lorenzo mi ha incuriosita: perche'
consigliare eclipse dovrebbe scatemare un vespaio?
scusate la mia ingeuita',
smarty;-))

 consigliare eclipse dovrebbe scatemare un vespaio?
...non lo so ?_?

 Dan
Ciao :_)


Ti consiglio di imparare il C e l'API di Windows.. almeno l'approccio e il
funzionamento. Ti permettono di avere una cultura e visione d'insieme utile
per altri linguaggi o sistemi operativi.
Lascerei il C per produrre piccoli DLL con compiti specifici. Per quanto
riguarda lo sviluppo, ti consiglio:
- per applicazioni GUI anche complesse:
www.purebasic.com
- disponibile per Windows, Linux, Amiga (e presto MacOS).
per applicazioni multimedia e ludiche (esiste in versione 2D e 3D) :
www.blitzbasic.com
- disponibile per Windows (e presto anche Linux e MacOS).
Il primo, è maggiormente orientato per applicazioni e produce eseguibili
piccolissimi e veloci (SENZA bisogno di run-time) . E' dotato di un editor
visuale per GUI.
Il secondo utilizza Direct-X (oppure OpenGL) e Direct-3D , è molto veloce e
ha un run-time inserito nell'EXE stesso di circa 500KB.
Entrambi supportano tutte le API del sistema operativo.
Interessante è notare come tutti e due insieme costino meno della metà di
Visual-Basic.
Li utilizzo da tempo, ho applicazione che girano praticamente 20 ore al
giorno sotto Windows-98 , mai un problema.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 tempo
...Certo che non si finisce mai di imparare!
Io pensavo che ormai il "mercato delle componenti software" (se cosi' 
posso chiamarlo, da inesperto) fosse una cosa abbastanza seria; cioe': 
uno vuole sbrigarsi e risparmiare tempo, e compra un componente di terze 
parti... e invece bisogna stare attenti anche li'!
Una curiosita': i tuoi componenti custom li realizzi con lo stesso VB6 
(e' possibile usare VB6 per realizzare anche OCX vero?), oppure usi 
altri strumenti piu' complessi, come MFC o altro?
Io pensavo di realizzarmi un componente per visualizzare una superficie 
3D con OpenGL in C++ con MFC (anche se non ho mai realizzato controlli 
custom...sara' una buona occasione per imparare...), in modo da poterlo 
poi usare da GUI in VB6.
...dici che potrei direttamente usare VB6, oppure ci sono altri tool che 
mi consiglieresti per svilupparmi il mio componente OCX?
Thnx!
Ciao e buon lavoro! :)
Dan
PS [terminologia]:
Uso il termine "componente OCX" quando forse dovrei dire "ActiveX"...in 
realta' non capisco bene la differenza (e' piu' una questione di 
marketing di Microsoft?); comunque: intendo - spero si sia capito - i 
bottoncini che compaiono sulla palette di VB6,  e poi uno li trascina 
nelle form e li usa tramite proprieta'/metodi/eventi.

 mi consiglieresti per svilupparmi il mio componente OCX?
Se conosci MFC proverei in C++, piů performante.
Ciao !
Stefano "HappyMan" (Lake Maggiore - Italy)
-- 
The Personal Framework for Object Oriented Windows Development (Win32)
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 
<snip>
io ho risolto tutti questi problemi con il BCB. I componenti, anche di 
quelli dei quali non hai i sorgenti (che siano per delphi o per BCB), 
puoi sempre usarli in ereditarietą e correggere eventuali bug o gotcha 
che ti rompono le palle.
Magari il compilatore non č velocissimo, macchissenefrega.
M.

 Se conosci MFC proverei in C++, più performante.
Conosco MFC non in maniera completa, ma abbastanza... magari 
approfondiro' quelle parti di MFC legate a OLE.
Grazie per la dritta.
Ciao!
Dan

 ....non lo so ?_?
A parlar di Java in un ng dedicato alla programmazione sotto
Windows non si sa mai cosa si rischia di scatenare. ;-)
L. Micheletto

 Windows non si sa mai cosa si rischia di scatenare. ;-)
OK allora chiudiamo qui ;-)