hallo Python-Forum! ich hoffe, das passt hier.
die website der sprache Ruby wurde erneuert, und sieht jetzt nicht mehr so hässlich aus. zusätzlich wurde das CMS für verschiedene übersetzer-teams freigegeben, und ich habe das glück, im deutschen team zu sein
nun, ich habe die übersetzung des abschnitts "Ruby für Umsteiger" übernommen und werde demnächst auch die seite "Von Python zu Ruby" übersetzen: http://rubyurl.com/qi6
es geht hier nicht um einen vergleich von vor- und nachteilen, sondern lediglich um eine liste von ähnlichkeiten und unterschieden beider sprachen, um Python-programmiern den einstieg zu erleichtern.
da mir Python sehr am herzen liegt, und ich auf gar keinen fall einen python-fan mit einem dämlichen fehler abschrecken möchte, frage ich euch lieber vorher:
Bitte schaut euch die Seite (zur Zeit noch auf Englisch) an und sagt mir, ob das alles richtig und fair ist, was da steht.
wenn ihr lust und zeit habt, natürlich danke!
Übersetzung der Ruby-Website: Vergleich mit Python
Bei "Differences":
Diese Escape Sequenzen gibt's doch in Python auch!?double-quoted strings allow escape sequenses (like \t)
Da sind ein paar Unterstriche zu viel. Die Konvention betrifft nur *führende* Unterstriche.there’s public, private, and protected to enforce access, instead of Python’s _voluntary_ underscore __convention__.
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi murphy,
Oder geht ähnliches mit require auch?
Gruß, mawe
require und import funktionieren doch eher unterschiedlich, oder? Stichwort Namensräume. Ich denke da anit’s require instead of import. Otherwise though, usage is the same.
Code: Alles auswählen
import lala
from lala import bla
import lala as L
Gruß, mawe
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Grrrr. Wie ich euch Ruby Leute um die Community beneide Und die Webseite ist absolut top geworden. Wenn ich da an das Machwerk unseres "tollen" pydotorg Teams denke....murphy hat geschrieben:hallo Python-Forum! ich hoffe, das passt hier.
die website der sprache Ruby wurde erneuert, und sieht jetzt nicht mehr so hässlich aus. zusätzlich wurde das CMS für verschiedene übersetzer-teams freigegeben, und ich habe das glück, im deutschen team zu sein
nun, ich habe die übersetzung des abschnitts "Ruby für Umsteiger" übernommen und werde demnächst auch die seite "Von Python zu Ruby" übersetzen: http://rubyurl.com/qi6
es geht hier nicht um einen vergleich von vor- und nachteilen, sondern lediglich um eine liste von ähnlichkeiten und unterschieden beider sprachen, um Python-programmiern den einstieg zu erleichtern.
- strings are mutable.
- you can re-open a class anytime and add more methods.
- it’s require instead of import. Otherwise though, usage is the same.
- “mixin’s” are used instead of multiple inheritance.
- There are a number of shortcuts that, although give you more to remember, you quickly learn. They tend to make Ruby fun and very productive.
- Not each file is automatically a module, you have to define that on your own
- It's possible to override attributes of superglobal builtins (String, Number, etc) and many libraries do that.
- Unlike in Python the stdlib follows one styleguide (eg: classnames are uppercase, methods are lowercase with underscores)
- Ruby doesn't have proper unicode support
- Unlike in Python you have builtin regular expression support
- Unline in Python you have HEREDOCS
Eigentlich geht das ja gar nicht. Ruby hat mit Python so viel zu tun wie Haskell mit C...
PS.: ich will auch so eine genial webseite für python :-/
//EDIT:
- You cannot overload the boolean operator (__nonzero__ in python) or function calls (__call__ in python)
- You also can't overload +=/-=/*= etc.
- there are two different attribute accessors operators (:: and .)
TUFKAB – the user formerly known as blackbird
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Okay - finde ich toll, dass du hier im Forum nachfragst. Ein fairer Vergleich ist ja in unser allen Interesse, denke ich. Also auf gehts, zu meinen Kommentaren:
In Python gibt es sowas technisch nicht - ganz recht. Jedoch gibt es den Styleguide, PEP8, an den sich viele halten und der eben diese case-conventions auch für Python festlegt. Wie du hier im Forum auch siehst, wird des öfteren hingewiesen, wenn ein Code sich nicht an PEP8 hält, so gesehen ist das eine Art soft-enforcement.
Wie sieht dieses "Enforcement" aus, also was passiert wenn eine Klasse klein geschrieben wird?Von Python zu Ruby hat geschrieben:there are some enforced case-conventions (ex. class names start with a capital letter, variables start with a lowercase letter).
In Python gibt es sowas technisch nicht - ganz recht. Jedoch gibt es den Styleguide, PEP8, an den sich viele halten und der eben diese case-conventions auch für Python festlegt. Wie du hier im Forum auch siehst, wird des öfteren hingewiesen, wenn ein Code sich nicht an PEP8 hält, so gesehen ist das eine Art soft-enforcement.
In Python gibt es zwar mehrere Container, wie Tupeln, Listen, Sets, Dicts, jedoch das was die meisten Leute unter Array verstehen sind in Python Listen und die sind ebenso mutable.Von Python zu Ruby hat geschrieben:there’s only one kind of list container (an Array), and it’s mutable.
Man könnte noch gegebenfalls etwas über Namespace-Mangling schreiben.Von Python zu Ruby hat geschrieben:there’s public, private, and protected to enforce access, instead of Python’s _voluntary_ underscore __convention__.
Man kann ebenso in Python-Klassen (und Instanzen) während der Laufzeit Funktionen und Attribute hinzufügen und ändern, nur ist die Vorgehensweise etwas anders.Von Python zu Ruby hat geschrieben:you can re-open a class anytime and add more methods.
Docstrings dokumentieren nicht das was über ihnen steht (wäre ja auch seltsam), sondern die Klasse oder Funktion in der sie an erster stelle stehen. Davon abgesehen sind es ganz normale, scheinbar ungebundene Strings (und müssen nichtmal Tripple-Quoted sein).Von Python zu Ruby hat geschrieben:the usual-style comments on the line(s) above things (instead of docstrings below them) are used for generating docs.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
wow ich antworte später im detail.
es geht übrigends um eine übersetzung, nicht um die originalseite also wenn ihr was hinzufügen wollt, dann am besten gleich auf deutsch.
es geht übrigends um eine übersetzung, nicht um die originalseite also wenn ihr was hinzufügen wollt, dann am besten gleich auf deutsch.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wobei es sicherlich nicht schaden würde, die Originalseite auch korrekt bzw fair zu machen.murphy hat geschrieben:es geht übrigends um eine übersetzung, nicht um die originalseite
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Besonders, da ja eine Übersetzung auch inhaltlich den gleichen Text wiedergeben sollte wie das Original oder?Leonidas hat geschrieben:Wobei es sicherlich nicht schaden würde, die Originalseite auch korrekt bzw fair zu machen.murphy hat geschrieben:es geht übrigends um eine übersetzung, nicht um die originalseite
Aber ansonsten sind hier schon mal sehr viele Sachen angesprochen.
Finde ich auch verdammt nett von dir ;D
MfG EnTeQuAk
nach eurer umfangreichen kritik habe ich beschlossen, den artikel komplett zu verändern. er ist ein gutes stück gewachsen, aber hoffentlich auch besser geworden:
http://rubyurl.com/qi6
der originalartikel ist wirklich schlecht (sind sogar schreibfehler drin.) ich schreibe irgendwann mal ein paar verbesserungsvorschläge hin.
zu unterschieden in der übersetzung: wir gehen auf der deutschen seite sowieso ein paar andere wege, da können wir auch gleich was verbessern.
ich gehe jetzt nicht einzeln auf eure kommentare ein, das produziert nur unnötigen smalltalk danke jedenfalls, ich habe mich bemüht, eure vorschläge einzubauen.
allgemein: allzu feine details (kein /(?<=)/ in Ruby) finden in dem artikel keinen platz. außerdem habe ich einige strittige teile einfach entfernt.
gefallen lassen müsst ihr euch allerdings, dass der artikel aus Ruby-sicht geschrieben ist, und ich deshalb die negative sicht einiger Pythonisten auf bestimmte Ruby-eigenschaften nicht mit aufnehmen werde. das wäre, als würde auf der Python-seite stehen: "Python hat leider keine Blöcke." sonst hieße der artikel "Von Ruby zu Python".
http://rubyurl.com/qi6
der originalartikel ist wirklich schlecht (sind sogar schreibfehler drin.) ich schreibe irgendwann mal ein paar verbesserungsvorschläge hin.
zu unterschieden in der übersetzung: wir gehen auf der deutschen seite sowieso ein paar andere wege, da können wir auch gleich was verbessern.
ich gehe jetzt nicht einzeln auf eure kommentare ein, das produziert nur unnötigen smalltalk danke jedenfalls, ich habe mich bemüht, eure vorschläge einzubauen.
allgemein: allzu feine details (kein /(?<=)/ in Ruby) finden in dem artikel keinen platz. außerdem habe ich einige strittige teile einfach entfernt.
gefallen lassen müsst ihr euch allerdings, dass der artikel aus Ruby-sicht geschrieben ist, und ich deshalb die negative sicht einiger Pythonisten auf bestimmte Ruby-eigenschaften nicht mit aufnehmen werde. das wäre, als würde auf der Python-seite stehen: "Python hat leider keine Blöcke." sonst hieße der artikel "Von Ruby zu Python".
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Du solltest Marketing machenmurphy hat geschrieben:gefallen lassen müsst ihr euch allerdings, dass der artikel aus Ruby-sicht geschrieben ist, und ich deshalb die negative sicht einiger Pythonisten auf bestimmte Ruby-eigenschaften nicht mit aufnehmen werde. das wäre, als würde auf der Python-seite stehen: "Python hat leider keine Blöcke." sonst hieße der artikel "Von Ruby zu Python".
TUFKAB – the user formerly known as blackbird
wasm einst du denn damit? ^^ jetzt muss ich was falsch gemacht haben.
Nicht Ihr ärgert mich diesbezüglich, sondern Ruby aber in Ruby 1.8 ist ja nicht mal look behind drin.blackbird hat geschrieben:Und nochwas um WoNáDo zu verärgern:
- the ruby regular expression engine doesn't allow (?(id/name)yes-pattern|no-pattern) ^^
Wolfgang Nádasi-Donner