Why C and not C++

Tutta l'informatica

Why C and not C++

Messaggioda Whamoo » sab set 20, 2003 1:28 pm

Ma perchè cavolo ho scritto il titolo in inglese... Bho....

Cmq intendevo dire per chi impara a programmare, perche il C e non il C++, ora so che i programmatori vecchia-scuola e la gente piu' esperta mi smazzera, ma il C++ per cominciare è più facile :ride:

Certo per programmare a livelli piu' alti e usare librerie piu' potenti è necessario conoscere anche il C (vedi le curses), ma io ho imparato a usare il C dal C++ e non ho avuto problemi, anzi ci ho messo poco a imparare a programmare.... :figooo:

Allora se qualcuno ha bisogno poi di aiuti, domande o roba varia, puo' chiedere anche a me :ride:

Bye
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Re: Why C and not C++

Messaggioda -TURRICAN- » sab set 20, 2003 8:47 pm

Bah, se lo dici tu, Guru della programmazione, di credo... :annu:
By -TURRICAN-
-TURRICAN- is the best
Avatar utente
-TURRICAN-

Eroe
 
Messaggi: 1462
Iscritto il: ven gen 10, 2003 4:23 pm
Località: Avalon...(skerzo!)...Bologna

Messaggioda sHaDy » dom set 21, 2003 12:04 pm

Non sono esattamente d'accordo. Secondo che logica dici che è più facile il C++? Io penso che la programmazione ad oggetti sia più complessa da capire per uno che non ha mai scritto nemmeno un helloworld mentre la programmazione pragmatica tipo il C classico è di più immediata comprensione (alle superiori si insegna il pascal e non il java :scherza:)
Life's not a bitch, Life is a beautiful woman,
You only call her a bitch because she won't let you get that pussy
Avatar utente
sHaDy

Maestro
 
Messaggi: 464
Iscritto il: mar feb 04, 2003 7:59 pm

Messaggioda -TURRICAN- » dom set 21, 2003 10:25 pm

sHaDy ha scritto:Non sono esattamente d'accordo. Secondo che logica dici che è più facile il C++? Io penso che la programmazione ad oggetti sia più complessa da capire per uno che non ha mai scritto nemmeno un helloworld mentre la programmazione pragmatica tipo il C classico è di più immediata comprensione (alle superiori si insegna il pascal e non il java :scherza:)

Neanche io ho mai scritto un hello World! si perche' usavo frasi come "Amiga Forever" e "Turrican in all times" Bello mio! eh..che amighista eh? :figooo: :ride:
By -TURRICAN-
-TURRICAN- is the best
Avatar utente
-TURRICAN-

Eroe
 
Messaggi: 1462
Iscritto il: ven gen 10, 2003 4:23 pm
Località: Avalon...(skerzo!)...Bologna

Messaggioda Andrew586 » lun set 22, 2003 4:45 pm

sHaDy ha scritto:Non sono esattamente d'accordo. Secondo che logica dici che è più facile il C++? Io penso che la programmazione ad oggetti sia più complessa da capire per uno che non ha mai scritto nemmeno un helloworld mentre la programmazione pragmatica tipo il C classico è di più immediata comprensione (alle superiori si insegna il pascal e non il java :scherza:)


Condivido appieno, anche se io che sono alle superiori imparo il java e non il pascal... :scherza:
Taci donna... lascia che il folle esprima il suo giudizio...

Ma lo sapevi che un uomo che si chiama porte ha inventato un sistema operativo che si chiama finestre !?! ghgh

Onore ai NoConsole per tutto ci? che hanno fatto.
Avatar utente
Andrew586

Maestro
 
Messaggi: 489
Iscritto il: mar gen 28, 2003 1:50 pm
Località: hmm

Re: Why C and not C++

Messaggioda amighista » mer set 24, 2003 10:58 pm

Io personalmente concordo con whamoo: la OOP e' molto meglio della strutturata. Per le seguenti ragioni.

1) la strutturata e' progettata per gestire secondo una logica di PROCESSO ed e' adatta a problemi ben DETERMINATI e STRUTTURATI. Piu' il programma e' meno determinato e strutturato, piu' sara' difficile mantenerlo e debuggarlo.

2) la OOP sembra difficile, ma in realta' e' una gran cagata, ereditarieta' e polimorfismo compresi. Dovete pensare alla REALTA' che volete trasformare in un PROGRAMMA. (Esempio, il gioco del calcio. E' una realta' composta da almeno 26 oggetti: due porte, 22 giocatori, un pallone, il campo e l'arbitro). Ogni oggetto che appartiene alla realta' che volete esaminare determinate caratteristiche e determinati poteri (un po' come quando fate i personaggi con AD&D). Alla fine si costruisce un maxi oggetto farcito di istruzioni condizionali (oggetto "partita" si chiamerebbe nel nostro esempio) che simulano azioni, comportamenti e reazioni dei vari oggetti di fronte ai vostri input. Piu, naturalmente un oggetto di tipo GUI che disegna il tutto sullo schermo...

(Non e' un caso se i fisici vanno pazzi per java....)

PS = la mia esposizione e' un po' semplificata, anche perche' sono passati sette anni da quando ho toccato un libro di programmazione...cazzo, ho pure preso 60 alla matura perche' avevo fatto la prova scritta di informatica utilizzando il C++ a differenza degli altri miei compagni, rimasti fermi al turbo pascal....
Avatar utente
amighista

Eroe
 
Messaggi: 1681
Iscritto il: mer set 24, 2003 11:55 am
Località: Milano

Messaggioda kristo » gio set 25, 2003 10:19 am

Son pienamente d'accordo con l'amighista. Ci troviamo di fronte due scuole di pensiero. Io sono un programmatore vecchia generazione. Il che significa che il mio processo di apprendimento e' stato

1) Pseudo-linguaggio su una macchina virtuale che effettua solo somma e confronto e salti

2) AssemblerX86

3) C standard ansi

4) OOP

Processo incrementale che porta alla piena comprensione di come un computer computa i programmi che scrivo. Tuttavia la OOP e' di certo più vicina al mondo reale, quindi più facilmente comprensibile. Anche se non programmatori ormai formati abbiamo difficoltà a comprendere. Il rischio e' di fermarsi al livello degli oggetti, senza approfondire gli aspetti computazionali e architetturali che e' necessario conoscere per scrivere del buon software.

Mi spiego, chi inizia con la OOP non capisce(e probabilmente ci crede per fede) per quale motivo un array debba essere più veloce di una lista concatenata per gli accessi. Esempio banale, ma spero di essermi spiegato.
ciao ciao !!

Home:cristianolongo.altervista.org
e-mail:[email protected]
kristo

Esperto
 
Messaggi: 56
Iscritto il: mar set 23, 2003 9:31 am
Località: Catania

Messaggioda Whamoo » gio set 25, 2003 7:26 pm

Gia credo che tu abbia ragione :ride:

Pero' per me è stato mollltooo piu' facile usare il C++ che i C all'inizio, sintassi piu' semplice, pensiamo solo a cin o cout invece del print("") e poi se devo displayare una variabile in C++ mi basta il nome, in C devo mettere anche il tipo.

Per uno che comincia non è roba da poco.

Poi per forza bisogna approfondire il C, e anche assembly, pero per dare un'idea di come si programma il C++ è sensazionale :ride:
-- rtg.library, non c'e' limite all'estensione
Avatar utente
Whamoo

Veterano
 
Messaggi: 172
Iscritto il: mer gen 15, 2003 1:40 pm
Località: 0- in geografia

Messaggioda amighista » ven set 26, 2003 2:34 pm

kristo ha scritto:Son pienamente d'accordo con l'amighista. Ci troviamo di fronte due scuole di pensiero. Io sono un programmatore vecchia generazione.

Mi spiego, chi inizia con la OOP non capisce(e probabilmente ci crede per fede) per quale motivo un array debba essere più veloce di una lista concatenata per gli accessi. Esempio banale, ma spero di essermi spiegato.


Il punto e' che con l'hardware che ci ritroviamo oggi, non serve piu' la massima efficienza in termini di allocazione della memoria e del CPU-time. Il tuo discorso sugli array, tanto per limitarci al tuo esempio banale, aveva certamente senso al tempo dei processori ad 8 e dei 16 bit, e relativamente agli intel, fino al primo pentium pro. Ora che l'informatica vive un epoca di ABBONDANZA di risorse (in senso figurativo..parlo di RAM, velocita' dei processori e robe simili), si possono tranquillamente tralasciare i ragionamenti di efficienza e cercare finalmente di sviluppare del software che, oltre a funzionare e a rispondere esattamente ai bisogni di chi lo usa, sia anche facile da mantenere o estendere (in gergo si direbbe SCALABILE). La OOP e' piu' in linea con questa logica. :felice:
Avatar utente
amighista

Eroe
 
Messaggi: 1681
Iscritto il: mer set 24, 2003 11:55 am
Località: Milano

Messaggioda kristo » ven set 26, 2003 3:11 pm

amighista ha scritto: Il punto e' che con l'hardware che ci ritroviamo oggi,
non serve piu' la massima efficienza in termini di allocazione della memoria e del CPU-time.


Un discorso simile e' stato fatto quando si e' passati dal 8088 alla famiglia x86. Mi sto occupando di un programma che, scritto in java, si interfaccia con un data-base oracle e gestisce tabelle di migliaia di record. Ti assicuro
che la differenza prestazionale tra una soluzione ottimizzata e una no si sente(certe operazioni da ore passano a minuti).

amighista ha scritto:... cercare finalmente di sviluppare del software che, oltre a funzionare e a rispondere esattamente ai bisogni di chi lo usa, sia anche facile da mantenere o estendere (in gergo si direbbe SCALABILE). La OOP e' piu' in linea con questa logica.


Ed entriamo nell'annosa questione della scelta tra leggibilità ed efficenza. La mia esperienza e' che, in un progetto "corposo", nessun essere umano può raggiungere un buon grado di efficenza se non partendo da una buona progettazione. Sono forse stato frainteso, ma io sono pienamente favorevole alla OOP. La mia osservazione e' che certe ottimizzazioni vengono comprese in pieno solo da chi conosce in profondità il "processo computazionale".
ciao ciao !!

Home:cristianolongo.altervista.org
e-mail:[email protected]
kristo

Esperto
 
Messaggi: 56
Iscritto il: mar set 23, 2003 9:31 am
Località: Catania

Messaggioda Andrew586 » ven set 26, 2003 4:09 pm

kristo ha scritto:Son pienamente d'accordo con l'amighista. Ci troviamo di fronte due scuole di pensiero. Io sono un programmatore vecchia generazione. Il che significa che il mio processo di apprendimento e' stato

1) Pseudo-linguaggio su una macchina virtuale che effettua solo somma e confronto e salti

2) AssemblerX86

3) C standard ansi

4) OOP

Processo incrementale che porta alla piena comprensione di come un computer computa i programmi che scrivo. Tuttavia la OOP e' di certo più vicina al mondo reale, quindi più facilmente comprensibile. Anche se non programmatori ormai formati abbiamo difficoltà a comprendere. Il rischio e' di fermarsi al livello degli oggetti, senza approfondire gli aspetti computazionali e architetturali che e' necessario conoscere per scrivere del buon software.

Mi spiego, chi inizia con la OOP non capisce(e probabilmente ci crede per fede) per quale motivo un array debba essere più veloce di una lista concatenata per gli accessi. Esempio banale, ma spero di essermi spiegato.
ù

Sputato... anche se la oop la facciamo quest'anno... cmq condivido appieno kristo :annu:
Taci donna... lascia che il folle esprima il suo giudizio...

Ma lo sapevi che un uomo che si chiama porte ha inventato un sistema operativo che si chiama finestre !?! ghgh

Onore ai NoConsole per tutto ci? che hanno fatto.
Avatar utente
Andrew586

Maestro
 
Messaggi: 489
Iscritto il: mar gen 28, 2003 1:50 pm
Località: hmm


Torna a Tecnologia, internet, coding

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti