In computer science and computer programming, the term strong typing is used to describe those situations where programming languages specify one or more restrictions on how operations involving values having different datatypes can be intermixed. The antonym is weak typing. However, these terms have been given such a wide variety of meanings over the short history of computing that it is often difficult to know, out of context, what an individual writer means when using them.

PropertyValue
p:abstract
  • En informatique, un langage de programmation est dit fortement typé lorsqu'il garantit que les types de données employés décrivent correctement les données manipulées. Par opposition, un langage sans typage fort est dit faiblement typé. Depuis son invention, le terme de typage fort a été employé avec de nombreux sens contradictoires, ce qui lui a enlevé presque toute signification. La liste qui suit rassemble quelques affirmations possibles sur le typage fort, avec des exemples de langages fortement typés et disposant respectant le critère et des contre-exemple de langages tout aussi fortement typés mais ne respectant pas le critère : # Un langage est fortement typé si le type de donnée est associé au nom de la variable, plutôt qu'à sa valeur. Si le type est attaché à la valeur, le langage est faiblement typé. Exemple : Java. Contre-exemple : OCaml, qui est généralement considéré comme encore plus fortement typé que Java. # Un langage est fortement typé si le compilateur est capable de déceler des erreurs de typage. Si les erreurs de typage ne sont reconnues qu'à l'exécution, le langage est faiblement typé. Exemple : OCaml. Contre-exemple : Scheme. # Un langage est fortement typé si la compilation ou l'exécution peuvent détecter des erreurs de typage. Si ces erreurs ne sont jamais reconnues, le langage est faiblement typé. # Un langage est fortement typé si les conversions implicites de types sont formellement interdites. Si de telles conversions sont possibles, le langage est faiblement typé. Exemple : OCaml. Contre-exemple : Haskell, qui est généralement considéré comme encore plus fortement typé que OCaml. # Un langage est fortement typé si les conversions entre types doivent être explicitement décrites. Si des conversions implicites sont utilisées, le langage est faiblement typé. Exemple : OCaml. # Un langage est fortement typé si aucun mécanisme du langage ne permet de passer outre les interdits de trans-typage. Si ces mécanismes existent, comme le transtypage (appelé cast en anglais) en langage C, le langage est faiblement typé. Exemple : Haskell. # Un langage est fortement typé s'il possède un typage complet, alliant des types simples et des types composés. S’il n'a que quelques types, ou seulement des types simples ou scalaires, le langage est faiblement typé. # Un langage est fortement typé si le type de ses données est fixe et ne peut varier pendant la durée de la vie de l'objet. Si le type d'une donnée peut changer, le langage est faiblement typé. On appelle cela le typage dynamique. # Un langage est fortement typé si le système de typage fournit de fortes garanties sur le comportement à l'exécution du programme avant cette exécution. Si les garanties fournies par le système de typage ne sont pas fortes, ce langage est au mieux faiblement typé. Quelques unes de ces définitions sont contradictoires." (fr)
  • In computer science and computer programming, the term strong typing is used to describe those situations where programming languages specify one or more restrictions on how operations involving values having different datatypes can be intermixed. The antonym is weak typing. However, these terms have been given such a wide variety of meanings over the short history of computing that it is often difficult to know, out of context, what an individual writer means when using them. (en)
  • In informatica, e in particolare in programmazione, l'espressione forte tipizzazione (strong typing) può essere usata per caratterizzare il tipo di regole che un determinato linguaggio di programmazione impone, a livello sintattico o semantico, circa la tipizzazione dei dati e all'uso dei dati in relazione al loro tipo. L'opposto della forte tipizzazione è la debole tipizzazione. In un linguaggio fortemente tipizzato, il programmatore è tenuto a specificare il tipo di ogni elemento sintattico che durante l'esecuzione denota un valore (per esempio un valore costante, una variabile o una espressione, e il linguaggio garantisce che tale valore sia utilizzato in modo coerente con il tipo specificato (per esempio, non è possibile eseguire una somma aritmetica su dati di tipo stringa). Questo concetto generale può applicarsi con diverse sfumature; a seconda del contesto, dunque, per linguaggio fortemente tipizzato si possono intendere cose leggermente diverse: * tipizzazione statica: tutti i controlli sull'uso corretto dei valori rispetto al loro tipo vengono eseguiti durante la compilazione; * sicurezza rispetto ai tipi (type safety): è garantito che vengano fatti controlli esaustivi sull'uso dei valori rispetto al loro tipo, ma non necessariamente durante la compilazione (un programma potrebbe fallire durante l'esecuzione a causa di violazioni di tipo) * impossibilità di eseguire conversioni di tipo; * impossibilità di eseguire conversioni di tipo implicite; Un esempio limite di linguaggio debolmente tipizzato è il linguaggio macchina, in cui un'area di memoria, rappresentata nel codice da un indirizzo di memoria, può essere usata indifferentemente per contenere valori di qualunque tipo (numeri interi, numeri con la virgola, caratteri, e così via). I linguaggi di programmazione ad alto livello tendono ad avere sistemi dei tipi più sicuri e quindi ad avvicinarsi all'ideale della forte tipizzazione, ma in genere rimangono disponibili meccanismi per trattare dati in modo flessibile che si prestano a essere utilizzati per violare il sistema dei tipi. Per esempio, il linguaggio C fornisce almeno tre meccanismi che lo qualificano come linguaggio debolmente tipizzato: * le operazioni di casting, che consentono di forzare l'interpretazione di un qualunque valore secondo un qualunque tipo (anche un tipo diverso da quello a cui il valore è stato precedentemente associato); * i puntatori a void, che godono di conversione di tipo implicita verso qualunque altro tipo puntatore; * le unioni consentono di interpretare una collezione di dati correlati secondo diverse attribuzioni di tipo indipendenti." (it)
  • Silna typizacja to system typów języku programowania w którym każde wyrażenie ma ustalony typ, i nie można go używać w kontekście przeznaczonym dla innych typów. Silna typizacja wykrywa pewne błędy, jednak ogranicza znacznie język i wykrywa wiele fałszywych błędów. Np. mieszanie liczb zmiennoprzecinkowych i całkowitych jest prawie zawsze w pełni poprawne, jednak niektóre systemy silnie typizowane uznają je za błąd." (pl)
  • Starke Typisierung (engl. strong typing) bezeichnet ein Schema der Typisierung von Programmiersprachen. In der Literatur wird auch von strenger Typisierung gesprochen. Bei der starken Typisierung bleibt eine einmal durchgeführte Bindung zwischen Variable und Datentyp bestehen, es wird auch (möglichst) keine implizite Typkonvertierung vorgenommen. Eine nicht stark typisierte Sprache bezeichnet man als schwach typisiert. Das Konzept der starken Typisierung ist nicht eindeutig definiert. In der Literatur finden sich diverse Regeln, die sich teilweise widersprechen. Versucht man alle bisher in der Literatur aufgestellten Regeln für starke Typisierung auf bekannte Programmiersprachen anzuwenden, hält keine Sprache dieser Überprüfung stand: Eine Sprache ist stark typisiert, wenn # Datentypen an Variablennamen anstatt an diskreten Werten geknüpft sind - die passende Terminologie dafür wäre statische Typisierung (static typing) im Gegensatz zur dynamischen Typisierung (dynamic typing); # sie Typüberprüfungen zur Compile-Zeit enthält; # Typkonvertierungen verboten sind; # Typkonvertierungen explizit durchgeführt werden müssen; # die Sprache keine Mechanismen besitzt, um das Typ-System zu umgehen, etwa type casts (Typumwandlungen) in C); # es ein komplexes, fein abgestuftes System an Typen mit Sub-Typen gibt; # der Datentyp eines Objektes fix ist und sich während der gesamten Lebensdauer des Objektes nicht verändern kann (auch diese Eigenschaft wird oftmals statische Typisierung genannt); # das Typ-System das Laufzeitverhalten eines Programmes garantieren kann." (de)
  • Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado una variable de un tipo concreto, no se puede usar como si fuera una variable de otro tipo distinto a menos que se haga una conversion. No hay una única definición de este término. Un lenguaje que no es fuertemente tipado se dice que no está tipado. La mayoría de los lenguajes imperativos son fuertemente tipados mientras que los lenguajes declarativos no suelen estar tipados." (es)
  • Vahva tyypitys on ohjelmointikielissä käytettävä ominaisuus, joka määrittelee, että jokaisella muuttujalla on tyyppi ja muuttujat voivat saada ainoastaan tyyppinsä mukaisia arvoja. Ominaisuus on käytössä useissa ohjelmointikielissä, mutta ei kaikissa. Vahvan tyypityksen ansiosta ohjelmointikielen kääntäjä huomaa jotkin ohjelmointivirheet automaattisesti." (fi)
  • 在電腦科學以及程式設計中,術語強類型用以描述程式語言對於混入不同資料類型的值,這方面的運算限制中所處的地位。它的反義詞是弱類型。然而,這些術語在短短的電腦歷史中,早已含括了更多的意義,而且時常很難知道寫的人究竟要表達哪個意思。" (zh)
rdfs:comment
  • En informatique, un langage de programmation est dit fortement typé lorsqu'il garantit que les types de données employés décrivent correctement les données manipulées. Par opposition, un langage sans typage fort est dit faiblement typé." (fr)
  • In computer science and computer programming, the term strong typing is used to describe those situations where programming languages specify one or more restrictions on how operations involving values having different datatypes can be intermixed. The antonym is weak typing. However, these terms have been given such a wide variety of meanings over the short history of computing that it is often difficult to know, out of context, what an individual writer means when using them. (en)
  • In informatica, e in particolare in programmazione, l'espressione forte tipizzazione (strong typing) può essere usata per caratterizzare il tipo di regole che un determinato linguaggio di programmazione impone, a livello sintattico o semantico, circa la tipizzazione dei dati e all'uso dei dati in relazione al loro tipo. L'opposto della forte tipizzazione è la debole tipizzazione." (it)
  • Silna typizacja to system typów języku programowania w którym każde wyrażenie ma ustalony typ, i nie można go używać w kontekście przeznaczonym dla innych typów." (pl)
  • Starke Typisierung (engl. strong typing) bezeichnet ein Schema der Typisierung von Programmiersprachen. In der Literatur wird auch von strenger Typisierung gesprochen. (de)
  • Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado una variable de un tipo concreto, no se puede usar como si fuera una variable de otro tipo distinto a menos que se haga una conversion. No hay una única definición de este término. Un lenguaje que no es fuertemente tipado se dice que no está tipado." (es)
  • Vahva tyypitys on ohjelmointikielissä käytettävä ominaisuus, joka määrittelee, että jokaisella muuttujalla on tyyppi ja muuttujat voivat saada ainoastaan tyyppinsä mukaisia arvoja. Ominaisuus on käytössä useissa ohjelmointikielissä, mutta ei kaikissa." (fi)
  • 在電腦科學以及程式設計中,術語強類型用以描述程式語言對於混入不同資料類型的值,這方面的運算限制中所處的地位。它的反義詞是弱類型。然而,這些術語在短短的電腦歷史中,早已含括了更多的意義,而且時常很難知道寫的人究竟要表達哪個意思。" (zh)
p:hasPhotoCollection
rdfs:label
  • Forte tipizzazione (it)
  • Lenguaje de programación fuertemente tipado" (es)
  • Silna typizacja (pl)
  • Starke Typisierung (de)
  • Strongly-typed programming language (en)
  • Typage fort (fr)
  • Vahva tyypitys (fi)
  • 強類型" (zh)
foaf:page
is p:redirect of
p:reference
is owl:sameAs of
skos:subject
rdf:type
is p:typing of
p:wikipage-de
p:wikipage-es
p:wikipage-fi
p:wikipage-fr
p:wikipage-it
p:wikipage-pl
p:wikipage-zh