Schwarzes Hamburg

Schwarzes Hamburg => Archiv => Wer seid Ihr / Vorstellboard -Archiv- => Thema gestartet von: TimuЯ am 10 August 2010, 23:12:24

Titel: Guddndaag
Beitrag von: TimuЯ am 10 August 2010, 23:12:24
Moooooin,

Ich wollte mich auch mal kurz hier vorstellen.

Einige von euch kennen mich ja schon vom M'Era Luna 2010, dank euch
bin ich auch auf dieses nette kleine Forum aufmerksam geworden.
Die Variation meins Namens ist übrigens durch den Admin des offiziellen M'Era
Luna Forums entstanden, dessen Camp direkt neben unserem aufgeschlagen war.
Ich mischte mich unter die offiziellen Forum-Camper und bekam von ihm ein
Namenschild mit eben dieser Aufschrift verpasst.

Ich bin 26 und wohne zzt. noch im schönen Flensburg, habe meine Wurzeln in
Berlin und Brandenburg, habe jetzt 9 Semester Medieninformatik an der FH Flensburg
hinter mir, arbeite jetzt für eine kleine Internet-Agentur in FL und bastel dort an
Internetseiten und Flash-Games rum. In meiner Freizeit versuche ich ein paar
PHP-Projekte auf die Beine zu stellen und bin eigentlich auch ein leidenschaftlicher
3D-Grafik-Engine-Programmierer ::)

In Hamburg habe ich vorletzten Winter schon ein halbes Jahr verbracht, bei
einem Praktikum bei Replay Studios (Spiele-Entwickler von "Crashday",
"Velvet Assassin" und "Tunnel Rats", jetzt leider insolvent) und will ganz gerne
in naher Zukunft auch wieder in die Großstadt übersiedeln.

An manchen Wochenenden bin ich aber auch so in HH unterwegs, paar Leute
treffen, auf Achse, Bummeln, U-Bahn- und S-Bahn-Fahren (hey, wir haben keine
in FL !!), bei Double Coffee Käffchen schlürfen und was man sonst noch in der
großen weiten Stadt machen kann.

Meinen Musikgeschmack kann ich nur schwer definieren, er ist teils rockig, teils
elektronisch, mal ruhig, mal schnell, leise, laut, entspannt, aggressiv, feinfühlig,
donnernd, zurückhaltend, unüberhörbar, ungewöhnlich und manchmal auch ein
bisschen menschenverachtend ;D
Und obwohl ich mir auch ab und zu Juli, Jack Johnson und Black Eyed Peas antue,
fühle ich mich bei Dark Rock, NDH, Metal, EBM, Synthie-Pop und Industrial am
wohlsten. Aber auch feinen deutschen HipHop á la Fettes Brot, Deichkind oder
Blumentopf hört man ab und zu aus meinen Lautsprechern =D

Ich würde mich nicht als Nerd bezeichnen, aber ich hab so gut wie immer einen
Laptop dabei, sitze Zuhause zwischen 3 Rechnern und sammle Filme und Musik.
Ab und an schwinge ich mich auf mein Fahrrad und fahre im Affenzahn durch FL
und Umgebung, bisschen die Fußgänger aufmischen (die ja auf Radwegen nichts
zu suchen haben!). Grillen bei Wind und Wetter, Elektronik-Basteln und Kino /
Film-Abende sind dann auch noch Dinge, die ich häufiger tue =)

So, wenn noch Fragen sind, ich werde auf alles bereitwillig antworten ;)

Euer TimuЯ
Titel: Re: Guddndaag
Beitrag von: Philomel am 10 August 2010, 23:36:32
Ha, dich kenn ich vom M'Era! Das ist doch mal ne ausführliche Vorstellung. Willkommen :D
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 10 August 2010, 23:53:09
3D?
Groovy.

Du bist nicht zufällig überaus extremst OpenGL fit und so?
Ich könnte da ein paar Tipps gebrauchen.

Keine Sorge, nix Großes. Brauch nur irgendwas, dass mir aus .blend Files OpenGL-taugliche Daten zieht.
Und zwar in Objective-C mit dem Cocoa-Framework. ^^

Und überhaupt, wenn du kein Nerd bist, was bist du dann? :P

Ach ja, meine Manieren...
Willkommen!
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 10 August 2010, 23:57:53
Luci,  bau dir doch einfach ein Python-Plugin für Blender, dass dir das umwandelt :P

Ansonsten, ja, fast deckungsgleiche Interessen, das ist schon mal gut :)
Titel: Re: Guddndaag
Beitrag von: Svendra am 10 August 2010, 23:59:26
Huh... ich dacht, ich wär auch in dem Camp gewesen - aber ich hab exakt keinen Plan, wer du bist.  ;D  Trotzdem willkommen - mehr Nerds sind immer gut. ;)
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 11 August 2010, 00:10:51
Luci,  bau dir doch einfach ein Python-Plugin für Blender, dass dir das umwandelt :P
Klar, noch ne Sprache.
Als würde der ganze Scheiß von Wegen Shell, PHP, C, Objective-C, Java, Perl, AWK, Smalltalk80, Objective-Javascript und Ruby nicht schon mehr als genug sein.
Ich spreche ja schließlich auch nur eine Fremdsprache, nicht 8!

Aber nee, jetzt kommst du mir mit Python, der Nächste mit LUA, anschließend noch ne Runde C#, dann das verhasste C++ wieder aufleben lassen und mal in self reinschnuppern, schon klar.

Ich hab mir nicht umsonst die 'vernünftigste' Programmiersprache ausgesucht. +g+
Abgesehen davon ändert das nix daran, dass ich keine Ahnung habe wie genau so Objektmeshes jetzt für OpenGL aufbereitet gehören.
Bin ja stellenweise schon zu blöd dazu den Kram vernünftig zu konfigurieren, die Transitions treiben mich noch in den Wahnsinn.
+durchatme+

Und DirectX ist keine Option. ;)
Titel: Re: Guddndaag
Beitrag von: DarkDevil am 11 August 2010, 00:35:37
Huh... ich dacht, ich wär auch in dem Camp gewesen - aber ich hab exakt keinen Plan, wer du bist.  ;D
Das war der Bekannte von Mone (rot/schwarzer Iro) ;)

Wir kennen uns ja auch schon - Also herzlich willkommen! 8)
Titel: Re: Guddndaag
Beitrag von: EcceRex am 11 August 2010, 00:41:17
Svendra....das war der Herr mit bunten Haaren und den lustigen kleinen Fläschen, die ständig auf dem Tisch standen.

Dann mal willkommen hier, TimuR (Borgir)  ;)
Titel: Re: Guddndaag
Beitrag von: PlumBum am 11 August 2010, 00:57:08
Hellas hier, du Socke!

Schön dich hier so direkt wieder zu sehen und gut das du dich nicht an meine Warnungen hältst.
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 11 August 2010, 00:59:35
Du bist nicht zufällig überaus extremst OpenGL fit und so?
Ich könnte da ein paar Tipps gebrauchen.

Keine Sorge, nix Großes. Brauch nur irgendwas, dass mir aus .blend Files OpenGL-taugliche Daten zieht.
Und zwar in Objective-C mit dem Cocoa-Framework. ^^

Und überhaupt, wenn du kein Nerd bist, was bist du dann?

Sorry, ich hab mich nur mit DirectX beschäftigt und in C# programmiert (mit dem XNA-Framework). Auf Objective-C hab ich aber auch ein bisschen Hass, da ich mich mal an iPhone-Programmierung rangetraut habe. Warum mussten die denn unbedingt das Rad nochmal neu erfinden?
Und dann auch noch eins mit 5 Ecken... (x_X)

Und zum Thema Nerd-Sein, ich hab da imemr so ein Bild von einem Klischee-Nerd im Kopf, das passt nicht so gut zu mir ^^
Sagen wir, ich kenne mich ganz gut mit Computern aus und weiß, wie sie an- und ausgehen :D

Jetzt muss ich nur noch die Bilder zu euren Namen haben, dann kann ich auch mit euch etwas anfangen ;P
Da ich kein Bild als Anhang mitsenden kann versuche ich es mal so:


(http://rastifant.de/files/privat/DSC06341.JPG)

Hellas hier, du Socke!

Schön dich hier so direkt wieder zu sehen und gut das du dich nicht an meine Warnungen hältst.

Hab ich ganz dezent erstmal von vorn herein mit voller Absicht übersehen ::)
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 11 August 2010, 02:31:40
Cool, ein Bild :)
Und du bist bestimmt wohl trotzdem ein Nerd.

...und um nebenbei noch ein wenig auf Luci herumzuhacken und einzuschlagen:
Luci,  bau dir doch einfach ein Python-Plugin für Blender, dass dir das umwandelt :P
Klar, noch ne Sprache.
Als würde der ganze Scheiß von Wegen Shell, PHP, C, Objective-C, Java, Perl, AWK, Smalltalk80, Objective-Javascript und Ruby nicht schon mehr als genug sein.
Ich spreche ja schließlich auch nur eine Fremdsprache, nicht 8!
Das schlimme ist, man kommt auch etwas aus der Übung, wenn man eine davon mehrere Jahre nicht genutzt hat. Also C++ ist schon wieder mal 7 Jahre her...
Aber nee, jetzt kommst du mir mit Python, der Nächste mit LUA, anschließend noch ne Runde C#, dann das verhasste C++ wieder aufleben lassen und mal in self reinschnuppern, schon klar.

Ich hab mir nicht umsonst die 'vernünftigste' Programmiersprache ausgesucht. +g+
Nein. Nein. Nochmal: Nein.
Ich wurde mal gezwungen, über Wochen Objective-C zu programmieren und es war ein höllenmäßiger Scheiß mit den ganzen Klammerungen, da ist keine Sau mehr durchgestiegen.
Abgesehen davon ändert das nix daran, dass ich keine Ahnung habe wie genau so Objektmeshes jetzt für OpenGL aufbereitet gehören.
Bin ja stellenweise schon zu blöd dazu den Kram vernünftig zu konfigurieren, die Transitions treiben mich noch in den Wahnsinn.
+durchatme+

Und DirectX ist keine Option. ;)
Wenn man Googelt, findet man einige Beiträge, wo die Leute einfach das Quake-Format (md2) dazu benutzen, mit OpenGL Modelle darzustellen. Wohl ohne Objective-C Sourcen, aber auch da soll es wohl Tutorials geben, wie man die Dateien ausliest. Blender kann die zumindest exportieren, das ist ja schon mal was.
Man kann sogar über Umwege nach Flash exportieren :P aber von "Performance" kann man dann nicht mehr wirklich reden.
Titel: Re: Guddndaag
Beitrag von: Batgirl am 11 August 2010, 06:01:04
Moin und willkommen :D

Da ich nicht auf dem Mera war brauchst du auch kein Bild zu meinem Namen ;)
Titel: Re: Guddndaag
Beitrag von: IvyDice am 11 August 2010, 07:14:36
Hey, cool, ich werd ab Oktober Medieninformatik studieren :) Dann weiß ich ja schonmal, wen ich nerven werde ;D
Titel: Re: Guddndaag
Beitrag von: cocoon am 11 August 2010, 08:32:02
huhu zeltnachbar :-)
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 11 August 2010, 08:54:11
huhu zeltnachbar :-)

huuuuu hey =)

Uuuuuuuuuund: Nein, ichbinkeinNerdIchbinkeinNerdIchbinkeinNerd x_x
Titel: Re: Guddndaag
Beitrag von: Takara am 11 August 2010, 09:55:02
du hast doch mit Herrn Blei das Mera Forencamp unterwandert, gibs zu...die Story war auf jeden Fall lustig...  ;D
Viel Spaß hier und vielleicht sieht man sich mal in HH...
Titel: Re: Guddndaag
Beitrag von: astrogirl am 11 August 2010, 10:27:52
Hallooooo ha ich erkenne ihn wieder ^^  .... dann mal viel Spass bei uns hier!!
Titel: Re: Guddndaag
Beitrag von: colourize am 11 August 2010, 10:42:27
Tach auch!
Titel: Re: Guddndaag
Beitrag von: PlumBum am 11 August 2010, 11:22:53
du hast doch mit Herrn Blei das Mera Forencamp unterwandert, gibs zu...die Story war auf jeden Fall lustig...  ;D
Viel Spaß hier und vielleicht sieht man sich mal in HH...
Yoa das war an sich ein recht netter Haufen. Ich hab mich auch selbst sehr geschickt vor einem Namensschild gedrückt. Wir mussten uns ja mal anschauen, was das für Leute sind, die da immer so einen Wirbel machen.
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 11 August 2010, 11:42:13
Ich fands jedenfalls toll, dass wir gleich im Forencamp als vollwertige Mitglieder akzeptiert worden sind, ohne dass jemand nachgefragt hat. Wir hätte unsere Zelte da aufschlagen können und die hätten uns sogar noch dabei geholfen :D
Das Namensschild hängt jetzt an meinem Regal und bleibt da solange kleben, bis es abfällt. Gleich unter der Skizze mit den Strichmännchen, die schon fast 10 Jahre alt ist ^^
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 12 August 2010, 01:33:09
Das Rad neu erfinden? Mit 5 Ecken? Dämliche Klammerung?

Nun ja...
Man hatte halt keinen Bock, C um Simula67 zu erweitern, sondern nahm das dreizehn Jahre später erschienene Smalltalk80.
Und Smalltalk hat seinen Namen zu recht. Beschissen zu coden (eeeelendige Tipparbeit), easy zu lesen und zu debuggen (völlig selbsterklärender Code)

Und nur weil C++/C# sich nicht an gängige und seit Jahrzehnten bewährte Entwicklungsmuster halten, ist das noch lange kein Grund dafür, dass es niemand gleich richtig anwenden und die richtige Anwendung auch voraussetzen darf.

Naja, auch C++ und Flashentwickler werden irgendwann die Vorzüge der objektorientierten Entwicklung schätzen lernen.
Und im Prinzip ist die Objective-C Syntax auch nix Anderes als C mit einem weiteren Konstrukt: [object message] bzw. [object messageWithParameter:one];
Das sollte doch zu schaffen sein. :P

Ist aber typisch, dass man von kompletter Typendynamik nix wissen will, wenn man auf vorkompilierten Mist steht. ;)
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 12 August 2010, 10:40:53
Okay, dann oute ich mich jetzt halt als sturer C-Style-Liebhaber.
Ich habe mit Turbo Pascal angefangen, dann ging es mit C++ weiter, später PHP,  dann C# und zuletzt ActionScript. Alles was davor war, ist mir weitgehend unbekannt.

C# bietet mir meiner Meinung nach den größten Komfort und eine angenehme Mischung aus Freiheit und Unterstützung, auch wenn die Programme dann fast nur unter Windows laufen.
Visual Studio für C++ und C# ist mir da eine sehr große Hilfe und ich ich möchte es nicht mehr missen.

PHP ist sehr mächtig geworden, aber leider auch noch nicht restriktiv genug bei den Datentypen (noch viel zu "gutmütig").

ActionScript ist in 1.0 und 2.0 furchtbar, 3.0 ist schon ein großer Sprung nach vorne, aber immer noch nicht wirklich ausgereift. Mithilfe von Flex lässt sich da aber schon einiges machen.

Mit Java habe ich mal eine Hausarbeit geschrieben, kategorisiere ich zwischen C++ und C# ein (ja ich weiß, Cross-Platform und so...). Und ja, ich weiß, dass C# u.A. aus Java entstanden ist.

Und letztes Semester habe ich mir dann aus Neugier dann auch noch Objective-C angetan, aber ich bin mit der Sprache nicht so richtig warm geworden.Klar, es ist alles logisch, strukturiert und systemamtisch aufgebaut, aber ich kann mich an den Syntax einfach nicht anfreunden. Letzt endlich ist es einfach nur eine Sache der Gewöhnung und ich war halt bisher nicht geduldig genug, um mich daran zu gewöhnen.

Ich bleibe jedenfalls erstmal bei C++, C#, PHP, JavaScript und ActionScript, weil die Sprachen meiner Meinung nach derzeit am ehesten eingesetzt werden.
Titel: Re: Guddndaag
Beitrag von: kb am 12 August 2010, 12:30:59
Naja, auch C++ und Flashentwickler werden irgendwann die Vorzüge der objektorientierten Entwicklung schätzen lernen.

Du bist niedlich.

Abgesehen von der erschreckenden Erkenntnis, dass dem Steve Jobs ihm sein Reality Distortion Field jetzt schon so stark ist, dass die ersten Leute anfangen, diesen dahingeschluderten Rotz namens Objective-C mit diesem komplett verhunzten GC-Mechanismus, gegen den selbst Java 1.0 gut aussieht, ernsthaft gut zu finden, hast du Dich mit der impliziten Aussage, C++ könne keine objektorientierte Programmierung, einfach mal gerade komplett selbst disqualifiziert. Objektorientierung != dynamisches Binden.

Außerdem macht a) dynamisches Binding von Objekten nur in einem Teil aller Fälle überhaupt Sinn (und in allen anderen ziehts nur sinnlos Performance weg - siehe Akkulaufzeit des iPhones, sobald man es aus der Hosentasche nimmt), und b) gibts für C++ diverse fertige Libraries, die das wunderbar replizieren. Natürlich sieht das dann alles noch nen Tacken häßlicher aus als Objective-C's Klammerscheiße, weil C++ dann doch das eine große Feature fehlt (fängt mit R an und ist hiermit deine Hausaufgabe und deine einzige Chance, die von dir selbstaufgebaute Aura von Inkompetenz wieder wegzubekommen), aber große, bekannte Libraries wie z.B. Boost, Qt oder sogar Microsofts ATL kommen da mit verschiedenen Ansätzen wunderbar drumrum.

Zitat
Ist aber typisch, dass man von kompletter Typendynamik nix wissen will, wenn man auf vorkompilierten Mist steht. ;)

Nein, es ist nur so, dass es für Leute, die auf Typendynamik stehen, diverse wesentlich geeignetere Sprachen gibt. Da wären z.b. Python oder ECMAScript. Welches übrigens inzwischen auch für Flash verwendet wird. Hoppala. WAS war dein Argument nochmal?

[Edit] Fun fact: Alle im Post erwähnten Sprachen und Libraries habe ich übrigens schon angewendet. Professionell.

[Edit 2] Ausserdem, äh, hallo TimuЯ und willkommen. Ja, Vorstellungsthreads laufen immer so. :D

Titel: Re: Guddndaag
Beitrag von: PlumBum am 12 August 2010, 12:48:34
kb: made my day

Ich war nur zu faul, so was selbst nochmal genauer aus zu führen. Aber das oben genannte kam mir irgendwie auch gleich recht spanisch vor.
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 12 August 2010, 13:42:04
Öhm, dazu kann ich jetzt auch nichts mehr hinzufügen.

Ich kann außerdem noch große Kartenhäuser aus Bieruntersetzern bauen =D
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 12 August 2010, 15:49:00
Abgesehen von der erschreckenden Erkenntnis, dass dem Steve Jobs ihm sein Reality Distortion Field jetzt schon so stark ist, dass die ersten Leute anfangen, diesen dahingeschluderten Rotz namens Objective-C mit diesem komplett verhunzten GC-Mechanismus, gegen den selbst Java 1.0 gut aussieht, ernsthaft gut zu finden, hast du Dich mit der impliziten Aussage, C++ könne keine objektorientierte Programmierung, einfach mal gerade komplett selbst disqualifiziert.

Sätze beinhalten mehr Wahrheit, je länger sie sind. Ich sehe schon.

Die Entwicklung von Objective-C und C++ geschah in etwa parallel. Allerdings basiert C++ auf Simula aus den späten 60ern (deshalb Simula-67), während Objective-C Smalltalk-80 zugruned liegt.

Das sind dann konzeptionell 13 Jahre. Witzig an der Geschichte ist übrigens, dass zu Zeiten von Simula der Begriff OOP noch gar nicht bekannt war. Der stammt nämlich von Alan Kay [1], der erst 1969 mit 29 Jahren sein Examen machte (so etwas wie ein 3D-OO-Modell) und erst ab 1970 zu Xerox wechselte um dort Smalltalk zu entwickeln. Mit anderen Worten: Als die Konzepte für Simula-67 und damit auch für C++ entworfen wurden, gab es OOP begrifflich noch gar nicht.

Nun mag man meinen, dass die Simula-Jungs Dahl und Nygaard irgendwie schon etwas geschaffen hatten, von dem sie gar nicht wussten, dass es OOP ist und woraus später C++ wurde. Kay sieht das anders:
"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." [2]

Deshalb sage ich ja auch immer, dass C++ gar nicht OOP sei, sonder COP (klassen-orientiert, nicht objekt-orientiert). Soweit ich sehe, gibt es in C++ auch gar kein Sprachmittel, das sich auf Objekte bezieht. Ursprünglich hieß übrigens C++ auch C with classes und nicht C with objects.

Man beachte wieder den Unterschied zwischen Klugscheißen und Besserwissen. :P

Im Übrigen wirfst du Objective-C als Sprache und CocoaTouch als Framework auf brutalste Art und Weise durcheinander. [3]

[1] http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
[2] http://de.wikipedia.org/wiki/Alan_Kay#Zitate
[3] http://developer.apple.com/technologies/mac/cocoa.html
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 12 August 2010, 15:54:43
Letzt endlich ist es einfach nur eine Sache der Gewöhnung
Dem stimme ich zu.
Deshalb ist es ja so schwierig, Simula-67 und Smalltalk-80 Fronten versöhnt zu bekommen.
Es ist halt konzeptionell komplett anders.
Titel: Re: Guddndaag
Beitrag von: kb am 12 August 2010, 16:31:25
"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind."

Hübscher Quote, doch :) Leider sagt er nichts aus ausser der persönlichen Meinung von jemandem, der einen Begriff als erster verwendet hat. Das ist ja totaaaal relevant.

Davon abgesehen war ein Rückzug auf Definitionsklauberei schon immer Kapitulation, das weisst du. Als Mitglied einer SMalltalk-80-Fraktion, die anscheinend eine Simula-67-Fraktion total hasst, magst du sogar recht haben, aber ich bin gespannt, was passiert, wenn du weltweit alle Quellen löschen/ändern willst, die sehr autoritativ C++ als objektorientiert bezeichnen. Und auch darauf eingehen, dass dynamisches Binding ein OPTIONALES Feature von OOP ist. Aber viel Erfolg dabei, du schaffst das :D

Zitat
Man beachte wieder den Unterschied zwischen Klugscheißen und Besserwissen. :P
Tu ich. Und ich finds amüsant ;)

Zitat
Im Übrigen wirfst du Objective-C als Sprache und CocoaTouch als Framework auf brutalste Art und Weise durcheinander.

Keineswegs. Das mit der Akkulaufzeit des IPhones war ein Beispiel. Sagt dir was, oder? Beispiel? Also son, äh, Ding, das man vorschiebt als Repräsentant für ein größeres, äh, Ding? Was tu ich hier eigentlich? Fakt ist, dass der Overhead dynamischer Methodenaufrufe massivst ist. Und in dem Moment, in dem man jedes kleinste Stück Daten als Objekt sieht, was OOP-Fanatiker sehr, SEHR gerne tun, wirds halt sehr, SEHR schlimm.

(Note: Ich rede hier nicht von normalen vs. virtuellen Funktionsaufrufen, sondern wirklich von dem, was passiert, wenn man dynamisch eine Methode aufruft. Also sämtliche Lookups des Methodennamens, Serialisierung/Deserialisierung aller Parameter, etc.)

Der GC ist ebenfalls offizielles Sprachfeature von Objective-C 2.0 und nicht Teil der Cocoa-Library. Und ganz davon abgesehen ist es eh scheißegal, weil außerhalb des Apple-Universums faktisch niemand freiwillig Objective-C benutzt. Ok, GNUStep. Das ist aber auch ne 1:1-NeXTStep-Kopie und damit fast identisch zu Cocoa. Was soll also irgendeine Trennung.

(im Gegensatz dazu werden die Standardframeworks von C und C++ gerne mal weggelassen, wenn Portabilität enweder gar nicht oder zwingend zählt)

Ich würd mal sagen: Üben, Junge.
Titel: Re: Guddndaag
Beitrag von: Simia am 12 August 2010, 16:47:09
Wie war das mit dem Nerdpol? Ganz schön kalt hier. Aber Du bist ja vom Fach. Ich geh einfach mal wieder, mir werden schon die Beine steif. Begrüßt hab ich Dich ja schon an anderer Stelle.


[Edit 2] Ausserdem, äh, hallo TimuЯ und willkommen. Ja, Vorstellungsthreads laufen immer so. :D

Definiere "so" ...
Titel: Re: Guddndaag
Beitrag von: Alita am 12 August 2010, 17:07:05
juchu, schlammschlacht! :D


huhuhu tiiiiiiiiiiiii :D willkommen und so ^^
Titel: Re: Guddndaag
Beitrag von: CubistVowel am 12 August 2010, 18:30:24
H4llo T%Mur, ich+ woll=te d?ch SC-h0n lÄnXXt b3Grüßen, ab-or bei-% all"" die#sen merk-88-wü?dig³ aus$$ehen+den P0stinGs ha=be ++ich mIch bIsh€r nic(hT ge-tr@ut ;)
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 12 August 2010, 20:58:44
Hoi Hoi ;D

Keine Angst, die beiden werfen auch nur mit Fachbegriffen um sich, lass dich davon nicht beeindrucken =)
Achtung, Ironie!
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 12 August 2010, 21:33:35
hab jetz pink inne haare  \O/

(http://files.rastifant.de/privat/p%F6%F6%F6nk.jpg)
Titel: Re: Guddndaag
Beitrag von: Tialys am 12 August 2010, 21:38:49

Den kenn ich doch auch vom mera....

Na dann mal willkommen hier :)

Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 12 August 2010, 22:42:19
Hübscher Quote, doch :) Leider sagt er nichts aus ausser der persönlichen Meinung von jemandem, der einen Begriff als erster verwendet hat. Das ist ja totaaaal relevant.
Verwendet, beschrieben und geprägt. Sozusagen erfunden.
Ich bitte, dies zur Kenntnis zu nehmen und zu berücksichtigen.

Davon abgesehen war ein Rückzug auf Definitionsklauberei schon immer Kapitulation, das weisst du.
Diese Aussage ist gelogen, denn ich weiß es nicht. Genau genommen lese ich das zum ersten Mal.

Und auch darauf eingehen, dass dynamisches Binding ein OPTIONALES Feature von OOP ist. Aber viel Erfolg dabei, du schaffst das :D
Klassen sind auch optionale Features von OOP. Trotzdem sind Teile der C++-Fraktion der Meinung, eine Programmiersprache mit Objekten, die nicht durch Klassen erzeugt wurden, seien höchstens objektbasiert. [1]

Nehmen wir ein Beispiel. Ich möchte wissen, ob mein Objekt auf eine Nachricht antwortet.
Wie realisiere ich es in C++? Ich frag das Objekt nach seiner Klasse, prüfe im Code nach, ob diese Klasse mit denen kompatibel ist, die diese Nachricht empfangen können, und entscheide dann ob wahr oder falsch.

Wie realisiere ich es in Cocoa? Ich frag das Objekt, ob es auf diese Nachricht antworten kann, und bekomme ein ja oder nein.

Sowohl in Java als auch in Javascript, Objective-C und (nagel mich nicht drauf fest, ich glaube aber, dass dem so ist) auch in C# kann ich via Prototyping mein Objekt erweitern, davon Kopien erzeugen, das Klassenobjekt verändern, das Objekt um den Bauplan aus einem anderen Klassenobjekt erweitern und dem fertigen Objekt sogar ein vollkommen anderes Klassenobjekt unterschieben. Geht das auch einfach in C++?

In Javascript, Objective-C und vermutlich auch in Java und C# kann ich in meine Containerobjekte einfach alle Objekte stopfen die ich will. Nummern, Zeichenketten, weitere Container, eigene Objekte. Geht das auch einfach in C++?

Zitat
Man beachte wieder den Unterschied zwischen Klugscheißen und Besserwissen. :P
Tu ich. Und ich finds amüsant ;)
Immerhin ist es dann nicht vollkommen sinnlos.

Das mit der Akkulaufzeit des IPhones war ein Beispiel.
Natürlich. Ein an den Haaren herbeigezogenes, da die Hauptenergie für die Hintergrundbeleuchtung des Displays drauf geht.
Deshalb sind die Akkulaufzeiten von dem Palm-Geräten (egal ob mit WebOS oder Windows Mobile) auch nicht besser.
Die HTCs sind auch in der neuesten Serie mit OLED-hinterleuchteten Displays nicht der Renner, was die Akkulaufzeit anbelangt. Der Neo Freerunner ist sogar vollkommen konkurrenzlos, was den Negativrekord anbelangt. Trotz Android.
Das hat nichts konkretes mit der Programmiersprache zu tun. Das Hardwaredesign ist im ersten Schritt entscheidend, dann erst die Softwarearchitektur.

Fakt ist, dass der Overhead dynamischer Methodenaufrufe massivst ist. Und in dem Moment, in dem man jedes kleinste Stück Daten als Objekt sieht, was OOP-Fanatiker sehr, SEHR gerne tun, wirds halt sehr, SEHR schlimm.
Soweit stimme ich dir da zu. Dieser massive Overhead dürfte der CPU mindestens 0,05mA Stromverbrauch mehr einbringen, wenn nicht sogar 0,1mA.
Steht immer noch in keinem Verhältnis zu den ~70mA eines dem iPhone 3GS Display vergleichbaren Displays ohne OLED-Hintergrundbeleuchtung und kann nichts mit der kurzen Akkulaufzeit zu tun haben.
Die Hardware des iPhones, nein: das Konzept des iPhones und auch das des iPads ist einfach fürn Arsch.
Das hat nichts mit der Programmiersprache zu tun.

Der GC ist ebenfalls offizielles Sprachfeature von Objective-C 2.0 und nicht Teil der Cocoa-Library. Und ganz davon abgesehen ist es eh scheißegal, weil außerhalb des Apple-Universums faktisch niemand freiwillig Objective-C benutzt. Ok, GNUStep. Das ist aber auch ne 1:1-NeXTStep-Kopie und damit fast identisch zu Cocoa. Was soll also irgendeine Trennung.
Ach so, GarbageCollector. Ich frag mich die ganze Zeit, was zum Henker du nun schon wieder an CoreGraphics auszusetzen hast...
Deine Antwort ist nicht korrekt. Wäre die GarbageCollection offizielles Sprachfeature liefe sich auch auf dem iOS. Tut sie aber nicht, es gibt (noch) keinen GarbaceCollector auf dem iPhone.
Sie ist offizielles Feature für Mac OS und daher Teil des touchlosen Cocoa-Frameworks.

Vorsicht: eigene Meinung! Ob die Garbage Collection was taugt oder nicht kann ich nicht beurteilen. Ich traue diesem Rotz einfach nicht zu, dass es vernünftig läuft. Deshalb benutze ich es einfach nicht und kümmere mich selbst um meinen Speicher.

Außerhalb des Apple-Universums werden übrigens fleißig Frameworks gebastelt, um die Applekacke auch auf Linux und Windows lauffähig zu bekommen [2] bzw. das Objective-C Look'n'Feel auf Javascript zu münzen. [3]

(im Gegensatz dazu werden die Standardframeworks von C und C++ gerne mal weggelassen, wenn Portabilität enweder gar nicht oder zwingend zählt)
Ob der verhassten Templates sind meine letzten C++-Erfahrungen angestaubt. Wie werde ich noch mal die STL in C++ los?
'Damals' war sie noch durch das zuständige Gremium standardisierter fester Bestandteil des Sprachpakets. [4]

Ich würd mal sagen: Üben, Junge.
Ich kann meinen Standpunkt ebenso energisch vertreten wie du, weshalb ich den Rat für nicht beachtenswert halte. Ich kann es ja schließlich schon.


[1] Beispielsweise http://www.fh-wedel.de/~si/seminare/ws07/Ausarbeitung/11.javascript/docs/conclusion.html
[2] http://www.cocotron.org
[3] http://www.cappuccino.org
[4] http://www.cplusplus.com/reference/stl/

So, back to topic:
TimuЯ:
Pink fetzt! Aber wieso guckste denn so grimmig, hängste wieder an nem iPhone Projekt? +kicher+

CubistVowel:
Och komm, trau dich. Wir wollen nur spielen, lass dich von uns nicht stören. :)
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 12 August 2010, 23:12:08
na ich dachte mir mal ich mach ein paar foddos wo ich nicht grinse und lieb-unschuldig gucke.
außerdem muss ich doch das pink mit irgendwas kompensieren, ansonsten schreien wieder alle "CSD CSD CSD \o/"
Titel: Re: Guddndaag
Beitrag von: kb am 13 August 2010, 01:14:45
Ok, nur kurz und flamefrei:

Zitat
Klassen sind auch optionale Features von OOP. Trotzdem sind Teile der C++-Fraktion der Meinung, eine Programmiersprache mit Objekten, die nicht durch Klassen erzeugt wurden, seien höchstens objektbasiert.

Ich hab ehrlich gesagt wichtigeres mit meiner Zeit zu tun, als Leuten zuzuhören, die meinen, nur ein bestimmte Untermenge der "Features" objektorientierter Programmierung habe den Namen "objektorientiert" verdient. Egal, welche Fraktion das jetzt ist. Am Ende gehts um Programmierkonzepte, und die stimmen bei allen verwendeten Sprachen überein. Gibt aber gutes Flamewar-Material, geb ich zu.

Zitat
Nehmen wir ein Beispiel. Ich möchte wissen, ob mein Objekt auf eine Nachricht antwortet.
Wie realisiere ich es in C++? Ich frag das Objekt nach seiner Klasse, prüfe im Code nach, ob diese Klasse mit denen kompatibel ist, die diese Nachricht empfangen können, und entscheide dann ob wahr oder falsch.

Falsche Fragestellung und damit auch komplett unsinnige Antwort. C++ beherrscht nämlich von sich aus exakt gar kein Message Passing sondern nur direkte Methodenaufrufe. Und ob ein Objekt eine bestimmte Methode hat oder nicht, ist schon zum Zeitpunkt, da du es tippst, völlig klar, weil es eine statisch typisierte Sprache ist. Die Frage stellt sich also gar nicht, bzw. stellt sie sich nur für den Programmierer, nicht den Compiler oder das Programm selbst.

Wie ich im letzten Post schrieb, gibt es aber genug Libraries, die Message Passing mehr oder weniger elegant nachrüsten (dank operator overloading etc. kriegt man das sogar einigermaßen syntaktisch hübsch hin, oder man benutzt einen Präprozessor wie bei Qt), und dann funktioniert das exakt so wie bei dynamisch typisierten Sprachen.

Zitat
Sowohl in Java als auch in Javascript, Objective-C und (nagel mich nicht drauf fest, ich glaube aber, dass dem so ist) auch in C# kann ich via Prototyping mein Objekt erweitern, davon Kopien erzeugen, das Klassenobjekt verändern, das Objekt um den Bauplan aus einem anderen Klassenobjekt erweitern und dem fertigen Objekt sogar ein vollkommen anderes Klassenobjekt unterschieben. Geht das auch einfach in C++?

Lässt sich fast alles mit multiple inheritance und subclassing lösen (sofern es bei einer statisch typisierten Sprache Sinn ergibt).

Zitat
In Javascript, Objective-C und vermutlich auch in Java und C# kann ich in meine Containerobjekte einfach alle Objekte stopfen die ich will. Nummern, Zeichenketten, weitere Container, eigene Objekte. Geht das auch einfach in C++?

Wiederum ist der eigentliche Unterschied der zwischen statischer und dynamischer Typisierung. Ich könnte auch fragen: Wieso willst du das? Alternativ gibts in der Boost-Library ein paar sehr nette Mechanismen und Container zu dem Thema (da kann man nämlich mit Templates sehr viel machen), wenn man wirklich z.b. Nummern und Objektreferenzen ins selbe Array packen will - letztendlich ergibt es aber viel mehr Sinn, wie z.B. Java eine gemeinsame Basisklasse zu haben, über die die Objekte dann referenziert werden. In realer Software weiss man nämlich meistens sehr genau, was man mit dem Kram im Array anfangen will. Kommt natürlich nicht so gut für Informatik-Übungsaufgaben, geb ich zu.

Wäre die GarbageCollection offizielles Sprachfeature liefe sich auch auf dem iOS. Tut sie aber nicht, es gibt (noch) keinen GarbaceCollector auf dem iPhone.

Ok, _optionales_ Sprachfeature (http://developer.apple.com/leopard/overview/objectivec2.html). Dass Apple nicht nur mit ihren Libs sonder auch mit der Sprache verfahren wie die Axt im Walde, passt da ins Bild.

Zitat
Ob der verhassten Templates sind meine letzten C++-Erfahrungen angestaubt. Wie werde ich noch mal die STL in C++ los? 'Damals' war sie noch durch das zuständige Gremium standardisierter fester Bestandteil des Sprachpakets.

Die STL wird man genau so los wie die stdlib in C: Man benutzt sie einfach nicht. Simple as that. Man kann selbst aufs Runtime verzichten, wenn man eigene Implementationen für operator new und delete bereitstellt - das einzige, was hakt, sind Konstruktoren und Destruktoren statisch alloziierter Objekte, die normalerweise vom Runtime aufgerufen werden müssen. Also entweder die Funktionalität eben replizieren (mit Wissen, wie ABI und Linkersektionen aussehen) oder aber halt keine statischen Objekte mit Konstruktoren/Destruktoren benutzen. Überlebt man auch :)

Eine der wichtigsten Designentscheidungen bei C++ ist, wie auch schon bei C: Features, die man nicht benutzt, landen auch nicht im fertigen Objektcode. Wir reden hier weiterhin von einer Sprache für System-, Treiber- und Embeddedprogrammierung. Ganz zu schweigen von der Spielebranche, in der es trotz aller Beteuerungen seitens der Java- und C#-Front exakt keine Alternative zu C++ für performancekritischen Code gibt. Und performancekritisch ist leider fast alles, wenn man innerhalb von 10 Millisekunden eine ganze "Welt" einmal durchsimuliert und gerendert bekommen muss (und das auf den Kack-CPUs sog. "Next Generation"-Konsolen oder gar Mobiles :/). Nicht umsonst sind die meisten Games fürs iPhone in C oder C++ geschrieben, und Objective-C wird nur für die allernötigste Kommunikation mit Cocoa benutzt (kann man ja glücklicherweise quer durch die Gegend mischen).

Und, äh, streich das "nur kurz".
Titel: Re: Guddndaag
Beitrag von: sYntiq am 13 August 2010, 08:50:25
Ich kann zwar nicht programmieren (Ok, in Amos Pro hab ich mal ein paar kleienre Sachen gebastelt), aber irgendwie trotzdem diesem Thread folgen.

Ich hab Angst.
Titel: Re: Guddndaag
Beitrag von: PlumBum am 13 August 2010, 09:08:18
Ok... ich halte mich jetzt mal wirklich kurz. Warum sollte C++ nochmal genau nicht Objekt Orientiert sein...?
Wenn ich jetzt sage, das es nur dann ein Auto ist, wenn es eine Klimaanlage hat, elektrische Fensterheber, ABS, ESP, CDU und MFG... wie sollen wir dann die ganzen komischen Blechkisten nennen, die auf den Straßen unterwegs sind, die diese absurden Merkmale nicht aufweisen?
Titel: Re: Guddndaag
Beitrag von: Simia am 13 August 2010, 10:26:56
Kennt sich einer genug aus, um sagen zu können, wer den Schwanzvergleich gewonnen hat?

And the winner is ... *goldene Pimmelfigur zück*
Titel: Re: Guddndaag
Beitrag von: käx am 13 August 2010, 10:43:56
Zitat
And the winner is ... *goldene Pimmelfigur zück*


http://worldofproduct.de/media/images/popup/WOP-O07760760000.jpg



ach ja: guten tag timur und willkommen im shh.
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 13 August 2010, 10:48:06
Öhm, Lucas kann auf jeden fall ganz gut Zitate und Referenzen in seinen Text einbringen und dann als Fußnote markieren.
Bei beiden hab ich keinen Tippfehler entdecken können.
kb benutzt mehr Smiley.
Inhaltlich bin ich schon vorgestern ausgestiegen ^^

Hmm, unentschieden? ;D

@käx:
LOL!
Danke Danke
Titel: Re: Guddndaag
Beitrag von: PlumBum am 13 August 2010, 10:50:27
kb hat gewonnen... aber mal ganz ohne irgendwelche Zweifel!
Titel: Re: Guddndaag
Beitrag von: Simia am 13 August 2010, 11:13:00
*weglach*

Ja, sowas hatte ich vor Augen!  :D
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 13 August 2010, 13:16:33
Ich will unbedingt noch mal wissen, was das mit dem R ist, was C++ nicht kann (großes Feature). Also Rekursion ist es schon mal nicht! :P Vielleicht Röntgenstrahlen? Naja da gibts ja eh einiges... aber C++ ist sehr sehr "nah an der Maschine" und erlaubt inline-Assembler, was dann noch mal Performanceschübe bringen kann, das war "damals" (ja, C++ seit etwa 1994... aber schon lange nicht mehr angefasst...) wichtig, weil Grafikkarten noch nix konnten außer ihren mickrigen Speicherinhalt auf den Bildschirm zu klatschen, speziell, ach du scheiße, jetzt fang ich auch schon an. Stop, stop, stop...

Seh ich das jetzt richtig: Objective-C ist voll umständliches Steve-Jobs Klammergedöns, bei dem immer der iPhone-Akku leer geht? (wurde flash nicht dafür beschuldigt vom Steve?)  :P  :P

Egal. Jede Sprache hat halt ein geeignetes Einsatzgebiet. Da wo Javascript steht, wäre C eher unangebracht. Und gut, dass Windows-Anwendungen idr. nicht mit PHP programmiert werden. So hat eben alles seinen Platz. Aber wie passt da jetzt Objective-C rein? :P :P ... hach es macht einfach zu viel spaß.

Und nicht ärgern lassen ;)
Titel: Re: Guddndaag
Beitrag von: Simia am 13 August 2010, 13:23:13
Hey, Du bist ein Mädchen!  >:(
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 13 August 2010, 13:30:45
Hey, Du bist ein Mädchen!  >:(
Okay, ich hab ja nix gesagt... *küche putzen geht*


...aber ich will echt wissen, was das mit dem R ist!
Titel: Re: Guddndaag
Beitrag von: Eisbär am 13 August 2010, 13:56:24
Mal ganz doof: Kann ein einzelnes Programm (ein Office Writer, ein Spiel oder so) eigentlich aus verschiedenen Sprachen geschrieben sein? So ein installiertes Programm besteht ja am Ende immer aus x Dateien. Verstehen die sich, wenn eine in Basic, eine in C++, eine in Java, eine in .NET etc.pp. geschrieben wurde?


Und ja, ich habe keine Ahnung von der Materie, finde es aber witzig der Diskussion zu folgen...
Titel: Re: Guddndaag
Beitrag von: PlumBum am 13 August 2010, 13:57:50
Mal ganz doof: Kann ein einzelnes Programm (ein Office Writer, ein Spiel oder so) eigentlich aus verschiedenen Sprachen geschrieben sein? So ein installiertes Programm besteht ja am Ende immer aus x Dateien. Verstehen die sich, wenn eine in Basic, eine in C++, eine in Java, eine in .NET etc.pp. geschrieben wurde?


Und ja, ich habe keine Ahnung von der Materie, finde es aber witzig der Diskussion zu folgen...
Um es kurz zu machen: Ja.
Titel: Re: Guddndaag
Beitrag von: Simia am 13 August 2010, 14:06:38
Egal. Jede Sprache hat halt ein geeignetes Einsatzgebiet. Da wo Javascript steht, wäre C eher unangebracht. Und gut, dass Windows-Anwendungen idr. nicht mit PHP programmiert werden. So hat eben alles seinen Platz.

Und es gibt Leute, die bedienen sich bei blöden Web-Landingpages (Logo, Überschrift, Text zum Anheizen und Kontaktformular) glatt richtiger Java-Applets. Auch FleXML für einfachste Websites, die nix können müssen, ist ... hmja. Nicht alles was geht, ist auch sinnvoll.
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 13 August 2010, 15:06:43
Bei den größeren Spielen (und ich meine keine Flash- oder Browser-Spielchen) ist es sogar sehr sinnvoll, verschiedene Sprachen wegen ihren besonderen Stärken und Eigenschaften zu nutzen. Alles was Performance-kritisch ist, wird in der Sprache geschrieben, die am "schnellsten" bzw. performantesten läuft. Üblicherweise ist das dann C bzw. C++. Nachteil ist hier allerdings, dass die beiden schwer zu debuggen sind und am ehesten für Speicherlecks sorgen. In die Engine muss dabei auch die meiste Zeit investiert werden, damit alles nahezu perfekt läuft.

In dem Grafik-Part der Game-Engine braucht man wieder eine Sprache, die auf die Grafik-Hardware ausgelegt ist. Üblicherweise wird hier bei DirectX HLSL und bei OpenGL eine entsprechend ähnliche Sprache verwendet. Diese Programme, die dann nicht mehr von dem (Haupt-)Prozessor, sondern von dem Grafikprozessor ausgeführt werden können ("Shader") kümmern sich um die Berechnung von Licht, Schatten, Geometrie-Darstellung, Farben, Reflektionen usw. Sehr viel Vektorrechnung, auf die die Grafikprozessoren spezialisiert sind.

Wenn es dann um den Spielablauf geht, ist eine "mächtigere" Sprache eher von Vorteil, die einfach zu debuggen und die Programmierer sehr schnell alles Nötige beschreiben lässt, ohne dass sie sich groß um Performance und RAM Sorgen machen müssen. Hier werden Skriptsprachen eingesetzt, entweder Eigenentwicklungen, C# oder andere Sprachen. Wichtig ist halt, dass man den Überblick bei der gesamten Spielbeschreibung behält und der Code nicht in den ganzen "Features" der Charaktere einfach nicht mehr überschaubar wird. Klar, dafür kann man auch C / C++ nehmen, aber Skriptsprachen erleichern da schon das Coden um Einiges. Und man muss dann kein "Hardcore-Coder" sein, um eine kleine Änderung an einer bestimmten Stelle zu machen.

Dann hat so ein schönes Game auch noch einen Launcher, der kann in sehr verschiedenen Sprachen geschrieben sein, auch in Flash, er muss ja nur eine exe-Datei mit ein paar Parametern starten.

Dann kann so ein Game auch noch einen Level-Editor haben, der kann dann auch wieder in fast jeder beliebigen Sprache geschrieben sein. Hauptsache er liefert am Ende Daten, mit denen die Game-Engine etwas anfangen kann.


Das Prinzip von mehreren Sprachen kann man natürlich auch auf Web-Anwendungen übertragen, wie Simia und der Bleimann schon sagten. Eine serverseitige Web-Anwendung generiert sogar gegebenenfalls den Code einer anderen Sprache, die dann auf dem Client (Browser) zur Darstellung benutzt wird (PHP -> HTML/CSS ist da das einfachste Beispiel). Außerdem kann eine Server-Anwendung auch mit PHP und C# oder C++ geschrieben sein, je nachdem wo und wie Performance gebraucht wird (PHP ist u.U. eher etwas langam, um Serverdienste zu übernehmen, das wird dann an ein C++ / C#-Programm weiter gereicht.

Natürlich gibt es auch reihenweise eher sinnlose Fälle, wo mehrere Sprachen eingesetzt werden. Dann behindern sich die Programmteile gegenseitig und nichts läuft mehr wie es soll =)
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 13 August 2010, 15:26:54
Das ist sehr schön auf den Punkt gebracht :)

Mal ein Beispiel von geht-überhaupt-gar-nicht:

Wir haben damals (2000) Die www.diddl.de Seite programmiert mit WebOjects UND Objective C. Das hat Monate gedauert und wir mussten sogar externe Anheuern, die das schlecht bis gar nicht dokumentierte Framework kannten.
Und was konnte die Seite letztendlich? NIX! Unterseiten darstellen und irgendwo konnte man sich für irgendwas eintragen. Ha-ha.
Ein Fall von "Thermonukleare Atomwaffen auf Bakterien werfen", was zwar der Dimension nicht ganz gerecht wird (es ist eigentlich noch schlimmer), aber so hat man eine Idee.

Edit:
Und nein, mit der aktuellen Seite haben wir/ich nix mehr zu tun. Hm, lineare zickzack-Animationen... wer's mag...
Titel: Re: Guddndaag
Beitrag von: kb am 13 August 2010, 15:48:33
...aber ich will echt wissen, was das mit dem R ist!

Die Antwort ist: Reflection. Also dass z.B. eine Klasse selber "weiß", welche Member sie hat, und dass man sie abfragen oder ggf. durchiterieren kann. Moderne dynamische Sprachen haben das natürlich, aber es gibt an sich überhaupt keinen Grund, warum es nicht auch bei einer statisch typisierten Sprache wie C++ gehen soll. Einzige Limitation wäre dabei halt, dass man wirklich nur die Members von dem Typ bekommt, den man gerade zu handlen glaubt (und nicht automatisch alle Members von z.B. Unterklassen, von denen man nichts weiß), aber für vollautomatische Serialisierung oder message passing oder Bindings zu anderen Sprachen (z.B: Skriptinterpretern in einer Gameengine :) wäre es trotzdem unglaublich praktisch.

So muss man sich die Metadaten halt irgendwie selber besorgen. Entweder komplett selbstgeschrieben, durch manuelles Parsen der Debug- oder RTTI-Informationen (sofern vorhanden, ausserdem höchstgradig plattformabhängig), oder wie im Fall von Qt als Präprozessor, der die Metadaten aus der Klassendefinition erzeugt.

Ansonsten, yep, TimuЯ, gut zusammengefasst, kann ich als Mensch mit knapp 10 Jahren "richtiger" Gameindustrieerfahrung so perfekt stehen lassen :D

"The right tool for the right job" ist eh der beste Ansatz. Deswegen find' ich Leute, die Argumente wie "Legacy-Scheiß" oder andersrum "pottenlangsam" dafür ins Feld führen, dass ihre Sprache der Wahl ja so viiiiiiiiel besser ist, alle ein wenig albern. :)
Titel: Re: Guddndaag
Beitrag von: Eisbär am 13 August 2010, 16:01:48
Hab ich das jetzt richtig verstanden? Um die in verschiedenen Sprachen programmierten Programmteile gemeinsam laufen zu lassen, nutzt man z.B. eigene Scriptsprachen?
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 13 August 2010, 16:44:14
Hab ich das jetzt richtig verstanden? Um die in verschiedenen Sprachen programmierten Programmteile gemeinsam laufen zu lassen, nutzt man z.B. eigene Scriptsprachen?
Letztendlich läuft das auf irgendeiner Ebene darauf hinaus.

Es gibt da so viele Möglichkeiten, da steig ich dann auch nicht mehr ganz durch.

z.B. gibt es Programmbibliotheken, in denen jeweils ein ganzer Sack von Funktionen drin steckt, hast du sicher auch schon auf deiner Festplatte gefunden: DLL-Dateien (Dynamic Link Libraries). Die sind meist in C++ oder einer anderen Hochsprache geschrieben. Gilt nur für Windows-Plattformen. Was es da auf Mac OS gibt, weiß ich nicht, oder wie das in Linux läuft.

Dann hast du eine kleine EXE-Datei, die sich dann sämtlicher DLL-Dateien bedient, um z.B. ein Datei-Öffnen Fenster auf zu machen (das machen dann die System-DLLs die von Anfang an bei Windows dabei sind) oder du spielst ein spezielles Musikformat ab, da hat der Player dann z.b. eine eigene DLL mitgebracht, die nur die Aufgabe hat, dieses Musikformat abzuspielen.
Das schöne daran: Alles ist nett verpackt, wie "Black Boxen". In so einer DLL sind manchmal hunderte von Funktionen, Variablen, Klassen usw. aber es reicht aus, wenn man die Funktion kennt, die man braucht.

Bis dahin ist aber noch nicht unbedingt eine Scriptsprache aufgetaucht. Die tauchen eher ganz am vorderen Ende auf (Stichwort "Launcher"), als Start-Programm, die ein nettes Auswahl-Menu anzeigen und vielleicht bestimmte Einstellungen, die man in diesem Menu macht an das Programm übergeben.
...diese Scriptsprachen tauchen dann aber auch am anderen Ende, bzw. ganz tief, mitten im Programm wieder auf. z.B. wenn bei Quake die Gegner durch die Gegend laufen und einen angreifen:
Hier haben die Entwickler eine eigene Scriptsprache entwickelt (Quake C), mit der sich einfach solche Dinge machen lassen.
Das schöne daran: Man muss gar nicht mal so viel Erfahrung in Programmierung haben, um das Spiel mit neuen Waffen, Gegnern und Regeln zu erweitern. Die "Hardcore-Programmierer" haben auch besseres zu tun, als zu programmieren, dass ein Gegner nicht dauernd gegen die Wand läuft oder so.
Blender ist auch so ein Beispiel.
Es ist ein 3D-Programm (übrigens frei), mit dem 3D-Animationen und vieles mehr gebastelt werden können. Wenn andere Nutzer diese Programm erweitern wollen, z.B. eine Funktion, die automatisch ganze Bäume konstruiert, können sie das mit der Scriptsprache Python machen. Python ist dabei keine Eigenentwicklung, sondern schon etwas verbreiteter. Das ist von Vorteil, da einigen Nutzern diese Sprache schon bekannt ist.

Ansonsten ist ein ganz klassisches Beispiel, bei dem sehr viele Scriptsprachen zusammenarbeiten, tadaaaa... das Internet.
Sobald du http:... eingibst, landet deine Anfrage auf irgendeinem Server.
Dort wird meist schon das erste Skript gestartet (über einen kleinen Umweg, aber das ist mir dann doch zu wild erst mal). Meist PHP, ASP, etc.
Dieses PHP-Script wird vom Server interpretiert. Der server selber besteht aus vielen Programmen, teilweise in Hochsprache, teilweise auch als Skript programmiert, passend für den jeweiligen Server-Typ.
Dann wird aus diesem Skript die Seite im Browser aufgebaut. Auf dieser Seite befindet sich wiederum JavaScript oder Flash, wodurch wieder Skripte gestartet werden.
Der Browser selber ist meist in einer Hochsprache programmiert, enthält aber eben wieder Skript-Interpreter, die z.B. Javascript ausführen.
Wenn nun ein Flash auf der Seite ist, wird ein Plugin geladen (übrigens eine .DLL-Datei, in Hochsprache programmiert), die wiederum das Flash ausführt.
...jetzt käme eigentlich noch Metacode/Bytecode ins spiel, denn es gibt Fälle, da wird ein Script nicht direkt interpretiert, sondern das Script erst mal "vorgekaut", damit es schneller ausgeführt werden kann. Dieses "vorgekaute" Skript ist dann der Metacode/Bytecode... ja ich hör ja schon auf... *bad putzen geht*
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 13 August 2010, 18:15:03
Cooler Beitrag, K-Nin, dem konnte ich sogar folgen, bei kb und Lucas verstehe ich trotz 9 Semester Medieninformatik nach dem 2. Satz immer nur "Macintosh" ???

Und Daaaaanke an kb für den Lob, ich wusste mal was Gescheites und hab was Sinnvolles beigetragen *woohooo* \o/
Da hat sich das halbe jahr Praktikum bei Replay Studios endlich bezahlt gemacht ^^
Titel: Re: Guddndaag
Beitrag von: CubistVowel am 13 August 2010, 18:32:25
CubistVowel:
Och komm, trau dich. Wir wollen nur spielen, lass dich von uns nicht stören. :)

Na schön, jetzt nach ein paar Postings, die fast normal wirkten, trau ich mich ;):

Hallo Timur und viel Spaß hier! ;D
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 13 August 2010, 18:59:18
Huuuu danke, ich fühl mich auch schon ganz wohl hier =)
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 13 August 2010, 20:08:37
z.B. gibt es Programmbibliotheken, in denen jeweils ein ganzer Sack von Funktionen drin steckt, hast du sicher auch schon auf deiner Festplatte gefunden: DLL-Dateien (Dynamic Link Libraries). Die sind meist in C++ oder einer anderen Hochsprache geschrieben. Gilt nur für Windows-Plattformen. Was es da auf Mac OS gibt, weiß ich nicht, oder wie das in Linux läuft.
Bei UNIX und Derivaten enden die dynamischen Bibliotheken auf .so und sind ebenfalls in C oder C++ geschrieben.

Bei Linux werden die dynamischen Bibliotheken ähnlich wie bei Windows an bestimmten Orten vorgehalten.
Die meisten liegen in /usr/lib und /usr/local/lib, bei XP meines Wissens <WindowsVerzeichnis>\System und <WindowsVerzeichnis>\System32.

Der Unterschied bei Linux ist, dass in diesen Ordnern ALLE Bibliotheken landen. Du kannst also im schlimmsten Fall 17 verschiedene Versionen einer Programmbibliothek haben, die eigentlich immer dasselbe machen. Doch Programm A braucht zwingend Version 1.2, Programm B Version 1.4 und Programm C Version 0.9, und irgendwie bekommst du es mit durchschnittlichen Kenntnissen nicht hin, alle auf einen Nenner zu bringen.

Bei Apple hingegen ist es ähnlich wie bei Windows. Programme können ihre eigenen Bibliotheken mitbringen und in ihren Programmordner packen. Das Schöne am Dateimanager auf dem Mac ist, dass er Programmordner als einzelnes Programmicon anzeigt und ein Doppelklick das Programm startet.
Dass man eigentlich auf einen Ordner geklickt hat, der aus mindestens drei Unterordnern und mehreren Dutzend Dateien besteht, bekommt man als normaler User gar nicht mit.

Zum Beispiel liegen auf meinem Mac (Unix-Derivat) 899 dynamische Bibliotheken rum.
Das Programm 'blender.app', welches wie gesagt via Doppelklick sofort gestartet wird, enthält geschlagene 56 Programmbibliotheken, die es bei Bedarf einfach dazu lädt.

Beispielhaft sei hier die zlib.so bzw. zlib.dll unter Windows erwähnt, die dafür sorgt, dass Blender auch via ZIP gepackte Dateien öffnen und schreiben kann, wenn auf dem Rechner kein Winzip, Winrar, 7-Zip, gzip oder Sonstiges installiert ist.

Neben den von Ninchen angeführten Scriptsprachen nutzen einige Spiele wie beispielsweise World of Warcraft oder Warhammer Online weitere Scriptsprachen, um zusätzlich dem User zu ermöglichen auf das Look&Feel des Spiels Einfluss zu nehmen.
Die genannten Spiele nutzen die Scriptsprache LUA, mit der sich von einfachen kleinen Makros (quasi eine Sammlung von wiederkehrenden Befehlen) über kleine Zufallsscripte bis hin zu komplett neu gestalteten Spieloberflächen fast alles machen lässt.

Mal ein Beispiel von geht-überhaupt-gar-nicht:
Wir haben damals (2000) Die www.diddl.de Seite programmiert mit WebOjects UND Objective C. Das hat Monate gedauert und wir mussten sogar externe Anheuern, die das schlecht bis gar nicht dokumentierte Framework kannten.
Und was konnte die Seite letztendlich? NIX! Unterseiten darstellen und irgendwo konnte man sich für irgendwas eintragen. Ha-ha.
Ein Fall von "Thermonukleare Atomwaffen auf Bakterien werfen", was zwar der Dimension nicht ganz gerecht wird (es ist eigentlich noch schlimmer), aber so hat man eine Idee.
Erinnert mich an den Spruch eines Ingenieurs in Bezug auf einige Softwareentwickler, die alles machen einfach weil es geht.
"Würden sie den von innen verstellbaren Außenspiegel erfinden wären sie total happy und würden sich sofort danach an die Entwicklung des von außen verstellbaren Innenspiegels machen."
WebObjects ist doch Java, dat hat doch nur ganz entfernt mit Objective-C zu tun... +kopf kratz+

Das von dir geschriebene Beispiel lässt sich prima auf Alltägliches ummünzen:
ich möchte einen Nagel in die Wand bekommen, arbeite aber lieber mit nem Seitenschneider. Das geht doch bestimmt auch irgendwie. ::)

"The right tool for the right job" ist eh der beste Ansatz.
Stimmt. Es ist halt immer blöd, wenn einem die Tools vorgegeben werden.
Insofern kann ich ja die Stimmung gegen diesen verdammten Rotz namens 'Objective-C', zu dem man bei der Entwicklung für das iPhone gezwungen wird, vollkommen nachvollziehen.

Allerdings kenne ich halt seit 2004 nur das großartige 'Objective-C', mit dem man auf dem Mac am einfachsten und effizientesten Programme entwickeln kann. Ohne Garbage Collection, Dot-Notation und den ganzen Schmiss.
Im Vergleich zu C++ mit Carbon, welches bis OS9 den Ton angab, eine wahre Wohltat.

Aus welchem Grund also sollte ich zurück?
Titel: Re: Guddndaag
Beitrag von: K-Ninchen am 13 August 2010, 20:16:40
Aus welchem Grund also sollte ich zurück?
Weil ich das so will. Basta.

Nein ehrlich, sei mal FROH, dass du kein Problem damit hast und das beherrschst. Es gibt bestimmt eine ganze Menge Leute, die schon im Vorfeld abgeschreckt sind und dem eher aus den Weg gehen und somit sind Objective-C Entwickler seltener zu finden, was für dich dann wieder ein Vorteil ist ;)
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 13 August 2010, 20:24:38
Nein ehrlich, sei mal FROH, dass du kein Problem damit hast und das beherrschst. Es gibt bestimmt eine ganze Menge Leute, die schon im Vorfeld abgeschreckt sind und dem eher aus den Weg gehen und somit sind Objective-C Entwickler seltener zu finden, was für dich dann wieder ein Vorteil ist ;)
Wenn der Jobs mit seiner Marktanteilgeilheit so weiter macht und auch in Zukunft fleißig völlig sinn- und mehrwertfreien Schrott auf den Massenmarkt wirft, dann gibt es vermutlich bald nur noch arbeitslose Objective-C Entwickler.

Ich meine, was gibt es denn an ThirdParty Anwendungen für iPhone/iPod Touch/iPad?
Spiele. Anwendungen, die sich Inhalte aus dem Internet holen, um sie dann darzustellen. Taschenlampe Version 89802.7280b ::)
Und sonst? Richtig. Fast nix.
Titel: Re: Guddndaag
Beitrag von: astrogirl am 13 August 2010, 20:31:59
ldv über cydia gibts noch mehr zeug fürs iphone ;)
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 13 August 2010, 20:47:31
Wer jailbreaking betreibt frisst auch kleine Kinder.
"Isch kann allet, isch bin root! Oh, nu isses putt. Wiesu denn bluss?"
Hab ich damals beim G1 schon nicht verstanden.

Und was von dem Zeug ist kein Spiel, stellt nicht nur irgendwelche Onlineinhalte anders dar und ist kein sinnloser Schrott?
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 13 August 2010, 20:56:48
Ich fand die eine Taschenlampen-App toll, mit der man über einen Easteregg-Bug "Tethering" eingeschaltet bekommen hat (Internetverbindung des Geräts mit dem angeschlossenen PC / Laptop nutzen), leider wurde sie dann sehr schnell wieder aus dem AppStore entfernt als Apple davon Wind bekommen hat ;D
Titel: Re: Guddndaag
Beitrag von: astrogirl am 14 August 2010, 16:38:38
Wer jailbreaking betreibt frisst auch kleine Kinder.
"Isch kann allet, isch bin root! Oh, nu isses putt. Wiesu denn bluss?"
Hab ich damals beim G1 schon nicht verstanden.

Und was von dem Zeug ist kein Spiel, stellt nicht nur irgendwelche Onlineinhalte anders dar und ist kein sinnloser Schrott?

selber ^^ ich sag nur babyöl  ;)
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 14 August 2010, 16:53:44
Wer jailbreaking betreibt frisst auch kleine Kinder.
selber ^^ ich sag nur babyöl  ;)
Darf ich dich an deine streng geheime Halloween-Spezialität erinnern? ;D

TimuЯ
Ich glaube ja nach wie vor, dass Apple das Tethering scheißegal ist.
Nur die vertraglich gebundenen Mobilfunkanbieter sehen das halt etwas skeptischer. ;)
Ich meine, befrag doch mal die Suchmaschine deines Vertrauens nach "flashlight tethering".
Wenn es so in der Öffentlichkeit breit getreten wird ist es kein Wunder, dass auch die Netzbetreiber dahinter kommen. ;)
War beim G1 schließlich genauso...

Das HTC Dream[1] war das erste Smartphone auf dem Massenmarkt, das auf Software gesetzt hat, die nicht vom Hardwarehersteller selbst produziert wurde. Es lief mit einem Linux-Kernel und hatte darauf als erstes Mobiltelefon das von Google entwickelte und auf Java basierende Android[2] als Endbenutzersoftware laufen. Es wurde hoheitlich von T-Mobile in Deutschland vertrieben und bekam den Namen G1 verpasst. Da wurden schon heftigste Kritiken seitens T-Mobile an Google laut, welche Tethering-Apps betrafen.

'Damals' gab es dann auch die Ersten, die unbedingt Root-Rechte auf dem linuxbasierten Gerät haben wollten.
Als hätte von denen jemals jemand zuvor versucht, bei Nokia, Sony Ericcson oder Motorola Administratorrechte auf dem Gerät haben zu wollen... Ich meine, es bietet dem durchschnittlichen Nutzer genau keine Vorteile.

Die selbst als solche definierte Freiheit wird schlicht nicht ausgenutzt, da besagter Nutzer keinen Plan hat, was er alles tun kann. Was noch viel wichtiger ist: er hat auch keinen Plan davon, was er um Himmels Willen nicht tun soll.
Insofern führen Experimente nur zu Problemen und kaum jemand nutzt die via Jailbreak freigeschalteten Features wirklich aus.

Beim iPhone ist es da nicht anders. Oder hat jemals ein Besitzer eines jailbroken iPhone vorher bereits seinen iPod gehacked?[3] Vermutlich nicht.

[1] http://www.htc.com/www/product/g1/overview.html
[2] http://www.android.com/
[3] http://ipodlinux.sourceforge.net/
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 15 August 2010, 14:42:17
Najagut, wenn man unbedingt eine Tethering-App haben will, dann findet man schon einen Weg =)

Jailbreaking ist mittlerweile sowieso eher ein Trend als ein Aushebeln der Beschränkungen des Geräts.
"Hey guck mal, ich hab das neue iPhone 4, ganz ohne Apple-Einschränkungen. Toll oder?"
Wie du schon sagtest, viele Leute sind sich garnicht bewusst, dass sie ihr jailbreaked Gerät mit ein paar falschen Handgriffen ernsthaft beschädigen können.

Ich werd mir jedenfalls in naher Zukunft kein i*-Gerät zulegen, eher ein Android-Smartphone mit guter Kamera.
Titel: Re: Guddndaag
Beitrag von: Matthias am 15 August 2010, 16:45:26
Willkommen TimuЯ! Ich habe Dich ja schon auf dem Mera Luna kennengelernt. Da möchte ich jetzt doch mal kurz die technische Diskussion unterbrechen und Dich als Forumsneuling begrüssen. Viel Spass noch hier!  :)
Titel: Re: Guddndaag
Beitrag von: TimuЯ am 15 August 2010, 17:00:33
Vielen Dank vielen Dank, Spaß habe ich hier nicht zuwenig =D
Titel: Re: Guddndaag
Beitrag von: astrogirl am 15 August 2010, 17:33:33
Wer jailbreaking betreibt frisst auch kleine Kinder.
selber ^^ ich sag nur babyöl  ;)
Darf ich dich an deine streng geheime Halloween-Spezialität erinnern? ;D



klaro baby  ;) werd ich nicht vergessen
Titel: Re: Guddndaag
Beitrag von: sober am 15 August 2010, 17:45:20
Ich fand den Einstieg in Objective-C garnicht so schwer. Das Problem ist aber: Das machen kaum welche, weil man es für kaum etwas braucht. Für Mac-Only Software und fürs iPhone. Sobald man Software schreibt, die auch für den Mac ist, nutzt man eine Sprache, die auf allen Zielplatformen verwendbar ist und z.b. GUI Frameworks. Wenn ich mal eben fix etwas brauche auf dem Mac, was ich nicht über ein schnelles Script abhandeln kann oder will, greif ich mittlerweile meist zu Air, weil es einfach um Längen schneller geht und zur Not auch auf meinen anderen System einzusetzen ist, ohne, dass ich etwas dafür tun muss. Früher war das Java, aber GUI mit Java find ich schlimmer als das Objective-C Konstrukt :P
Titel: Re: Guddndaag
Beitrag von: Lucas de Vil am 17 August 2010, 19:23:54
Java?
Java is sexy! (http://www.youtube.com/watch?v=Mt7zsortIXs)

Obwohl, anders betrachtet...
"Saying that Java is nice because it works on all OSes is like saying that anal sex is nice because it works on all genders."
(Alanna)
Daraus schließen wir: Cross-Platform-Entwickler sind Betriebssystemschlampen.

Und damit sich niemand benachteiligt fühlt:
"Most of you are familiar with the virtues of a programmer.  There are three, of course: laziness, impatience, and hubris."
(Larry Wall)