Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-05-2005, 15: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 10:06.
alesnoce è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2005, 16: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, 17: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, 17: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, 18: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, 21: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, 09: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 10:07.
alesnoce è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2005, 09: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, 11: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, 14: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, 14: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


DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
WhatsApp annuncia la fine del supporto p...
La batteria miracolosa di Donut Lab potr...
Instagram introduce a livello globale la...
Google aggiorna Chrome: chiusa la quinta...
Il presidente è sicuro: "BYD...
La Commissione europea approva un piano ...
Roborock Qrevo Edge 2 a 699,99€: LDS ret...
Una sviluppatrice ottiene l'esenzione pe...
Oltre 340 testate locali bloccano Intern...
Un round di finanziamento da 1 milione p...
Pan-Good ha creato il motore elettrico a...
Lexar avverte: i prezzi della RAM potreb...
Intel come Apple: copia il mondo degli s...
Wolters Kluwer amplia Arca Evolution con...
Microsoft di nuovo violata: 73 repositor...
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: 12:31.


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