Strutture Dati e ANSI C
Ragazzi il mio prof di informatica mi ha consigliato alcune dispense sulle strutture dati per accedere in modo più semplice alla programmazione in c++!
Ma ragazzi credetemi sto capendo ben poco!
Avete qualche libro o testo in pdf da suggerirmi?
Io conosco solo la programmazione in c,ma il testo dice di fare riferimento alla programmazione ANSI C,ma qual è la differenza?
Ma ragazzi credetemi sto capendo ben poco!
Avete qualche libro o testo in pdf da suggerirmi?
Io conosco solo la programmazione in c,ma il testo dice di fare riferimento alla programmazione ANSI C,ma qual è la differenza?

Risposte
(Non ho capito bene qual è il busillis).
ANSI C è lo standard statunitense, ma quando ci si riferisce ad esso normalmente si intende (ad oggi) lo standard C99 internazionale.
http://en.wikipedia.org/wiki/C99
C'era qualcosa segnalato nell'apposita discussione "dispense et al". Comunque dà un'occhiata a
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
ANSI C è lo standard statunitense, ma quando ci si riferisce ad esso normalmente si intende (ad oggi) lo standard C99 internazionale.
http://en.wikipedia.org/wiki/C99
C'era qualcosa segnalato nell'apposita discussione "dispense et al". Comunque dà un'occhiata a
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
Il linguaggio C è stato standardizzato per la prima volta nel 1989 dai due organi di standardizzazione ANSI e ISO (lo standard ISO è stato creato nell'anno successivo ma è uguale al precedente). Prima di questa standardizzazione si faceva principalmente riferimento alla descrizione data da Kernighan e Ritchie nel loro libro sul C (Ritchie è il creatore del linguaggio), ma esistevano una miriade di implementazioni diverse, con diverse funzioni standard e anche comportamenti diversi. Vista l'ampia diffusione del linguaggio si decise di standardizzare il linguaggio e questo diede vita all'ANSI C (in opposizione inizialmente al K&R C o alle altre implementazioni precedente). La standardizzazione dell'89 ha apportato molte differenze (le funzioni venivano per esempio dichiarate in modo diverso) ma ha finito per essere la versione del linguaggio che la maggior parte delle persone ha imparato ad amare/odiare e che usa abitualmente. Alla fine del secolo scorso (quanto fa figo aver visto il cambio di secolo e poter dire una cosa del genere?!) si è deciso che il C doveva essere aggiornato e questo sforzo ha dato vita ad un nuovo standard, pubblicato nel 1999. Questo è il nuovo ANSI C, ma normalmente si preferisce fare riferimento ai due standard come C89 e C99. Per molte persone lo standard de facto è ancora quello vecchio ed è MOLTO probabile che tu abbia imparato il C89. Il C99, uscito quando il C era in declino in favore di linguaggi come il C++ negli ambienti main stream è stato per lo più ignorato. Io credo sia un peccato perché le aggiunte al C sono state molte e interessanti, ma nessuna di essa è mai stata particolarmente sentita e richiesta. Il C è infatti ormai principalmente usato in ambienti in cui i tempi di evoluzione dei tools e dei programmi è molto lento. In cui i compilatori C non supportano neanche completamente la versione del C89. Il C99 è stato senza mezzi termini un completo fallimento. Ad oggi, dopo più di 10 anni NESSUN compilatore C lo supporta appieno*. Se confrontiamo questo fatto con il supporto parziale da parte di molti compilatori con lo standard del C++ che dovrebbe uscire a breve ma neanche ancora uscito, ci fa capire come l'interesse per quel linguaggio è molto poco.
Ma veniamo invece ad altro. Ma fammi capire, il tuo professore ti ha dato un testo per la programmazione di strutture dati in C, quando in C++ è più semplice?! Non capisco sinceramente che legami ci sia tra un libro di strutture dati e accedere alla programmazione in C++. Si vede che il tuo professore è rimasto a circa 10/15 anni fa in cui il C++ si riteneva solo il C con in più le classi. Qual'è esattamente il tuo obiettivo?
* Neanche gcc. È da quando ho iniziato a programmare che lo supporta in parte e considerando che supportava già molte funzionalità inserite poi nello standard come estensioni proprie.. Si può dare un'occhiata qui se si fosse interessati.
Ma veniamo invece ad altro. Ma fammi capire, il tuo professore ti ha dato un testo per la programmazione di strutture dati in C, quando in C++ è più semplice?! Non capisco sinceramente che legami ci sia tra un libro di strutture dati e accedere alla programmazione in C++. Si vede che il tuo professore è rimasto a circa 10/15 anni fa in cui il C++ si riteneva solo il C con in più le classi. Qual'è esattamente il tuo obiettivo?
* Neanche gcc. È da quando ho iniziato a programmare che lo supporta in parte e considerando che supportava già molte funzionalità inserite poi nello standard come estensioni proprie.. Si può dare un'occhiata qui se si fosse interessati.
Innanzitutto vi ringrazio per tutti i chiarimenti e per i vari link consigliati!
Apatriarca vorrei imparare la programmazione in c++,perché penso che oggi sia più utile anche nel mondo del lavoro!
In realtà volevo semplicemente imparare un nuovo linguaggio,e allora vorrei prendere due piccioni con una fava!
Parlai con il prof di questa cosa,e lui ne fu entusiasta consigliandomi di imparare bene le strutture dati,in modo da facilitare il passaggio. Ti dico la verità apatriarca,oltre l'array e le liste,gli alberi e i grafi sono abbastanza oscuri!
Gli algoritmi presentati sul libro differiscono leggermente dal c che conosco io e quindi dopo aver interpretato l'algoritmo capirlo è veramente dura!
Forse sarà che non sono in uno stato ottimale,ma veramente mi risulta difficile!
Apatriarca vorrei imparare la programmazione in c++,perché penso che oggi sia più utile anche nel mondo del lavoro!
In realtà volevo semplicemente imparare un nuovo linguaggio,e allora vorrei prendere due piccioni con una fava!

Parlai con il prof di questa cosa,e lui ne fu entusiasta consigliandomi di imparare bene le strutture dati,in modo da facilitare il passaggio. Ti dico la verità apatriarca,oltre l'array e le liste,gli alberi e i grafi sono abbastanza oscuri!
Gli algoritmi presentati sul libro differiscono leggermente dal c che conosco io e quindi dopo aver interpretato l'algoritmo capirlo è veramente dura!
Forse sarà che non sono in uno stato ottimale,ma veramente mi risulta difficile!
Non c'è secondo me alcuna ragione per dover imparare le strutture dati per capire il C++. Imparare gli algoritmi e le strutture dati è ovviamente un fine di per se nobile e importante, ma non è per niente utile. Seguono alcuni consigli per imparare il C++. Normalmente quasi tutti i libri partono dal C e arrivano alle funzionalità del C++, ma a me non è un approccio che piace. Se vuoi provare un approccio alternativo, che parte subito dalle cose più interessanti puoi dare un'occhiata a Accelerated C++. Per un approccio più convenzionale, considerando anche che tu conosci già un po' del C e che il suddetto libro è gratuito, consigli il libro Thinking C++ di Eckel già linkato da Rggb. C'è poi la bibbia del creatore del linugaggio. Ci sono poi anche altre cose da studiare oltre la sintassi (ogni linguaggio ha una serie di convenzioni e metodi di programmazioni tutti suoi, il C++ non fa eccezione), ma questo arriverà dopo.
Quindi secondo te dovrei lasciar stare le strutture? Ormai dato che ci sono vorrei capirle!
Ma lo studio delle strutture dati e degli algoritmi non è qualcosa che puoi fare in poco tempo (è un argomento MOLTO più vasto del C++). Che libro ti ha consigliato?
Una dispensa, questo libro: Demetrescu Camil, Finocchi Irene, Italiano Giuseppe - Algoritmi e Strutture Dati,e inoltre uno in inglese Mastering Algorithms with C.
"Mrhaha":
... questo libro: Demetrescu Camil, Finocchi Irene, Italiano Giuseppe - Algoritmi e Strutture Dati ...
Il libro è molto buono. Però come dice apatriarca, per capire come programmare in C++ magari un approccio diretto è migliore, condivido infatti:
"apatriarca":
Imparare gli algoritmi e le strutture dati è ovviamente un fine di per se nobile e importante, ma non è per niente utile.
magari sostituendo "per niente" con "poco (ai fini dell'apprendimento del C++)"