symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Pike-Anwender aus aller Welt treffen sich
Veröffentlicht durch Raffzahn am Freitag 08. Oktober 2004, 22:59
Aus der WzS(){return({"der",-"des",-"dem",-"den"})[casus];} Abteilung
Ankündigungen Bernd hat uns einen Hinweis auf das PIKE-Camp 2004, das wohl "größte PIKE-Treffen dieses Jahres" am 13. bis 19. Oktober in Essen geschickt... da kommen nostalgische Gefühle auf: Morgengrauen, Silberland, Seifenblase und natürlich die ewige Baustelle und Schmuddelkind, das PK-Mud (*1)

Aber zurück zu Pike. Bernd schreibt weiter: "Anwender und Entwickler der Programmiersprache Pike kommen aus Schweden, USA, Lettland, Ungarn, Österreich, Frankreich, Deutschland und anderen Ländern nach Essen um eine Woche lang an Vorträgen, Workshops und Programmierkursen teilzunehmen. Im Rahmen des Pike Camps werden die 3. jährliche Pike Konferenz, die 2. jährliche Caudium Konferenz, der Steam Entwickler Tag und MODIv: der 5. PSYC Modifizierungsevent stattfinden. Hauptredner ist Prof. Uwe Aßmann, Inhaber des Lehrstuhls Softwaretechnologie an der Technischen Universitäät Dresden, Research Center for Integrational Software Engineering (RISE) Linköpings Universitet, Schweden, über 'Pike zwischen UML und Java: Ein Anwendungsfall in der Universitätsausbildung'

Interessierte an Pike und den darin geschriebenen Anwendungen sind eingeladen an allen Teilen der Veranstaltung teilzunehmen. Einführungskurse zu Pike werden jeden Tag angeboten."

Joo, LPC (und Pike als der 'erwachsene', kommerzielle Abkömmling) ist eine wirklich nette Sprache, ein munterer Bastard aus Lisp und C, Closures und Type-Cast, Listen und Arrays. Wenn mich einer fragt, wäre es auch das bessere Java gewesen. Bytecode und OO. LPC coden hat viel Spass gemacht, auch wenn meine Programmbeispiele manch angehenden Magier in den Wahnsinn getrieben haben (*2).

LPC/Pike ist aber auch ein gutes Beispiel wie stark die Sprache, mit der man sich erstmalig beschäftigt hatn einen prägt, und wie sehr man dann versucht, diese auch später im Berufsleben einzusetzen. Genau die gleiche Geschichte wie mit Pascal und C. So wie LPC ja eigentlich nur für Muds entwickelt wurde waren auch Pascal und C eigentlich nicht als Allgemeine Sprachen gedacht ... aber wie immer gilt: 'Was der Bauer ned kennt frisst er ned' bzw. nach der ersten Ableitung dazu ('Schuster bleib bei deinem Leisten') waren Pascal und C plötzlich überall. Man könnte es auch den BASIC-Effekt nennen, manche Firmen basieren sogar darauf.

Thomas Zigron hat auf generation-php.net einen Patch von Stefan Esser gefunden "welcher PHP auf Deutsch umschaltet. Nun ist PHP programmieren auch ohne Englisch Kenntnisse möglich." Jo, warum nicht, auch wenn die wahl der Befehlsworte noch etwas holprig ist. Das wär auch schöner gegangen. Ansonsten lobenswert. Das erinnert mich an F4, eine Sprache, bzw. einen Interpreterbaukasten den ich vor Jahren mal gemacht habe ...

Wenn(
     Und(Aenderung(*),
         Vergleich(Groesser,Datum,"041101")),
     Meldung("HASRV-03")).

Nun ja, all die, die neben dem Erfinden von Sprachvarianten noch zeit zum Schmunzlen haben, hat unser Taran einen Einblick in das harte Leben eines Webdesigners auf Kundensuche entdeckt - nur um gleich darauf festzustellen, das dieser Basisdemokratische Ansatz auch schon von Werbeagenturen vereinnahmt wurde. Nicht mal mehr auf dem Örtchen bleibt einem die nötige Ruhe und Naturnähe.

Aber was solls, man kann sich immer noch auf das von Treibholz entdeckte TIEFFFLIEGER-Radl (*3) schwingen und davondüsen. O-Ton Dino: "nettes teil, da wirkt der porsche direkt lahm dagegen".

---

*1 - Tscha, gute alte Telnet-Links - die Welt entsteht im Kopf *G*

*2 - Wenn man ein konsequent vererbungsbasiertes System von Objekten schafft, dann kann es nicht ausbleiben dass man sich fragt was rauskommt wenn man einen neuen NPC anlegt, der sowohl von std/npc/elf, als auch std/npc/zwerg abgeleitet ist ... das schrecklichste Wesen aller Zeiten, der Zwelf!

*3 - Irgendwie ist die NDR (Neue Deutsche Rechtschreibung) schlimmer als eine Masseninvasion von Zwelfen.

Gläserner Mensch dank RFID-Armbanduhr? | Druckausgabe | Mehr über den Streit Sun vs. Red Hat  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • PHP
  • Java
  • PIKE-Camp 2004
  • Morgengrauen
  • Silberland
  • Seifenblase
  • PK-Mud
  • Pike
  • Caudium
  • Abkömmling
  • Muds
  • Firmen
  • Thomas Zigron
  • generation-php.net
  • Einblick
  • Werbeagentur
  • Örtchen
  • TIEFFFLIEGER
  • Mehr zu Ankündigungen
  • Auch von Raffzahn
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    Bergwerk Tieffflieger (Score:2)
    Von XTaran (symlink /at/ deux chevaux /dot/ org) am Friday 08. October 2004, 23:18 MEW (#1)
    (User #129 Info) http://abe.home.pages.de/
    Ohja, das Teil ist sehr nett. Und verdammt leicht, weil aus Kohlefaser. Auf der Spezi dieses Jahr hattense so eines ausgestellt und ich hab mich mind. 'ne Viertelstunde an deren Stand rumgetrieben und das Teil zu bestaunen. Alleine die Hinterradfederung ist ein Kunstwerk für sich.

    Aber genau so utopisch, wie das Teil aussieht und klingt, ist auch der Preis: Knappe 5000 €uronen für die Basisversion in Minimalausstattung... Wenn man dann noch 'ne Rohloff und ein paar andere Goodies dazu haben will, sind locker 6000 Frag€zeichen weg.

    --
    There is no place like $HOME
    Pike (Score:2)
    Von thomas (thomas at beeblebrox dot net) am Friday 08. October 2004, 23:23 MEW (#2)
    (User #316 Info) http://beeblebrox.net

    Ich habe mich etwas ins Pike Beginner's Tutorial eingelesen und muss sagen, dass die Sprache ziemlich hübsch ist:

    • GTK-Unterstützung
    • Closures, anonyme Funktionen mit lambda
    • Unterstützung von funktionalem Programmieren
    • Objekt-orientiertes Programmieren inkl. information hiding
    • Unterstützung von Modulen
    • Grosse Auswahl an Datentypen/Datenstrukturen
    • Operator overloading

    Was mir noch fehlt wären ein Objekt-Model auf Basis von generischen Funktionen anstatt Messages, dynamische Typen sowie mächtige Makros, die auch in den Parsebaum eingreiffen können. Aber es kann ja nicht jede Sprache ein Lisp-Klon sein ;).

    --
    Real programmers can write assembly code in any language. :-)
       --Larry Wall

    Re: Pike (Score:2)
    Von tL (dave bei frozenbrain punkt com) am Saturday 09. October 2004, 09:20 MEW (#3)
    (User #981 Info) http://www.frozenbrain.com
    Naja, auf den ersten Blick sind da aber auch einige Unschönheiten drin:

    The last statement in main is "return -1;". In Pike, a negative return value from main means that the program doesn't stop executing when main is finished. This is necessary here, since otherwise the program would finish as soon as it had created the window, and the window would disappear at once.

    Ich mag das nicht... Rückgaben, die den Programmfluss steuern...

    GTK.Alert("Hello world!")
            -> signal_connect("destroy", lambda(){ exit(0); });
        return -1;


    WTF lambda? wieso nicht einfach den Codeblock? Okay, ich weiss, es kann nicht jede Sprache gleich sein... aber unelegant ist es IMHO trotzdem.

    It's important to note that the integer value 0 and the real value 0.0 are not equal to one another in Pike.
    ...

    string accumulate_answer()
    {
        string result;
        // Probably some code here
        result += "Hi!\n";
        // More code goes here
        return result;
    }
    you will get a string "0Hi!\n", since Pike will try to make the best of the situation, adding your string to the integer 0. Had you instead initialized the variable to "", as in string result = "";, you'd get a better result.

    WAAAAAAAAAAHHHH!

    Als ruby-User bin ich natürlich auch etwas schwer von anderen Scriptsprachen zu überzeugen ;)


    tL

    --
    Spammers: look at this fake address list
    Re: Pike (Score:1)
    Von Seegras am Saturday 09. October 2004, 11:15 MEW (#4)
    (User #30 Info) http://www.discordia.ch
    Sogenannte Pike, auch Langspiess genannt. Pikeniere. Hey, da gehör ich ja auch dazu ;))
    --
    "The more prohibitions there are, The poorer the people will be" -- Lao Tse
    Re: Pike (Score:0)
    Von Anonymer Feigling am Sunday 10. October 2004, 14:13 MEW (#7)
    lambda IST ein codeblock. das besondere an diesem codenlock ist, das er eine ganze funktion darstellt die mehrfach an verschiedenen stellen aufgerufen werden kann wie jede andere funktion:

    function schreib;
    schreib=lambda(string text){ write(text); };
    schreib("hallo welt");

    schreib is eine variable, die aber weil sie vom typ funktion is, wie eine funktion verwendet werden kann.

    lamda is keine lpc/pike erfindung, sondern stammt aus lisp. python kennt das auch, und ich bin sicher das sämtliche funktionalen sprachen das ebenfalls können. ruby kann das auch

    gruss, eMBee.
    Re: Pike (Score:2)
    Von tL (dave bei frozenbrain punkt com) am Monday 11. October 2004, 08:00 MEW (#9)
    (User #981 Info) http://www.frozenbrain.com
    Okay, hast recht... lambda als alias für proc... allerdings wäre the ruby way mehr myMethod(x,y) {...}, solange nur ein Codeblock übergeben wird...


    tL

    --
    Spammers: look at this fake address list
    Re: Pike (Score:0)
    Von Anonymer Feigling am Thursday 14. October 2004, 03:55 MEW (#14)
    das geht in pike im prinzip auch.
    lamdas kann man halt auch da verwenden wo man sonst keine funktion definieren kann:
    funktion(x, lambda(){ ... });

    gruss, eMBee.
    Re: Pike (Score:0)
    Von Anonymer Feigling am Sunday 10. October 2004, 15:37 MEW (#8)
    kannst du mal den unterschied zwischen generischen funktionen und messages erklären?
    was sind dynamische typen? (warum sind die in pike nicht dynamisch?)
    und wie is das mit dem eingreifen in den parsebaum gemeint? pike hat einen preprozessor (wie c), meinst du das? (kann ich mir nicht vorstellen weils zu primitiv scheint)

    gruss, eMBee.
    Re: Pike (Score:2)
    Von thomas (thomas at beeblebrox dot net) am Monday 11. October 2004, 12:37 MEW (#10)
    (User #316 Info) http://beeblebrox.net

    Kurze Antwort:

    ANSI Common Lisp, Paul Graham, ISBN 0133708756

    Lange Antwort:
    kannst du mal den unterschied zwischen generischen funktionen und messages erklären?

    Es gibt zwei Modelle, um objekt-orientiertes Programmieren umzusetzen: Message Passing und Generic Functions. Smalltalk verwendet Message Passing, Common Lisp Object System und Dylan verwenden Generic Functions.

    Beim Message Passing Model gehören Methoden zu Objekten und beim Generic Function Model sind Methoden für Objekte spezialisiert. Wenn nur der erste Parameter einer generischen Funktion spezialisiert ist, sind Message Passing und Generic Function gleichwertig. Aber beim Generic Function Model kann man soviele Parameter spezialisieren, wie man will. So gesehen ist das Message Passing Model ein Subset des Generic Function Model.

    Zugegeben, wenn man nur Sprachen kennt, die Message Passing implementieren, tönt es, als ob Generic Functions keine grossen Vorteile bieten. Wenn man aber in Common Lisp programmiert, sind die Vorteile besser zu erkennen.

    was sind dynamische typen? (warum sind die in pike nicht dynamisch?)

    Beim dynamic typing muss der Typ einer Variable nicht deklariert werden, wie das z.B. bei C++, Java oder Pike der Fall ist, welche nur static typing unterstützen.

    Dynamic typed Sprachen erkennen die Typen von Objekten dynamisch bei der Ausführung und nicht bei der Kompilation. Dies hat Vor- und Nachteile. Sprachen wie Common Lisp unterstützen beide Arten von Typing.

    Eine gute Übersicht zu diesem Thema hat die Wikipedia.

    und wie is das mit dem eingreifen in den parsebaum gemeint? pike hat einen preprozessor (wie c), meinst du das? (kann ich mir nicht vorstellen weils zu primitiv scheint)

    Makros machen bottom-up programming möglich. Das heisst, man kann damit die Programmiersprache anpassen und wird somit zum Sprachdesigner. Dazu benötigt es aber mächtigere Makros als es z.B. C, C++ und Pike bieten.

    Da Lisp Code bereits im Sourcecode in Baumform vorliegt, können Makros direkt in den Parsebaum eingreifen und sogar in Lisp selbst geschrieben werden. Eine kurze Übersicht über Common Lisp Makros ist in der Wikipedia zu finden.

    --
    Real programmers can write assembly code in any language. :-)
       --Larry Wall

    Re: Pike (Score:0)
    Von Anonymer Feigling am Monday 11. October 2004, 13:06 MEW (#11)

    Pike hat nicht wirklich "statisches" typing. Es ist vielmehr eine mixtur aus statischem und dynamischen Typing: Mit dem type "mixed" hat man jederzeit die Möglichkeit, beliebige Werte zu speichern. Ist also so ähnlich wie "ANY" oder "Object", kann aber auch andere Basistypen wie 'int' oder 'float' aufnehmen. Der Compiler prüft soviel er kann. Strikte statische Überprüfung würde aber Abstriche bei den dynamischen Möglichkeiten (eval etc.) bedeuten.

    Pike hat eine Menge Kleinigkeiten in sich vereint, welche sicher irgendwo zu finden sind. Was Pike aber interessant macht, ist die Kombination der Sprachelemente.

    Pike's größte Schwäche ist wohl die Syntax: Sie sieht zu sehr nach C aus, und sowas lehnen wohl Personen, die bereit sind in einer Scriptsprache zu schreiben, ab.

    Dafür versteht man Pike sehr geschnell und die Mächtigkeit der Sprache ist wirklich überzeugend. Und auch die Performance ist gut: siehe The Great Computer Language Shootout. Dort gibt es auch viele Beispielprogramme.
    Re: Pike (Score:2)
    Von thomas (thomas at beeblebrox dot net) am Monday 11. October 2004, 13:32 MEW (#12)
    (User #316 Info) http://beeblebrox.net
    Pike hat nicht wirklich "statisches" typing. Es ist vielmehr eine mixtur aus statischem und dynamischen Typing.

    Ach so, dann habe ich die Informationen im Tutorial wohl etwas falsch interpretiert. Danke für die Korrektur.

    --
    Real programmers can write assembly code in any language. :-)
       --Larry Wall

    Re: Pike (Score:0)
    Von Anonymer Feigling am Thursday 14. October 2004, 03:59 MEW (#15)
    da ich zu denen geh"ore die dabei sind das tutorial zu "uberarbeiten, w"ar es interessant welche stelle du da meinst, damit wir die auch gleich verbessern k"onnen.

    gruss, eMBee.
    Re: Pike (Score:2)
    Von thomas (thomas at beeblebrox dot net) am Thursday 14. October 2004, 17:23 MEW (#16)
    (User #316 Info) http://beeblebrox.net

    Ich habe Basic Types nur kurz überflogen und gesehen, dass es dort Bezeichner wie int oder float im Beispiel hat. Da ich es von anderen dynamischen Sprachen gewohnt bin, dass eine Variable per default dynamisch ist und nur auf Wunsch static, dachte ich, Pike sei static typed. Vielleicht könnte man das mit mixed etwas mehr hervorheben.

    Gibt es das Tutorial eigentlich auch irgendwo zum Download als PDF? Normalerweise lese ich solche Dinge lieber auf Papier, z.B. neben dem Notebook, im Zug oder während einer langweiligen Vorlesung ;).

    --
    Real programmers can write assembly code in any language. :-)
       --Larry Wall

    Re: Pike (Score:0)
    Von Anonymer Feigling am Saturday 16. October 2004, 03:15 MEW (#17)
    noch nicht, das ganze soll demn"achst als buch erscheinen. wir werden versuchen deinen vorschlag zu ber"ucksichtigen.

    gruss, eMBee.
    Re: Pike (Score:1)
    Von Raffzahn am Monday 11. October 2004, 17:11 MEW (#13)
    (User #345 Info) http://www.vcfe.org/
    (endlich mal wieder eine richtig schoene Disk hier :)

    Die vieleicht treffenste Ausschreibung fuer LPC die ich mir denken kann ist Lisp Per C. LPC hat wesentlich mehr mit LISP gemeinsamm als mit C ... ausser das es sich wie C liest, und von anfaengern wie selbiges maletriert werden kann.

    Was Message Parsing vs. Generiv Funcions anbelangt, so gilt das in LPC im Prinzip beides geht. Es laesst sich OO auf beiden Wegen ereichen, wobei der GF weg jedoch einen wesentlich hoeheren Aufwand des Lernens erfordert. Wobei, im Alltagsbetrieb sind beide wege fuer mich immer noch gleichwertig (so das messagesystem detailiert genug ist die Typen auch beim auswaehlen der Funktion/Methode beachten zu koennen).

    Dynamische Typen gibts (wie der AF anmerkte) sehr wohl, das schoene ist aber, dass man sowohl typisiert als auch per (halb)automatischr Typwandlung arbeiten kann.

    Was die Makros anbelangt hast Du natuerlich recht, LISP erlaubt hier viel, und erinnert mich da eher an einen Macroassembler (ich mein einen richtigen, z.B. /370) was die moeglichkeiten anbelangt, denn die Textersetzungsspielchen von C. LPC ist was den praeprozessor anbelangt nur wie C :(

    LPC ist eine der schoensten Sprachkonstruktionen die ich kenne.

    Gruss
    H.
    Und jetzt das schlechte Wortspiel des Tages ... (Score:1)
    Von benz (bsiegert at gmx dot de) am Saturday 09. October 2004, 18:17 MEW (#5)
    (User #1541 Info) http://wiki.mirbsd.de/BennySiegert

    Toll, bei dieser Konferenz kann man Programmieren von der Pike an lernen!

    Thanks, I'll be here all week. Try the fish.

    </slashdotniveau>


    Re: Und jetzt das schlechte Wortspiel des Tages .. (Score:0)
    Von Anonymer Feigling am Saturday 09. October 2004, 19:25 MEW (#6)
    echt gelunger Witz. Deshalb liebe ich /. Leider ist die /. Kultur noch nicht bis zu ln-s durchgedrungen.

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen