PDA

View Full Version : Per imparare C++ da Zero


SkylineGTR
4th July 2004, 12:29
Ho comprato un bel libro per imparare il C++: "Lezioni di C++" di John Smiley, edizione McGraw-Hill. è un libro che insegna il C++ in un modo un po' particolare. Racconta la storiella di una classe impegnata in un proggetto scolastico, e allo stesso tempo ti insegna quello che gli studenti stanno imparando... ecco, veniamo al punto. Il programma che gli studenti devono creare non avrà un interfaccia grafica windows, sarà eseguito in DOS. Nel libro dice di scrivere il codice sorgente con blocco note e poi tramite DOS compilarlo con il compilatore borland, scrivendo "bcc32 nomefile.cpp". A questo punto io vorrei sapere a cose serve il Microsoft Visual Studio??? e poi che differenza c'è tra Visual Studio 6 e Visual Studio.NET??? che cavolo è il .NET??? mi sto ammazzando ma non riesco a capire, e quindi la domanda è: che cosa uso per imparare?
Grazie Mille!!! :allah:

SunBeam
4th July 2004, 13:30
.NET è una piattaforma di sviluppo m$ in C#.
L'equivalente su linux è mono.
Entrambi sono una brutta versione (scopiazzatura) del java, IMHO. (no flames please!)
Certo che per programmare, sarà inevitabile usare un po' di riga di comando...:)
Ogni modo VisualStudio è un ide (come eclipse), che ti facilita il lavoro, ed è ad interfaccia grafica.
E' chiaro che prima di passare alle gui dovrai imparare le basi del C++, (o C# ne caso di .NET), ed esercitarti con programmini semplici a riga di comando.
Poi l'interfaccia grafica arriverà: per me è un divertimento, altri programmatori invece, snobbano totalmente le interfacce grafiche...:)

Testi consigliati:
Thinking in C++ dell'immortale Eckel o C++ di Bjarne Struostrup

Crediti: *Furio*

SkylineGTR
4th July 2004, 15:05
Ah ok, quindi C# è un altro linguagggio, ma siccome devo imparare C++ il .NET non mi serve. Se ho capito bene Visual Studio 6 serve per le interfacce grafiche e quindi non lo devo usare adesso giusto?
Per i testi, ho visto la traduzione italiana di thinking in c++ ma non mi sembra proprio adatto a uno che parte da zero... forse mi sbaglio.

SunBeam
4th July 2004, 15:16
Se ho capito bene Visual Studio 6 serve per le interfacce grafiche e quindi non lo devo usare adesso giusto?
No, per qualunque linguaggio basta un editor di testo ed un compilatore, ogni modo una "ide" cioè un programma tipo VisualStudio, è uno strumento comodissimo per programmare, praticamente essenziale.
Dicevo che visualstudio _è_ ad interfaccia grafica, ma non necessariamente ci devi fare programmi ad interfaccia grafica :D Ci puoi fare tutto.

Per i testi, ho visto la traduzione italiana di thinking in c++ ma non mi sembra proprio adatto a uno che parte da zero... forse mi sbaglio.
Cerca qualche guida tipo "fondamenti di...". Mi dispiace ma conosco solo il java!! :D

JabberWock
4th July 2004, 15:53
Non è vero che il .NET e' solo C#. C'e' anche il C++ dentro il .NET.

Puoi scaricare la beta del Visual 2005 gratuitamente da qui e dargli un occhiata
se vuoi:

http://lab.msdn.microsoft.com/express/

Inoltre il C# non e' un altro linguaggio. E' praticamente identico
al C++, solo che per usare i puntatori devi scrivere prima la keyword
"unsafe", altrimenti non te li fa usare. Lo hanno fatto cosi' perche'
i puntatori erano la principale causa di bug nei vecchi linguaggi
come C e C++, e oggi si tende ad evitarli come la peste
nei grandi progetti.

Il C++ e' troppo complicato per iniziare, io fossi in te imparerei
prima il C# e poi da quello passerei a C++, aggiungendo in pratica
i puntatori e la gestione manuale della memoria (il C# la gestisce
in automatico). Le altre sono differenze superficiali, cambiano solo delle
notazioni, e il fatto che le struct e le classi sono uguali (mentre in
C# le struct sono value type e le classi reference type), invece dei
template ci sono i generics, etc.

Anche Smiley consiglia di imparare prima il C# e poi approfondire
il C++ (ha scritto un libro anche sul C# con la stessa struttura della
classe che fa le domande, molto bello...).

gliss
4th July 2004, 16:22
Originally posted by JabberWock@Jul 4 2004, 15:53 PM
Anche Smiley consiglia di imparare prima il C# e poi approfondire
il C++ (ha scritto un libro anche sul C# con la stessa struttura della
classe che fa le domande, molto bello...).
Dipende ciò che devi farci, se impari il C# bene e vuoi sviluppare su piattaforma M$ allora praticamente hai finito, studiare il C++ successivamente al C# potrebbe avere solo una valenza didattica.

Poi Visual Studio 6 è la suite di sviluppo m$ precedente a Visual Studio .NET, comprende il Visual C++ 6, Visual Basic 6.0, VJ++ 6, Visual Interdev e altre amenità varie.
Cmq. se vuoi studiarti il C++, non ti consiglio di partire dal C++ m$, perchè studiare le librerie MFC di m$, con cui si programma Windoze, da zero, è come tirarsi una martellata sui c*****i.

Partirei e sono d'accordo su questo con VS .NET e C#.
Per piattaforma linux C e C++ con comiplatore GNU (gcc).

Ciauz.

SkylineGTR
4th July 2004, 16:29
Grazie mille dei consigli! cmq io do un occhiata al C++ per un po', se poi vedo che è un casino passo al C#. il problema è che non ho molto tempo, perchè quando farò domanda per entrare all'università di Liverpool, ovvero poco prima di natale, devo saper fare qualcosa in C++. Smiley dice che il libro di C++ non richiede alcuna esperienza di programmazione, quindi io ci provo...
Cmq io delle parole tecniche che avete usato non c'ho capito praticamente nulla :D , cmq visto che siete tutti molto competenti in materia, mi dite se la riga "using namespace std;" è necessaria in questo codice?

/*
Questo programma visualizza "I love C++" sullo Standard Output
*/

#include <iostream>

int main ()
{
using namespace std;

cout << "I love C++";
return 0;
}

Nel libro Smiley non ce la scrive, ma quando scarico il codice dal sito della mcgraw-hill questa riga c'è...
cmq prima di provare il compliatore borland che dovrebbe essere un casino da configuare, ho provato a usare visual c++ 6.0, che però mi sembra difficile da usare, e quando lo compilo fa un casino... mi crea un casino di file e cartelle...
Se installo anche il compilatore borland che basta una linea per creare un .exe mi sapete dire come configurarlo? ah, e non è che winzozz si arrabbia se ci sono due compilatori come fa con gli antivius vero?
grazieeeee!!! :D

JabberWock
4th July 2004, 16:36
Originally posted by gliss@Jul 4 2004, 16:22 PM
Partirei e sono d'accordo su questo con VS .NET e C#.
Per piattaforma linux C e C++ con comiplatore GNU (gcc).



Non e' vero, anche su Linux puoi sviluppare in C#.
C# e' un linguaggio standard, non e' proprietario
Microsoft, ne' un esclusiva Windows.
Anzi, la versione Open Source di C# per Linux secondo me
e' anche migliore, perche' e' finanziata da Novell per competere
con Microsoft. Si chiama MONO:
http://www.mono-project.com/about/index.html
Oltre a Windows.Forms supporta anche GTK e
molte altre importanti librerie Linux che .NET non ha.

In piu' lo stesso sorgente che scrivi in C# su MONO lo puoi
portare su Windows e ricompilarlo con il visual senza cambiare
nulla, e in pratica hai il meglio dei due mondi.

SkylineGTR
4th July 2004, 16:40
Accidenti, mi sono sbagliato. Smiley scrive using namespace std; un paio di pagine dopo, scusate... cmq ora installo il compilatore borland... inizierò esattamente come mi dice smiley ;)

SunBeam
4th July 2004, 16:42
"Non è vero che il .NET e' solo C#. C'e' anche il C++ dentro il .NET."
Era per farla breve. Prima avevo scritto C++ poi ho modificato, perché + in là ho nominato C# e non volevo confondergli le idee :D
Cmq. si nota la mia ignoranza sui i tool esistenti su windows :D

Ogni modo ogni linguaggio è + o - ostico all'inizio, la cosa importante è che scegli un linguaggio ch gira almeno su 3 piattaforme, quindi niente schifezze tipo basic. :D

SkylineGTR
4th July 2004, 16:47
Ho installato Borland bcc55... adesso come lo configuro??? il readme dice questo:

1. Run freecommandlinetools.exe; choose the
  drive and folder into which you want to
  install the free C++Builder 5 command line
  tool development system.
 
2. From the bin directory of your installation:
  a. Add "c:\Borland\Bcc55"
     to the existing path
  b. Create a bcc32.cfg file which will set
     the compiler options for the Include
     and Lib paths (-I and -L switches to
     compiler) by adding these lines:
     -I"c:\Borland\Bcc55\include"
     -L"c:\Borland\Bcc55\lib"
  c. Create an ilink32.cfg file which will set
     the linker option for the Lib path by
     adding this line:
     -L"c:\Borland\Bcc55\lib"

Prima di tutto io l'ho installato in C:\Programmi\Borland\bcc55\ quindi immagino che i percorsi nelle istruzioni cambiano... l'inglese lo capisco, ma non le istruzioni...
che devo fà? :confuso:

:D

JabberWock
4th July 2004, 16:52
Originally posted by SkylineGTR@Jul 4 2004, 16:29 PM
in materia, mi dite se la riga "using namespace std;" è necessaria in questo codice?


I namespace sono una tecnica che si usa in C++ (e anche in C#)
per evitare i conflitti tra i nomi dei membri.
Se non sai che cosa e' un namespace e' perche' stai seguendo solo
il libro di Smiley, vero?
Per imparare devi sempre avere due generi di libri: un tutorial,
come quello di Smiley, che ti fa fare una serie di passi guidati
ma non e' sistematico, e un libro per reference, che invece elenca
tutti i concetti in ordine alfabetico in modo che quando li incontri
li puoi cercare e studiarne la sintassi.
Il piu' usato come reference e' questo:
Herbert Schildt "C++ la guida completa", della Mc Graw Hill.
Ma ce ne sono moltissimi.

gliss
4th July 2004, 16:54
Non e' vero, anche su Linux puoi sviluppare in C#.
C# e' un linguaggio standard, non e' proprietario
Microsoft, ne' un esclusiva Windows.

Mai detto il contrario :D
Intendevo dire che su piattaforma m$ magari è più utile concentrarsi su C#, che non su Linux, in quanto linguaggio creato (e ottimizzato per Windoze).

Cmq. si nota la mia ignoranza sui i tool esistenti su windows

E la mia per quelli di Linux :P

Cmq. mo' basta xchè sto togliendo spazio e attenzione a Skyline :angel:

SkylineGTR
4th July 2004, 17:00
Ok Jabber, ora vedo di rimediare un libro di reference... Smiley spiega cosa vogliono dire le varie righe, ma hai ragione un libro di reference mi serve... grazie... :D

cmq non c'ho capito niente su come configurare borland bcc55...

JabberWock
4th July 2004, 17:07
Originally posted by SkylineGTR@Jul 4 2004, 16:47 PM
Ho installato Borland bcc55... adesso come lo configuro??? il readme dice questo:
:D
Non e' cosi' difficile configurare un compilatore da command line,
ma sinceramente oggi con gli IDE che ci stanno ti stai complicando
la vita inutilmente.

Prova ad usare un IDE C++ che supporta il Borland come questo:
http://www.fifsoft.com/relo/

SunBeam
4th July 2004, 17:19
2. From the bin directory of your installation:
a. Add "c:\Borland\Bcc55"
to the existing path
aggiungi quella directory alla path. Dov'è nel file autoexec? boh! preistoria :lol:

b. Create a bcc32.cfg file which will set
the compiler options for the Include
and Lib paths (-I and -L switches to
compiler) by adding these lines:
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
Crea il suddetto file con dentro quelle righe.

c. Create an ilink32.cfg file which will set
the linker option for the Lib path by
adding this line:
-L"c:\Borland\Bcc55\lib"
Stessa cosa.
Scusate ragazzi per la preistoria, non ho resistito :lol:

SkylineGTR
4th July 2004, 17:26
ho provato anche Relo... ma quando provo a compliare mi dice failed con 2 errori... :muro:
unable to open include file iostream
undefined symbol cout in function main()

ragà, non pensavo che il tutto fosse così complesso... almeno pensavo che i primi esempi li sarei riusciti a fare, ma qui sto ancora cercando di far funzionare i vari programmi!!! :pianto:

ancora non capisco come configurare il borland... ma allora so scemo io...

SunBeam
4th July 2004, 17:30
Troppo devi camminare! :lol:
Scherzo ti auguro buona fortuna, prova ad iniziare col programma consigliato da JabberWock:
http://www.fifsoft.com/relo/
:)

Fry
4th July 2004, 17:32
Forse arrivo tardi ma secondo me non è tanto utile installarsi 2 o 3 Gb di software quando l'obiettivo è scrivere il classico "Hello World" :P

Probabilmente per imparare a scrivere e compilare in C una cosa tipo Turbo C (http://www.acms.arizona.edu/education/opti_583x/sample_code/downloadTC.html) basta e avanza, se ti serviva per il C++ cerca su google C++ Compiler se ne trovano di ufficiali borland e non, alcuni funzionano sotto Dos, non vanno configurati e occupano pochi Mb...

Auguri :alpc:

P.s. Ma in allegato al libro non c'era niente?!? :huh:


EDIT:
La path è finita nelle variabili d'ambiente ;)

JabberWock
4th July 2004, 17:34
Originally posted by SkylineGTR@Jul 4 2004, 17:26 PM

unable to open include file iostream
undefined symbol cout in function main()



iostream.h e' un file header, e non trovandolo non trova
la funzione cout che sta dentro di essi. Smiley non ha spiegato la differenza
tra i file con estensione .h e quelli con estensione .cpp?
Al compilatore devi dire dove trovare i file include, o configurando l'IDE
o il programma per compilare.
Comunque non ti devi spaventare. Quello degli include che
non si trovano e' un problema che ha ammorbato tutti, tanto che
nel C# li hanno finalmente eliminati, e tutto compila sempre
alla prima botta.
Insomma, quando ti dicevo di partire dal C#, c'era
una ragione ecco... ;)

SkylineGTR
4th July 2004, 17:42
no in allegato al libro non c'era niente... ma scusate non posso fare come dice Smiley? Uso il vecchio e comodissimo Blocco Note per scrivere... e poi con il DOS lo compilo usando il borland... per me andrebbe benissimo, perchè con i vari IDE io mi incasino troppo... sono troppo prinicipiante per quelli... troppi bottoni, finestre e messaggi strani. e poi dopo aver speso 33 euro per un libro vorrei sfruttarlo al massimo, e per seguirlo devo fare come dice smiley... mi spiegate come lo spieghereste ad un deficente che non ha mai usato un pc come configuro sto cavolo di borland? :D solo a sentire il nome mi sta antipatico! :rabbia2: io vado in C:\Programmi\Borland\bcc55\Bin\
questa è la bin directory of your installation giusto? ecco, mo non ci capisco + niente! :(
graziee!

JabberWock
4th July 2004, 17:59
Originally posted by SkylineGTR@Jul 4 2004, 17:42 PM
borland? :D solo a sentire il nome mi sta antipatico! :rabbia2: io vado in C:\Programmi\Borland\bcc55\Bin\
questa è la bin directory of your installation giusto? ecco, mo non ci capisco + niente! :(

Se entri in panico nel risolvere le dipendenze dei files
nella compilazione, figuriamoci cosa farai quando
dovrai risolvere quelle della pointer arithmetic.
Sei proprio sicuro che non ti convenga fare un mese
di C# e poi passare a C++ quando ti sei fatto un
idea piu' chiara? Programmare non e' facile, te lo
assicuro. Se ti scoraggi all'inizio, c'e' un alto rischio
di abbandono.

In C# ti basta scrivere il codice con il blocco note:

using System; //namespace contenente la classe Console

/* Il mio primo programma
* scritto in C# */
class ClasseHello
{
static void Main()
{
Console.WriteLine("Hello World!");
}
}


e poi al prompt:

csc Hello.cs

Premere invio, e lui compila. Sempre. Nessun mal di test,
e puoi concentrarti sulla programmazione, che e' quello
che conta.
Qui trovi alcuni compilatori C# gratis:
http://www.thefreecountry.com/compilers/csharp.shtml

Se invece sei deciso a continuare con il C++, allora
prova a seguire questa guida:
http://cplus.about.com/gi/dynamic/offsite....21205%2C00.html (http://cplus.about.com/gi/dynamic/offsite.htm?site=http://community.borland.com/article/0%2C1410%2C21205%2C00.html)

SkylineGTR
4th July 2004, 18:08
Hmm ora provo... se mi dite tutti che C# è meglio io mi fido... lunedi provo a vedere se in libreria mi cambiano il libro con uno di C#... però vededo il codice che hai scritto è molto diverso da quello scritto da Smiley per fare praticamente la stessa cosa...

JabberWock
4th July 2004, 18:31
Originally posted by SkylineGTR@Jul 4 2004, 18:08 PM
Hmm ora provo... se mi dite tutti che C# è meglio io mi fido... lunedi provo a vedere se in libreria mi cambiano il libro con uno di C#... però vededo il codice che hai scritto è molto diverso da quello scritto da Smiley per fare praticamente la stessa cosa...


Ti sembra molto diverso perche' ora non sai nulla di programmazione.
Ma dopo un poco ti renderai conto che e' praticamente la stessa
cosa.

using System e' l'equivalente di namespace std (il namespace che
usiamo si chiama System in C# e std in C++, ma sono semplicemente
gruppi di nomi di funzioni)

#include <iostream.h> non c'e' perche' come ti ho detto in C# non
serve piu'. Basta che gli dai i namespace, e il compilatore risolve le dipendenze
automaticamente.

int main(void) e' come a static void Main(). I modificatori
int, static, void, etc. sono cose che scegli tu, non sono prefissate
(a parte il fatto che il main e' statico). L'unica differenza e' che
main e' minuscolo in c++, e Maiuscolo in C#. Ma questo e' una
cosa che hanno fatto per rendere piu' chiaro che quella e' l'entrata
del programma.

cout << "Hello." << endl;
E' l'equivalente di Console.WriteLine(). Il cout significa console out. E' una
funzione che si chiama in modo diverso, ma e' la stessa, cioe' scrive
qualcosa sulla console DOS. L'operatore << e' l'unica vera differenza, ma una volta
che capisci che cosa e', ti rendi conto che l'approccio del C# dipende dal fatto che
esistono le stringhe che in C++ non ci sono (una frase la devi rappresentare con
una sequenza di char, invece che con una singola variabile string).

return 0; la puoi mettere anche in C#, dipende se vuoi che
la funzione restituisca un valore.
Quella di Smiley ritorna un int, cioe' un intero, e quindi devi restituirgli
qualcosa. Spesso quelle del Main vengono usate come codici di errore.

class ClasseHello e' invece la classe dentro cui ti trovi. Anche in C++
ci sono le classi, ma mentre sono opzionali, per cosi' dire, in C# tutto
e' una classe (perche' implementa la programmazione ad oggetti
completamente, mentre in C++ era ancora parziale), e quindi sei
obbligato a metterla.

Comunque se nei prossimi giorni ti servira' una mano, scrivi pure.
E ricorda che la virtu' del programmatore e' la pazienza. ;)

SkylineGTR
4th July 2004, 18:45
OK, quel link che mi ha dato jabber per configurare borland è sritto bene, ma ho ancora problemi. quando scrivo bcc32 nomefile.cpp dice questo:

Unable to open include file 'iostream'
Namespace name expected in function main()
Undefined symbol 'cout' in function main()

stessi errori di prima. prima di andare a letto stasera tutto incavolato, vorrei riuscire a compilare questo banalissimo codice... che cosa manca nella configurazione di borland? perche continua a darmi problemi?

cmq spero proprio di riuscire a cambiare sto libro...

SkylineGTR
4th July 2004, 19:19
anzi, non vi preoccupate, mi sono convinto. imparerò prima il C#. :D
Adesso però devo ricominciare proprio da zero. con C# posso usare notepad per scrivere il codice, giusto? e poi serve sempre un compilatore per creare il .exe no?
all'inizio di questo thread si parlava di visual studio.net .non so, ditemi voi quello che secondo voi è il modo migliore per cominciare. se poi avete anche qualche testo da consigliarmi che parta proprio da zero, ben venga! dopo un giorno passato a combattere con tutti sti programmi non ci capisco + niente...
grazie! :D

JabberWock
4th July 2004, 23:36
Originally posted by SkylineGTR@Jul 4 2004, 19:19 PM
anzi, non vi preoccupate, mi sono convinto. imparerò prima il C#. :D
Adesso però devo ricominciare proprio da zero. con C# posso usare notepad per scrivere il codice, giusto? e poi serve sempre un compilatore per creare il .exe no?
all'inizio di questo thread si parlava di visual studio.net .non so, ditemi voi quello che secondo voi è il modo migliore per cominciare. se poi avete anche qualche testo da consigliarmi che parta proprio da zero, ben venga! dopo un giorno passato a combattere con tutti sti programmi non ci capisco + niente...
grazie! :D

Innanzitutto ti consiglio di fare riferimento ad una
buona comunita' online sul C#, con un forum di
di persone esperte, ad esempio questo:

http://www.visualcsharp.it/

Ma non ti consiglio il loro tutorial, perche' anche se
e' scritto bene, è per persone che sono già nel
mondo della programmazione da parecchio tempo.

Questo e' invece un tutorial per iniziare preso da un
libro molto piu' accessibile ai principianti:
http://pdf.apogeonline.com/libri/02010/ebo...ook/giorno1.pdf (http://pdf.apogeonline.com/libri/02010/ebook/giorno1.pdf)

Scarica il .NET framework in italiano dal sito Microsoft,
e inizia a seguire il tutorial indicato qui sopra.
Se riesci ad arrivare alla fine, poi potrai comprare un libro sul
C# con piu' consapevolezza di cosa ti serve capire.
Magari potrai arrivare alla conclusione che non ti serve
un libro, perche' ci sono ottimi tutorial in rete.

Ad esempio questo:
http://www.softsteel.co.uk/tutorials/cShar...p/contents.html (http://www.softsteel.co.uk/tutorials/cSharp/contents.html)

Naturalmente devi sapere l'inglese, ma se non lo sai,
e' meglio che ti metti a studiare quello di linguaggio che il c++! ;)

SkylineGTR
5th July 2004, 01:18
grazie mille dei link! domani mi metto subito al lavoro! per fortuna l'inglese lo parlo come l'italiano, quindi non dovrei avere problemi... grazie ancora a tutti quelli che mi hanno seguito da questa mattina fino ad ora... spero proprio che prima di natale qualcosa di C# (e magari anche di C++) mi sia entrato in zucca!
grazie a tutti! cmq ci sentiremo presto perchè non credo che riuscirò a finire i vari tutorial senza qualche problemino! :D
ciao ciao,




SkY.

SunBeam
5th July 2004, 12:06
Già che ci sei, perché non inizi a programmare su linux? Almeno sotto il sedere hai un "real os" :D
Eppoi la comunità windows non ha certo bisogno di nuovi programmatori :lol:

(sono il diavoletto cattivo che ti tenta....:D)

Emanem
5th July 2004, 12:13
Saro' antico o saro' troppo bacchettone, ma prima di imparare ad usare un linguaggio, non sarbbe bene imparare a programmare?

Il mio consiglio e':

imparare a programmare -> C -> C++ -> e poi imparare ad usare il VS .NET 2003

Ciao, Emanem! ;)

Ps. Se sai gia' programmare ritiro la mia affermazione.

SunBeam
5th July 2004, 13:45
Anch'io la vedo così, anche se ho iniziato col java :D

JabberWock
5th July 2004, 15:16
Originally posted by Emanem@Jul 5 2004, 12:13 PM
Saro' antico o saro' troppo bacchettone, ma prima di imparare ad usare un linguaggio, non sarbbe bene imparare a programmare?


Non sono d'accordo. I percorsi didattici moderni stanno invece
muovendosi proprio in direzione opposta. Si e' visto che e'
impossibile per gli studenti comprendere i concetti astratti
se non hanno prima un esperienza pratica a cui fare riferimento.

Il cervello umano parte sempre dal particolare, e poi va al
generale astraendo dalla propria esperienza.
Questo e' in accordo con le recenti scoperte delle scienze
cognitive, che hanno sostanzialmente ribaltato il vecchio
detto "dalla teoria alla pratica" in "dalla pratica alla teoria".

Il cervello umano e' sostanzialmente induttivo, non deduttivo,
come aveva gia' capito Aristotele parecchi secoli fa.


Analitici secondi, 81a 40-81b 9



[81a] [...] noi impariamo o per induzione, o mediante dimostrazione. Orbene, la dimostrazione parte [81b] da proposizioni universali, mentre l’induzione si fonda su proposizioni particolari; non è tuttavia possibile cogliere le proposizioni universali, se non attraverso l’induzione, poiché anche le nozioni ottenute per astrazione saranno rese note mediante l’induzione, quando cioè si provi che alcune determinazioni appartengono ad un singolo genere in quanto tale, sebbene non risultino separabili dagli oggetti della sensazione. D’altro canto, è impossibile che chi non possiede sensazione venga guidato induttivamente. La sensazione si rivolge infatti agli oggetti singolari: in tal caso, non è possibile acquistare la scienza di questi oggetti, dato che da proposizioni universali non la si può trarre senza induzione, e che mediante l’induzione non la si può raggiungere senza la sensazione.

(Aristotele, Opere, vol. I, Laterza, Bari, 1973, pagg. 300-301)

SkylineGTR
5th July 2004, 19:31
già trovo difficile cominciare a programmare con windows, figuriamoci se ci provo con linux che ho usato una settimana in tutta la mia vita! anche io sono convinto che linux sia dieci mila volte meglio di windows, ma non ho computer disponibili su cui installarlo, e non se ne parla proprio di usare quello con cui sto scrivendo ora. dovrei incasinare i vari hard disk che hanno tutti un compito preciso e non posso perdere NULLA di quello che c'è sopra. cmq il tutorial che mi avete consigliato sembra ottimo. io ne ho trovato un'altro che si chiama C#: your visual blueprint for building .net applications. sono 300 pagine e sembra estremamente serio e ben scritto. ormai ho deciso che imparerò il C# e poi passerò al C++... speriamo bene!

SkylineGTR
5th July 2004, 21:20
Cmq non ho capito bene che cos'è il .NET Framework. Io ho scaricato la SDK dal sito della microsoft, sui 100 mega, ma una volta installato non vedo nessun programma vero e proprio. ma che roba è? se microsoft fa scaricare una cosa del genere a gratis non credo sia buono quanto il visual studio.net 2003 che si trova in giro... (:P) se uso quello va bene lo stesso no? tanto problemi di spazio non ne ho...

JabberWock
6th July 2004, 03:51
Originally posted by SkylineGTR@Jul 5 2004, 21:20 PM
Cmq non ho capito bene che cos'è il .NET Framework. Io ho scaricato la SDK dal sito della microsoft, sui 100 mega, ma una volta installato non vedo nessun programma vero e proprio. ma che roba è? se microsoft fa scaricare una cosa del genere a gratis non credo sia buono quanto il visual studio.net 2003 che si trova in giro... (:P) se uso quello va bene lo stesso no? tanto problemi di spazio non ne ho...

Usa quello che vuoi, comunque il framework ti
installa il compilatore gratuito csc.exe in una directory (mi pare
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.e xe).

pieggi
7th July 2004, 21:08
@piedamaro:
senza flames, avendoli usati entrambi, devo dirti che su molte cose .net è più avanti di java, anche se la scopiazzatura è palese. Nonostante questo reputo java un linguaggio di programmazione "innovativo", e la concorrenza fa bene a tutti (i generic in java, la reflection e altre cose prima di .net a quanto ne so non esistevano, ora sì).
Semplicemente .net ha avuto tempo di "studiare" il prodotto concorrente ed è uscito con le stesse cose della concorrenza più nuove funzionalità.
Dipende dalgli usi che ne devi fare :)
----

Il .net NON è un linguaggio di programmazione, ma una "base comune" sopra la quale poggiano i diversi linguggi di programmazione.

Per capirci, potrei creare un programma (o una libreria) mettendo insieme componenti scritti in linguaggi diversi senza problema, ad es:
1 componente in c#
1 in J#
1 In c++
1 in Fortran .net ( :lol: ) però il mio prof dice che esiste :P
1 in un'altro linguaggio che supporta .net

e poterli combinare tutti assieme in un unico file.
Questa è una cosa molto potente

Gian-Pa
11th July 2004, 17:26
@pieggi
Ho letto la tua firma...
E mi sembra molto bello questo progetto che stai sviluppando! :clap:
Peccato che non sappia programmare e non possa aiutarti. :muro:

So solo php, html e quel poco di mysql (leggendo il source di phpbb e invisionpowerboard :D)

CMQ se hai bisogno di qualcosa (Es. spargere la voce sul tuo progetto, spazio web, ecc.) ti posso sicuramente dare più di una mano...
Anche perchè il tuo progetto è molto bello, utile e allo stesso tempo semplice (come idea :P )
Complimenti! :clap: :clap:

Quindi se hai bisogno fai un fischio :ok:

PS: Bellissimo il programma Notepad++ per scrivere codice...
soprattutto per la possibilità di "stringere" il codice per non dover vedere tutto ma solo quello che ti serve :D

Grazie ancora, continua così e non scoraggiarti!! :bevi: :bevi:

SunBeam
11th July 2004, 17:48
@pieggi: sono d'accordo, intendevo che come sintassi è identica al java, ciò non toglie che la tecnologia .net sia molto interessante poiché permette, tramite una virtual machine, di eseguire codice scritto con vari linguaggi di programmazione tra cui lo stesso java.
Ancora più importante è che .NET è uno standard ecma e questo ha permesso la nascita di ambienti di sviluppo alternativi a quello m$. Vedi mono:
http://www.go-mono.com/
E' una piattaforma di sviluppo .net alternativa a quella m$, che anche se è un progetto giovane, può contare sull'appoggio di aziende come novell e quindi ha già dato dei buoni frutti: ad esempio è già disonibile un'ide completo: monodevelop.
Mono è disponibile anche per windows.

pieggi
11th July 2004, 18:10
@Piedamaro: infatti, anche se java su .net non l'ho ancora compilata.. :unsure:

Però sicuramente proverò :D
Sai mica se posso fare un copia-incolla o devo anche adattare il codice alla guidi .net (o ci pensa lui da solo)?

@Gia-pa:
a breve avrai un pm :alpc:

SunBeam
11th July 2004, 18:35
Puoi usare sia le classi java, sia le classi .net, tutto programmando in java.
Vedi qui:http://www.ikvm.net/
E' un compilatore JIT che traduce bytecode JVM in istruzioni CIL in modo tale che possano essere interpretate dal compilatore JIT nativo di mono.
Anche Eclipse è stata fatta girare sotto mono! :)
Ci sono i pacchetti rpm in giro.....

Trovi più informazioni sul sito del progetto mono.

pieggi
11th July 2004, 18:50
Piedamaro, io mono non l'ho mai usato, ho aggaratisse visual studio .net gentilmente fornito dalla Microsoft ™&reg;&copy;(e altro) ( :lol: ) tramite un accordo con l'università :P
Quel che dici va anche con visual studio? :P

SunBeam
11th July 2004, 19:50
:lol:
Se intendi con l'ide della m$?
Non te lo so dire non penso...
Su osx e linux c'è monodevelop che è una ide completa scritta dal team di mono, e non c'è bisogno neanche degli accordi "aggaratisse" per usarla! :D
ma è ispirata a SharpDevelop che è un' ide OpenSource per .net su windows.
(penso che ci sia il modo di usarla assieme a mono su windows, forse)

MonoDevelop http://www.monodevelop.com (http://www.monodevelop.com/)


http://www.monodevelop.com/images/screenshots/newshot.png

SharpDevelop http://www.icsharpcode.net/OpenSource/SD/
http://static.icsharpcode.net/OpenSource/SD/teaser_beta1.png

beppeb
19th August 2004, 03:19
Non sono d'accordo: il futuro è solo per Java / C#,
C e C++ espongono il programmatore novello a problematiche di basso livello, come (ma non solo) i puntatori, che potrebbero non servirgli mai.
E' vero che "capire cosa c'è sotto" è importante per diventare un buon programmatore, ma se non deve diventare la sua professione è meglio dedicare il tempo in un altro modo.

beppeb
19th August 2004, 03:30
Sorry, :muro:
avevo letto solo la pagina [1] dei messaggi,
mi riferivo al discorso C,C++,...
mi associo alle risposte postate successivamente

Aktarus
16th September 2004, 17:52
Originally posted by SkylineGTR@Jul 4 2004, 13:29 PM
Ho comprato un bel libro per imparare il C++: "Lezioni di C++" di John Smiley, edizione McGraw-Hill. è un libro che insegna il C++ in un modo un po' particolare. Racconta la storiella di una classe impegnata in un proggetto scolastico, e allo stesso tempo ti insegna quello che gli studenti stanno imparando... ecco, veniamo al punto. Il programma che gli studenti devono creare non avrà un interfaccia grafica windows, sarà eseguito in DOS. Nel libro dice di scrivere il codice sorgente con blocco note e poi tramite DOS compilarlo con il compilatore borland, scrivendo "bcc32 nomefile.cpp". A questo punto io vorrei sapere a cose serve il Microsoft Visual Studio??? e poi che differenza c'è tra Visual Studio 6 e Visual Studio.NET??? che cavolo è il .NET??? mi sto ammazzando ma non riesco a capire, e quindi la domanda è: che cosa uso per imparare?
Grazie Mille!!! :allah:
Indipendentemente dal linguaggi ad oggetti che usi, ti conviene prima imparare la programmazione ad oggetti "come si deve". Per fare cio' ti conviene usare, come linguaggio di programmazione ad oggetti, uno che sia didatticamente adatto. Qui da noi in universita' usano Java. Poi, una volta che avrai imparato, potrai usare tutti i linguaggi a oggetti che vuoi, e la curva di apprendimento sara' minima.