RPG-Maker Quartier
http://forum.rpg2000.4players.de/phpBB3/

Programmiersprachen-Flamewar-Thread
http://forum.rpg2000.4players.de/phpBB3/viewtopic.php?f=9&t=98247
Seite 2 von 3

Autor:  Askr [ Mi Apr 18, 2012 16:42 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Xardas der Dunkle hat geschrieben:
Askr hat geschrieben:
Desmulator, ich muss dich bitten mit dem Spammen aufzuhören, wenn du nichts sinnvolles zum Thema beizutragen hast!!1

Das hat nichts mit Spam zu tun sondern bezieht sich auf TWS' "Frage".

Ich hab extra zwei Ausrufezeichen und eine Eins geschrieben, aber nagut, ich hör schon auf! :D

Autor:  Desmulator [ Mi Apr 18, 2012 16:50 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Askr hat geschrieben:
Desmulator, ich muss dich bitten mit dem Spammen aufzuhören, wenn du nichts sinnvolles zum Thema beizutragen hast!!1

Das war utf-16, Little Endian.

Autor:  Fryie [ Mi Apr 18, 2012 17:12 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Askr hat geschrieben:
Kann von euch übrigens jemand Smalltalk? Mir wurde gestern erzählt das sei die ultimative Sprache um objektorientiert programmieren zu lernen. :lenny:

Meines Wissens hat Ruby teilweise von Smalltalk geerbt, während Java et al. ja eher als C++-Nachfolger zu sehen sind.
Ruby ist eh cool. Nur sehr langsam, wie alle interpretierten Sprachen.

Autor:  KD [ Mi Apr 18, 2012 17:25 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Die Smalltalk Leute ätzen ja, dass Ruby ein Smalltalk-- sei ^^ Tatsächlich sind beide Sprachen fast identisch, nur das Ruby etwas opportunistischer ist ^^ Sprich: Ruby verwendet eine Syntax ähnlich der von Pascal und Java und ist File-basiert (statt Image-basiert). Smalltalk hingegen hat eine eigene, extrem minimalistische Syntax, die aber einerseits erstmal ungewohnt ist, andererseits auch ein paar Fallstricke hat (z.B. fehlende Operator-Prioritäten wie Punkt- vor Strichrechnung). Image-basiert heißt, dass es keinen Quellcode gibt der dein Programm abbildet, sondern dein Programm als binäres Objekt auf dem Rechner liegt. Natürlich darf dieses binär-Objekt dennoch den Quellcode verschiedener Funktionen beinhalten. Der Punkt ist aber, dass du das Objekt nicht öffnen und den Code ändern kannst. Stattdessen sind Smalltalkprogramme meist eine integrierte IDE, die die Möglichkeit bietet bestehende Objekte und Funktionen umzuändern. Das klingt alles zwar total cool, ist in der Praxis aber doch recht gewöhnungsbedürftig. Vor allem wenn die IDEs sich anfühlen als seien sie 30 Jahre alt (*hust* Squeak *hust*).

Autor:  Fryie [ Mi Apr 18, 2012 22:20 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Naja, der Punkt bei Ruby ist doch aber auch, daß es sich an vielen Stellen wie ein Perl in gut anfühlt, zB durch nativen Support von RegExes etc.

Kann denn Smalltalk auch so viel in Sachen Metaprogrammierung?

Und das mit der Objektbasiertheit von Smalltalk klingt nicht cool, das klingt eigentlich ziemlich bescheuert. wtf? xD

Von wegen minimalistische Syntax mag ich ja Io, ist quasi wie JavaScript in schön (+ Actors, Futures, etc.). Scheint leider relativ tot und nicht gerade extensiv dokumentiert.

Autor:  KD [ Mi Apr 18, 2012 22:30 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Zitat:
Kann denn Smalltalk auch so viel in Sachen Metaprogrammierung?
Smalltalk ist reine Metaprogrammierung. Ich würde ja sagen, Smalltalk hat Metaprogrammierung erfunden, aber die Ehre gebührt wohl Lisp xD
Das folgt aus dem Image-Konzept. In Smalltalk existiert kein wirklicher Sourcecode, es existieren nichtmal Schlüsselwörter um Klassen oder dergleichen anzulegen. Das geht alles nur über Metaprogrammierung, oder über die IDE, die ja letztlich selbst Metaprogrammierung betreibt.

Zitat:
Von wegen minimalistische Syntax mag ich ja Io, ist quasi wie JavaScript in schön (+ Actors, Futures, etc.).
IO ist ja ein Prototypbasierter Smalltalk-Dialekt.

Zitat:
Naja, der Punkt bei Ruby ist doch aber auch, daß es sich an vielen Stellen wie ein Perl in gut anfühlt
Es gibt halt immer ein Unterschied zwischen theoretischer und produktiver Anwendung. Ruby ist nicht gerade die eleganteste Sprache, aber halt sehr praxisnah (und dennoch eleganter als Perl xD). Es gibt viele coole Sprachen (*hust* Haskell) die sich erstmal sehr elegant anfühlen, die dann aber für den Praxiseinsatz dann doch nicht so geeignet sind. Und sei es auch nur, weil es zu wenig Bibliotheken gibt und sich niemand für die Sprache interessiert =/

Autor:  Fryie [ Mi Apr 18, 2012 22:43 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Das Problem mit den Bibliotheken ist echt ein immer wiederkehrendes. Selbst für Ruby ist es schwierig, in manchen sehr spezifischen Teilbereichen entsprechende Libraries zu finden (hab mal versucht, einen Tidy-Aufsatz zu verwenden, der scheiterte aber leider aus irgendeinem Grund an HTML5, selbst wenn ich die (experimentelle) HTML5-Tidy-Variante als Unterbau verwendete, die an sich alleine funktionierte).
Denke, da wird die Zukunft zu einem großen Teil in den JVM-Sprachen o.ä. liegen, die innovative Konzepte haben und trotzdem den ganzen Unterbau an vorhandenem Java-Code nutzen können. (Da wäre natürlich auch JRuby eine Option, damit hab ich jetzt noch nie rumgespielt)

Autor:  TheWhiteShadow [ Do Apr 19, 2012 21:09 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

JRuby ist schon ne coole Sache. Ich benutze sie ja aktuell fürs Cuina-Projekt (ehemals Java-RPG-Maker).
Die Sprache eigent sich wunderbar für kleine Skripte, war aber nicht so leicht einen Parser dafür zu schreiben, wegen der laschen Syntaxregeln. Von Ruby auf Java geht total einfach, nur umgekehrt ist man eben an die Adapter-Klassen gebunden, aber auch das funktioniert sehr gut.

Autor:  KD [ Do Apr 19, 2012 22:05 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

TheWhiteShadow hat geschrieben:
Die Sprache eigent sich wunderbar für kleine Skripte, war aber nicht so leicht einen Parser dafür zu schreiben,
JRuby liefert doch schon einen Parser mit, den du auch von JRuby aus benutzen kannst. Google mal, da gabs mal 'nen schönen Blogpost zu, wie man auf den Abstract Syntax Tree des eigenen Programms zugreifen kann.

Zitat:
Von Ruby auf Java geht total einfach, nur umgekehrt ist man eben an die Adapter-Klassen gebunden, aber auch das funktioniert sehr gut.
Am einfachsten ist es, wenn du Interfaces benutzt. Du kannst Rubyobjekte Java-Interfaces implementieren lassen. Dann verhalten sie sich äußerlich wie Java-Objekte.

Autor:  Desmulator [ Fr Apr 20, 2012 20:25 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Reguläre Ausdrücke - Fluch und/oder Segen. Teilweise sind sie echt ziemlich cool, manchmal treiben sie einen aber auch in den Wahnsinn. Native Unterstützung durch die Sprache selbst fände ich cool, PHP erlaubt sie nur als String-Parameter einer Funktion, JavaScript lässt sie auch zu ohne in einen String gepackt zu sein, bracht aber eine Funktion. Perl macht es, meines erachtens am besten. Über Operatoren. :O
PHP und Perl lassen auch das ersetzen nach Regex zu. ( preg_replace bei PHP und =~ s bei Perl afaik )
Wie stehts um Java? Ruby?

Autor:  Xardas der Dunkle [ Fr Apr 20, 2012 22:02 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Vorteil des Strings ist aber ganz klar das du jedes x-Belibige Zeichen als Delimiter benutzen kannst.
Bei JavaScript kannst du nur den / Slash benutzen und musst ggf. unschön escapen. (Ich weiß allerdings gerade nicht wie es aussieht wenn ich den RegEx als String an die RegExp Classe übergebe)

Autor:  KD [ Sa Apr 21, 2012 12:30 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Zitat:
PHP und Perl lassen auch das ersetzen nach Regex zu. ( preg_replace bei PHP und =~ s bei Perl afaik )
Wie stehts um Java? Ruby?
Klar.
Code:
s = "Hallo Welt, wie geht es dir?"
s.sub! /,/, "." # ersetze das erste Vorkommen eines Kommas durch einen Punkt
s.gsub! /[aeiou]/, "o" # ersetze alle Vokale durch o
s.gsub! /\w[A-Z](\S+)/, "\1" # Geht in php ja auch: Einfügen von groups in den Ersetzungsstring
s.gsub!(/[a-z]/) {|kleinbuchstabe| kleinbuchstabe.upcase } # hier wird die Ersetzung über eine Funktion angegeben


Zitat:
Vorteil des Strings ist aber ganz klar das du jedes x-Belibige Zeichen als Delimiter benutzen kannst

Code:
regexp = /FooBar/
#=> /FooBar/
regexp2 = %r<Foobar/Mit/beliegigen/Delimittern>
#=> /Foobar\/Mit\/beliegigen\/Delimittern/
regexp3 = Regexp.quote "[das sind]|alles(Terminale)"
#=> /\[das sind\]\|alles\(Terminale\)/


Und was ich besonders nützlich finde: Extended-Regexps. Da darf man Kommentare, Newlines und beliebige Whitespaces einbauen. Dafür muss man echte Whitespaces escapen, wenn sie als solche erkannt werden sollen:
Code:
komplexer_regexp = /
  \w[A-z]+    # matche erst ein Wort
  \s*         # danach darf eine Folge von Whitespaces kommen
  \d+         # und danach eine Zahl
/x

Autor:  Fryie [ Sa Apr 21, 2012 16:45 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Java-Regexes sind dafür der reinste Dreck, muß man mal so sagen. xD
Es gibt keine native Syntax, d.h. die werden einfach als String-Parameter übergeben. Leider muß man in Java-Strings \ escapen, in Regexes jedoch auch. D.h. ein Zeichen wie "+", was in normaler Regex-Schreibweise "\+" wäre, wäre dann in Java "\\+", etc.

Autor:  Fryie [ Do Nov 15, 2012 2:00 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

EDITOR/IDE FLAMEWAR STARTS NAO
(*hopeful)

Autor:  KD [ Do Nov 15, 2012 10:52 ]
Betreff des Beitrags:  Re: Programmiersprachen-Flamewar-Thread

Zum Scripten nutze ich Sublime Text. Für Java nutze ich Intellij Idea.

Seite 2 von 3 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/