Sven Rautenberg: programmiersprachen-woerterbuch

Beitrag lesen

Moin!

nuetzlich koennte sowas sein fuer leute, die eigentlich schon ganz gut programmieren koennen, jedoch mal eben schnell was in einer sprache aendern wollen/muessen, mit der sie noch nix/wenig zu tun hatten.

Wie soll das funktionieren? Jede Sprache verfügt zwar über grundlegend die gleichen Konstrukte wie Verzweigung, Schleife, Variable - aber dann hört es auch schon auf mit der Gemeinsamkeit, und die unterschiedlichen Konzepte und Weltsichten der Sprachen kommen deutlich zum Tragen.

Schon mal versucht, mit clientseitigem Javascript eine Datei im Dateisystem zu öffnen? Wird schwierig werden.

Schon mal versucht, mit C64-Basic 2.0 objektorientiert zu programmieren? Vollkommen unmöglich.

Schon mal versucht, in PHP typstrenge Variablen (Integer, Float, Bool, String) zu benutzen? Leider von der Sprache nicht unterstützt.

Ein solches Übersetzungsbuch müßte also nicht nur die Namen relevanter Funktionen und Sprachkonstrukte auflisten und "übersetzen", sondern auch noch das grundsätzliche Konzept der Sprache erklären.

Ich vermute mal, man wäre da besser bedient, wenn man sich, vollkommen unabhängig von den vielen Sprachen A, B, C, ..., die man beherrscht, einfach ein Einsteigertutorial für die gerade unbekannte Sprache X besorgt, um damit die grundlegende Arbeitsweise der Sprache kennenzulernen.

Wer wirklich programmieren kann, wird nicht daran scheitern, solch eine gut gemachte Erklärung zu verstehen und dann an existierendem Code Veränderungen vorzunehmen. Im Gegenteil ist solch ein Weg durchaus lehrreich zum Erlernen der Sprache.

beispiele:
jemand weiss, wie man in c++ eine for-schleife schreibt und moechte jetzt in delphi oder brainfuck eine for-schleife schreiben.

In Delphi ist eine For-Schleife eigentlich identisch, in Brainfuck hingegen gibt es keinen Befehl für For-Schleifen. Er muß kompliziert durch Konstruktion aus den vier Grundbefehlen gewonnen werden, wobei das endgültige Resultat wohl auch noch extrem davon abhängt, welche Tätigkeiten innerhalb der Schleife ausgeführt werden sollen.

oder jamand weiss, wie man in vba eine spalte eine zelle ausliest, aber nicht, wie es in starbasic geht.

In PHP kann man beispielsweise gar keine Zelle auslesen. Und in Delphi, Perl, Brainfuck oder C++ auch nicht.

oder jemand kann in php suchen und ersetzen und moechte das nun in perl:
also waere quasi die eingabe "ereg_replace", "eregi_replace", "mb_ereg_replace", "mb_eregi_replace", "preg_replace", "str_ireplace", "str_replace", "ltrim", "rtrim", "trim" oder "nl2br"
und die ausgabe jeweils passende beispiele mittels "s///".

Hier hast du vermutlich das beste Beispiel für die Unsinnigkeit gefunden: PHP bietet so viele verschiedene spezialisierte Funktionen an, die auf den speziellen Haupteinsatzzweck als Webserver-Skriptsprache ausgerichtet sind, dass es extrem unsinnig erscheint, diese Funktionen alle für alle anderen Sprachen zu deklarieren, die mit Web vielleicht nicht das geringste zu tun haben.

Obendrein wird hierbei ja deutlich, dass dein Wörterbuch deshalb extrem aufwendig wird, weil diese Art von Transformation eine Einbahnstraße ist. Wenn man weiß, wie etwas in PHP geht, dann kann man vielleicht rausfinden, wie das auch in Perl geht. Aber niemand wird den umgekehrten Weg von Perl nach PHP gehen, weil man in Perl Dinge eben oft grundsätzlich anders löst. Wenn es also beispielsweise um nl2br() geht, dass ein Äquivalent in Perl hat, so wird man umgekehrt aber nicht dieses Äquivalent in Perl suchen und dann durch das Wörterbuch bei nl2br() landen.

falls es sowas noch nicht geben sollte, waere es doch mal ein anreiz fuer jemanden, der zuviel zeit hat, sowas zu basteln, oder nicht?

Die griechische Unterwelt bot damals ähnliche Aufgaben für Leute mit "zuviel Zeit" - Sisyphos' Felsblock, das Danaidenfass etc. sind bekannte Beispiele. :)

- Sven Rautenberg

--
"Love your nation - respect the others."