Newsgroup: it.comp.lang.c++
Titolo: Linux o Windows per studiare ?

Ciao,
ieri ho comprato il libro "C++, Corso di Programmazione 3a Edizione"
Ora volevo chiedere a chi ha già letto questo libro se è possibile impararlo
usando un compilatore per Linux invece che per windows....cioè devo usare
compilatori tipo Dev-c++ o posso usare tranquillamente g++ ? Ci sono
problemi di compatibilità ?
Ciao
Alessandro

 ha scritto nel messaggio
news:4DHS6.28857$vt.2...@news1.tin.it...



e del cygwin che mi dici ?......dato che è il porting del gcc può andare
bene ?
Ciao
Alessandro

 ha scritto nel messaggio
news:YbJS6.29107$vt.2...@news1.tin.it...


 piacevoli da utilizzare, anche per applicazioni console.
Il fatto è che ho iniziato a studiare con il libro di Lippmann, e questo non
parla proprio di interfacce user-friendly, infatti fà esempi di codice nudo
e crudo.....per questo pensavo che al punto in cui mi trovo sia inutile
usare il Vc++ o altri (per la cronaca posseggo il Borland Builder c++ 5.0
versione Enterprise e il VC++ 6.0 versione Enterprise). Dato che devo ancora
studiare il c++ pensavo che una semplice compilatore a console potesse
bastare.....quindi ne cercavo uno che non mi creasse problemi di adattamento
passando da un SO all'altro
Tu ritieni che per me che sono alle prime armi e studio le basi del c++ sia
comunque più indicato studiare su un RAD che su un "emulatore di console"
come cygwin ? E' matematico che quando finirò il libro e avrò una certa
familiarità con il linguaggio passerò al Builder o al VC++ !!
Cosa mi consigli ?
Ciao
Alessandro

piacevoli da utilizzare, anche per applicazioni console.
Concordo pienamente (avendo io provato entrambe le cose,
ovviamente...)
Luc.

e crudo.....
Vi state fraintendendo.......
Luc.

problemi di compatibilità ?
Puoi usare qualsiasi compilatore.  Non ti spaventare se qualcuno si
lamenta, perche' nessuno e' pienamente aderente allo standard.
Ma gli esempi del libro sono talmente semplici che non dovresti avere
problemi.  In ogni caso, se non ricordo male, Stroustrup ha
(ovviamente) lavorato sotto Unix.  Credo che sul libro ci sia scritto
anche con quale compilatore abbia compilato i sorgenti.

 ha scritto nel messaggio
news:zvLS6.29536$vt.3...@news1.tin.it...


 > familiaritą con il linguaggio passerņ al Builder o al VC++ !!


Ciao
Ti consiglierei anche di quotare meglio (rispondi sotto e riporta solo
le parti interessanti del mex originale).
8)
Luc.

 8)
E' incredibile....era la PRIMA volta che rispondevo sopra e riportavo un
messaggio per intero (vedi post precedenti) !!!!
non ce l'ho con te...per carità....stavo constatando la classica "legge di
Murphie"......
Comunque non accadrà più.....in effetti avevo risposto così per riprendere
lo stile di Alex a cui rispondevo :-)
Ciao
Alessandro

 ha scritto nel messaggio
news:UiOS6.242$Zo3....@news1.tin.it...


problemi davvero non li vedo !
Importa a noi, invece, vedi di quotare in modo DECENTE, per cortesia.
Rispetta la netiquette e quota SOTTO il testo, riportando solo cio'
che serve.

va bene ;-)
Alex
"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1cded...@news.libero.it...



Mamma mia....ma voi avete una guerra personale o cosa ? :-))
Ciao
Alessandro

[CUTTONE]
'mbecille. 8-PPPPPPPPPPPPPPPPPPPPPPPPPPPPP
Luc.

usare VC++).
se vuoi puoi provare KDevelop per Linux. IDE in stile VC++ e
compilatore g++, direi che non è male, no?
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

se vuoi puoi provare KDevelop per Linux. IDE in stile VC++
...in stile...niente di piů...
Luc.


Ho cercato di compilare un esercizio con il gcc ma non mi trova
"iostream"..sapete perchè ?
ho postato i dettagli in it.comp.os.linux.development per non essere
OT.....se qualcuno mi darebbe una mano :-))
Alessandro

"iostream"..sapete perchč ?
Gcc e' il compilatore per il C, quindi non trova header files del C++.
Devi usare g++ per compilare in C++ e usare gli header files del C++.

 Devi usare g++ per compilare in C++ e usare gli header files del C++.
Quale è il pacchetto che lo contiene ?



egcs-c++ . Occhio alle dipendenze.

grazie
"shodan" <sho...@xerxes.tau> ha scritto nel messaggio
news:3b1d0104...@192.168.1.1...


Luc wrote:

La cosa incredibile di queste continue reply e' che lo SPAM si crea nel 
continuare a rispondere con l'acknowledge come con i dispositivi di 
rice/trasmissione.
Comunque per quanto riguarda la questione Linux/Windows per imparare il C++ 
e' chiaro che la differenza non esiste in quanto il C++ ANSI/ISO Standard 
e' indipendente dalla piattaforma e sia il GNU G++ che il Winzoz compiler 
tentano di avvicinarsi a tale standard. Personalmente considero che tutto 
cio' che e' presente in Winzoz, essendo deviato da questioni di 
commerciale, non abbia nulla a che vedere con il vero standard, visto che 
e' influenzata da altre allettanti proposte di evoluzione, anziche' dalla 
ricerca scientifica/tecnologica. Dunque suggerisco l'uso di Linux.
Tra l'altro l'uso di un Sistema Operativo com Linux e' molto salutare a chi 
vuole intraprendere seriamente lo studio di un linguaggio di programmazione 
strutturato (come puo' essere il C) o orientato ad oggetti (come C++), dato 
che la parte "core" del kernel stesso e delle intere applicazioni su Linux 
sono sviluppate in C/C++ e ci si ritrova in un'ambiente familiare. Poi, 
Linux e' OpenSource e dispone alla comunita' mondiale dei sorgenti 
dell'intero discorso, permettendone una revisione maggiore e un controllo 
che rende impossibile la creazione di strane backdoors e cosimili abusi di 
potere tecnologico (o forse e' meglio parlare di monopolio); ad esempio il 
mio sistema operativo GNU Linux/OpenSource e' stato installato utilizzando 
una distribuzione binaria (mandrake) su una partizione da 1GB e poi 
installando l'intero sistema operativo (sempre linux) sul resto dell'hard 
disk direttamente mediante compilazione dei sorgenti, risultato: non ho 
installato nulla che non sia analizzabile da un umano;)
Ti consiglio di installarti una Mandrake 8.0 (allo stadio attuale) dato che 
supporta una grande quantita' di software (possono essere scaricati 
entrambi i CD di installazione in formato immagine iso da 
http://www.linuxiso.org
).
Inoltre l'interfaccia grafica di Linux non ha nulla da invidiare a quella 
di Micro$oft MfC; prendere per esempio il sistema desktop KDE 
(
http://www.kde.org
) che e' basato su una interfaccia grafica ad oggetti 
veramente potente (rilasciata in doppia licenza, commerciale e opensource) 
la QT di Trolltech (
http://www.trolltech.org
). Un breve esempio:
#include <qapplication.h>
#include <qpushbutton.h>
int main( int argc, char **argv )
{
    QApplication a( argc, argv );
    QPushButton hello( "Hello world!", 0 );
    hello.resize( 100, 30 );
    a.setMainWidget( &hello );
    hello.show();
    return a.exec();
}
dimostra la classica struttura ad oggetti per la GUI, ma QT e' molto di 
piu'; essa definisce delle addizionali strutture al C++ che vengono 
compilate da un preprocessore per tornare ad essere, chiaramente, C++ 
standard. Un breve esempio a riguardo:
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
int main( int argc, char **argv )
{
    QApplication a( argc, argv );
    QPushButton quit( "Quit", 0 );
    quit.resize( 75, 30 );
    quit.setFont( QFont( "Times", 18, QFont::Bold ) );
    QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
    a.setMainWidget( &quit );
    quit.show();
    return a.exec();
}
Per una visione d'insieme e' opportuno dare un'occhiata al tutorial sul 
sito: (
http://doc.trolltech.com/
) -> Getting Started/Tutorial
Per il discorso sul preprocessore e sulla introduzione di una facilita' di 
gestione della tecnica di callback vedere nel sopracitato sito, la sezione 
Signals and Slots.
Puoi trovare nella Mandrake, avendo fatto installazione di tutti i 
necessari pacchetti (anche quelli -devel.rpm, che contengono i files HEADER 
necessari per "sviluppare" e non solo far girare i programmi) per lo 
sviluppo di applicazioni con QT e anche un IDE OO che e' KDevelop (kdevelop 
da console) la cui page e' (
http://www.kdevelop.org
).
Opinione personale e' che la tendenza delle aziende italiane, come di altri 
stati, e' che si preferisce "aquistare" tecnologie d'oltreoceano anziche' 
"smanettare" un po di piu' e fare delle cose valide su tutti i fronti.
bye
Lore

Alessandro Binarelli wrote:

strano che tu abbia solo l'installazione di gcc e non di g++. ad ogni modo 
controlla nel tuo sorgente:
#include <iostream>
using namespace std;
dove "using namespace std;" serve ad esplicitare il namespace (e' uno 
standard adesso 8-0)
come pure gli header senza .h; e gli header del C vengon inseriti in C++ 
anziche'
#include <stdio.h>
con
#include <cstdio>
Per verificare se hai l'iostream, dai un'occhiata in /usr/include/g++*, 
magari fai una search con
find /usr/include/g++* | grep iostream
bye
Lore

Con questa rispondo a due tuoi post (Lorenzo Delana):
1) Linux lo conosco bene, amministro una rete con esso,e sono dell'opinione
anch'io che i sorgenti liberi aiutino un novello programmatore
2) non riuscivo a trovare la libreria iostream, questo su una mandrake
7.0...ora stň per montare la 8.0 e quindi farň piů attenzione ai pacchetti
da installare.Cmq in /usr/include/g++ecc.... ci avevo guardato !
3) Kdevelop non provo a usarlo perchč troppo legato alle librerie di
Kde......ho scovato in rete "anjuta".....frontend grafico per c/c++ della
Gnome....l'ho scaricato da freshmeat
ciao
Alessandro

 Alessandro

l'aquirente conosca "i suoi diritti".
Questi sono solo dell'acquirente ? Se anche fosse cosa vieta
ad un acquirente di "ricarrozzare" e distribuire in seguito
ad un decimo del prezzo che ho chiesto io anche il codice che
ho scritto io -- facendomi fuori -- ?
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

ok...mi hai convinto....tengo a precisare cmq che io sono un principiante
per quanto riguarda la programmazione e solo adesso mi stò avvicinando al
c++ , stò studiando il libro di Lippmann....
Per quanto riguarda il kdevelop mi riprometto di installarlo e dargli uno
sguardo....anche se al punto in cui sono và benissimo anche il g++  in
versione testuale.
Ciao
Alessandro

 ho scritto io -- facendomi fuori -- ?
Rispondo solo qui, dato che, alla fine, tutto si riduce a questo.
I diritti dello sviluppatore  innanzitutto sono garantiti dal Copyright:
se  una  terza  persona  prendesse  del software  tuo  sotto  GPL  e  lo
rivendesse spacciandolo per suo, allora  potresti intentare una causa, e
vincerla  (gli avvocati  della Free  Software Foundation  aspettano solo
quello). Perfino  i rivenditori  sono  sottoposti alla  GPL: e`  infatti
chiaramente  detto  in essa  che  il  massimo  che un  rivenditore  puo'
chiedere per un prodotto OS e` il costo del supporto.
Per le  librerie il discorso si  fa piu` complesso. Se le  librerie sono
sotto GPL, tutti i programmi che  le linkano *devono* essere posti sotto
GPL. Per ovviare a questo "problema", e` stata inventata la LGPL (Lesser
General Public License), che permette  di linkare delle librerie anche a
software non GPL.
Quello che  molta gente pensa  e` che  i prodotti OpenSource,  una volta
fatti, finiscano per essere gratuiti a tutti  i clienti n + 1, dove n e`
il  numero  di  clienti  iniziali. Questo e`  sbagliato:  l'autore  puo`
decidere di distribuire  a tutti i proprio software,  o puo` rilasciarlo
solo per  una persona. Ovviamente, con  il sorgente *a  disposizione* di
chiunque ne faccia  richiesta. Se poi il cliente decide  di copiarlo per
un suo amico, beh: qui ci si  puo` far poco. Tuttavia, se e` un software
altamente specializzato, creato  ad hoc, sara` molto  difficile che esso
funzioni sui computer dei clienti n + 1 (e si spera anche che di persone
cosi` cretine dentro da dare il  proprio software alla concorrenza ce ne
siano poche).
Ad ogni  modo, un programatore puo`  farsi pagare per lo  sviluppo di un
software GPL: si chiama OpenSource, non FreeBinary :-)
Il vantaggio  della licenza GPL e`  che, oltre ad avere  il sorgente del
software a disposizione del cliente, che  ne faccia richiesta o meno, e`
che il programmatore e` *obbligato* a portare avanti codice di qualita`,
per essere assunto. Il codice sorgente liberamente disponibile, infatti,
crea un circolo  virtuoso in cui il miglior  programmatore sopravvive (e
non sopravvivono  programmi in  cui si *devono*  inserire bug  per poter
avere l'appalto di manutenzione in seguito).
Bye,
 Emmanuele.
-- 
Emmanuele Bassi         |             [ 
http://digilander.iol.it/ebassi/
 ]
emmanue...@iol.it
  |
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 ho scritto io -- facendomi fuori -- ?
niente lo nega, ma vedi l'opensource e' nato per lo sviluppo di una 
comunita' che lavora a livello scientifico/tecnologico in maniera aperta e 
del tutto libera... non per il commerciale, dunque c'e' da capire questo.
L'opensource puo' stare nel commerciale solo quando si hanno due palle 
talmente grandi da concepire certi progetti tanto audaci.
Il fatto e' che si pretende troppo dalla vita, ...personalmente per me 
andrebbe bene avere quello che ti serve a campare dal lavoro che fai, ma 
certi si fanno strapagare, per dei cessi di software... bah, evito il 
discorso.


per poter avere l'appalto di manutenzione in seguito).
Quello e' un problema serio. So di casi in cui questa cosa
e' stata scoperta (perche' lasciavano i sorgenti personalizzati
dal cliente -- per non perderli, immagino) e il produttore di
software e' stato portato in tribunale per danni.


 essendo leggibile, e' difficile da scrivere.
Non e` affatto vero. E` certo piu` complicato che scrivere un programma
in Visual Basic, ovvio.
Senza contare che l'utilizzo del C++ rendere il codice piu` "facile" da
scrivere, ma la complessita` sottostante rimarrebbe comunque alta. E le
cose che non si vedono (perche' nascoste dal linguaggio) sono sempre un
pericolo, per chi quel linguaggio non lo padroneggia appieno (e ci sono
piu` programmatori esperti in C che in C++).


 C'e' roba buona e roba meno buona... come capita sempre.
Ovvio, ma  il controllo  da parte  della massa  (se possibile)  rende il
codice  spesso  esente  da  quelle  schifezze  che  si  vedono  in  giro
(backdoor, buchi di  sicurezza, hack strani). Poi ci  sono le eccezioni,
ma, diciamo, la tendenza e` quella.


discorso.
Dal punto di vista del programmatore il discorso cambia.
Per un programmatore scrivere e usare codice GPL e' sicuramente
interessante. Il problema e' per chi produce (chi caccia il grano).
Esiste qualche pacchetto di contabilita'/magazzino che sia GPL ?
Esiste qualche gestione produzione (distinta base, varianti,
carichi macchina, pianificazioni, costi etc. etc.) che sia GPL ?
Esiste qualche CAM serio (che si avvicini a quelli commerciali)
che sia GPL ?
Se non esiste la cosa onestamente non mi sorprende.


della Qt. Io penso che se qui' in Italia la gente si svegliasse, si 
In realta` anche se Xfree86 fosse GPL, non obbligherebbe a scrivere 
i programmi per X sotto licenza open-source.
(A meno di casi particolari come moduli di Xfree stesso)
E inoltre ci sono molti Xserver commerciali e dunque il vincolo 
non avrebbe senso.

ho scritto io -- facendomi fuori -- ?
Cosa intendi per ricarrozzare? Impacchettarlo e metterci 
documentazione? Allora fa bene a farsi pagare.
Se invece ci aggiunge del codice, questo va immediatamente sotto GPL 
(se di GPL stiamo parlando) e quindi questo codice puo` essere sfruttato
dallo stesso autore che puo` migliorarlo ulteriormente.
E poi supponi che il cliente lo rivenda ad un decimo, io lo piglio
comunque gratis dai siti ftp perche` e` mio diritto come la GPL enuncia.
Anche se non ho mai visto ne l'autore ne il cliente.
Se il cliente/venditore non mi fornisce valore aggiunto (es. assistenza
o manualistica) allora perche` dovrei pagarlo piuttosto che prendere 
il software da internet?
E se nemmeno l'autore mi fornisce valore aggiunto perche` dovrei pagarlo?
Il suo programma e` stato pagato dal committente e visto che non ci sta
lavorando piu` non vedo perche` dovrei pagarlo.
Se poi ho bisogno di assistenza, modifiche ecc... pago chi me le fa,
chiunque egli sia (e se l'autore e` furbo me le fa lui perche` ha 
piu` credito ed esperienza di tutti e quindi si vende meglio)
Un programma sotto GPL e` onesto perche` paghi solo il lavoro
e non diritti successivi di sfruttamento. Se un architetto fa il progetto
di una casa poi non e` che ogni affittuario paga (insieme all'affitto)
una quota di diritti all'architetto.

 e il compilatore interpreta come se tu avessi grossomodo scritto:
[cut]
Scusa, in quale libro hai letto come il compilatore interpreta il codice 
che il programmatore scrive?
Grazie
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

 situazione ? E' qualcosa chi non ho mai compreso a fondo.
Questa č la situazione. 
In effetti ritengo che la GPL sia ottima per qualla parte di prgetto che 
non si riesce/vuole a sviluppare da soli ( per esempio un stack tcp/ip di 
cui serve solo un parte dell'implementazione, lasciandolo GPL puň essere 
che qualcuno la completi e che ritorni a noi utile in uno secondo momento ).
Su codice + critico bisogna considerare che  dare il codice non significa 
consegnare tutto lo studio. Comunque l'uomo che l'ha sviluppato mantiene un 
vantaggio di know-how.
Chi rimane con il sedere all'araia č:
1) i produttori che non rilasciano le specifiche dei propri file/protocolli
2) chi riesce a vendere un software molto al di sopra del suo valore.

 Non so se e' pero' qualcosa che potrebbe funzionare.
Per chi ha comprato azioni MS quando e' stata quotata in borsa la prima volta ha
funzionato benissimo!
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

che il programmatore scrive?
In questo caso si stava parlando di cosa il compilatore
"sottointende". Ad esempio se tu non definisci un costruttore
di copia allora il compilatore ne aggiunge uno in automatico e
questo e' specificato dal documento di definizione dello standard.
Quello che ho scritto io sono (grossomodo) le cose che il
compilatore aggiungerebbe ad una classe definita semplicemente
come contenente un intero e nient'altro.
Cosa fa il compilatore in "automatico" e' suppongo discusso
in tutti i testi decenti sul C++; "Effective C++" di Scott
Meyers addirittura dedica uno dei suoi punti a questa cosa
(item 45: "Know what functions C++ silently writes and calls.")
Ignorare cosa fa il compilatore in automatico e' pericoloso
in alcune situazioni: puo' ad esempio portare a codice che
compila senza nessun errore ma che ha problemi seri e non
banali da diagnosticare in fase di esecuzione.
