Domande con tag 'language-design'

9
risposte

Perché le lingue non includono l'implicazione come operatore logico?

Potrebbe essere una domanda strana, ma perché non vi è alcuna implicazione come operatore logico in molti linguaggi (Java, C, C ++, Python Haskell - sebbene l'ultimo abbia operatori definiti dall'utente è banale per aggiungerlo)? Trovo molto più...
posta 18.01.2013 - 13:48
6
risposte

Perché a differenza di Java, C # è stato creato con parole chiave "nuove" e "virtuali + override"?

In Java non ci sono virtual , new , override parole chiave per la definizione del metodo. Quindi il funzionamento di un metodo è facile da capire. Causa se DerivedClass estende BaseClass e ha un metodo con lo stesso nome e la st...
posta 18.06.2014 - 17:20
2
risposte

Perché 'void' non è consentito come tipo generico in C #

Quali sono state le decisioni di progettazione che hanno sostenuto a favore di void di non essere costruibili e non consentite come tipo generico? Dopotutto è solo uno speciale% vuoto% co_de e avremmo evitato il totale PITA di avere delegat...
posta 20.01.2012 - 14:44
5
risposte

Perché tutte le funzioni dell'algoritmo accettano solo intervalli, non contenitori?

Ci sono molte funzioni utili in <algorithm> , ma tutte funzionano su "sequenze" - coppie di iteratori. Ad esempio, se ho un contenitore e mi piace eseguire std::accumulate su di esso, devo scrivere: std::vector<int> myCont...
posta 05.03.2014 - 14:14
13
risposte

Perché l'operatore incaricato assegna a sinistra?

Ho iniziato a insegnare a un amico programmando di recente (stiamo usando Python), e quando abbiamo iniziato a discutere sulla creazione di variabili e sull'operatore di assegnazione, mi ha chiesto perché il valore a destra è assegnato al nome a...
posta 04.08.2011 - 00:01
5
risposte

Perché i vecchi linguaggi di programmazione continuano a essere rivisti?

Questa domanda non è, "Perché le persone usano ancora i vecchi linguaggi di programmazione?" Lo capisco abbastanza bene. In effetti i due linguaggi di programmazione che conosco meglio sono C e Scheme, entrambi risalenti agli anni '70. Rece...
posta 01.11.2012 - 18:24
4
risposte

Perché gli iteratori in Python generano un'eccezione?

Ecco la sintassi per gli iteratori in Java (sintassi alquanto simile in C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Il che ha un senso. Ecco la sintassi equivalente in Python: it =...
posta 05.10.2011 - 04:03
22
risposte

Gli spazi bianchi negli identificatori sono mai stati idiomatici? [chiuso]

Lo stile C # suggerisce di utilizzare CamelCase negli identificatori per delimitare le parole. La tradizione Lisp suggerisce invece di utilizzare-dashes. È mai esistito un linguaggio di programmazione in cui l'uso degli spazi negli iden...
posta 24.04.2012 - 20:52
4
risposte

Perché le struct e le classi separano i concetti in C #?

Durante la programmazione in C #, mi sono imbattuto in una strana decisione sul design del linguaggio che non riesco a capire. Quindi, C # (e CLR) ha due tipi di dati aggregati: struct (tipo-valore, memorizzato nello stack, nessuna eredi...
posta 26.02.2015 - 21:39
8
risposte

Perché progettare un linguaggio moderno senza un meccanismo di gestione delle eccezioni?

Molte lingue moderne forniscono una ricca gestione delle eccezioni , ma il linguaggio di programmazione Swift di Apple non fornisce un meccanismo di gestione delle eccezioni . Nonostante le eccezioni, ho difficoltà a capire cosa significhi....
posta 03.10.2014 - 20:47