Die verpönten goto´s
-
Keine vernünftige Sprache kommt ohne eine Form von GOTO aus. Ausser funktionale Sprachen, aber deren Nutzen ist nur akademisch.
Jetzt geht das schon wieder los.
-
Javaspezialist schrieb:
Keine vernünftige Sprache kommt ohne eine Form von GOTO aus. Ausser funktionale Sprachen, aber deren Nutzen ist nur akademisch.
Das ist schon wieder grober Unfug. Was macht denn eine Sprache "vernünftig"?
Funktionale Sprachen sind auch in der Industrie weit verbreitet. Natürlich nicht unter Waldundwiesen-Hobbyprogrammierern und Windows-Klickapp-Codemonkeys. Aber was meinst du, wie Google und Co. das hinbekommen, dir in Millisekunden Millionen von Ergebnissen zu einem Suchwort zu präsentieren?
Vielleicht hast du ja schonmal was von Erlang gehört.
-
knivil schrieb:
Keine vernünftige Sprache kommt ohne eine Form von GOTO aus. Ausser funktionale Sprachen, aber deren Nutzen ist nur akademisch.
Jetzt geht das schon wieder los.
C soll doch Maschienennah sein, zeig mir mal 15 Zeilen asm wo kein
"JMP label"
"JE label"
"JNE label"
...drin ist...
earli schrieb:
Aber was meinst du, wie Google und Co. das hinbekommen, dir in Millisekunden Millionen von Ergebnissen zu einem Suchwort zu präsentieren?
weil sie die besten Algos in feine C-Apps eingebaut haben, bzw. verwendete google nicht mal mysql? oder waren das alles nur gerüchte?
-
C soll doch Maschienennah sein, zeig mir mal 15 Zeilen asm wo kein
Irrelevant, C ist nicht Assembler.
weil sie die besten Algos in feine C-Apps eingebaut haben, bzw. verwendete google nicht mal mysql? oder waren das alles nur gerüchte?
Amazon z.B. hat in den ersten Tagen nur C und Lisp verwendet.
Without understanding functional programming, you can't invent MapReduce, the algorithm that makes Google so massively scalable. [...] I don't think Microsoft completely understands just how far behind they are on that wave.
Ihr duerft auch gern den ganzen Artikel lesen: http://www.joelonsoftware.com/items/2006/08/01.html . Andere interessante Artikel sind dort auch verlinkt.
-
noobLolo schrieb:
C soll doch Maschienennah sein, zeig mir mal 15 Zeilen asm wo kein [...]
Seit wann SOLL C maschinennah sein? Der Sinn von C ist gerade das Gegenteil, man schreibt ein Programm, das auf vielen verschiedenen Maschinen laufen soll, nur einmal.
Dass C maschinennah ist, liegt einfach daran, dass zu dieser Zeit sowas wie Java oder CLI (.NET) noch zu ressourcenaufwendig war.
weil sie die besten Algos in feine C-Apps eingebaut haben, bzw. verwendete google nicht mal mysql? oder waren das alles nur gerüchte?
Wo hast du das denn aufgegabelt? Also der Satz ergibt im Ganzen wenig Sinn.
- wahrscheinlich benutzt Google auch C, wo es angemessen ist
- wahrscheinlich benutzt Google kein MySQL (das ist lahm und unzuverlässig nach Googles Maßstäben)
- Google hat bestimmt nicht in C direkt ihre komplette Anwendung so schreiben können, dass sie auf zig Rechnern über die Welt verteilt in effizienter Weise beliebig verteilte Informationen zusammensucht, bewertet und sortiert ausgibt.
-
earli schrieb:
Es handelt sich aber nicht um gewöhnliche Variablenzugriffe, sondern auf Zugriffe in den Heap (malloc()) oder auf unbekannte Variablen im Stack von den aufrufenden Funktionen. Dein Trick geht nur mit Variablen auf dem Stacksegment der Funktion selbst oder mit statischen Fields.
Ist nicht "mein Trick". :p Zumeist wird ein Kontext- Anker indirekt plus irgendein Offset adressiert, wo immer der auch herkommt. Bei statischen Fields sehen die Zugriffe verdächtig identisch aus, auch, wenn der Prozessor das nicht besonders gut kann (hab' aber jetzt nur zwei Compileroutputs angeschaut, 'x86 nicht dabei).
earli schrieb:
Vielleicht hast du ja schonmal was von Erlang gehört.
Erlang ist eine Hilfsmaßeinheit für den Verkehr in einem Kommunikations-Netz.
-
earli schrieb:
- wahrscheinlich benutzt Google kein MySQL (das ist lahm und unzuverlässig nach Googles Maßstäben)
sie haben mal eine erweiterung für MySQL entwickelt, also hatten sie es afaik auch mal in verwendung wenn auch nur auf demo servern?
earli schrieb:
- Google hat bestimmt nicht in C direkt ihre komplette Anwendung so schreiben können, dass sie auf zig Rechnern über die Welt verteilt in effizienter Weise beliebig verteilte Informationen zusammensucht, bewertet und sortiert ausgibt.
ich denke wir sollten mal unterscheiden was google heute ist und wie es vor fast 10 jahren angefangen hat, ist ja kein geheimnis, das man bei google nur mit erstklassigen noten arbeiten darf, das diese geballte intelligenz auch was halbwegs anständiges auf die beine stellt ist doch nicht verwunderlich, das ist fast so als würde man sagen, oh wunder mercedes kann ein formel 1 auto bauen...
-
noobLolo schrieb:
... oh wunder mercedes kann ein formel 1 auto bauen...
Das wird sich noch zeigen müssen
Aber was zum Geier hat das mit goto zu tun?if (mercedes.GOTO){return mercedes.crash}
-
pointercrash() schrieb:
Aber was zum Geier hat das mit goto zu tun?
goto ist der mercedes unter den keywords
-
noobLolo schrieb:
pointercrash() schrieb:
Aber was zum Geier hat das mit goto zu tun?
goto ist der mercedes unter den keywords
goto Hell;
-
noobLolo schrieb:
sie haben mal eine erweiterung für MySQL entwickelt, also hatten sie es afaik auch mal in verwendung wenn auch nur auf demo servern?
Kann schon sein. Aber das hat wohl nichts mit der Suche zu tun, die meinen wir hier natürlich. Für die Blogs der Google-Mitarbeiter haben die sich bestimmt nichts ganz neues ausgedacht.
ich denke wir sollten mal unterscheiden was google heute ist und wie es vor fast 10 jahren angefangen hat, ist ja kein geheimnis, das man bei google nur mit erstklassigen noten arbeiten darf, das diese geballte intelligenz auch was halbwegs anständiges auf die beine stellt ist doch nicht verwunderlich, das ist fast so als würde man sagen, oh wunder mercedes kann ein formel 1 auto bauen...
Microsoft hat auch genug Geld, um sich die besten Leute zu kaufen, trotzdem kommt nur Durchschnittliches bei heraus. Und bei Siemens und der Deutschen Telekom kommt sogar nur totaler Schrott heraus.
So Firmen wie Amazon und Google haben ihr Geheimsnis ganz woanders. Die Gründer von Google haben gar keine klassische Schulbildung erfahren, sondern haben zum Beispiel auf Montessori-Schulen besucht. Und deren Mitarbeiterführung sieht so aus, dass einer von fünf Arbeitstagen die Woche komplett frei genutzt werden kann, für das, worauf man Lust hat. Da gehen viele Open-Source-Beiträge von Google drauf zurück, und auch GMail und andere. Die Arbeitsräume sehen aus wie ein Freizeitpark, nicht wie ein Büro. Mit Spielen, Whirlpools etc.
Amazon hat auch was besonderes an sich: Das Lager. Amazons Lager ist überhaupt nicht geordnet. Reines Chaos. Die Waren liegen auf Paletten, und diese werden hin- und hergefahren. Und zwar einfach so: Was bestellt wurde, rückt weiter nach vorn. Was nicht bestellt wurde, wandert somit nach hinten. Das hat zur Folge, dass ganz ohne komplexe Organisation die Waren, die am häufigsten bestellt werden, am weitesten vorn liegen. Und von vorn nach hinten wird dann im Lager gesucht. Das ist furchtbar effizient im statistischen Mittel, da nur die Sachen nennenswert lange gesucht werden, die sowieso selten bestellt werden. Und der Organisationsoverhead ist einfach Null.
-
earli schrieb:
Die Gründer von Google haben gar keine klassische Schulbildung erfahren, sondern haben zum Beispiel auf Montessori-Schulen besucht. Und deren Mitarbeiterführung sieht so aus, dass einer von fünf Arbeitstagen die Woche komplett frei genutzt werden kann, für das, worauf man Lust hat. Da gehen viele Open-Source-Beiträge von Google drauf zurück, und auch GMail und andere. Die Arbeitsräume sehen aus wie ein Freizeitpark, nicht wie ein Büro. Mit Spielen, Whirlpools etc.
Mein Ältester war auch auf einer Montessori und nutzt einen Tag der Woche, wo er drauf Lust hat, leider in mangelnder Abstimmung mit der Schule samt Eltern. Ich weiß jetzt immer noch nicht, was das mit goto zu tun hat
EDIT:
Programmieren kann er natürlich nicht, er konzentriert sich auf WOW- Cheats.
-
löälö schrieb:
noobLolo schrieb:
pointercrash() schrieb:
Aber was zum Geier hat das mit goto zu tun?
goto ist der mercedes unter den keywords
goto Hell;
if(lolo){ goto Hell; }else{ goto Misra; }
Wir sehen uns in der Hölle!