Utente:Jk4u59/Sandbox: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Fix, replaced: <source → <syntaxhighlight, </source → </syntaxhighlight |
||
(8 versioni intermedie di 2 utenti non mostrate) | |||
Riga 6:
|data = Agosto 2014
|versione =
|utilizzo = [[Criptovaluta|criptovalute]]
|paradigmi = [[Programmazione
|tipizzazione = [[Tipizzazione statica|statica]]
|specifiche =
Riga 18:
}}
'''Solidity''' è un [[linguaggio di programmazione]]
== Storia ==
Solidity è stato proposto per la prima volta nell'agosto 2014 da Gavin Wood
Al momento, Solidity è il linguaggio principale su Ethereum così come su altri blockchain privati che funzionano su piattaforme
Un ricercatore della [[Cornell University]] ha affermato che Solidity è stato parzialmente incolpato del tentativo di
==
Solidity è un linguaggio di programmazione [[Tipizzazione statica|tipizzato staticamente]] progettato per lo sviluppo di contratti intelligenti ([[smart contract]]) eseguiti su EVM. <sup>[13]</sup> <sup>[14]</sup> Solidity è compilato in [[bytecode]] che è eseguibile su EVM. Con Solidity, gli sviluppatori sono in grado di scrivere applicazioni che implementano una logica di business autoconsistente incorporata in contratti intelligenti, lasciando una autorevole registrazione delle transazioni che non è non ripudiabile. <sup>[15]</sup> <sup>[16]</sup> Scrivere contratti intelligenti in linguaggi specifici di questo ambiente, come Solidity, è giudicato “semplice” (ovviamente per coloro che hanno già competenze di programmazione). <sup>[17]</sup>
Come specificato da Wood, è progettato attorno alla sintassi [[ECMAScript]] per renderlo familiare agli sviluppatori web esistenti; a differenza di ECMAScript ha tipizzazione statica e tipi di ritorno variabili. Rispetto ad altri contemporeanei linguaggi di targeting EVM, come Serpent e Mutan, Solidity conteneva una serie di importanti differenze. Sono state supportate variabili con membri complessi per contratti che includono mappature arbitrariamente gerarchiche e strutture. I contratti supportano l'ereditarietà, inclusa l'ereditarietà multipla con la linearizzazione C3 . È stata introdotta anche un'interfaccia binaria applicativa (ABI) che facilita più funzioni di sicurezza del tipo all'interno di un singolo contratto (e successivamente supportata da Serpent). Nella proposta è stato incluso anche un sistema di documentazione per specificare una descrizione incentrata sull'utente delle ramificazioni di una chiamata di metodo, nota come "Natural Language Specification". <sup>[18]</sup> <sup>[19]</sup>
Esempio di un programma Solidity: <sup>[20]</sup> <sup>[21]</sup>
<syntaxhighlight lang="js">
contract GavCoin
{
mapping(address=>uint) balances;
uint constant totalCoins = 100000000000;
/// (EN) Endows creator of contract with 1m GAV.
/// (ITA) Fornisce il creatore del contratto con 1m GAV
function GavCoin(){
balances[msg.sender] = totalCoins;
}
/// (EN) Send $((valueInmGAV / 1000).fixed(0,3)) GAV from the account of $(message.caller.address()), to an account accessible only by $(to.address())
/// (ITA) Invia $ ((valueInmGAV / 1000) .fixed (0,3)) GAV dall'account di $ (message.caller.address ()), ad un account accessibile solo da $ (to.address ()).
function send(address to, uint256 valueInmGAV) {
if (balances[msg.sender] >= valueInmGAV) {
balances[to] += valueInmGAV;
balances[msg.sender] -= valueInmGAV;
}
}
/// (EN) getter function for the balance
/// (ITA) Funzione getter per il saldo
function balance(address who) constant returns (uint256 balanceInmGAV) {
balanceInmGAV = balances[who];
}
}
</syntaxhighlight>
== Disponibilità della piattaforma di sviluppo ==
* Remix , il Solidity ufficiale IDE
* Superblocks Lab , Solidity IDE per Ethereum
* Microsoft Visual Studio <sup>[22]</sup> <sup>[23]</sup>
* ConsenSys Enterprise <sup>[14]</sup>
* Tendermint su [[Microsoft Azure (piattaforma)|Microsoft Azure]] di [[PricewaterhouseCoopers|PWC]] <sup>[3]</sup>
* ErisDB di AWS <sup>[3]</sup>
* Hedera , la piattaforma hashgraph di Hedera supporta contratti intelligenti scritti in Solidity ™.
== Piattaforme Blockchain ==
Solidity è disponibile su:
* [[Ethereum]]
* Ethereum Classic
* Tendermint <sup>[3]</sup> e ErisDB (una versione di Tendermint) <sup>[3]</sup>
* Counterparty (che funziona su [[Bitcoin]] ) <sup>[5]</sup>
== Note ==
== Collegamenti esterni ==
[https://solidity.readthedocs.org/ Sito ufficiale Solidity e documentazione]
{{Criptovalute}}
{{Framework per applicazioni web}}
{{Principali linguaggi di programmazione}}
{{FOSS}}
[[:Categoria:Criptovalute]]
==ROLLEI Storia rollei==
Il nome "Rolleiflex" è comunemente usato per riferirsi alla linea di [[Fotocamera|fotocamere]] [[Single-lens reflex|reflex]] biottiche TLR ([[Twin-lens reflex|Twin Lens Reflex]]) della [[Rollei]]. Per alcuni decenni fu in commercio anche una linea derivata destinata ai fotografi dilettanti, la Rolleicord.
Tuttavia, sono stati prodotti con il marchio Rolleiflex anche una varietà di TLR e SLR ([[Single-lens reflex|Single Lens Reflex]]) in medio formato e messa a fuoco zonale, SLR da [[35 millimetri|35 mm]], nonché apparecchi digitali.
Riga 33 ⟶ 101:
La serie Rolleiflex con [[Pellicola fotografica|rullino]] in formato "120" è stata commercializzata principalmente per fotografi professionisti. Nel corso della loro storia, comunque, le fotocamere Rolleiflex hanno utilizzato [[Pellicola fotografica#Formati|formati di pellicola]] "117" (Rolleiflex Original), "120" (Standard, Automat, Letter Models, Rollei-Magic e T model), e "127" (Baby Rolleiflex).
Ancora oggi le fotocamere biottiche Rolleiflex si distinguono per la loro eccezionale qualità costruttiva, le dimensioni compatte, il peso modesto (rispetto alle ingombranti fotocamere dello stesso periodo), la qualità ottica superiore, la luminosità del mirino, la durata, la semplicità ed una meccanica affidabile. Alcuni fotografi professionisti, dilettanti e artistici continuano tuttora ad usare le fotocamere Rolleiflex biottiche con [[Diapositiva|pellicole invertibili a colori]] e [[Pellicola per negativi|negativi a colori]] o in [[bianco e nero]].
Le Rolleiflex erano popolari e ampiamente imitate, anche se gli obiettivi di lunghezza focale di 7,5
Gli apprezzati obiettivi ''Zeiss Planar f2.8'' e ''Schneider Xenotar'', entrambi con lunghezza focale di 80
Il meccanismo meccanico della manovella di caricamento della pellicola,unico per le Rolleiflex Automat e le fotocamere modello Letter, era robusto e intelligente, rendendo semiautomatico e veloce il caricamento della pellicola: questo meccanismo avviava automaticamente il contatore delle esposizioni, auto-spaziava le 12 o (nelle successive fotocamere modello F) 24 esposizioni e caricava l'otturatore; il tutto con meno di un giro completo del rullo di avanzamento della pellicola. Questo rendeva le fotocamere modello Rolleiflex Automat/Letter molto ricercate per le riprese di azioni veloci, come la [[Street photography|fotografia di strada]].
Una vasta gamma di accessori ha trasformato questa fotocamera in un sistema fotografico completo: testa panoramica, [[paraluce]], lenti per ripresa ravvicinata ([[Primo piano|close-up]]) con correzione di [[parallasse]], filtri per la correzione del colore, il miglioramento del contrasto ed effetti speciali, montati sull'obiettivo con una baionetta a sgancio rapido, nonché un attacco del [[treppiede]] anch'esso a sgancio rapido.
I successivi modelli Letter f2.8 e f3.5 (con obiettivi Planar o Xenotar) sono molto richiesti nel mercato dell'usato ed hanno il prezzo più alto.[2]
Storicamente erano disponibili fotocamere con cinque lunghezze focali, che comprendevano la Rollei-Wide grandangolare da 5,5
Sebbene tutte queste fotocamere possano essere tuttora ottime fotocamere per un effettivo utilizzo da parte dei fotografi, per molti modelli Rolleiflex esiste anche un fiorente mercato come oggetti da collezione, e ciò fa salire (e di molto per alcuni modelli) il prezzo finale pagato, in particolare in [[Giappone]].
|