Perché i sistemi ungheresi sono comunemente usati nel mondo VB e apparentemente altrove?

3

Come suggerisce il titolo, posso capire perché le app ungheresi potrebbero emergere, ma Systems Hungarian sembra quasi del tutto inutile in un linguaggio strongmente tipizzato. Perché, quindi, è così apparentemente prevalente nel mondo VB? Tornando ai miei corsi di programmazione delle scuole superiori (fine anni '00), avevo un insegnante che non sapeva quasi nulla di programmazione, ma che aderiva ai sistemi ungheresi religiosamente.

Trovo strano che questo standard di denominazione persista, anche in posti che non dovrebbe (come i nomi delle colonne nei database) e la specificità degli ambienti in cui opera. Qualcuno può far luce su questo?

    
posta Sebastian Lenartowicz 05.09.2016 - 20:34
fonte

1 risposta

12

Microsoft, il creatore di VB, ha spinto i cosiddetti "sistemi ungheresi" nella loro documentazione ed esempi. Convenzioni di denominazione costante e variabile nella loro Guida ai Programmatori di Visual Basic esplicitamente mandato ungherese:

Variables should be prefixed to indicate their data type. Optionally, especially for large programs, the prefix can be extended to indicate the scope of the variable.

Nel capitolo Tipi di dati puoi vedere esempi come:

Dim intX As Integer
Dim blnRunning As Boolean

Dim objDb As Object
Set objDb = OpenDatabase("c:\Vb5\Biblio.mdb")

Esistono prefissi standard per tutti i tipi di VB integrati. Più assurdamente il prefisso udt è obbligatorio per i tipi definiti dall'utente e vnt -prefix per le varianti.

Da Microsoft questa pratica si è diffusa attraverso standard di codifica, esempi ed esercitazioni, e sono stati adottati dalla comunità VB in generale - almeno fino a quando la SM non ha compreso l'inutilità della notazione ungherese intorno alla transizione a VB.Net.

Per quanto riguarda il motivo per cui non viene utilizzato da nessun'altra parte? Perché è l'idea più stupida e inutile nella storia della programmazione.

    
risposta data 05.09.2016 - 22:31
fonte

Leggi altre domande sui tag