9
votes

Y a-t-il un langage de programmation sans structures ou opérateurs sans contrôle?

comme Smalltalk ou Lisp?

Modifier strud> p>

où les structures de contrôle sont comme: p> xxx pré> > p> xxx pré>

et opérateurs p> xxx pré>

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


2 commentaires

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?"


18 Réponses :


0
votes

D (utilisé dans dtrace)?


0 commentaires

2
votes

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.


4 commentaires

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.



0
votes

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.


0 commentaires

3
votes

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.


0 commentaires

7
votes

Comment tu n'as jamais entendu parler de Lisp avant?


3 commentaires

Cela dépend exactement de ce que veut l'OP. (si exp2 exp3 exp3) et (+ exp2 exp2) 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 + dans (+ 1 2) 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 . Tout le reste construit de fonctions, directement ou en utilisant des macros. Cependant, je dirais que si est une structure de contrôle.



1
votes

Que diriez-vous de Fractran ?

fractran 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 . Le programme est exécuté en mettant à jour l'entier ( n ) comme suit:

  1. pour la première fraction f dans la liste pour laquelle nf est un entier, remplacez n par nf
  2. Répétez cette règle jusqu'à ce qu'aucune fraction dans la liste ne produit un entier lorsqu'il est multiplié par n , puis arrête.

    Bien sûr, il existe une structure de contrôle implicite dans la règle 2.


0 commentaires

7
votes

Vous voulez dire sans syntaxe spéciale pour obtenir la même chose?

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.


0 commentaires

2
votes

Je serai le premier à mentionner Brain **** puis.


1 commentaires

Ce ne sont pas des structures, ce sont des commandes. Sinon, l'exemple de la population de l'OP serait invalide.



0
votes

xslt (ou xsl, certains disent) a des structures de contrôle comme si et pour , 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.

pour et si (et d'autres personnes) existe, mais dans de nombreuses situations, vous pouvez et devriez-vous contourner autour d'eux.


0 commentaires

-1
votes

Alors ... vous cherchez une langue super simple? Que diriez-vous de Lot 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.)

http://www.csulb.edu/~murdock/dosindex.html

Exemple
  1. Ouvrez le bloc-notes et créez un fichier .bat sur votre boîte Windows.
  2. Ouvrez le fichier .bat avec Notepad
  3. dans la première ligne, tapez "echo off"
  4. dans la deuxième ligne, tapez "Echo Hello World"
  5. dans la troisième ligne, tapez "pause"
  6. enregistrer et exécuter le fichier.

    Si vous recherchez un moyen d'apprendre très la programmation de base, c'est un bon moyen de commencer. (Soyez juste prudent avec les commandes DELETE et FORMAT. N'essayez pas avec ceux-ci.)


7 commentaires

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>, > et | 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é?



0
votes

Que diriez-vous de chaque fois que ?

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.


0 commentaires

2
votes

Le langage de programmation Smith:

http://esolangs.org/wiki/smith

http://catseye.tc/projects/smith/

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.


0 commentaires

6
votes
  1. Assembly
  2. Befunge

0 commentaires

4
votes

prolog *

* 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.


3 commentaires

+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.



2
votes

dans TCL, il n'y a pas de structures de contrôle; Il y a juste des commandes et ils peuvent tous ê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.)


0 commentaires

0
votes

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).


0 commentaires

4
votes

Calculus Pure Lambda? Voici la grammaire pour toute la langue: xxx

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

  • Si, alors-ele
  • Tandra-do
  • Récursion

    et de tels types de données comme

    • booléens
    • entiers
    • enregistrements
    • Listes, arbres et autres types de récursif

      CODING à Lambda Calcul


0 commentaires

0
votes

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)


0 commentaires