Wikifunzioni:FAQ
Questa è una pagina dedicata alle domande frequenti su Wikifunctions. Puoi inviare le tue domande nella pagina di discussione se non trovi una risposta in questa pagina!
Inoltre, considera le nostre FAQ su Meta per le domande più generali su Wikifunctions e Abstract Wikipedia
Introduzione
Di cosa si occupa questo progetto?
Wikifunctions è un nuovo progetto Wikimedia che fornisce un catalogo di tutti i tipi di funzioni che chiunque può chiamare, scrivere, mantenere e utilizzare. Fornisce inoltre la tecnologia sottostante che permetterà la traduzione di articoli indipendenti da Abstract Wikipedia nella lingua di ogni Wikipedia. Ciò permetterà a tutti di contribuire e leggere gli articoli nella lingua che preferiscono.
Cos'è una funzione?
Le funzioni sono una forma di conoscenza che può rispondere alle domande, come ad esempio il numero di giorni trascorsi tra due date o la distanza tra due città. Funzioni più complicate possono rispondere a domande più complicate, come il volume di una forma tridimensionale, la distanza tra Marte e Venere in una data determinata, o se due specie erano vive nello stesso periodo storico.
Usiamo già delle funzioni in molti tipi di ricerca delle informazioni, ad esempio facendo una domanda ad un motore di ricerca. I template, come ad esempio Template:Convert e Template:Age nella Wikipedia Inglese, sono un esempio di funzionalità che sono già usate in molte versioni di Wikipedia, scritti in wikitesto e Lua e manualmente copiati in tutti i wiki in cui sono necessari.
Cos'è una implementazione?
Un'implementazione è un modo particolare di eseguire una funzione. Un'implementazione è una ricetta che elenca i passaggi necessari per eseguire la funzione. Potrebbe essere un pezzo di codice in un linguaggio di programmazione, o una combinazione di chiamate ad altre funzioni. Una funzione può avere molte implementazioni, tutte strettamente equivalenti.
Cos'è un test?
Un test è un modo per determinare se una determinata funzione sta facendo la cosa giusta. Una funzione avrà in genere più test, ognuno dei quali specifica alcuni ingressi alla funzione e le condizioni che l'uscita per il dato ingresso deve soddisfare.
Ad esempio, i test per una funzione "converti in Title Case" potrebbero includere: "abc" diventa "Abc"; "war and peace" diventa "War and Peace"; "война и мир" diventa "Война и мир"; "123" rimane "123".
Quali funzionalità sono già diponibili, quali lo saranno presto, e quali sono più distanti?
- Al lancio:
- Abbiamo la capacità di avere funzioni che funzionano con Stringhe e Booleani.
- Wikifunzions sarà completamente internazionalizzato fin dall'inizio. Può essere usato in qualsiasi lingua.
- Sviluppi attuali:
- I tipi generici e le funzioni generiche non sono pienamente supportati.
- L'aggiunta di tipi, per ora, è limitato al team di sviluppo. Nel futuro, la comunità sara capace di aggiungere nuovi tipi. C'è molto lavoro che dovrà essere fatto per far funzionari i tipi in modo molto più fluido.
- Un tipo particolarmente interessante saranno i dati binari, e in particolare i file.
- Attualmente supportiamo due linguaggi di programmazione per le implementazioni: JavaScript e Python. In futuro, abbiamo intenzione di supportarne molti altri.
- Attualmente, non è possibile chiamare altre funzioni dall'implementazione scritta in un qualsiasi linguaggio di programmazione. Questo è possibile solo tramite la composizione.
- In futuro:
- Sarà possibile chiamare le funzioni Wikifunctions da altri progetti Wikimedia e integrare i loro risultati nell'output della pagina.
- Sarà possibile utilizzare i dati di Wikidata nelle funzioni.
- Sarà possibile richiamare insieme di dati dal namespace di Commons Data.
In che modo Wikifunctions è multilingue?
Wikifunctions e la Wikipedia astratta sono multilingua in diversi modi indipendenti:
- Wikifunctions è multilingua in termini di contenuti e di interfaccia utente. Gli utenti possono leggere e chiamare funzioni su Wikifunctions in qualsiasi lingua naturale. Ecco la funzione "concatena stringhe" in inglese, polacco ed ebraico; è disponibile in molte altre lingue.
- I contributori possono modificare e migliorare Wikifunctions usando la loro lingua. Ogni implementazione può essere modificata nella lingua madre di ogni utente. Per esempio, la composizione della funzione "e" può essere modificata in tedesco, inglese o in ognuna delle circa 300 lingue.
- Le funzioni di Wikifunctions possono essere usate per restituire risultati in ogni lingua. La comunità sta creando un numero crescente di funzioni che supportano la generazione di testi in numerose lingue. Abbiamofunzioni per il Bretone, il Rohingya, l'Inglese e molte altre lingue.
- Le funzioni di Wikifunctions possono essere implementate con linguaggi di programmazione differenti. Ad esempio, la funzione Z10000 è implementata sia in JavaScript che in Python.
Quali linguaggi di programmazione vengono attualmente supportati? Quali saranno supportati nel futuro?
Attualmente, Wikifunctions supporta le implementazioni scritte in JavaScript e Python. In futuro, intendiamo aggiungere il supporto per altri linguaggi di programmazione. Speriamo di aggiungere almeno un altro linguaggio di programmazione entro il 2025 (ma non abbiamo ancora deciso quale).
Come sarà integrata Wikifunctions negli altri progetti?
Wikifunctions è il primo passo verso la costruzione di Abstract Wikipedia. Il nostro obiettivo a breve termine sarà sostenere la comunità e migliorare in base al feedback. Allo stesso tempo, inizieremo il processo di integrazione con Wikipedia e Wikidata, che consentirà applicazioni più ampie nella vita reale e ci avvicinerà alla visione di Abstract Wikipedia.
I contributori potranno chiamare le funzioni memorizzate sul sito Wikifunctions dal loro wiki. Il risultato della chiamata verrà visualizzato ai lettori della wiki. Questo può essere utilizzato, ad esempio, per calcolare l'età di una persona, la densità di popolazione basata su dati sulla popolazione e sull'area di Wikidata, o per disegnare un grafico e integrarlo in un articolo.
Un'altra opzione per integrare Wikifunctions sarà quella di integrare un'interfaccia per richiamare una funzione all'interno di una wiki. Questa interfaccia potrebbe essere usata, per esempio, in una voce di Wikipedia per calcolare il risultato di un'equazione fisica basandosi su parametri forniti dal lettore, disegnare ed interagire con funzioni matematiche, ecc.
Cosa non è Wikifunctions?
Consulta Wikifunctions:Cosa non è Wikifunctions per maggiori informazioni.
Sotto quale licenza saranno le funzioni e il contenuto collegato?
In accordo con la discussione che si è tenuta su Meta tra novembre e dicembre 2021, tutti i contributi su Wikifunctions e gli progetti di Abstract Wikipedia saranno pubblicati sotto licenza libera. In particolare:
- Il contenuto testuale su Wikifunctions sarà pubblicato sotto CC BY-SA 4.0.
- Function signatures and other structured content on Wikifunctions will be published under CC 0.
- Le implementazioni di Wikifunctions saranno pubblicate sotto la licenza Apache 2.
- Abstract Content for Abstract Wikipedia will be published under CC BY-SA 4.0.
Ci sono ancora alcuni punti che dovranno essere affrontati in futuro, come la licenza del contenuto generato dal contenuto astratto. Abbiamo in programma di redigere un documento più completo con il Dipartimento legale su come le persone possano riutilizzare il codice di Wikifunctions nel modo più indolore possibile, rispettando comunque la licenza.
Contribuire
Sono appena entrato. Cosa c'è per me e come posso aiutare?
Benvenuti! Siamo molto felici di averti qui! Ci sono molte opportunità per contribuire a Wikifunctions, dalla creazione di nuove funzioni fino al miglioramento e alla traduzione della documentazione. Se cerchi di partecipare, ti consigliamo di suggerire, a seconda del tuo livello di comfort, una nuova funzione su un argomento che ti interessa. O addirittura creare tale funzione. Crea dei test. Prova a fare un'implementazione. Aiuta con le traduzioni. Leggi e migliora la nostra documentazione. Aiuta a organizzare la comunità.
Come posso creare una nuova funzione, implementazione o test?
Per vedere come creare una nuova funzione, implementazione o test, vedi Wikifunctions:Introduzione.
Per vedere più nel dettaglio come creare un'implementazione, guarda Wikifunctions:Come creare impletentazioni.
Come dovrei iniziare?
Se conosci più lingue, trova funzioni che non hanno ancora etichette e descrizioni nelle tue lingue nella pagina Special:ListMissingLabels e aggiungile tu.
Se hai qualche interesse in un dominio che potrebbe essere coperto da funzioni su Wikifunctions, ma non lo è ancora, oppure se hai altre idee per funzioni, vai alla pagina per suggerire nuove funzioni e presenta le tue idee.
Se sei un programmatore in Javascript o Python, puoi cercare le funzioni che non hanno ancora un'implementazione in Javascript o Python, e aggiungerle tu.
Dove posso cercare aiuto?
Inizialmente dovresti andare nel portale d'aiuto, dove puoi cercare tutta la documentazione sull'uso e sulla modifica di Wikifunctions. Se sei ancora bloccato, lascia un messaggio sulla Chat di progetto, e qualcuno risponderà alla tua domanda.
Come ordiniamo o categorizziamo le funzioni?
Per ora, il modo migliore per ordinare o classificare le funzioni è farlo a mano attraverso le pagine nel namespace di Wikifunctions. Un'altra opzione sarebbe quella di consultare la pagina di discussione della funzione data. Monitoreremo questi sforzi e discuteremo con la comunità quali modifiche al sistema potrebbero essere utili per questo compito.