Skip to content

RadioTux Talk #130: Wanderpodcast

Wir wechseln mal wieder die Lokation und senden diesmal aus dem Shack. Außerdem beschäftigen wir uns mit allem was Google rausgehauen hat und mit den Fails von Android, Sony, Nintendo und Twitpic.

News

Artikel der Woche

Picks

2011-05-18.RadioTux.Talk.130.mp3

2011-05-18.RadioTux.Talk.130.ogg

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Go-liath am :

Dass man mit Go nicht vererben kann ist nur halb richtig. Es bietet Interface-Vererbung und automatische Delegation, wodurch die ganzen Probleme der klassischen Vererbung umgangen werden. Man kann also nicht sagen, Go sei nicht objektorientiert, sondern Go bietet vielmehr eine gesunde Form der OO.

1) Ein Interface Foo, das die Methoden von Bar und Baz enthält:

type Foo interface {

Bar

Baz

MethodA()

MethodB()

}

2) Eine Struktur Foo, die an Bar delegiert:

type Foo struct {

Bar

FieldA int

FieldB string

}

Eine schöne Eigenschaft des Go-Typsystems ist, dass ein Typ ein Interface ad-hoc erfüllt, wenn die Methoden des Interfaces für diesen Typ implementiert sind, ohne dass man es explizit deklarieren muss [1], wodurch losere Kopplung erreicht wird.

Mehr zu Interfaces vs. Inheritance siehe [2].

[1] http://en.wikipedia.org/wiki/Structural_type_system

[2] http://www.artima.com/weblogs/viewpost.jsp?thread=274019

pfleidi am :

@Go-liath: Erstmal danke für deine Beispiele.

Ich zitiere hier mal die GO FAQ:

Is Go an object-oriented language?

Yes and no. Although Go has types and methods and allows an object-oriented style of programming, there is no type hierarchy. The concept of “interface” in Go provides a different approach that we believe is easy to use and in some ways more general. There are also ways to embed types in other types to provide something analogous—but not identical—to subclassing. Moreover, methods in Go are more general than in C++ or Java: they can be defined for any sort of data, not just structs.

Also, the lack of type hierarchy makes “objects” in Go feel much more lightweight than in languages such as C++ or Java.

Nach meiner Definition beschreibt deine Beschreibung Polymorphie, die durch Structural Typing realisiert wird, aber keine Vererbung. Allerdings ist es IMO für eine Programmiersprache nicht zwingend notwendig objektorientiert zu sein, um erfolgreich zu sein.

dreaven3 am :

http://blog.radiotux.de/2011/05/19/radiotux-talk-130-wanderpodcast/

Dort hattet ihr den Nintendo 3DS erwähnt und folgende Sache ist der

Stand der Dinge.

"In einem ersten Statement sagte ein Sprecher gegenüber dem Spieleportal

MCV, dass die Überwachung der Benutzer in Europa verboten sei. Zumindest

in den Ländern der Europäischen Union dürfe Nintendo keine Nachrichten,

Texte, Bilder, Fotos oder Filme zu eigenen Zwecken benutzen. Das sei

ihnen nicht erlaubt."

http://www.gulli.com/news/nintendo-3ds-oder-der-totale-ausverkauf-aller-verbraucherrechte-2011-05-18

Interessieren tut es uns Europäer nicht, aber boykottieren sollte man

den Nintendo 3DS dennoch.

Das Gleiche gilt für Facebook, ICQ und alle anderen Firmen, die solche

rechtswidrigen Praktiken verwenden.

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

tweetbackcheck