'9' + '9' problems
Mittwoch, 4.2.2015, 08:05 > daMaxEiner der Gründe, warum mir der Job in letzter Zeit mehr und mehr auf den Senkel geht:
(via vcsd)weak typing | script | javascript | visual basic script | hass!
Einer der Gründe, warum mir der Job in letzter Zeit mehr und mehr auf den Senkel geht:
(via vcsd)weak typing | script | javascript | visual basic script | hass!
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Ey, lass mich einfach rein, okay? |
Ich will das hier nie wieder sehen. |
Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.
Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.
Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.
Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.
Mehr Informationen unter www.politiker-stopp.de.
OT: Bevor Du in zwei Wochen wieder konsterniert schreibst, Du hättest die aktuelle Folge der "Anstalt" verpasst, teile ich dir mit, dass sie gestern lief.
@R@iner: hihi, ja, daran dachte ich gestern Abend auch als ich hier mit einem Freund saß und quatschte. Und dann fiel mir ein, dass ich auch heute Abend wieder gedated bin und die Anstalt deshalb frühestens morgen Abend angucken kann. Ich werde also morgen oder übermorgen etwas weniger konsterniert bloggen, dass ich die Anstalt verpasst habe
Du kannst ja dann z.B. diesen Link verwenden: Die Anstalt - 03.02.2015 HD
@R@iner:
Das hat ja nichts mit deinem job zu tun sondern damit das du JS nicht verstehst ;P
Schau dir einfach mal wie JS casting funktioniert und du verstehst das schon. Aber wenn man weak typing nicht mag dann wird man sich mit JS halt nicht anfreunden koennen.
Davon abgesehen, warum regst du dich ueber dinger wie + + - + - - + auf? Wenn du so'n murks schreibst hast du es auch einfach verdient
Egal, hier ein gaaanz kurzer exkurs falls nicht eh schon klar:
Der "-" operator wird IMMER versuchen die operanden zu nem Integer to casten. Spielt also keine rolle ob du 5 oder '5' schreibst. Ich mein, was sonst sollte der auch machen? Nen String von nem String abziehen?
Der + operator addiert NUR wenn BEIDE operanden vom typ Integer ist, in _jedem_ anderem Fall ist es eine String concatenation. Ist einer der operanden KEIN String wird die toString() method aufgerufen die jedes JS objekt hat (so auch ein Integer).
(Hab auch oefter gesehen das leute es unlogisch finden das [] + [] ein empty string ist was jetzt aber auch Sinn macht wenn man sich die toString method von nem array anschaut)
Ok, naechster:
Wie in der Mathematik schreibst du positive Zahlen einfach nur "5" aber du koenntest auch sagen "+5" was dasselbe ist.
Wenn du also den + operander vor ein objekt setzt castest du das zu nem string.
Haben wir also ein '5' + + '5' ist das in wirklichkeit ein '5' + (+'5') was zu einem '5' + 5 aufloest und von hier funktioniert das dann genauso wie oben.
Wenn man jetzt noch weiss das du immer ein N(ot)aN(umber) bekommt wenn der cast to integer fehlschlaegst weiss man auch warum 'foo' + + 'foo' zu 'fooNaN' aufloest.
NaN ist btw ein "sondertyp" den du nur als "NaN" siehst weil die .toString method eben "NaN" zurueckgibt. Da man davon ausgeht das NaN IMMER auf nem fehler im programm zurueckfuehrt kann man auch lustige Dinge wie diese tun:
var x = +'foo' //NaN
if(x !== x) { alert('yep'); }
Jetzt solltest du auch in der lage sein den langen wuschwasch zu erklaeren, vereinfacht:
-'-2' castet das zum int und - -2 ist nunmal 2 und da die '5' nen string ist wird das am ende wieder zu nem string concatiniert -> '52'
Und der letzte ist kein valides JS (var x * 3), da wird der jeder JS interpreter sagen "syntax error".
Solltest du das jetzt tatsaechlich gelsen haben: Ich hoffe du magst deinen job jetzt wieder ein wenig mehr. Und vor allem JS, JS rockt. Also, wenn man sich die Muehe macht es zu verstehen ;P
@Ben: komm du mal in mein Alter
PS: ich habe den Post nicht verfasst sondern nur rebloggt, ne? Aber ich stimme inhaltlich trotzdem damit überein because fuck scripting languages. Wenn überhaupt irgendeine Sprache rockt dann ist das C#.NET, aber insgesamt rockt eigentlich nur schwäbisch
@da|v|ax: Joa, haett mich gewundert wenn du den post selbst verfasst haettest.
Davon abgesehen: Suchst streit, wa?
@Ben: nö. Ich lass mir nur von so kleinen dahergelaufenen [BEEEP] nicht die Welt erklären. Damals, an der Ostfront! usw.
Javascript is die Welt *muahhahahahaha*
Damals, an der Ostfront hattet ihr ja auch kein Internet und deswegen muesst ihr ollen knacker euch jetzt von den kleinen dahergelaufenen [BEEEP]'s dieser Welt selbige erklaeren lassen. Nicht unsere Schuld das eure rostigen Denkmaschinen nicht mehr mithalten koennen.
So, jetzt aber. Auch mal schlagfertig. Genug jetzt. Muss jetzt mal was schaffen um eure Rente zu sichern...
Was, schon wieder Streit? Leute...
Ich halte übrigens automatisches casting für nicht so klug. In self (und js) würde ein asInteger Abhilfe schaffen und die Absichten klären. "Garbage in garbage out" würde ich sagen.
Wegen dem "Streit":
Was macht übrigens '5'*3 oder 3*'5'? '555' wäre korrekt. Nein? In self kannst Du selbst bestimmen, was ein + tut, obwohl es weder Datentypen noch Casting-Mechanismen gibt. Das nennt man double dispatch. C# ist dagegen aufgeblähter Kinderkram.
@Joachim: * funktioniert in JS wie - bedeutet die '5' wuerde zu nem Integer gecasted und ergebnis waere dann 15.
Wird self tatsaechlich betutzt? Also so im echtem Leben?
Beste Sprache ist aber eh FIM: http://www.equestriadaily.com/2012/10/editorial-fim-pony-programming-language.html
re auto casting: Das ist doch die Staerke von weak typing - ist ja nicht so als wuerde es zufaellig irgendwas casten, es folgt ja ganz klaren regeln. Das weak typing aber auch nachteile hat is ja auch keine Frage
@Ben: Self wird benutzt. Ein wenig wenigstens. Die letzte Version ist von 1/2014.
http://www.selflanguage.org/
Ich nutze es, sowohl das Original als auch meine eigene Implementierung als Scriptsprache und für Prototypen. Das Ding hat seit 1987(?) Fähigkeiten, die C# echt alt aussehen lassen, dafür aber nur wenig Syntax oder Schlüsselworte, eine brauchbare (erweiterbare) IDE als Teil des Konzepts, unterstützt modernste Designansätze, spricht auch java und Smalltalk und und und. Ohne Self gäbe es weder java noch js oder c# und auch keinen JIT-Compiler und Templates braucht es wirklich nicht.
Der Nachteil: Self ist Denkweise und weniger Sprache. Es wird mit jeder Nutzung mehr zu Deinem System und Deiner Sprache. Und da können die Denkweisen schon einmal im Team differieren... Eine Frage der (Aus-)Bildung IMHO.
Ich muss bei diesem Beitrag an dieses Video denken:
https://www.destroyallsoftware.com/talks/wat
Bin mir nicht sicher ob ich das hier schon mal gepostet habe. -Egal, es is einfach zu geil
@seilinho: Can't play video. Media source loading has failed
isses das hier? https://www.youtube.com/watch?v=ppfpa5XgZHI
@Ben: ja, gib mir meine Rente! Am besten SOFORT. Heul
@seilinho: Ich nehm mal du meinst nicht das video das du gepostet hast sondern das was er als vorbild genommen hat und in der description verlinkt.
Und wie jedes mal wenn jemand dieses Video mal wieder ausgraebt kann ich nur sagen: Eigentlich gar nicht mal so "WAT" - zumindest der JS part.
Vieles von dem kram sieht einfach nur so als weil dem sein JS interpreter murks ist.
Und das andere ist einfach verstanden wenn du weisst wie JS casted (s.o.).
Aber ich kopier einfach mal was ich das letzte mal dazu geschrieben hab. Sollte meiner Aufklaerungspflicht dann genuege tun:
hier der Link zum runterladen des Videos - ich habe es auf Youtube und vimeo nicht gefunden:
https://s3.amazonaws.com/destroyallsoftware-talks/wat.mov?AWSAccessKeyId=AKIAIKRVCECXBC4ZGHIQ&Expires=1423078374&Signature=VV8UX4aUekbmHqzDmpRTFmnaSzg%3D
ach deees! Ja, des kenn i aber wie Ben uns ja erklärt hat: alles to-tal logisch
Einmal wieder jung sein. *träum*
Pfff, macht doch was ihr wollt *beleidigt*
..davon abgesehen: Was hat logisches denken mit dem alter zu tun? Du machst mir Angst ey, ich bin schon doof genug...wenn das noch schlimmer wird
Auto casting und weak types gleichzeitig? Ich geh grad mal um die Ecke und grusel mich ein wenig, ok?
@Ben 20: du machst dir keine Vorstellungen
@Chris 21: endlich versteht mich mal jemand.
@da|v|ax: Schöne Grüße aus Hildesheim!
Zur Erklärung für Nichteingeweihte:
Hildesheimer ist die Vorstufe von Rüdesheimer, welches die Vorstufe von Alzheimer ist!
Immerhin hat man bei JS eine gute Ausrede, wenns mal nicht funktioniert:
Da hat der interpreter die casts nicht correctly geparst und dann die results unreadable formatted.
@seilinho: AccessDeniedRequest has expired2015-02-04T19:32:54Z2015-02-08T19:13:19ZD99B1B9BD55E62D60Cu36SnBjNQIHsd102tJR7OvdiyirtAOIwTqJ3wBmQjcZ6nkorOa3gj2+5jn/I+V
(Gesundheit!)
Hab’ aber auch ein luschtiges Video zum Thema mit dem schönen Titel „Ist dies schon Wahnsinn, so hat es doch Methode“. Seit gestern abend weiss ich auch wieder, warum mir das „'5' - 3“-Zeug oben so bekannt vorkam: Wenn man weiss, wonach mach man suchen muss, kann man im Publikum kurz meinen Hnterkopf sehen.
Ich habe die tollfe Aufgabe ein "Hello World" in JS zu schreiben...habs jetzt half geschafft:
_='';('H')+(((_>_)+_)[((_==_)+(_==_))*2])+(_+(_<_)+_)[((!_!=_)+(_==_))]+(_+(_!=_))[((!_!=_)+(!_!=_))]+'o'
Was meint ihr?
?!?
Hier das komplette:
https://gist.githubusercontent.com/TheBenji/35285377e4815465ee10/raw/7a96853b1d6003c9ecab565d57d2a0a1527c9418/gistfile1.js
Einfach ausfuehren
...brauch aber noch 'n H und 'n W - wenn jemand ne Idee hat, her damit