Forum: PC Hard- und Software inverse Programmiersprach - "nicht-programmier"-Sprache


von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

Hallo,

gibt es eigentlich "nichtprogrammier"-Sprachen, wobei man im 
Programmcode ausdrückt, was das Programm nicht tun soll?

Der Quellcode enthält also eine Ansammlung von Einschränkungen. Der 
Compiler sucht ein Programm, welches keine der Einschränkungen verletzt. 
Alternativ kann der Compiler so konfiguriert werden, dass er nicht nur 
ein erlaubtes Programm, sondern die gesamte Lösungsmenge in 
komprimierter Zwischencode Form erzeugt.

Es ist natürlich nicht sinnvoll mit dieser Sprache kommerzielle Projekte 
zu realisieren - aber gibt es so etwas wenigstens aus reinem Versuch?

von duckundweg (Gast)


Lesenswert?

"Nicht-Programmiersprache"? Wenns einfach nur egal ist, ob das Kompilat 
das macht, was es soll, empfehle ich "C".

von Murkser (Gast)


Lesenswert?

Nennt sich auch Constraint Logic Programming:

http://en.wikipedia.org/wiki/Constraint_logic_programming

Ist vermutlich aber nicht das, was Du hören wolltest...

Murkser

von Billy (Gast)


Lesenswert?

Das nennt sich alpha-Version bzw. Microsoft Windows.

Der User berichtet von allen Fehlern, die im Programm noch ausgemerzt 
werden müssen, und der Entwickler verschlimmbessert entsprechend den 
Code.

von ... (Gast)


Lesenswert?

Vielleicht kommt "Haskell" dem was du meinst nahe. Da beschreibst du das 
Problem und der Compiler sucht die Lösung dafür. "Prolog" geht ja auch 
in die Richtung.

von Klaus (Gast)


Lesenswert?

Das klingt zwar auf den ersten Blick absurd, aber wäre doch eine sehr 
interessante akademische Sprache. Davon gibts ja schon so einige.

von nachtschwärmer (Gast)


Lesenswert?

Stichwort Fuzzylogik

oder Neuronalenetzwerke --> Trainiere ein Netzwerk auf ein Muster und 
definiere das als Böse... dann ist alles andere nicht Böse :D

gute Nacht

von Rolf Magnus (Gast)


Lesenswert?

Da würde ich noch Java2k ins Rennen werfen. Das ist eine Sprache, bei 
der die Funktionen nur mit einer Wahrscheinlichkeit von 90% ausgeführt 
werden.
http://p-nand-q.com/humor/programming_languages/java2k.html

von Arc N. (arc)


Lesenswert?

Stefan Helmert schrieb:
> Hallo,
>
> gibt es eigentlich "nichtprogrammier"-Sprachen, wobei man im
> Programmcode ausdrückt, was das Programm nicht tun soll?
>
> Der Quellcode enthält also eine Ansammlung von Einschränkungen. Der
> Compiler sucht ein Programm, welches keine der Einschränkungen verletzt.
> Alternativ kann der Compiler so konfiguriert werden, dass er nicht nur
> ein erlaubtes Programm, sondern die gesamte Lösungsmenge in
> komprimierter Zwischencode Form erzeugt.
> Es ist natürlich nicht sinnvoll mit dieser Sprache kommerzielle Projekte
> zu realisieren - aber gibt es so etwas wenigstens aus reinem Versuch?

Curry http://en.wikipedia.org/wiki/Curry_(programming_language) und 
Prolog (das auch kommerziell eingesetzt wird)

von Esotoriker (Gast)


Lesenswert?

Das Thema hat etwas esotorisches...
Deshalb kann ich es mir nicht verkneifen auf INTERCAL 
(http://www.catb.org/~esr/intercal/) zu verweisen ;-)

von Reinhard Kern (Gast)


Lesenswert?

Murkser schrieb:
> Nennt sich auch Constraint Logic Programming:

Hallo,

constraints sind nur Zusatzbedingungen zu einem Programm, das einen 
definierten Zweck verfolgt: z.B. "verbinde IC mit Widerstand", 
constraint "Länge der Verbindung maximal 50mm".

"Nackte" Constraints sind dagegen weitgehend sinnlos. Es gibt tausende 
existierende und unendlich viele denkbare Programme, die z.B. KEINE 
Rechnung drucken.

Um ein Programm durch Definition aller Funktionen, die es nicht 
verwirklichen soll, dazu zu bringen, definitiv nur einen Strich von 
links oben nach rechts unten zu zeichnen, reicht wahrscheinlich die 
Speicherkapazität aller Computer nicht aus. Bzw. ganz sicher, denn die 
Menge aller denkbaren Computerprogramme ist unendlich.

Davon abgesehen ist die Einführung von constraints in vorhandene 
Software eine interessante, wichtige und sehr aktuelle Aufgabenstellung.

Gruss Reinhard

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Unendlich kann sie seit Turing nicht werden. Das sind aber nun 
Grundlagen! Und mein Mathe-Prof hätte dir bei Unendlich sofort Null 
Punkte in Mathe gegeben! Es heißt gegen Unendlich!

von (prx) A. K. (prx)


Lesenswert?

Abdul K. schrieb:

> Es heißt gegen Unendlich!

Wie viel natürlichen Zahlen gibt es gemäss deinem Matheprof?
Unendlich viele oder gegen Unendlich viele?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Ich bin froh den loszusein! Nichtmal einen Taschenrechner durften wir 
verwenden. Völliger Blödsinn. Genauso die endlosen Trafoberechnungen, wo 
ich schon vorher als Schüler den Ringkern in Auftragsfertigung machen 
ließ.

Ich glaube seine Antwort wäre ebenso: gegen Unendlich.

Er hat schlicht immer dann mokiert, wenn wir das Symbol Unendlich als 
Zahl benutzten.

Wahrscheinlich ist der schon tot. Wir waren <leider> sein letzter 
Jahrgang.

von Reinhard Kern (Gast)


Lesenswert?

Abdul K. schrieb:
> Es heißt gegen Unendlich!

und warum nicht für Unendlich?

Wie soll man diesen Einwand überhaupt verstehen, nachdem es ja 
bekanntlich viele Unendlickeiten gibt (genau genommen unendlich viele). 
Was dachte dein Prof denn, wieviele ganze Zahlen es gibt? Und wieviele 
rationale und irrationale? Das meiste davon wussten schon die alten 
Griechen, deshalb haben sie heute ein unendliches Haushaltsdefizit...

Gruss Reinhard

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Ich bin kein Mathegenie. War die ganze Zeit damit beschäftigt seine 
Ergüsse aufzuschreiben. Vermutlich war er schon ne Koryphäe. Vielleicht 
nicht in Mathematikerkreisen, aber für E-Techniker schon.

Ich kann dir persönlich leider keine endgültige Auskunft geben. Mein 
Einwurf war eher als rhetorischer Scherz oder so gedacht. Bei Wiki steht 
zu dem Thema ziemlich viel.

Da man die Unendlichkeit nicht erreichen kann, ist eine Frage nach der 
Zahl von Unendlichkeiten sinnlos. Soviel verstehe ich schon.

von (prx) A. K. (prx)


Lesenswert?

Abdul K. schrieb:

> Da man die Unendlichkeit nicht erreichen kann,

Das ist doch der Punkt den ich ansprach: Das "gegen Unendlich" ist prima 
für Funktionen, denen man ja sowas wie einen Ablauf, eine Entwicklung 
zusprechen kann. Bei Mengenlehre sieht das anders aus, denn wenn die 
Frage im Raum steht, wie viele Elemente die haben, dann geht es um einen 
Zustand, keine Entwicklung.

> ist eine Frage nach der Zahl von Unendlichkeiten sinnlos.

Nicht so ganz, denn das tangiert die Mächtigkeit. Und da gibts zwischen 
den diversen Unendlichkeiten durchaus Unterschiede. Simpel gesagt: Wenn 
man Elemente davon aufeinander abbilden kann, dann ist sie gleich (ganze 
und rationale Zahlen), andernfalls nicht (ganze und reelle Zahlen), und 
daher ist dieser Begriff der Mächtigkeit ziemlich dicht an der bizarren 
Vorstellung dran, dass manche unendliche Mengen mehr Elemente haben als 
andere. ;-)

von D. I. (Gast)


Lesenswert?

Jo abzählbar unendlich und überabzählbar unendlich :D

Und dann mach einem normalen Menschen noch klar, dass gilt

|{1,2,3,4,5,...}| = |{2,4,6,8,10,...}|

:)

von Frank M. (aktenasche)


Lesenswert?

nachtschwärmer schrieb:
> Stichwort Fuzzylogik

aaaeeeehhhh nein

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

D. I. schrieb:
> Jo abzählbar unendlich und überabzählbar unendlich :D
>
> Und dann mach einem normalen Menschen noch klar, dass gilt
>
> |{1,2,3,4,5,...}| = |{2,4,6,8,10,...}|
>
> :)

Das verstehe sogar ich: Es gibt so viele gerade wie ungerade Zahlen.


Dsa mit der Mächtigkeit: Ja, da erinnere ich mich dran. Das hat er auch 
ma erklärt. Soviel erklärt, das mir immer der ganze Arm weh tat. Nee 
danke, nie wieder.

von Verwirrter Anfänger (Gast)


Lesenswert?

Abdul K. schrieb:
> Das verstehe sogar ich: Es gibt so viele gerade wie ungerade Zahlen.

Nope, die Aussage ist:
Es gibt genau soviele Ungerade Zahlen wie es ganze Zahlen (Gerade + 
Ungerade) gibt.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Versteh ich <nicht> mehr. Das Mathegeschwätz des Studiums hab ich nie 
wieder gebraucht. Praktisch alles gelöscht. Schön, das wir die wirklich 
wichtigen Dinge im Studium nicht lernten. Was solls.

von agp (Gast)


Lesenswert?

D. I. (grotesque) schrieb:

> Jo abzählbar unendlich und überabzählbar unendlich :D

> Und dann mach einem normalen Menschen noch klar, dass gilt

> |{1,2,3,4,5,...}| = |{2,4,6,8,10,...}|

> :)

Dann musst du dem "normalen" Menschen erst mal plausibel machen, warum 
durchgeknallte Mathematiker allseits bekannte Betragsstriche | | mal 
eben umdefiniert haben als "Mächtigkeit" und was überhaupt darunter zu 
verstehen ist.

Mächtigkeit bei endlichen Mengen

Bei einer endlichen Menge X bezeichnet die Mächtigkeit die Anzahl der 
Elemente von X, geschrieben als | X | .

Da Mathematiker aber generell in ihrer eigenen definierten Welt sich 
austoben dürfen, dürfen sie dem Normalo da draußen auch in ihrer eigenen 
Narrenfreiheit erzählen was sie für richtig (definiert) halten 
(hauptsache es ergibt sich kein Widerspruch).

Dazwischen fällt dann und wann zum Glück auch mal was Brauchbares für 
uns "Normalos" ab, die wir die Mathe nicht als Selbstsweck begreifen, 
sondern als Hilfsmittel beispielsweise zum Verständnis der technischen 
Problemstellungen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

agp schrieb:
> Da Mathematiker aber generell in ihrer eigenen definierten Welt sich
> austoben dürfen ...

Hmm, ja.
Ein Mathematiker soll einen Löwen fangen, stellt Käfig auf und sich in 
den Käfig und sagt "Ich definiere: Hier ist draußen".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.