Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-05-2005, 16:33   #1
alesnoce
Member
 
Iscritto dal: May 2005
Messaggi: 80
Metaprogrammazione

L'idea di aprire questa discussione mi è venuta da partecipanti al thread "Iniziare a programmare in c++".

Poiché ancora nessuno di loro l'ha aperta, lo faccio io .

Con metaprogrammazione, nome che probabilmente, anzi sicuramente secondo una legge di Murphy, è già stato coniato da qualcun altro, con questa accezione o con una similare, intendo l'insieme di metodologie, idee, strumenti e quant'altro riguarda la programmazione, ma non è programmazione in senso stretto, come per esempio le tecniche di design che la precedono, i test che l'accompagnano, la manutenzione e le aggiunte che la seguono.

Tutto quello che insomma concerne il ciclo di vita del software.

Probabilmente è troppo ampio come orizzonte, ma vedrò di indirizzarlo verso quello che mi interessa per la mia tesi .

Ripropongo in parte una domanda fatta nella discussione summenzionata, alla quale dei grandi mi hanno già risposto, ma che di là era off topic e che qui sfrutto per partire:
che metodologia di design adottare per affrontare un progetto ampio (almeno per le mie capacità) che preveda l'adozione della programmazione OO?

Ultima modifica di alesnoce : 27-05-2005 alle 11:06.
alesnoce è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 17:29   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
L'anno già aperto
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 18:19   #3
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Comunque, seguendo la legge di Murphy, si, il termine Metaprogrammazione e' gia' stato coniato e intende tutt'altro.
In genere si riferisce alla programmazione logica (Prolog, Lisp, Scheme) proprio perche' non segue i canoni della programmazione classica bensi' quelli della logica matematica (proposizioni, sentenze, asserzioni, ecc)

mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 18:57   #4
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da mjordan
Comunque, seguendo la legge di Murphy, si, il termine Metaprogrammazione e' gia' stato coniato e intende tutt'altro.
In genere si riferisce alla programmazione logica (Prolog, Lisp, Scheme) proprio perche' non segue i canoni della programmazione classica bensi' quelli della logica matematica (proposizioni, sentenze, asserzioni, ecc)

Quando ho letto Metaprogrammazione ho pensato subito al Template Metaprogramming e mi si e' incriccato il cervello... *track* *track* *tatrack*.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 19:56   #5
Blackat
Senior Member
 
L'Avatar di Blackat
 
Iscritto dal: Oct 2004
Città: Acireale
Messaggi: 447
Io interpreto il concetto di metaprogrammazione come astrazione assoluta
della programmazione, cioè quella programmazione che non è legata a nessun
linguaggio di programmazione.

La metaprogrammazione si esprime attraverso un unico linguaggio che è il
metalinguaggio. Il metalinguaggio è il linguaggio con cui si può esprimere
un ragionamento logico. Il metalinguaggio può essere anche inventato
da chi fa metaprogrammazione, l'importante è che sia dato un senso ai
simboli utilizzati o che sia un linguaggio facilmente comprensibile, lontano
da quello tecnico.
Ad esempio se devo programmare l'algoritmo che somma il valori di un array
di interi posso scrivere

For I = 0 To dim(A)
Somma = Somma + A(i)
i = i + 1
roF

Questo può essere un metaprogramma dove dim(A) ritorna la dimensione
dell'array e A(i) l'elemento i-esimo dell'array.
Questo algoritmo può essere poi trasformato da questo metalinguaggio
in qualsiasi linguaggio di programmazione esistente.
__________________
Ho concluso acquisti e/o vendite con : SHIVA>>LuR<<, TheGaiden, ArvMau
Blackat è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 22:13   #6
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da Blackat
Io interpreto il concetto di metaprogrammazione come astrazione assoluta
della programmazione, cioè quella programmazione che non è legata a nessun
linguaggio di programmazione.
Non e' 100% corretto. Cos'e' un metalinguaggio/metaprogramma e' ben definito e non soggetto a "interpretazione", nonche' uno dei fattori chiave dell'Intelligenza Artificiale. Un metaprogramma e' un programma che usa un altro programma (che in genere viene riferito come programma oggetto). Un metalinguaggio e' un linguaggio che si basa su un altro linguaggio, dove il linguaggio ausiliario e' detto linguaggio oggetto e il linguaggio base e' detto metalinguaggio. Un RSS (un Reasoning and Representation System) e' un metalinguaggio, costituito da un linguaggio formale, una semantica e una "reasoning theory", cioe' un altro linguaggio che definisce il modo con cui si possono derivare le risposte corrette. Nota che con la parola "linguaggio" non ci si deve necessariamente riferire ad un linguaggio di programmazione. Al massimo della definizione, un metaprogramma e' un programma che opera su altri programmi, come ad esempio un compilatore. Ma e' una definizione rara.
Anche una sintassi di un linguaggio di programmazione e' a tutti gli effetti, un metalinguaggio. Viene utilizzata per costruire, tramite le categorie sintattiche, appunto, un linguaggio di programmazione.
Un metalinguaggio, ha le sue regole e consente sempre si stabilire il vero e il falso mediante regole ben definite o da assunzioni considerate vere (semantica di Tarsky).

Codice:
La metaprogrammazione si esprime attraverso un unico linguaggio che è il
metalinguaggio. Il metalinguaggio è il linguaggio con cui si può esprimere
un ragionamento logico. Il metalinguaggio può essere anche inventato
da chi fa metaprogrammazione, l'importante è che sia dato un senso ai
simboli utilizzati o che sia un linguaggio facilmente comprensibile, lontano
da quello tecnico.
Il linguaggio oggetto non dev'essere unico. Anzi, nel mondo reale, molto spesso e' piu' di uno. Inoltre non e' affatto vero che un metalinguaggio debba essere lontano da quello tecnico.

Quote:
Ad esempio se devo programmare l'algoritmo che somma il valori di un array
di interi posso scrivere

For I = 0 To dim(A)
Somma = Somma + A(i)
i = i + 1
roF

Questo può essere un metaprogramma dove dim(A) ritorna la dimensione
dell'array e A(i) l'elemento i-esimo dell'array.
Questo algoritmo può essere poi trasformato da questo metalinguaggio
in qualsiasi linguaggio di programmazione esistente.
Quindi al momento che uno implementa un compilatore per questo linguaggio dato da te, smette di essere un metalinguaggio e diventa "linguaggio di programmazione"? No, la definizione di metalinguaggio e' parecchio piu' semplice. Quello e' esclusivamente uno pseudo-codice. Non da nessun mezzo per asserire verita' da proposizioni. Se stessimo in Filosofia, potrebbe anche essere vero. Ma in Informatica un metalinguaggio e' semplicemente un linguaggio che consente di stabilire il vero dal falso mediante altri linguaggi che definiscono proposizioni, asserzioni, negazioni.
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 10:46   #7
alesnoce
Member
 
Iscritto dal: May 2005
Messaggi: 80
Quote:
Originariamente inviato da cionci
L'anno già aperto
Un Murphy per alesnoce!

Solo ora l'ho visto

Quote:
Originariamente inviato da mjordan
Comunque, seguendo la legge di Murphy, si, il termine Metaprogrammazione e' gia' stato coniato e intende tutt'altro.
Un doppio Murphy per alesnoce!!
Ho la sbornia

Ritengo ancora che il termine metaprogrammazione si adatti a esprimere concettualmente l'insieme di elementi che ho elencato nel post iniziale, ma non voglio certo imporre l'accezione che gli ho dato come unica e vera

A ripensarci, anche ingegneria del software/software engineering va bene, solo che ormai il titolo del thread è tratto

Ultima modifica di alesnoce : 27-05-2005 alle 11:07.
alesnoce è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 10:50   #8
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da cionci
L'anno già aperto

cionci da te questo non me lo sarei mai aspettato...
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 12:07   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ho abbreviato
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 15:25   #10
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da VegetaSSJ5

cionci da te questo non me lo sarei mai aspettato...
Meglio un'abbreviazione senza un'h dovuta alla tastiera che un'abbreviazione nordica voluta del tipo "l'han gia' aperto"
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 15:28   #11
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da cionci
Ho abbreviato
Ma non dar retta a cueste cose, si sa, ogni tanto si incastrano i diti nella pastiera
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Nella capsula Orion di Artemis II ci sar...
L'immagine del mese del telescopio spazi...
Heatspreader originale al posto del wate...
Ubisoft ha definitivamente archiviato Wa...
Motivair by Schneider Electric presenta ...
Un dissipatore che non richiede energia ...
Con Maia 200 Microsoft alza l'asticella ...
La Cina impone requisiti anche per lo st...
Apple lancia AirTag aggiornato: range es...
Microsoft risolve i blocchi di Outlook: ...
OpenAI verso il disastro finanziario? L’...
X nei guai: l'UE indaga sui pericoli del...
Caso Corona-Signorini: il giudice blocca...
470 petaFLOPS con una frequenza di 56 GH...
WhatsApp: abbonamento per rimuovere la p...
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: 01:46.


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