Ratlos, was programmieren



  • Lern SML und schreib einen automatischen Therem-Beweiser 😉



  • Hi Volkart!

    volkard schrieb:

    ich hab viele ideen, komme aber gar nicht dazu, die alle zu verwirklichen. langfristig will ich ne sprache machen, die mit besser als c++ gefällt.

    Eine Sprache die dir besser gefällt als C++? Wird die dann interpretiert oder compiliert?

    Liebe Grüße
    Real



  • Real schrieb:

    Eine Sprache die dir besser gefällt als C++? Wird die dann interpretiert oder compiliert?

    beides. zur laufzeit hat man natürlich nur das compilat vor sich. zero abstraction overhead wird streng eingehalten. aber es spricht ja nix dagegen, zur compielzeit eine jede funktion bereits interpretierbar zu haben, um echte compilezeitprogramme mit der selben syntax wie laufzeitprogramme zu haben.



  • Ich habe eine Idee: Musste aber auch SQL dafür lernen - schreibe dir eine nette Datenbankanwendung.

    Da gibt es so viele Möglichkeiten.
    Eine Datenbank, die die Favouriten ersetzt (da bietet sich PHP an) - sowas habe ich zu Hause, ist super!
    Eine Bücherdatenbank (was hat man, was ist verliehen, was ist geliehen (immer schon mit Person), was möchte man gerne haben (macht sich kurz vor Weihnachten praktisch). Natürlich sollte man die Datenbank auch mit mehreren Leuten nutzen können - als Familie z.B.

    Naja, und sowas eben. Damit kriegt man die Ferien rum und hat hinterher einen Nutzen - dadurch gibt man sich mehr Mühe und lernt mehr.



  • du könntest eine suchfunktion schreiben!
    ich werkle gerade an einem prog zum sprachen lernen.
    es soll unteranderem eine suchfunktion beinhalten, mit der man nach wörtern suchen kann.
    ich check einfach nicht ab wie man das machen soll. 😡
    wäre sehr, sehr dankbar wenn du sowas für mich progen würdest!(in c++)



  • ein ähnliches problem gibts für die leute, die durch die ganzen tutorials durch sind, die syntax "halbwegs" beherschen, und nun nach projekten suchen, die für ihren wissensstand angemessen ist...

    früher oder später merkt man nämlich, dass das projekt, an dem man einfach üben wollte, plötzlich entweder 10000 und mehr zeilen hat, oder man es von dem jetzigen erfahrungsstand nicht realisieren kann...

    im klartext: mir mangelt es an ideen, die mit 1000-3000 zeilen code zu realisieren sind(weil sonst irgendwann alleine die luft ausgeht ;))

    wäre für viele vorschläge dankbar 😉



  • Hi!

    volkard schrieb:

    beides. zur laufzeit hat man natürlich nur das compilat vor sich. zero abstraction overhead wird streng eingehalten. aber es spricht ja nix dagegen, zur compielzeit eine jede funktion bereits interpretierbar zu haben, um echte compilezeitprogramme mit der selben syntax wie laufzeitprogramme zu haben.

    Natürlich wird es dann nicht so schnell wie C++ sein, oder? Kannst du dann auch auf Schnitstellen wie die WIN API oder Datenbanken zugreifen?!

    Liebe Grüße
    Real



  • Real schrieb:

    Natürlich wird es dann nicht so schnell wie C++ sein, oder? Kannst du dann auch auf Schnitstellen wie die WIN API oder Datenbanken zugreifen?!

    ich dachte eigentlich daran, daß sie mal bei durchschnittlichen programmieren schneller als c++ wird. und die einschränkungen von c++, daß es wirklich auf jeder kaffemaschine laufen kann, lass ich weg. was man bei linux und winxp findet, wird man auch so ähnlich auf dem mac und in bsd finden. also rein damit, oder? ansonsten mache ich mir über libs noch keine gedanken.
    die nächsten tage mache ich dazu ne mailingliste auf.



  • vorlkrad, du meinst das jetzt wirklich ernst, ja?



  • Klar meint der das ernst!! 👍

    Die Sprache wird V*= heissen, stimmt's?! 🙂

    Was sind denn die Dinge, die Dich an C++ besonders stören, die Du anders haben möchtest?!?
    Wir könnten ja ein Brainstorming dazu in die Wege leiten, und jeder sagt, was ihn noch stört, und Du machst Dir dazu Gedanken, ob es wirklich Sinn hat, das wegzulassen, etc...! 👍 💡 😕



  • Nein der Name der Sprache ist nicht V* 🤡

    MfG SideWinder



  • Also ich versteh den Witz nicht. Sgt. Nukem sat sie wird v*= heißen, was ich schon nciht verstehe und jetzt sagst du auch noch nei sie wird nicht v* heißen. Habt ihr irgendwo ne gemeime Diskussion laufen und lasst hier jetzt eure Insider los?



  • Helium schrieb:

    Also ich versteh den Witz nicht. Sgt. Nukem sat sie wird v*= heißen, was ich schon nciht verstehe und jetzt sagst du auch noch nei sie wird nicht v* heißen. Habt ihr irgendwo ne gemeime Diskussion laufen und lasst hier jetzt eure Insider los?

    v* ist, weil namensteile wie ++ oder # so hype sind und v wegen "volkard".
    ja, geheime diskussion. daher wußte SideWinder den arbeitstitel "lang1".

    die diskussion ist auf http://www.coollist.com/group.cgi?id=lang1 und ich kann jeden brauchen, der mitdiskutieren mag.



  • Hi volkard,
    würde mich mal interessieren, was für Verbesserungen deine Sprache bieten wird.

    Liebe Grüße
    Real



  • Real schrieb:

    würde mich mal interessieren, was für Verbesserungen deine Sprache bieten wird.

    nen kleinen einblick bietet der mitschnitt auf www.volkard.de/lang1.txt



  • Volkard Volkard, haste wieder im DOS Editor geschrieben? ISO8859-1[5] und Unicode ist das wohl nicht? Aber solange nur die Umlaute kaputt sind.

    b) teile der stl und wohl die ganze c++lib ohne stl wird
    reimplementiert mit merh OO-geist im nacken und unter verwendung der
    neuen mittel von a). daá mein cout threadsafe und 10-mal so schnell
    wie std::cout ist, darf ja eigentlich nicht sein. (10-mal bei
    ausgabeumleitung und ausgabe von 1000000 ints. ohne ausgabeumleitung
    ca 100-mal, weil ich dann mogeln kann und nur alle 10ms den ganzen
    screen neu male). dabei sringen hoffentlich viele wnsche fr a) raus!

    jo, ein schnelles cout wär geil. Eine Standard Library mit Threads (im boost Style) und Sockets wär noch geil.

    a) pr„prozessor fr c++, der "var x=foo()" erlaubt und expandiert zu
    "typeof(foo()) x=foo()". auáerdem ist voll n”tig ein foreach und wir
    werden sehen, was noch unbedingt sein muá.

    solange der Preprozessor kleverer ist als der Standard PP. Wobei dann sind wir schnell bei c)

    Das mit var hört sich übrigens so an wie der auto Vorschlag für C++0x

    c) wenn der pr„proz nicht mehr reicht, wird druck entstehen, nen
    eigenen compiler zu bauen. er wird auch c++ als zielsprwche haben. die
    weiteren features sind noch unbekannt. sollen berhaupt noch typen
    sichtbar sein? wenn man in b) feststellt, daá man IMMER "var" benutzt,
    sollten sie evtl wegfallen. „hnliche sachen mehr. bestimmt fallen
    teile der kryptischen c-syntax weg.
    also lieber "array of 5 ptr to int" statt "int*[5]".
    auch wir ein op= void zurckgeben, um nicht wiederverwendet zu werden.
    nen rekursiven abstiegsparser zu machen, ist zum glck trivial. der
    parsebaum kann ebensoleicht compiliert wie interpretiert weden. hier
    schl„gt dann eine sehr wichtige forderung zu:

    1. bitte ein GCC Frontend, dann hat man gleich gut optimierten Output
    2. bitte nicht so ein syntax. Mann, wir sind doch keine BASIC Programmierer. Lass zumindest das of/to weg, dann lieber so 'integer pointer array(5)'

    d) compilezeitprograme mssen wie laufzeitprogramme m”glich sein! also
    alles, was der compiler schon durch hat, ist bereits zur compilezeit
    aufrufbar.

    jo, laufzeit templates fänd ich teilweise recht nützlich. Die More Library (more.sf.net) soll ja so was anbieten. Aber ich hab mir das (leider) noch nicht so detailiert angeguckt und ist wohl auch nur für Unix/GCC

    die schrecklche syntax der metaprogramme muss weg.
    um genau zu sein, mssen auch "schlsselw”rter" wie for und while
    definierbar sein (also auch in der standardlib definiert werden).
    for(init,condition,step)command -> {init;while(condition){command;step;}}
    oder so.
    das wrde schonmal offensichtlich for, foreach, do, while und else auf
    if und goto abbilden. fraglich ist, wie weit man das treiben kann.

    das wär geil. Dann müsste man aber im Compiler ein wenig mogeln um das trotzdem noch gut hinzubekommen

    b2) es muss ein sehr gutes forum her, um ber die ganzen sachen zu
    reden. vermutlich in b) geschrieben, den perl, php und python
    sucken enorm.

    jo, nen Wiki wär auch geil. (und eine vernünftige Webprogrammiersprache würde mich auch freuen ;))

    Ich werd die Entwicklung aber auf jeden Fall beobachten

    <...>



  • a) pr„prozessor fr c++, der "var x=foo()" erlaubt und expandiert zu
    "typeof(foo()) x=foo()". auáerdem ist voll n”tig ein foreach und wir
    werden sehen, was noch unbedingt sein muá.

    Zu dem Thema vielleicht einfach mal die Sprache Scala ansehen.

    also lieber "array of 5 ptr to int" statt "int*[5]".

    Das ist zu freakig.
    Söner wäre was in dem Stil:

    array[ptr[int]][5]
    

    Naja, so in der Richtung jedenfalls.

    die schrecklche syntax der metaprogramme muss weg.
    um genau zu sein, mssen auch "schlsselw”rter" wie for und while
    definierbar sein (also auch in der standardlib definiert werden).
    for(init,condition,step)command -> {init;while(condition){command;step;}}
    oder so.

    Auch hier könnte ein Blick auf Scala nichts schaden. Du kannst ein C-artiges while 1:1 nachbilden (ist dort auch Teil der Standard-Lib).

    das wrde schonmal offensichtlich for, foreach, do, while und else auf
    if und goto abbilden. fraglich ist, wie weit man das treiben kann.

    *arg!* Wieso das? Lieber einen Compiler, der ordentlich mit Tailrecursion umgehen kann und dann ein funktionaler Ansatz.
    Für komplexere Schleifen, etc. wäre natürlich auch ein BETA-Ansatz möglich. Allgemein finde ich den Ansazt von BETA recht schön. Nicht für jeden scheiß ein eigenes Konstrukt; Klassen, funktionen, kontanten, Exceptions, ... Warum nicht alles in einem einzigen einheitlichen Konstrukt vereinen.

    um nen baum mit cout auszugeben, muá gehen:
    foreach x in tree
    cout<<x

    preorder, inorder, postorder? Ich nehme mal an es geht dann nur inorder.



  • diskussionen darüber wären mir in der liste lieber.



  • Noch Zwei Vosrchläge

    also lieber "array of 5 ptr to int" statt "int*[5]".

    Wie wärs noch wenn man die Grenzen à la Pascal definieren könnte.

    Array [1..5] of Pointer to Integer
    

    Ein gescheites Modulkonzept für deine Sprache wäre auch nicht schlecht. Hab nämlich kein Bock mehr auf das antiquierte Zeug von C/C++. Das könnte gleichzeitig Linkerfehler und Compilezeiten runterschrauben.

    Servus



  • X schrieb:

    Noch Zwei Vosrchläge

    also lieber "array of 5 ptr to int" statt "int*[5]".

    Wie wärs noch wenn man die Grenzen à la Pascal definieren könnte.

    Array [1..5] of Pointer to Integer
    

    ...
    Servus

    lol


Anmelden zum Antworten