comme Smalltalk ou Lisp?
Modifier strud> p> où les structures de contrôle sont comme: p> et opérateurs p> dans smalltalk (si j'ai raison), ce serait: p> condition ifTrue:[
doSomething
]
True whileTrue:[
"Hello" print
]
1 + 2 // + is a method of 1 and the parameter is 2 like 1.add(2)
2 * 5 // same thing
18 Réponses :
D (utilisé dans dtrace)? p>
Quoi de logo ou plus spécifiquement, Graphics de tortue ? Je suis sûr que nous nous souvenons tous que, en avant, en panier, en avant 10, etc. p>
J'ai fait mon premier vrai programme dans cette (ou quelque chose de très similaire) :)
IIRC, logo est un dialecte de LISP.
@SLC: à partir de votre lien, "logo fournit plusieurs structures de contrôle communes". Je dirais donc que le logo ne répond pas aux critères de ne pas avoir de structures de contrôle.
@Gabe Cela dépend de la version, la version la plus utilisée pour les graphiques des tortues exécute simplement une liste d'instructions de dessin.
apt - (outil programmé automatique) utilisé de manière approfondie pour la programmation des machines-outils NC. La langue n'a pas non plus de capacités IO. P>
Pièce peut-être admissible, selon exactement ce que vous entendez par "aucune structure de contrôle ni opérateurs". Il peut sembler de les avoir, mais ils sont vraiment tous des symboles et les "structures de contrôle" et les "opérateurs" peuvent être définis (ou redéfinis) par le programmeur. P>
Comment tu n'as jamais entendu parler de Lisp avant? P>
Cela dépend exactement de ce que veut l'OP. (si exp2 exp3 exp3) code> et
(+ exp2 exp2) code> est certainement ce que j'appellerais des structures et des opérateurs de contrôle (car dans de nombreux cas, les structures de contrôle et les opérateurs sont juste un Nom différent pour les fonctions). Le calcul de Lambda avec des chiffres de l'église peut être aussi proche de ce que l'OP (mai) veut.
J'ai, mais je ne sais pas si + code> dans
(+ 1 2) code> est une fonction ou un opérateur de langue intégré. Je pense que comme selon Svend Commenter, ce sont des fonctions régulières, j'ai mis à jour la question à ce que je veux dire (en smalltalk)
@Oscar: En commun Lisp, il existe une courte liste de formes spéciales, qui sont des éléments de base que vous ne pouvez autrement pas faire dans la langue, comme si code>. Tout le reste construit de fonctions, directement ou en utilisant des macros. Cependant, je dirais que
si code> est une structure de contrôle.
Que diriez-vous de Fractran ? P>
fractran strong> est un langage de programmation ésotérique complet complet inventé par le mathématicien John Conway. Un programme de fractrane est une liste ordonnée de fractions positives avec une entrée entière positive initiale n em>. Le programme est exécuté en mettant à jour l'entier ( n em>) comme suit: p>
- pour la première fraction f em> dans la liste pour laquelle nf em> est un entier, remplacez n em> par nf em> li>
- Répétez cette règle jusqu'à ce qu'aucune fraction dans la liste ne produit un entier lorsqu'il est multiplié par n em>, puis arrête. li> ol> blockQuote>
Bien sûr, il existe une structure de contrôle implicite dans la règle 2. P>
Vous voulez dire sans syntaxe spéciale pour obtenir la même chose? P>
Beaucoup de langues ont des structures de contrôle et des opérateurs «vraiment» une forme de système de passage de message ou d'appel fonctionnel pouvant être redéfini. La plupart des langues d'objet "pure" et des langues fonctionnelles pure correspondent à la facture. Mais ils vont tous toujours avoir votre "+" et une forme de bloc de code - y compris SmallTalk! - Votre question est donc un peu trompeuse. P>
Je serai le premier à mentionner Brain **** puis. P >
Ce ne sont pas des structures, ce sont des commandes. Sinon, l'exemple de la population de l'OP serait invalide.
xslt (ou xsl, certains disent) a des structures de contrôle comme si code> et
pour code>, mais vous devez les éviter généralement en écrivant les règles correctes de la spécificité. Donc, les structures de contrôle sont là, mais sont implicites par la chose par défaut du moteur de traduction: appliquer des règles potentiellement récursives. P>
pour code> et
si code> (et d'autres personnes) existe, mais dans de nombreuses situations, vous pouvez et devriez-vous contourner autour d'eux. P>
Alors ... vous cherchez une langue super simple? Que diriez-vous de Lot Strong> Programmation? Si vous avez une version de Windows, vous avez accès à un compilateur de lots. Il est également plus utile que vous ne le pensez, car vous pouvez effectuer des fonctions de fichier de base (copie, renommée, répertoire de fabrication, fichier de suppression, etc.) p>
Pourquoi pensez-vous qu'aucune structure de contrôle ni opérateurs rendrait une langue automatiquement plus simple? En fait, je pense avoir pas ces structures syntaxiques standard, cela rend une langue beaucoup plus difficile. Donc, il ne demande évidemment pas une langue simple.
Qu'en est-il de, si, goto et appelez? Ces structures de contrôle ne sont-elles pas toutes les structures de contrôle? Et << / code>,
> code> et
| code> certainement ressembler à des opérateurs pour moi.
Ce gars ne demande pas un langage de programmation de début. De plus, il a 4k représentant. J'espère que les gens apprennent à apprendre leur langue maternelle ne peuvent pas être représentés facilement.
@Earlz, oui, j'ai vu son représentant 4K. Il n'a pas expliqué pourquoi il en avait besoin, mais j'ai déduit qu'il essayait d'enseigner à son jeune enfant comment programmer.
@Poke, s'il essayait d'enseigner à son enfant le concept de programmation et de rendre l'ordinateur faire quelque chose en tapant des commandes, un fichier de commandes serait un bon moyen de partir. Non, vous ne pouvez pas aller très loin avec cela, donc ma déclaration que ce serait un bon endroit pour commencer.
@Gabe, oui ce sont des structures de contrôle, mais vous n'en avez pas besoin de créer un fichier de lot de débutant. S'il enseignait à son enfant comment programmer, alors ces structures peuvent attendre un jour plus tard.
Oui, c'est le même argument SLC utilisé pour les graphiques de tortues. Par ce jeton, cependant, ne faites pas presque toutes les langues de cette propriété?
Que diriez-vous de chaque fois que ? P>
Les programmes sont constitués de "liste de tâches" - une série d'instructions qui sont exécutées dans un ordre aléatoire. Chaque relevé peut contenir une condition préalable, ce qui, s'il n'est pas rempli, la déclaration est différée jusqu'à certains (aléatoires) ultérieurement. P>
Le langage de programmation Smith: P>
http://esolangs.org/wiki/smith p>
http://catseye.tc/projects/smith/ p>
Il n'a pas de sauts et tu sorte. J'ai également fait un interprète Haskell pour ce mauvais garçon quelques années de retour. P>
prolog * sup> p>
* Je ne peux pas être tenu responsable de toute frustration et / ou des maux de tête causée par la tentation de votre tête autour de cette technologie, ni je suis responsable des dommages causés par vous en raison des conditions susmentionnées, y compris, sans toutefois s'y limiter. , clavier brisé, écrans perforés et / ou bosses en forme de tête dans votre bureau. SUB> P>
+1 Heheheh J'étais une fois près d'un manuel de prolog et je pensais que ... mmmhhh peut-être demain.
@Oscar juste la page Wikipedia m'a effrayé.
C'est très amusant de regarder des personnes nouvelles à la fois à PRolog et à VI essayer d'apprendre les deux en même temps.
dans TCL, il n'y a pas de structures de contrôle; Il y a juste des commandes et ils peuvent tous em> être redéfinis. Chaque dernier. Il n'y a pas non plus d'opérateurs. Eh bien, à l'exception des expressions, mais ce n'est vraiment qu'une syntaxe étrangère importée qui ne fait pas partie de la langue elle-même. (Nous pouvons également importer intégral C ou Fortran ou à peu près n'importe quoi.) p>
Je ne suis pas tout à fait clair sur le concept, mais je pense PostScript rencontre les critères , bien que cela appelle tous ses opérateurs de fonctions (la manière dont Lisp appelle toutes les fonctions de ses opérateurs). P>
Calculus Pure Lambda? Voici la grammaire pour toute la langue: Tout ce que vous avez sont des variables, une application de fonction et une création de fonction. C'est équivalent au pouvoir d'une machine de Turing. Il existe des codages bien connus (typiquement «codages d'église») pour de telles constructions comme p> et de tels types de données comme p> CODING à Lambda Calcul
MakeFile Syntax ne semble pas avoir d'opérateurs ni de structures de contrôle. Je dirais que c'est un langage de programmation, mais ce n'est pas Turing complet (sans extensions à la norme POSIX de toute façon) p>
Veuillez définir des "opérateurs" (et "structures de contrôle").
Votre question + la première phrase se lit comme suit: "Il n'y a rien qui répond à ces critères autres que cette chose qui répond à ces critères exacts?"