Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2010, 15:00   #1
Bestseller
Senior Member
 
Iscritto dal: Aug 2007
Messaggi: 476
[C] Cosa per permette di fare il linguaggio C?

Buongiorno.
Attualmente mi ritrovo a studiare il linguaggio di programmazione C all'università e vi scrivo perchè vorrei avere delle delucidazioni in merito alle potenzialità di questo linguaggio. Infatti, per quello che stiamo studiando ora, mi sembra che il linguaggio C permetta di fare poche cose. Voglio dire: le funzioni for, if, while, printf, scanf mi sembra che permettano di fare poche cose. Credo sia soltanto una mia impressione, ma volevo sapere lo stesso il vostro parere.
Bestseller è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2010, 15:33   #2
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Quote:
Originariamente inviato da Bestseller Guarda i messaggi
Buongiorno.
Attualmente mi ritrovo a studiare il linguaggio di programmazione C all'università e vi scrivo perchè vorrei avere delle delucidazioni in merito alle potenzialità di questo linguaggio. Infatti, per quello che stiamo studiando ora, mi sembra che il linguaggio C permetta di fare poche cose. Voglio dire: le funzioni for, if, while, printf, scanf mi sembra che permettano di fare poche cose. Credo sia soltanto una mia impressione, ma volevo sapere lo stesso il vostro parere.
E soltanto una tua impressione.
Il C come il C++ o Java o Eiffel o PL/I o COBOL o FORTRAN o Ada o Haskell o Lisp etc... sono linguaggi turing completi.
Questo significa che qualsiasi cosa ti possa esprimere in uno di questi linguaggi, lo puoi esprimere altrettanto bene negli altri.
Cambiera' la sintassi, magari il programma sara' piu' lungo, sara' piu' astruso etc... ma a livello computazionale non cambia niente.
Qualsiasi algoritmo ti possa scrivere in C, lo puoi scrivere negli altri linguaggi. E viceversa ovviamente.
Per un caso piu' estremo considera il linguaggio brainfuck : http://en.wikipedia.org/wiki/Brainfuck che ha una sintassi ancora piu' povera di quella del C e nonostante cio' ha lo stesso potere espressivo di qualsiasi altro linguaggio di programmazione turing completo.

Detto questo, i programmatori non partono ogni volta da zero, ci sia aiuta con le librerie. E qui ci sono differenze tra i vari linguaggi nel senso che alcuni dispongono di librerie sterminate (come Java) altri no hanno meno scelta.
Ma questo dal punto di vista computazione non incide sulla "potenza" del linguaggio.
__________________
MICROSOFT : Violating your privacy is our priority

Ultima modifica di goldorak : 25-11-2010 alle 15:35.
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2010, 16:20   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Il linguaggio di programmazione C è un sistema turing-completo, come la stragande maggioranza (forse tutti? non saprei, ad esempio SQL... mi pare sia diventato turing-completo da una certa versione in poi) dei linguaggi di programmazione "main stream".

Detto questo, per un linguaggio di programmazione, il fatto di essere turing-completo non ci dice nulla circa la velocità con cui esegue i calcoli, la sua minore o maggiore espressività (rispetto altri linguaggi), il numero e/o la tipologia di costrutti che mette a disposizione del programmatore, l'ortogonalità degli stessi ecc...

Se posso consigliarti una lettura nel forum circa le caratteristiche di diversi linguaggi di programmazione così come percepite da diversi programmatori ti indico questo thread
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 11:25   #4
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Il mio parere

Il C è un linguaggio che di fatto di permette di fare tutto, ma con una certa complessità non essendo orientato agli oggetti.

Cosa differente dal C++, c#, Java ecc

Quindi la domanda è, cosa vuoi fare? Devi sviluppare qualcosa? Devi imparare semplicemente a programmare?
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 11:58   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da downloader Guarda i messaggi
Il C è un linguaggio che di fatto di permette di fare tutto, ma con una certa complessità non essendo orientato agli oggetti.

Cosa differente dal C++, c#, Java ecc
Beh, secondo me il C++ è più complesso di C, come linguaggio.
Hai usato una parola problematica: "complessità"
E anche la questione dell'orientamento agli oggetti

Sarei d'accordo con te se la tua frase fosse differente, ad esempio sostituendo "una certa complessità" con "con minore produttività" e sostituendo "non essendo orientato agli oggetti" con "essendo povero di costrutti/feature di alto livello"
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:01   #6
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Beh, secondo me il C++ è più complesso di C, come linguaggio.
Hai usato una parola problematica: "complessità"
E anche la questione dell'orientamento agli oggetti


Sarei d'accordo con te se la tua frase fosse differente, ad esempio sostituendo "una certa complessità" con "con minore produttività" e sostituendo "non essendo orientato agli oggetti" con "essendo povero di costrutti/feature di alto livello"
He he mi hai preceduto, stavo rispondendo ma alla fine ho lasciato correre, si rischia di infiammare una guerra di religione su questo tema.
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:03   #7
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Beh, secondo me il C++ è più complesso di C, come linguaggio.
Hai usato una parola problematica: "complessità"
E anche la questione dell'orientamento agli oggetti

Sarei d'accordo con te se la tua frase fosse differente, ad esempio sostituendo "una certa complessità" con "con minore produttività" e sostituendo "non essendo orientato agli oggetti" con "essendo povero di costrutti/feature di alto livello"
nono l'idea era quella

La programmazione orientata agli oggetti da un vantaggio in termini di tempi di sviluppo notevoli rispetto al realizzare la stessa cosa in C.

Quindi la mia complessità è riferita al reale utilizzo del linguaggio (prova a progettare un qualcosa che sia modulare come lo è il C++ in C, ti ritroverai a gestire liste dinamiche di puntatori a funzione con parametri variabili)

ovviamente invece, lato puramente dottrinale, è il caso di apprendere prima il C che il C++... ma a quel punto... io farei partire chiunque con il basic per i costrutti iniziale per poi passare la persona al c# o al java per apprendere la programmazione oop
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:13   #8
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Quote:
Originariamente inviato da downloader Guarda i messaggi
nono l'idea era quella

La programmazione orientata agli oggetti da un vantaggio in termini di tempi di sviluppo notevoli rispetto al realizzare la stessa cosa in C.
Dipende da cio' che devi sviluppare.

Quote:
Quindi la mia complessità è riferita al reale utilizzo del linguaggio (prova a progettare un qualcosa che sia modulare come lo è il C++ in C, ti ritroverai a gestire liste dinamiche di puntatori a funzione con parametri variabili)
E credi che il C++ ti sollevi da questo ?


Quote:
ovviamente invece, lato puramente dottrinale, è il caso di apprendere prima il C che il C++... ma a quel punto... io farei partire chiunque con il basic per i costrutti iniziale per poi passare la persona al c# o al java per apprendere la programmazione oop
Il Basic ? Se proprio ci vuole un linguaggio imperativo come primo tentativo farei usare il Pascal o una delle sue varianti, Oberon o Modula-2/3. Altrimenti ce' Scheme che funziona benissimo pur essendo un linguaggio funzionale.
Infine non ce' proprio bisogno del c# o java per capire i concetti fondamentali della progettazione/programmazione orientata agli oggetti.
Tanto che l'Objective-C sarebbe una scelta migliore per chi volesse fare oo e venisse da C (e se sviluppi su ios non hai scelta....).
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:19   #9
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Pascal anche al posto del basic, non cambia.

Il c++ è orientato ad oggetti e quindi ovvio che ti solleva dal dover implementare da te l'OOP.

Forse non mi sono spiegato bene nel dire cosa intendevo infatti.

Hai mai in C creato qualcosa che funzioni e sia modulare ESATTAMENTE come lo è già il C++?

Non so se è chiaro, ti sto chiedendo se hai mai simulato l'uso di classi e oggetti in C.
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:23   #10
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da downloader Guarda i messaggi
Hai mai in C creato qualcosa che funzioni e sia modulare ESATTAMENTE come lo è già il C++?

Non so se è chiaro, ti sto chiedendo se hai mai simulato l'uso di classi e oggetti in C.
brrrrr perchè parlate di cose così brutte? ....la vita è già piena di problemi senza l'oop in C

p.s. però il multithreading in C è ancora peggio dell'OOP
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:24   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da goldorak Guarda i messaggi
...si rischia di infiammare una guerra di religione su questo tema.
Vedo che avete fatto presto a passare "dalle parole ai fatti"
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 12:28   #12
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Quote:
Originariamente inviato da goldorak Guarda i messaggi
Tanto che l'Objective-C sarebbe una scelta migliore per chi volesse fare oo e venisse da C (e se sviluppi su ios non hai scelta....).
Se uno viene dal C la scelta per me è il puro C++, però è questione di esperienze e opinioni, io la vedo così. Dico c#, java... perché per la mia esperienza sono ottimi per far apprendere l'OOP, senza distrazioni su puntatori e altro (che comunque esistono in questi linguaggi, ma tutto è o dovrebbe essere controllato, compreso l'uso della memoria)
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 13:11   #13
goldorak
Senior Member
 
Iscritto dal: Apr 2003
Messaggi: 16462
Quote:
Originariamente inviato da downloader Guarda i messaggi
Pascal anche al posto del basic, non cambia.

Il c++ è orientato ad oggetti e quindi ovvio che ti solleva dal dover implementare da te l'OOP.

Forse non mi sono spiegato bene nel dire cosa intendevo infatti.

Hai mai in C creato qualcosa che funzioni e sia modulare ESATTAMENTE come lo è già il C++?

Non so se è chiaro, ti sto chiedendo se hai mai simulato l'uso di classi e oggetti in C.
No non ho mai avuto il dispiacere di dover simulare l'uso di classi e oggetti in c, ma questo e' del tutto ortogonale al problema della modularita' dei programmi. Classi ed oggetti non sono necessari per rendere modulare un programma.
__________________
MICROSOFT : Violating your privacy is our priority
goldorak è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 13:20   #14
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12944
Quote:
Originariamente inviato da pabloski Guarda i messaggi
brrrrr perchè parlate di cose così brutte? ....la vita è già piena di problemi senza l'oop in C

p.s. però il multithreading in C è ancora peggio dell'OOP
E' chiaro che la programmazione object oriented risulti molto più "intuitiva" (se mi passate il termine) di quella procedurale, nel qual caso si tratta di faticare di più.

Per il multi-threading c'è l'ottima libreria pthread (sotto linux, ma so che esiste un porting anche su Win) che non sfigura di certo.

Comunque tutto il computabile può essere fatto con il costrutto while ed il costrutto if, per cui con C puoi fare semplicemente tutto.

Il punto è COME.

Ultima modifica di WarDuck : 26-11-2010 alle 13:26.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 13:56   #15
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21999
Quote:
Originariamente inviato da Bestseller Guarda i messaggi
Buongiorno.
Attualmente mi ritrovo a studiare il linguaggio di programmazione C all'università e vi scrivo perchè vorrei avere delle delucidazioni in merito alle potenzialità di questo linguaggio. Infatti, per quello che stiamo studiando ora, mi sembra che il linguaggio C permetta di fare poche cose. Voglio dire: le funzioni for, if, while, printf, scanf mi sembra che permettano di fare poche cose. Credo sia soltanto una mia impressione, ma volevo sapere lo stesso il vostro parere.
ti permette di fare tutto quello che fai con gli altri programmi anzi anche qualcosina in più di parecchi altri linguaggi visto la facilità con cui puoi interagire a basso livello.

ovviamente programmare in C risulta spesso più problematico e lungo rispetto ad esempio un c# perchè per parecchie cose non hai già la pappa pronta ma questo non pregiudica affatto la qualità del risultato finale.

giusto per farti un esempio, la stragrande maggioranza di tutti i dispositivi elettronici vengono programmati in ansi c e in nessun altro linguaggio

Quote:
Originariamente inviato da WarDuck Guarda i messaggi
E' chiaro che la programmazione object oriented risulti molto più "intuitiva" (se mi passate il termine) di quella procedurale, nel qual caso si tratta di faticare di più.

Per il multi-threading c'è l'ottima libreria pthread (sotto linux, ma so che esiste un porting anche su Win) che non sfigura di certo.

Comunque tutto il computabile può essere fatto con il costrutto while ed il costrutto if, per cui con C puoi fare semplicemente tutto.

Il punto è COME.
anche con un JNZ
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000

Ultima modifica di !fazz : 26-11-2010 alle 14:01.
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 14:02   #16
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
mhmhm...
secondo me il più grosso limite di un linguaggio di programmazione sta nel programmatore.
Con ogni linguaggio si può in teoria fare tutto ma alcune cose sono più semplici con alcuni linguaggi che con altri. Dipende dallo scopo finale.
Poi sicuramente ci sarà qualche pazzo che prova a fare la programmazione web in assembly ma questo è un altro paio di maniche.
Il discorso sulle potenzialità di un linguaggio in ambito di produzione/lavorativo si apprezza solo in azienda, all'università o a livello amatoriale cambia molto poco da un linguaggio all'altro. E comunque per rispondere al thread originale:
C è una buona scelta come linguaggio, è molto richiesto in giro e domin ala grande il mondo embedded.
Uno dei parametri che prendo di solito per valutare l'"utilià" di studiare o meno un linguaggio e l'indice TIOBE: http://www.tiobe.com/index.php/conte...pci/index.html
Come vedi C è secondo in classifica come utilizzo, ha davanti solo il Java.
A conclusione di tutto:
1) C è un linguaggio che ti permette di fare di tutto, soprattutto in certi ambiti specifici.
2) Quanto vale il "di tutto" dipende praticamente solo da te
Saluti :-)
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2010, 14:04   #17
downloader
Senior Member
 
L'Avatar di downloader
 
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
Quote:
Originariamente inviato da goldorak Guarda i messaggi
No non ho mai avuto il dispiacere di dover simulare l'uso di classi e oggetti in c, ma questo e' del tutto ortogonale al problema della modularita' dei programmi. Classi ed oggetti non sono necessari per rendere modulare un programma.
infatti ho detto che aiuta non che è necessario. A suo tempo vedi come era divertente scrivere applicazioni abbastanza complesse (gestionali ecc) di natura grafica in puro C e con le poche librerie grafiche a disposizione poi... na pacchia
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult.
downloader è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Fastweb + Vodafone: clienti e ricavi in ...
Artemis II: nuovo test prima del Wet Dre...
GTA 6 gratis se nasce un figlio il giorn...
Quasi la metà degli smartphone at...
DDR5 a 16 dollari al gigabyte: Framework...
Meno di 3kg per 'diventare' bionici: l'u...
Al regalo di San Valentino ci pensa HUAW...
Intel multata in India: 30 milioni di do...
Beast of Reincarnation ha una data di us...
Provati Reno15 e Reno15 FS: analisi comp...
L'Europa sfida la Cina sul litio: in Fin...
Sono 32, di cui 6 nuove, le offerte Amaz...
Rinnovo dei coupon Amazon nascosti: ecco...
Corsair aggiorna la confezione delle RAM...
Ecco tutti i robot aspirapolvere in offe...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v