Welche Sprachen sind rekursive Sprachen?Welche Sprachen haben keine Schleifenkonstrukte?
Antwort
Es hängt davon ab, was Sie mit dem Schleifenkonstrukt meinen - es gibt verschiedene Arten. Endlosschleifen, Iteratoren - Schleifen, die jedes Element in einem Array oder einen Hash zählen - und allgemeine Schleifen wie C Stil
for (int i = 0; i < 10; i++)
Wikipedia eine Tabelle mit Unterstützung für solche Konstrukte von Sprache hat: Loop system cross reference table
Um Ihre Frage zu beantworten vollständig, Haskell und Scheme sind zwei Beispiele für Sprachen, die keine Standard-for
-Schleifen eingebaut haben; Sie werden im Allgemeinen mit Rekursion durchgeführt.
in Scheme zum Beispiel spielt "Schwanzrekursion" die Rolle eines Schleifenkonstrukts. –
Die offensichtliche Antwort (wenn es als Sprache zählt) ist verschiedene Arten von Assemblersprachen.
Ich würde sagen, dass ein bedingter Sprung genau ein "Schleifenkonstrukt" ist, aber es hängt von seiner Definition ab. – Svend
Da das OP "rekursive-only" sagt und der übliche Weg, Iteration in Assembly durchzuführen, Sprünge sind, keine Rekursion, würde ich sagen, dass dies nicht zählt. – sepp2k
Ok ich kann zustimmen, das ist eher eine Frage der Formulierung. Bedingte Sprünge sind "Verzweigungskonstrukte" und solange man "rückwärts" springen kann, könnte es eine Schleife sein. –
Erlang hat keine Schleifenkonstrukte. Sie verwenden stattdessen Rekursion.
Prolog und andere logic programming languages.
Nebenbei, geht diese Frage nicht mehr oder weniger auf das Programmierparadigma zurück? Imperative Sprachen haben Schleifenkonstrukte; andere haben nicht.
bearbeiten: Sprache speziell entwickelt, um Ihnen die Augen aus machen reißen, wie
Functional programming Sprachen (z.B. Haskell, Erlang) haben im allgemeinen keine Schleifen, noch function-level Sprachen (z.B. FP, J) oder logic Sprachen (z Prolog, planer). In der Tat neigt die gesamte Gruppe von declarative Sprachen (von denen Funktion, Funktionsebene, Logik usw. eine Teilmenge sind) dazu, keine Schleifenkonstrukte zu haben.
Aber ...
Dass gesagt wird eine Menge von denen haben Weisen als explizites Looping viel das gleiche zu tun. Gewöhnliches Lisp, zum Beispiel, hat Makros, die Ihnen die Möglichkeit geben, das zu tun, was für gewöhnlich aussieht, während, usw. durch Makrotrick hinter den Kulissen schleift. Dylan (ein sehr un-Lisplike Lisp) geht einen Schritt weiter und hebt solche Makros in etwas auf, das effektiv Teil der Sprache ist (obwohl die Semantik immer noch in Form von Rekursion und Makros definiert werden kann). Gemeinsame Funktionen in funktionalen Sprachen wie z. B. Reißverschlüsse, Karten, Faltungen, Takes usw. sind Funktionen auf höherer Ebene, die die explizite Rekursion hinter einem Funktionsaufruf maskieren und in vielerlei Hinsicht wie verschiedene Schleifenkonstrukte wirken.
- 1. Welche Sprachen "haben Unterklassen, aber keine Vererbung"?
- 2. Welche Web-Frameworks und Sprachen haben die geringste Entwicklungszeit?
- 3. Welche Sprachen Android-Spracherkennung unterstützt
- 4. Welche Sprachen haben Eigenschaften, die Getter und Setter zugewiesen haben können?
- 5. Welche Sprachen erhalten IEEE 754 richtig?
- 6. Welche Sprachen Windows-Shell-Erweiterungen zu schreiben
- 7. Android: Tesseract konnten keine Sprachen
- 8. Welche funktionalen Programmiersprachen haben Bioinformatik-Bibliotheken?
- 9. Haben Programme in funktionalen Sprachen eher Stapelüberläufe?
- 10. Welche Sprachen verwenden Twitter und Facebook?
- 11. Welche Sprachen erlauben Whitespace in Bezeichnern?
- 12. Welche Sprachen bieten die Verwendung von Objektliteralen?
- 13. Welche Sprachen können zu Javascript kompiliert werden?
- 14. Welche anderen Sprachen als C++ haben native Unterstützung für C++ - Quelldateien?
- 15. Welche anderen Sprachen haben ähnliche Funktionen und/oder Bibliotheken wie das Perl-Format?
- 16. Welche Steuerelemente haben ViewState beibehalten?
- 17. Welche Handys haben JavaFX Unterstützung?
- 18. Welche Beziehung haben die Objekte?
- 19. Welche Parameter haben Arduino Callbacks?
- 20. Welche anderen Sprachen unterstützen Go's Schnittstellen ohne explizite Deklaration?
- 21. Welche Priorität haben NoStepInto-Einträge in VS2008?
- 22. Welche CSS-Frameworks haben Sie nützlich gefunden?
- 23. Welche Vorteile haben Typbeschränkungen in Protokollerweiterungen?
- 24. Welche C-Compiler haben Zeiger-Subtraktionsunterläufe?
- 25. Gibt es andere Sprachen, die etwas wie Swifts Erweiterungen haben?
- 26. Welche Sprachen wurden auf der Common Language Runtime implementiert?
- 27. Welche Sprachen werden in der icu-Sortierung unterstützt?
- 28. Welche Sprachen werden im 404-Polygot von Stack Overflow verwendet?
- 29. Wie finde ich heraus, welche Sprachen in EnterpriseDB geladen werden?
- 30. Welche anderen Sprachen/IDEs sind wie iPhone/Xcode eingerichtet?
INTERCAL hat keine Schleifenkonstrukte. ;) – kennytm