Yahoo Web Search

  1. Rebol - Wikipedia

    en.wikipedia.org/wiki/Rebol

    In contrast to imperative programming languages descending from ALGOL, the do dialect has neither keywords, nor statements. Words are used as case-insensitive variables . Like in all dynamically typed languages , variables don't have an associated type, type is associated with values.

  2. People also ask

    What functional language should I learn?

    What is programming language Wikipedia made in?

    What are the most in demand coding languages?

    What is C plus plus?

  3. Closure (computer programming) - Wikipedia

    en.wikipedia.org/wiki/Closure_(computer_programming)

    The term closure is often used as a synonym for anonymous function, though strictly, an anonymous function is a function literal without a name, while a closure is an instance of a function, a value, whose non-local variables have been bound either to values or to storage locations (depending on the language; see the lexical environment section below).

  4. Scheme - Wikipedia

    ja.wikipedia.org/wiki/Scheme

    Lambda: The Ultimate Imperative: 1976年: Lambda: The Ultimate Declarative: 1977年: Debunking the 'Expensive Procedure Call' Myth, or, Procedure Call Implementations Considered Harmful, or, Lambda: The Ultimate GOTO: 1978年: The Art of the Interpreter or, the Modularity Complex (Parts Zero, One, and Two) 1978年: RABBIT: A Compiler for SCHEME ...

  5. Python (langage) — Wikipédia

    fr.wikipedia.org/wiki/Python_(langage)
    • Utilisation
    • Critiques
    • Origine
    • Historique
    • Évolution
    • Développement
    • Influence
    • Fonctionnalités
    • Programmation
    • Propriétés
    • Définition
    • Résultats
    • Généralités
    • Principe
    • Introduction
    • Fonctionnement
    • Caractéristiques
    • Mécanisme

    Le langage Python est placé sous une licence libre proche de la licence BSD9 et fonctionne sur la plupart des plates-formes informatiques, des smartphones aux ordinateurs centraux10, de Windows à Unix avec notamment GNU/Linux en passant par macOS, ou encore Android, iOS, et peut aussi être traduit en Java ou .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Python est un langage qui peut s'utiliser dans de nombreux contextes et s'adapter à tout type d'utilisation grâce à des bibliothèques spécialisées. Il est cependant particulièrement utilisé comme langage de script pour automatiser des tâches simples mais fastidieuses, comme un script qui récupérerait la météo sur Internet ou qui s'intégrerait dans un logiciel de conception assistée par ordinateur afin d'automatiser certains enchaînements d'actions répétitives (voir la section Adoption). On l'utilise également comme langage de développement de prototype lorsqu'on a besoin d'une application fonctionnelle avant de l'optimiser avec un langage de plus bas niveau. Il est particulièrement répandu dans le monde scientifique, et possède de nombreuses bibliothèques optimisées destinées au calcul numérique. Les blocs sont identifiés par l'indentation, au lieu d'accolades comme en C ou C++ ; ou de begin ... end comme en Pascal ou Ruby. Une augmentation de l'indentation marque le début d'un bloc, et une réduction de l'indentation marque la fin du bloc courant. Par convention, l'indentation est habituellement de quatre espaces en Python27. NB : l'indentation pourrait être modifiée ou supprimée dans la version en C sans modifier son comportement. De même la fonction Python peut être écrite avec une expression conditionnelle28. Cependant, une indentation correcte permet de détecter plus aisément des erreurs en cas d'imbrication de plusieurs blocs et facilite donc l'élimination de ces erreurs. C'est pourquoi il est préférable d'indenter convenablement les programmes en C. La version courte s'écrirait ainsi : Les mots-clés sont fournis dans la liste keyword.kwlist du module keyword29. Les mots-clés de Python 2.7.5 sont les suivants : and, as, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with, yield. Les fonctions lambda peuvent être définies en ligne et utilisées comme arguments dans des expressions fonctionnelles :

    Il est également apprécié par certains pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation11.

    En 1989, profitant dune semaine de vacances durant les fêtes de Noël, il utilise son ordinateur personnel13 pour écrire la première version du langage. Fan de la série télévisée Monty Python's Flying Circus, il décide de baptiser ce projet Python14. Il sest principalement inspiré dABC, par exemple pour lindentation comme syntaxe ou les types de haut niveau mais aussi de Modula-3 pour la gestion des exceptions, du langage C et des outils UNIX15.

    À partir d'août 1995, l'équipe Python travaille au CNRI sur Grail17 un navigateur web utilisant Tk. Il est l'équivalent pour Python du navigateur HotJava, permettant d'exécuter des applets dans un environnement sécurisé. La première version publique, disponible en novembre, est la 0.218. Il a entraîné le développement de modules pour la bibliothèque standard comme rexec19, htmllib ou urllib20. La version 0.6 sera la dernière de Grail ; elle est publiée en avril 199921.

    En 1999, le projet Computer Programming for Everybody (CP4E) est lancé avec collaboration entre le CNRI et la DARPA. Il s'agit d'utiliser Python comme langage d'enseignement de la programmation. Cette initiative conduira à la création de l'environnement de développement IDLE. Cependant, du fait du manque de financement du projet par la DARPA, et du départ de nombreux développeurs Python du CNRI (dont Guido van Rossum), le projet séteint en 200022. Python 1.6 fut la dernière version sortie au CNRI.

    En 2000, l'équipe principale de développement de Python déménagea à BeOpen.com pour former l'équipe PythonLabs de BeOpen. Python 2.0 fut la seule version sortie à BeOpen.com. Après cette version, Guido Van Rossum et les autres développeurs de PythonLabs rejoignirent Digital Creations (à présent connue sous le nom de Zope Corporation)23.

    Andrew M. Kuchling a publié en décembre 199924 un texte nommé Python Warts25 qui synthétise les griefs les plus fréquents exprimés à l'encontre du langage. Ce document aura une influence certaine sur les développements futurs du langage26.

    Il est possible de dériver les classes des types de base pour créer ses propres types. On peut également fabriquer ses propres types d'objets itérables sans hériter des itérables de base en utilisant le protocole d'itération du langage. Grâce à un usage intensif des dictionnaires (conteneur associatif développé avec des tables de hachage), Python permet d'explorer les divers objets du langage (introspection) et dans certains cas de les modifier (intercession).

    Python permet de programmer dans un style fonctionnel. Il dispose également des compréhensions de listes, et plus généralement les compréhensions peuvent produire des générateurs, des dictionnaires ou des ensembles34. Par exemple, pour construire la liste des carrés des entiers naturels plus petits que 10, on peut utiliser l'expression :

    La liste des nombres pairs : Les lambdas de Python n'admettent que des expressions et ne peuvent être utilisées comme fonctions anonymes généralisées ; mais en Python, toutes les fonctions sont des objets, elles peuvent donc être passées en arguments à d'autres fonctions, et appelées lorsque c'est nécessaire. En effet, une fonction définie avec def peut être créée à l'intérieur d'une autre fonction et on obtient ainsi une définition de fonction dans une variable locale, par exemple :

    L'ensemble des lettres d'un mot (produit l'ensemble {'r', 'c', 'd', 'b', 'a'}) : Par exemple on peut définir l'addition de deux vecteurs à deux dimensions avec la classe suivante :

    retournera une liste constituée des éléments de une_liste inférieurs à 5. Le même résultat peut être obtenu avec

    Tous les types de base, les fonctions, les instances de classes (les objets « classiques » des langages C++ et Java) et les classes elles-mêmes (qui sont des instances de méta-classes) sont des objets.

    Python fournit un mécanisme élégant et orienté objet pour définir un ensemble pré-défini d'opérateurs : tout objet Python peut se voir doté de méthodes dites spéciales. À chaque appel, le générateur effectue son traitement jusqu'à rencontrer le mot-clé yield, renvoie la valeur de l'expression yield, et à l'appel suivant, reprend son déroulement juste après le yield. Par exemple pour calculer la suite de Fibonacci, on peut écrire : Depuis Python 3.3, il est possible de produire un générateur à partir d'une fonction récursive, grâce à la syntaxe yield from, apparue dans le PEP 38036 et qui « délègue » le calcul à un sous-générateur. L'exemple suivant calcule les permutations des dames correspondant aux solutions du problème des huit dames étendu à un échiquier de taille n × n.

    Ces méthodes, commençant et finissant par deux tirets de soulignement (underscores), sont appelées lors de l'utilisation d'un opérateur sur l'objet : + (méthode __add__), += (méthode __iadd__), [] (méthode __getitem__), () (méthode __call__), etc. Des méthodes comme __repr__ et __str__ permettent de définir la représentation d'un objet dans l'interpréteur interactif et son rendu avec la fonction print.

    Un générateur peut sembler identique à une fonction qui retourne une liste, mais contrairement à une liste qui contient tous ses éléments, un générateur calcule ses éléments un par un.

    Le typage n'est pas vérifié à la compilation. Python utilise le duck typing : lors de lexécution, si une méthode invoquée sur un objet a la même signature qu'une méthode déclarée sur cet objet, alors c'est cette dernière méthode qui est exécutée. De ce fait, invoquer une méthode qui n'existe pas sur un objet va échouer, signifiant que l'objet en question n'est pas du bon type. Malgré l'absence de typage statique, Python est fortement typé, interdisant des opérations ayant peu de sens (par exemple, additionner un nombre à une chaîne de caractères) au lieu de tenter silencieusement de la convertir en une forme qui a du sens. Python propose des fonctions permettant de transformer les variables dans un autre type :

    Python propose aussi un mécanisme de typage statique pour les attributs des classes grâce à l'API trait37 ou au patron de conception decorators.

  6. And What The Learning Curve Was Like ~~~~~ TL;DR. Java version repo: https://github.com/shiraeeshi/jtetr-first