Repository 32bit  Forum
Repository 64bit  Wiki

c o c++ quale dei due?

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: c o c++ quale dei due?

Messaggioda kreen » lun apr 14, 2008 14:17

spina ha scritto:Ho sempre considerato il C IL linguaggio di programmazione e il C++ IL linguaggio di programmazione ad oggetti. C'è da dire che anche con il C si programma ad oggetti, anzi, credo che dopo aver imparato la programmazione ad oggetti non ne si può più fare a meno, e quindi diventa naturale plasmare il C sul paradigma ad oggetti. Quindi si inizia a programmare creando una struttura e una serie di funzioni che ne modificano lo stato. La differenza stà semplicemente nel modo in cui si invocano queste funzioni o metodi (nel caso della programmazione a oggetti).
Una volta che hai imparato questi due linguaggi, in particolare, una volta che hai imparato a programmare con il C e imparato il paradigma di programmazione ad oggetti con il C++, tutti gli altri linguaggi li puoi imparare facilmente.

:oops:
Intendi che se crei una struttura il C ti da gli strumenti per evitare di accedere ad un dato di questa struttura ovvero renderlo privato? O di creare un'altra struttura che ne erediti metodi ed attributi?
Scusa, non per fare l'avvocato del diavolo, ma non mi risulta che il C sia un linguaggio orientato agli oggetti o un linguaggio ad oggetti. :-k
Avatar utente
kreen
Linux 2.4
Linux 2.4
 
Messaggi: 228
Iscritto il: mer feb 01, 2006 18:32
Località: Verona
Slackware: 12.0
Kernel: 2.6.21.5-smp
Desktop: KDE

Re: c o c++ quale dei due?

Messaggioda puzuma » lun apr 14, 2008 15:55

cymon ha scritto:Infatti non sono molto d'accordo con quelli che vogliono imparare diciotto linguaggi, io credo che se ne debba imparare uno VERAMENTE BENE (ovvero non solo in merito alla sintassi, ma anche in merito alla filosofia che gli è sottesa) così da poterlo sfruttare in tutte le sue potenzialità.


Di tutti i consigli che ti hanno dato questo è l'unico sbagliato ... è mia personale esperienza e di molti altri che conosco quella che un programmatore DEVE imparare molti linguaggi, possibilmente con paradigmi diversi. Ogni linguaggio affronta a suo modo il "dialogo" con la macchina e imparare nuove prospettive fa solo bene, qualsiasi sia il tuo linguaggio preferito. Quindi scegli C o C++ con la certezza che prima poi dovrai imparare anche l'altro (e anche Java, python, ruby, lisp ...).

Detto questo io ritengo molto più naturale e semplice programmare ad oggetti e la programmazione strutturata molto limitata. Ricordati che più che il linguaggio è importante il paradigma sul quale si basa (strutturato/ad oggetti/funzionale) cambiare paradigma di solito vuol dire cambiare completamente l'archittetura del programma e a volte anche modo di pensare.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: c o c++ quale dei due?

Messaggioda Mario Vanoni » lun apr 14, 2008 16:27

puzuma ha scritto:
cymon ha scritto:Infatti non sono molto d'accordo con quelli che vogliono imparare diciotto linguaggi, io credo che se ne debba imparare uno VERAMENTE BENE (ovvero non solo in merito alla sintassi, ma anche in merito alla filosofia che gli è sottesa) così da poterlo sfruttare in tutte le sue potenzialità.


Di tutti i consigli che ti hanno dato questo è l'unico sbagliato ... è mia personale esperienza e di molti altri che conosco quella che un programmatore DEVE imparare molti linguaggi, possibilmente con paradigmi diversi. Ogni linguaggio affronta a suo modo il "dialogo" con la macchina e imparare nuove prospettive fa solo bene, qualsiasi sia il tuo linguaggio preferito. Quindi scegli C o C++ con la certezza che prima poi dovrai imparare anche l'altro (e anche Java, python, ruby, lisp ...).

Detto questo io ritengo molto più naturale e semplice programmare ad oggetti e la programmazione strutturata molto limitata. Ricordati che più che il linguaggio è importante il paradigma sul quale si basa (strutturato/ad oggetti/funzionale) cambiare paradigma di solito vuol dire cambiare completamente l'archittetura del programma e a volte anche modo di pensare.


Non so proprio, la mia esperienza di 23 anni di informatica.
Imparato a fondo UNIX/C su macchine che oggi fanno ridere.

Compilato: sempre e solo C, la mia "seconda casa".
C++? Cosa ci quadagno? Ogni linguaggio ha trabocchetti subdoli!

UNIX: awk, sed, tr ecc., non conosco, ne voglio conoscere perl/python/ruby.
L'eleganza vada a farsi benedire se bastano 30 sec ed una riga di awk!

IMVHO

Mario Vanoni
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: c o c++ quale dei due?

Messaggioda DaD » lun apr 14, 2008 16:28

Non ha detto che il C sia un linguaggio oop mi sembra ... ha solo detto che anche il C può essere adottato come linguaggio ad oo infatti modellando le strutture che ci offre C è possibile arrivare ad una gestione del codice che può essere paragonato all'oop.
Avatar utente
DaD
Linux 2.4
Linux 2.4
 
Messaggi: 371
Iscritto il: mer feb 07, 2007 18:19
Nome Cognome: Antonio Barra
Slackware: 13
Kernel: 3.0
Desktop: KDE 4
Distribuzione: Mac OS X

Re: c o c++ quale dei due?

Messaggioda targzeta » lun apr 14, 2008 16:36

kreen ha scritto:...
Intendi che se crei una struttura il C ti da gli strumenti per evitare di accedere ad un dato di questa struttura ovvero renderlo privato? O di creare un'altra struttura che ne erediti metodi ed attributi?...


No, intendevo dire semplicemente quello che ho detto, che crei una struttura e delle funzioni che ne modificano lo stato.
Non ho detto che il C è orientato agli oggetti o è un linguaggio ad oggetti, ho detto che si può plasmare il paradigma ad oggetti sul C, per quanto si possa fare ovviamente.
Puoi tranquillamente mettere in un unico file .h la dichiarazione di una struttura e di tutte le funzioni per manipolarla, poi nel relativo .c ci metti la definizione delle funzioni. Generalmente fai usare la struttura in questo modo:
Codice: Seleziona tutto
*mia_struttura=crea_struttura(); /* la inizializzi con i parametri che ti pare */
funzioni_su_struttura(mia_struttura);
...
elimina_struttura(mia_struttura);

Non hai l'ereditarietà, le funzioni private sono quelle statiche nel file .c, e si ha un idea di un oggetto (con stato) e delle relative funzioni per manipolarlo. Tutto qui.

Spina
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6201
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: c o c++ quale dei due?

Messaggioda Blizzard » lun apr 14, 2008 16:58

[IMHO]
ciao,
per mio modesto parere, il C++ ha delle potenzialità immani, la cui flessibilità di utilizzo sarebbe solo paragonabile ad una estensione ad oggetti del C :badgrin: .
Offre un approccio oo e lo fa con l'elasticità derivata dal C.
Tuttavia consiglio di studiare prima il C. Sono due linguaggi che vanno imparati se si punta ad avere un forte background di programmazione ma mentre scrivendo codice C avrai un controllo migliore di quello che stai facendo, di fronte a 5 righe C++ potresti arrivare a commettere una diecina di errori e incoerenze che solo a run time possono generarti comportamenti bizantini.
Una volta dunque che hai una buona conoscenza e praticità della programmazione C, puoi passare al C++ e studiarlo nei minimi particolari.
Ho scritto due giochi in C++, e (anche se non completi) un paio di motori grafici. Se questo potrebbe farti pensare che io conosca il C++ ci sbagliamo entrambi :D
Stavo leggendo Exceptional C++ e notavo quanto può essere sottile il linguaggio.
Si deve semplicemente sapere ciò che si deve fare e come. Per il resto leggi qualcosa qua e la (non le guide base su come si fa la multiple virtual hineritance, quelle cose sono quasi banali) e scoprirai che è un linguaggio magico.
Diciamo che il C(piccolissimi mattoncini lego) è un linguaggio meno pericoloso a run-time ma più rigido. E' un linguaggio che consente di esprimersi subito e di creare qualcosa di bello e ordinato con poco. Ti consente inoltre buona velocità per utilizzi a basso livello.
Il C++(argilla) è un linguaggio difficile da approcciare (e fa rifugiare molti tra le braccia stregate di Java che poi li mangerà tutti :badgrin: ) e va utilizzato con serietà. Se vuoi programmare un'applicazione di 2000 linee di codice non penso che convenga utilizzare tutto il rigore di C++, altrimenti andresti a scriverne il doppio, tanto vale scriverla in C e con criterio.
Se questa applicazione da 2000 righe in realtà è una architettura base per costruirci futuri software allora lascia stare il C e scrivila con coerenza in C++.
In ogni caso lascia stare Java che è l'Ubuntu dell'oop. Tanto bello a vedersi e poi mi sento mutilato ogni volta che devo scrivere un po di codice. A questo punto preferisco stare attento a quel che faccio e assicurarmi flessibilità e possibilità di scrivere codice estroso in C++(mi sembra di poter respirare meglio quando lo uso) .

Tutto questo IMHO e comunque se non ne hai immediato bisogno(del C++) studia prima il C che è mooooolto più "divertente" [assai :D ]

[/IMHO]
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: c o c++ quale dei due?

Messaggioda inux » lun apr 14, 2008 17:37

grazie a tutti coloro che anno risposto al post mi avete davvero stupito sapevo che a casa avrei trovato delle risposte sensate alle mie domande siete grandiosi grazie ancora per i chiarimenti continuerò con il c. questo è sicuro avevo solo delle domande e voi mi avete come al solito dato delle risposte ciao a tutti. :D
Avatar utente
inux
Packager
Packager
 
Messaggi: 529
Iscritto il: sab nov 03, 2007 11:36
Località: busto arsizio (VA)
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde

Re: c o c++ quale dei due?

Messaggioda Plaoo » lun apr 14, 2008 17:49

Ottimo volevo anch'io scrivere un topic con queste domande, fortunatamente ho un infarinatura del C e del C++ e anche un ottimo libro "La guida completa del C++" di McGraw Hill mi sono accorto che metà del libro parla del C e l'altra del C++ ti consiglio vivamente di acquistarlo :thumbright: (anche se è un pò caro....io l'ho pagato 52 Euro :? )
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware
Avatar utente
Plaoo
Linux 2.6
Linux 2.6
 
Messaggi: 809
Iscritto il: gio apr 10, 2008 16:40
Località: Ittiri (SS)
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE

Re: c o c++ quale dei due?

Messaggioda DaD » lun apr 14, 2008 18:10

Se fossi in voi mi studierei Visual Basic ... quello si che forma, altro che c :laughing6:
Avatar utente
DaD
Linux 2.4
Linux 2.4
 
Messaggi: 371
Iscritto il: mer feb 07, 2007 18:19
Nome Cognome: Antonio Barra
Slackware: 13
Kernel: 3.0
Desktop: KDE 4
Distribuzione: Mac OS X

Re: c o c++ quale dei due?

Messaggioda inux » lun apr 14, 2008 18:14

"La guida completa del C++" di McGraw Hill mi sono accorto che metà del libro parla del C e l'altra del C++ ti consiglio vivamente di acquistarlo
l'ho comprato anche io bel libro solo un po caro. :)
Avatar utente
inux
Packager
Packager
 
Messaggi: 529
Iscritto il: sab nov 03, 2007 11:36
Località: busto arsizio (VA)
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde

Re: c o c++ quale dei due?

Messaggioda Blizzard » lun apr 14, 2008 18:30

inux ha scritto:
"La guida completa del C++" di McGraw Hill mi sono accorto che metà del libro parla del C e l'altra del C++ ti consiglio vivamente di acquistarlo
l'ho comprato anche io bel libro solo un po caro. :)

Avete mai provato il Lippman e Lajoie? Io ho quello, anche se a volte vorrei vedere lo Stroustrup tanto per vedere come tratta l'argomento il suo creatore :D

Comunque anche L&L alla fine esattamente metà libro fa la programmazione funzionale, solo che utilizza comunque la stl del C++ che non è la stessa cosa di quella del C.

ciao
Gio

P.S.
C++
creatore Bjarne Stroustrup
buon manuale Lippman & Lajoie
...se hai un nome normale è meglio che non ti ci avvicini a quel linguaggio :D
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: c o c++ quale dei due?

Messaggioda Mario Vanoni » lun apr 14, 2008 18:36

DaD ha scritto:Se fossi in voi mi studierei Visual Basic ... quello si che forma, altro che c :laughing6:


basic? allora meglio assembler!

Mario Vanoni
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: c o c++ quale dei due?

Messaggioda Blizzard » lun apr 14, 2008 18:46

DaD ha scritto:Se fossi in voi mi studierei Visual Basic ... quello si che forma, altro che c :laughing6:

Penso seriamente che se ti piace programmare ma non ti piace la Programmazione, il Visual Basic sia un linguaggio che ti da buone soddisfazioni.
Praticamente fa tutto lui, con una sintassi infantile e capacità non troppo notevoli ma decisamente intuitivo.
Poi è da dire che il basic ha sempre conservato un pizzico di tipizzazione.
Ricordo che ad esempio il basic v2 del commodore aveva variabili del tipo
A=10 per i numeri e
A$="ciao" per le stringhe
anche se onestamente le variabili che compaiono a caso sono la cosa più odiosa che conosco.
fortunatamente il Visual Basic .NET è fortemente tipizzato e, non vorrei sbagliarmi, la dichiarazione degli oggetti va fatta ad inizio procedura (ma potrebbe essere un mio retaggio del C dato che non utilizzo VB da più di un anno).
Inoltre VB.NET è oo, in una maniera un po comica direi ma pur sempre oo.

Comunque il primato assoluto di LINGUAGGIO PIÙ BRUTTO DELLA STORIA
MA CHE IO CI HO PROVATO GUARDA NIENTE!!!!!
È
MICROSOFT VISUAL C.NET
UN LINGUAGGIO DI UNA BRUTTEZZA UNICA
QUALCOSA CHE IO L'HO VISTO E HO DOVUTO PROGRAMMARE C++ STANDARD PER DUE GIORNI PER LAVARMI QUEL COSO DAGLI OCCHI.

Ovviamente rimango IMHO

ciao
Gio
Avatar utente
Blizzard
Master
Master
 
Messaggi: 1509
Iscritto il: mar gen 02, 2007 22:53
Nome Cognome: Giovanni Santostefano
Slackware: 12.2
Kernel: 2.6.27.7-smp
Desktop: Fluxbox

Re: c o c++ quale dei due?

Messaggioda inux » lun apr 14, 2008 18:47

mario a scritto
allora meglio assembler!

quoto in pieno con mario dopo il c sarà il prossimo linguaggio su cui metterò le mani
Avatar utente
inux
Packager
Packager
 
Messaggi: 529
Iscritto il: sab nov 03, 2007 11:36
Località: busto arsizio (VA)
Nome Cognome: Christian Reguzzoni
Slackware: 64 13.1
Desktop: kde

Re: c o c++ quale dei due?

Messaggioda DaD » lun apr 14, 2008 19:17

Mario Vanoni ha scritto:
DaD ha scritto:Se fossi in voi mi studierei Visual Basic ... quello si che forma, altro che c :laughing6:


basic? allora meglio assembler!

Mario Vanoni

Perchè mai mettere a paragone assembly e vb? :shock:
Comunque spero caldamente che abbiate tutti capito che ero ironico :D
Avatar utente
DaD
Linux 2.4
Linux 2.4
 
Messaggi: 371
Iscritto il: mer feb 07, 2007 18:19
Nome Cognome: Antonio Barra
Slackware: 13
Kernel: 3.0
Desktop: KDE 4
Distribuzione: Mac OS X

PrecedenteProssimo

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron