In JavaScript, abbiamo qualcosa chiamato indefinito . Ho detto qualcosa, perché non so davvero se si tratta di una classe di base, di una variabile incorporata, di una parola chiave o altro. So solo che è lì. Per vederlo in azione, puoi semplicemente scrivere: undefined; typeof undefined; Qualcuno può spiegarmi …
Questo fa parte di una serie di domande che si concentra su un progetto chiamato Abstraction Project, che mira ad astrarre i concetti utilizzati nella progettazione del linguaggio sotto forma di un quadro. Un'altra pagina ad essa associata relativa alla tipizzazione strutturale può essere visualizzata qui . Il meta-argomento associato …
Ho iniziato seriamente a dare un'occhiata a Lisp questo fine settimana (con questo intendo che ho solo imparato Lisp e non sono tornato ai progetti in C #) e devo dire che lo adoro. Mi sono dilettato con altri linguaggi funzionali (F #, Haskell, Erlang) ma non ho sentito il …
Perché il C ++ ha fatto una distinzione tra globi statici (collegamento interno) e simboli in uno spazio dei nomi senza nome (collegamento esterno, ma non è possibile fare riferimento ad esso dall'esterno), quando è stato introdotto quest'ultimo? Alcuni di questi motivi sono ancora validi o ce ne sono di …
Java e C # garantiscono la sicurezza della memoria controllando i limiti dell'array e le dereferenze dei puntatori. Quali meccanismi potrebbero essere implementati in un linguaggio di programmazione per prevenire la possibilità di condizioni di gara e deadlock?
Sto cercando di leggere i dettagli di implementazione di Swift e una cosa che non riesco a definire sono le sue "tabelle dei testimoni". Sembra che siano un puntatore vtable separato usato per le strutture. Ma perché dovresti averne bisogno? Le strutture sono copiate per valore, quindi sai già in …
Le continuazioni sono estremamente utili nei linguaggi di programmazione funzionale (ad esempio la Contmonade in Haskell) perché consentono una notazione semplice e regolare per il codice in stile imperativo. Sono utili anche in alcuni linguaggi imperativi più vecchi perché possono essere utilizzati per implementare funzionalità linguistiche mancanti (ad es. Eccezioni, …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 5 anni fa . Considera quanto segue: if(a == b or c) Nella maggior parte …
Attualmente sto implementando un valutatore di espressioni (espressioni a riga singola, come formule) basato su quanto segue: l'espressione inserita viene tokenizzata per separare letterali booleani, numeri interi, decimali, stringhe, funzioni, identificatori (variabili) Ho implementato l'algoritmo Shunting-yard (leggermente modificato per gestire le funzioni con un numero variabile di argomenti) per sbarazzarsi …
Di recente ho trovato il concetto di programmazione alfabetica . E l'ho trovato piuttosto intrigante. Eppure non mi sono mai imbattuto in affermazioni secondo cui è un cattivo modo di strutturare un programma. Sembra che non abbia coperto molti posti. Nemmeno qui potrei trovare domande in merito. La mia domanda …
Conosco il concetto di ortogonalità, ma dal punto di vista del linguaggio di programmazione esiste un modo per verificarlo / dimostrarlo? Ad esempio in C #, si può usare publico staticper una firma del metodo. Puoi usare uno o entrambi e non interferirebbero tra loro, quindi sono ortogonali tra loro, …
Sto discutendo della progettazione di un linguaggio specifico di dominio per semplificare un dato modello di programmazione oscuro. Parte del dibattito è se costruirlo (come uno script) su un linguaggio / runtime esistente (es. Java) o renderlo autonomo (proprio compilatore, ecc.). Quelli di voi con esperienza di progettazione DSL, avete …
Perché quando provo a creare un array di ArrayLists: ArrayList<Integer>[] arr=new ArrayList<Integer>[40];c'è un errore e java non lo consente? C'è una ragione legata all'implementazione java di generici, generici in qualsiasi lingua o qualcosa di arbitrario?
Setup: supponiamo di avere un tipo chiamato Iteratorche ha un parametro type Element: interface Iterator<Element> {} Quindi abbiamo un'interfaccia Iterableche ha un metodo che restituirà un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Il problema con l' Iteratoressere generico è che …
PHP, C #, Python e probabilmente alcune altre lingue hanno una yieldparola chiave che viene utilizzata per creare funzioni del generatore. In PHP: http://php.net/manual/en/language.generators.syntax.php In Python: https://www.pythoncentral.io/python-generators-and-yield-keyword/ In C #: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield Sono preoccupato che, come caratteristica / funzione del linguaggio, yieldrompa alcune convenzioni. Uno di questi è ciò a cui …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.