Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
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


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Disponibili i video e le immagini in alt...
La NASA ha rilasciato le prime fotografi...
Cometa interstellare 3I/ATLAS: l'ESA dif...
Kodak PIXPRO AZ653: la fotocamera bridge...
Monitor da gaming: Samsung si conferma l...
The Duskbloods potrebbe arrivare a fine ...
Il miglior pesce d'aprile del mondo Linu...
Monopattini elettrici a 62 km/h fermati ...
OpenAI porta la modalità vocale d...
Mercedes-Benz introduce lo steer-by-wire...
Hacker agli Uffizi, il museo smentisce: ...
Nvidia mostra il futuro della grafica co...
Windows 11, scattano gli aggiornamenti f...
TIM lancia l'offerta di Pasqua: Giga ill...
Prime foto reali per OPPO Find X9 Ultra:...
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:20.


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