Quelqu'un pourrait-il expliquer pourquoi, dans la plupart des langages courants (voir la remarque ci-dessous), les opérateurs de comparaison (==,! =, <,>, <=,> =) Ont une priorité plus élevée que les opérateurs binaires (&, |, ^ , ~)? Je ne pense pas avoir jamais rencontré un usage où cette préséance serait …
En Java , il n'y a pas virtual, new, overridemots - clés pour la définition de la méthode. Ainsi, le fonctionnement d'une méthode est facile à comprendre. Si DerivedClass étend BaseClass et a une méthode portant le même nom et la même signature de BaseClass, le remplacement aura lieu lors …
C'est peut-être une question étrange, mais pourquoi n'y a-t-il aucune implication en tant qu'opérateur logique dans de nombreux langages (Java, C, C ++, Python Haskell - bien que le dernier ait eu des opérateurs définis par l'utilisateur, il est trivial de l'ajouter)? Je trouve que l'implication logique est beaucoup plus …
Pourquoi, dans presque tous les langages de programmation modernes (Go, Rust, Kotlin, Swift, Scala, Nim et même dernière version de Python), les types viennent toujours après le nom de la variable dans la déclaration de la variable et pas avant? Pourquoi x: int = 42et pas int x = 42? …
Quelles sont les décisions de conception qui plaidaient en faveur de la voidnon-possibilité de construction et de l'interdiction d'utilisation en tant que type générique? Après tout, il s’agit simplement d’un vide spécial structqui aurait évité le PITA total d’avoir des délégués Funcet des Actiondélégués distincts . (C ++ permet les …
Contexte Je conçois une langue, en tant que projet parallèle. J'ai un assembleur, un analyseur statique et une machine virtuelle en état de marche. Comme je peux déjà compiler et exécuter des programmes non triviaux en utilisant l'infrastructure que j'ai construite, j'ai pensé à faire une présentation à mon université. …
Il y a beaucoup de fonctions utiles dans <algorithm>, mais toutes fonctionnent sur des "séquences" - des paires d'itérateurs. Par exemple, si j’ai un conteneur et que j’aime courir std::accumulatedessus, j’ai besoin d’écrire: std::vector<int> myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Quand tout ce que je compte faire, …
Voici la syntaxe pour les itérateurs en Java (syntaxe quelque peu similaire en C #): Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } Ce qui a du sens. Voici la syntaxe équivalente en Python: it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) Je pensais …
De nombreux langages modernes fournissent de riches fonctionnalités de gestion des exceptions , mais le langage de programmation Swift d’Apple ne fournit pas de mécanisme de gestion des exceptions . Imprégné d'exceptions que je suis, j'ai du mal à comprendre ce que cela signifie. Swift a des assertions, et bien …
J'ai commencé à enseigner la programmation à un ami tout récemment (nous utilisons Python) et lorsque nous avons commencé à discuter de la création de variables et de l'opérateur d'affectation, elle a demandé pourquoi la valeur à droite est attribuée au nom à gauche et non l'inverse. . Je n'y …
Cette question n'est pas "Pourquoi les gens utilisent-ils encore les anciens langages de programmation?" Je le comprends très bien. En fait, les deux langages de programmation que je connais le mieux sont C et Scheme, tous deux remontant aux années 70. Je lisais récemment des articles sur les modifications apportées …
Lors de la programmation en C #, je suis tombé sur une décision de conception de langage étrange que je ne comprenais tout simplement pas. Donc, C # (et le CLR) a deux types de données d'agrégat: struct(type-valeur, stocké sur la pile, pas d'héritage) et class(type-référence, stocké sur le tas, …
Selon ce billet , nous ne devrions jamais nous fier à la méthode finalize pour être appelée. Alors, pourquoi Java l'a-t-il inclus dans le langage de programmation? Cela semble être une décision terrible d’inclure dans un langage de programmation une fonction qui pourrait être appelée.
On nous dit souvent que le matériel ne tient pas compte de la langue dans laquelle un programme est écrit, car il ne voit que le code binaire compilé, mais ce n'est pas toute la vérité. Par exemple, considérons l'humble Z80; ses extensions du jeu d'instructions 8080 incluent des instructions …
Le style C # suggère d'utiliser CamelCase dans des identifiants pour délimiter des mots. La tradition Lisp suggère d'utiliser plutôt des tirets. Existe-t-il un langage de programmation où l’utilisation d’espaces dans les identifiants était non seulement autorisée, mais un idiome communément utilisé pour les identifiants à plusieurs mots? Il est …
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.