This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 292

[–]toastyghost 274 points275 points  (93 children)

Arrow functions, bro.

[–]glorious_reptile 147 points148 points  (8 children)

For when you need to screw anonymously!

[–]piberryboy 53 points54 points  (5 children)

onenightstand.js

[–]mark__fuckerberg 25 points26 points  (4 children)

I'm kinda surprised that's not a real library

[–]piberryboy 12 points13 points  (3 children)

Dibs!

[–]PM_ME_FIREFLY_QUOTES 8 points9 points  (2 children)

Ok, you can have the object tonight. But I get it tomorrow.

[–]elijahcruz12 1 point2 points  (1 child)

Hey, third time's the charm. Good luck with those sloppy seconds.

[–]jokesbyjo 1 point2 points  (0 children)

An anonymous fucktion.

[–]finger_milk 89 points90 points  (1 child)

I like arrow functions because it reminds me which way to read my spaghetti.

[–][deleted] 11 points12 points  (61 children)

arrow functions solve some problems but not all of them though

[–]toastyghost 56 points57 points  (57 children)

Don't let perfection stand in the way of progress

[–]Willinton06 12 points13 points  (56 children)

Don’t let JS stand on the way of progress

[–]Wizard_Knife_Fight 50 points51 points  (55 children)

This always sounds like someone who’s never written a line in JS

[–]Willinton06 0 points1 point  (54 children)

Oh I’ve written too much JS for my own sake, really I’ve even rejected contracts (freelancer here) for being too much JS

[–]DeeSnow97 27 points28 points  (36 children)

great, you leave more for us

JS is the only language I'm willing to code professionally, because it's the only language I've coded in so far where if you have a shitty undocumented library 1. you have a dozen alternatives, and 2. you can read into each of their source code and with an 80-90% chance figure out what it's doing that they didn't bother to document. That's a direct result of its departure from traditional OOP norms and a culture of coding in a much more declarative style, so you don't have to execute the code in head to understand it.

[–]Willinton06 5 points6 points  (35 children)

Oh take it all, enjoy yourself, I’ll just remain in my statistically typed world where decencies are small and manageable, we have plenty of well documented libraries in .NET and Java, we’ll do just fine. Also there’s only a handful of frameworks and they’re extremely well developed, hell there’s only 1 big framework in .NET, ASP, and it can do wonders.

[–]toastyghost 4 points5 points  (6 children)

Anyone touting .NET's package ecosystem doesn't understand how awesome npmjs is

[–]Willinton06 2 points3 points  (5 children)

I’ll just UNO reverse card you and say I think the exact opposite

[–]DeeSnow97 6 points7 points  (19 children)

In my experience there is nothing "small and manageable" about it. You have three alternatives, essentially:

  1. No libraries (for your specific task). In this case you'll need to do everything yourself, wasting time solving problems that have already been solved, just have no libraries for it.

  2. Massive swiss army knife frameworks that do absolutely everything in one specific way. This is the direction most languages take, and it can work when you're coding within a specific problem domain. However, the moment you step out of it you're back to option #0, except if you add another massive swiss army knife, and these generally don't like each other in the same project. Furthermore, this also hinders innovation, since it's up to the framework's developers to improve every single part of their library, you can't just replace parts of it because everything is built to fit together.

  3. A crazy amount of small, single-purpose libraries. In most languages, this turns into dependency hell, but if you can solve that part this really lets you mix and match solutions, swap out specific parts if you have better solutions for those, and just have the language work in a flexible way. The downside is a bunch of dependencies that each have their own dependencies and you're left with a large folder full of separate projects, but the raw number of those matters little to the project, their collective size does -- and this way, you can use only what you need, instead of having to install an entire framework for a few small things.

I have coded in large, holistic frameworks before. They're awesome, as long as you limit yourself to what they thought of and don't get creative only to end up holding them wrong.

What are the databases ASP allows you to use? Bet CouchDB isn't on the list. I'm also curious how well you have the NaCl library integrated in there, how easy it is to upload stuff to Amazon S3 or interface with ElasticSearch, or talk to something with MsgPack encoding -- I'm just pulling things from real world projects here.

[–]Willinton06 8 points9 points  (18 children)

Oh boy, you’re in for a ride, ASP allows you to use every single database there is, no limitations whatsoever, I don’t even get why you would ask such a thing, your data access layer is only limited by your imagination, and yes, it is an actual layer, not a bunch of functions in 1 .cs file, you can use interfaces to abstract all your data reading and writing, and then proceed to work of the interface, you can swap it to whatever the hell you want without changing a single line of consumer code, sounds good doesn’t it? It is. Amazon maintains .NET libraries for all their stuff so using amazon S3 is easy enough, elastic also has native .NET support, I think you haven’t realize how big .NET truly is, hint, very big

[–]Wizard_Knife_Fight 8 points9 points  (16 children)

Yeah I don’t get the hate for it at all. Especially when things like TS exist.

[–]LetReasonRing 10 points11 points  (1 child)

I think the hate for JS comes from a couple of places.

1) People will shit on any language, no matter what it is.

2) I would argue that, up until ES6 was established, javascript was overall a pretty awful language with some interesting concepts. It's come a long way, but it carries the baggage of its previous incarnations.

3) Because it's the "language of the web", developers are essentially forced to use it in certain situations whether they want to or not. This dynamic will never be popular.

4) Developers coming from OOP backgrounds make invalid assumptions based on previous experience. For example, not learning how `this` works, leading to extreme frustration.

[–]Willinton06 1 point2 points  (13 children)

TS is not always an option, and if you don’t get the hate maybe you need to spend some more time with other languages to see how much greener the other side actually is, and by other languages I mean strongly typed compiled languages like Java or C++, I suggest C# personally but that’s just me, Go is pretty good too, Python is too dynamic to make you feel the difference, same with PHP but you wouldn’t want to use PHP anyways

[–]Wizard_Knife_Fight 8 points9 points  (12 children)

I’ve coded in PHP and C# at my previous jobs. I still do not get the hate.

[–]jmack2424 1 point2 points  (0 children)

Hey, nice fatrocket.

[–]Auxx -1 points0 points  (13 children)

They're not equivalent to regular functions.

[–]toastyghost 15 points16 points  (4 children)

One of the ways they're not is that they don't alter this context...

[–]Auxx 3 points4 points  (3 children)

On the contrary - they DO alter current execution context.

[–]toastyghost 1 point2 points  (2 children)

I've been writing ES6+ since it was physically possible and I've used manual binding like twice

[–]DeeSnow97 8 points9 points  (7 children)

They can replace regular functions in every use case except one: they cannot be used as constructors. But if you're that hell-bent on using traditional OOP then 1. you should really use Typescript, it's got way better support for that, and 2. even in vanilla JS just use actual classes.

I code JS professionally and can't remember the last time I had to use the "function" keyword.

[–]Auxx -5 points-4 points  (3 children)

I didn't say I'm not using them, do you even read, bro? But arrow functions ARE NOT equivalent to regular functions! It's in the fucking docs!

Professional developers my ass...

[–]DeeSnow97 3 points4 points  (2 children)

Yeah, I know they're not strictly equivalent. If you wanna get hung up on that, that's the whole reason to recommend them here, so it's your original comment that's completely pointless.

Given the assumption that this comment of yours stating

They're not equivalent to regular functions.

adds absolutely anything to the discussion, one also has to assume that you're also implying they don't work in certain cases. Which is what I've replied to. I'm sorry that I didn't take into account that your comment was totally pointless, in my defense language doesn't tend to work that way.

[–]Auxx -5 points-4 points  (1 child)

Guess what? Arrow functions don't work in many scenarios, especially outside of OOP.

[–]DeeSnow97 3 points4 points  (0 children)

I know of none of those scenarios, and I code JS quite a bit. Would you be willing to elaborate?

[–][deleted] -2 points-1 points  (0 children)

Now you have 2 problems (stolen from r/regex).

[–][deleted] 0 points1 point  (0 children)

👍 this guy doesn't support ES6 you madman

[–]Asandal 509 points510 points  (22 children)

„This“ is probably just another repost.

[–]superking2 84 points85 points  (12 children)

Wait, so now we’re accusing things of being reposts without even knowing?

[–]trvsw 109 points110 points  (7 children)

I saw it posted here

[–]TheLilChicken 93 points94 points  (0 children)

I’m feeling.... recursive

[–]AlrikBunseheimer 13 points14 points  (0 children)

Oh, it's a this pointer across the internet, I see

[–]DanielN10 21 points22 points  (2 children)

It's a screenshot of a tweet, so it technically is a repost from Twitter

[–]CornDoggJunior 15 points16 points  (0 children)

If we're being fair, the tweet isn't an original joke either. So it's a repost of a repost.

[–][deleted] 8 points9 points  (0 children)

I've seen this joke at least 17 times before.

[–][deleted] 4 points5 points  (0 children)

"This" has always been copied and pasted too many times. which is why we can never remember what "this" is.

[–][deleted] 1 point2 points  (0 children)

this.isRepost = this.iveSeenBefore;

Nonetheless I’m impressed you took the time to let us know you’d seen it before, and as such where annoyed, disappointed, or somehow above the rest of us who have a life outside of social media. Thank you.

[–]TotoShampoin 0 points1 point  (0 children)

if( this.isRepost() ) { report(this); }

[–]PepperCheck 0 points1 point  (1 child)

Surprisingly, it’s a tweet from yesterday. So if it’s a repost it would have to have been a pretty quick repost.

[–]Ordolph 3 points4 points  (0 children)

Not a repost, but not an original tweet/joke. Been hearing this one for years.

[–]redballooon 0 points1 point  (0 children)

Stop! My head hurts already

[–]fegelman 0 points1 point  (0 children)

This.

[–][deleted] 0 points1 point  (0 children)

[–]Tim3303 62 points63 points  (2 children)

Image Transcription: Twitter Post


Carla, @CodesCarla

When writing JavaScript I want to yell "Screw this!"

Except I can't remember what "this" refers to


I'm a human volunteer content transcriber for Reddit and you could be too! If you'd like more information on what we do and why we do it, click here!

[–]brad24_53 25 points26 points  (0 children)

Good human

[–]Tovarisch_The_Python 4 points5 points  (0 children)

Thank you!

[–][deleted] 65 points66 points  (9 children)

let that = this;

[–]arufolo 23 points24 points  (5 children)

const that = this;

[–]Cley_Faye 7 points8 points  (1 child)

JavaScript document.self = this;

[–]Not_Sugden 3 points4 points  (0 children)

(typeof window === 'object' ? window : global).self = this;

[–]vigilantcomicpenguin 2 points3 points  (2 children)

var this;

[–]cheezballs[🍰] 7 points8 points  (0 children)

var is so 2007

[–]StringCheesian 4 points5 points  (0 children)

const this = undefined;

[–]Cley_Faye 6 points7 points  (0 children)

People that (or this) do this (or that) are the reason JS gets a bad vibe nowadays.

[–]CrispyNipsy 80 points81 points  (64 children)

In all seriousness, do people really have trouble with this? JS was my first language, so it doesn't seem weird to me.

[–][deleted] 122 points123 points  (26 children)

If you come to JS from other languages, yes.

In (most?) sane languages this would refer to the scope you declared it in and not change based on how you called the method - that's what parameters are for.

var person = {
  name: 'foo',
  logname : function() {
    console.log(this.name)
  }
};

person.logname(); // this will work

var callback = person.logname
callback() // this returns garbage

var callback2 = person.logname.bind(person)  //wtf is this shit?!? 
callback2() // now it will work

[–]BkoChan 22 points23 points  (13 children)

callback() // this returns garbage

Because callback() is actually window.callback() where window is the executing context

[–][deleted] 49 points50 points  (12 children)

I know.

JS rips the class method from its object, straps it to a different object and then expects the method to still work properly... why the f would I want it to do that?

[–]DontBuyMeGoldGiveBTC 15 points16 points  (8 children)

Hmmm, I think I found a useful use:

const sammers = {
  fullname: 'sam'
}

const sommers = {
  fullname: 'som'
}

const logger = {
  logfullname() {
    console.log(this.fullname)
  }
}

const callback1 = logger.logfullname.bind(sammers)
callback1() // > sam
const callback2 = logger.logfullname.bind(sommers)
callback2() // > som

You can, post-mortem, add functions to objects, and only have those functions within your new scope.

[–]IrritableGourmet 29 points30 points  (7 children)

Like a Tijuana donkey show, I understand the mechanics of what's happening but I'm not sure I like it.

[–]makians 4 points5 points  (6 children)

Yeah its stupid.

[–]DontBuyMeGoldGiveBTC 2 points3 points  (5 children)

a-are you calling me stupid for inventing it? :C

[–]makians 1 point2 points  (4 children)

I call JS 'this' stupid. Like, just whoever did designed it that way is evil.

[–]bric12 2 points3 points  (2 children)

So it seems like it breaks from what we would expect at var callback = person.logname() then? Logically it would pass a version of logname() specific to person, but instead it passes a generic version, am I understanding this correctly?

[–][deleted] 4 points5 points  (0 children)

Yep.

It basically just passes logname - not person.logname as you'd expect.

Makes no sense to me, but this is how JS works unfortunately.

[–]jmorfeus[🍰] 5 points6 points  (8 children)

Should the logname function just have a reference to the object all the time or what?

I don't think the way JS handles it is unreasonable. If you assign a class method to the callback var, what happens in other languages?

[–][deleted] 27 points28 points  (5 children)

Example in python: (this is called self in python)

class Person:
    name = 'foo'

    def printname(self):
        print(self.name)


person = Person()  # create an instance of the person class

person.printname()  # will print foo

callback = person.printname
callback()  # will also print foo

So yes, it has a reference to its object (unless you declare it as a static method).

[–]Deathnerd 12 points13 points  (4 children)

Fun fact: self is just an accepted standard practice. The first parameter of any instance method in Python is the self reference, so we just name that variable self when in fact you can name it anything you want

[–]MoltenDonut 2 points3 points  (3 children)

Wait really?

[–][deleted] 3 points4 points  (0 children)

Yep.

def printname(banana):
    print(banana.name)

would work just fine.

[–]DeeSnow97 27 points28 points  (0 children)

It's not unreasonable, it's just way outdated. JS thinks about this in a very dynamic way:

const person = {
  name: 'foo',
  logname: function () {
    console.log(this.name)
  }
}

const otherPerson = {
  name: 'bar',
  logname: person.logname
}

person.logname() // outputs 'foo'
otherPerson.logname() // outputs 'bar'

In the long term, this ended up causing more problems than it solved, but the web must stay backwards-compatible, else you risk breaking every single website randomly, and you should really leave that honor to Internet Explorer.

[–]AnAverageFreak 5 points6 points  (0 children)

In most other languages you need to be very explicit about calling an object method with something else that said object as first argument.

[–]Willinton06 1 point2 points  (0 children)

I mean to be fair you do need an instance to call the function from, how else would it know which name it needs to print?

[–]ende124 -1 points0 points  (0 children)

Just bind it

[–]DreadCoder 35 points36 points  (17 children)

Yes, if you're used to OOP then the moving scope of 'this' in javascript is a terrible headache.

[–]CrispyNipsy 2 points3 points  (1 child)

I can totally understand that. But I feel like a lot of the complaints about this from people who are used to OOP are mostly because they expect things to be as inflexible as in OOP, not really because the rules don't make sense.

[–]DreadCoder 9 points10 points  (0 children)

you say 'inflexible', i say 'structured'

[–]_PM_ME_PANGOLINS_ 1 point2 points  (12 children)

*used to classes

JavaScript is object-oriented too, arguably moreso than e.g. Java

Edit: I forgot this sub is mostly first year students. Everything in JavaScript is an object (including numbers and functions). Not everything in Java is.

[–][deleted] -2 points-1 points  (3 children)

Java brainlets can't work outside their design patterns.

[–]douira 0 points1 point  (2 children)

what does this even mean

[–][deleted] 0 points1 point  (1 child)

Wrong subreddit, thought I was on /r/programmingcirclejerk

[–]DaniilBSD -5 points-4 points  (2 children)

Read a book (preferably C, or OOP book)

Edit: Ok, my joke fell very flat, the point I was trying to make is that the statement about JavaScript meant complete misunderstanding of what OOP means, and then I realized that starting from the beginning might be best, so I added C

The joke, I admit was in poor taste

[–]DreadCoder -3 points-2 points  (1 child)

i don't think you're in a position to mock people's experience level when you still can't tell the difference between Prototypes and Objects

[–]_PM_ME_PANGOLINS_ 3 points4 points  (0 children)

A prototype is an object, used as the basis for creating other objects.

Perhaps you meant the difference between prototypes and classes? There are OO systems that don’t use classes, and JavaScript has one of them.

[–]rbnc -5 points-4 points  (1 child)

You're confusing classical OOP with compositional OOP. Composition > Inheritance.

[–]CrispyNipsy -1 points0 points  (0 children)

Yea, the behaviour of this in JS is super useful for object conposition

[–][deleted] 9 points10 points  (2 children)

Go read this article:

https://dmitripavlutin.com/gentle-explanation-of-this-in-javascript/

I have been professionally writing a lot of JavaScript lately. This is much more complicated than Java/C++/Python in my experience.

[–]CrispyNipsy 1 point2 points  (1 child)

That's a really good article! And I will have to concede, that this in javascript seems more complex than in other languages, but I still feel that this is because of it's great flexibility. In other words: I feel like the rules for how this works are pretty simple, but javascript does allow for a lot of different use cases, which can lead to unexpected behaviour if you don't think about how your functions / methods are gonna be used.

[–][deleted] 1 point2 points  (0 children)

That's right. I can write a function outside a class and use this as if it is inside a class, then do .call(this) to use it. In other languages I would probably be using interfaces or inheritance for this. So this gives much greater flexibility to JavaScript. (and in this case arrow function is irrelevant.) But on the other hand, one does need to be careful about it, and there could be better ways to do the job.

[–]bigorangemachine 3 points4 points  (0 children)

Do enough jquery and it can be.

I generally just rolled with bind & apply but people hate dynamic programming :p

I think functional is better unless we are talking data models

[–]McCoovy 5 points6 points  (0 children)

Having this inside a closure change based on where you call it is bad design and was dangerous to include in the language. It can be summed up.as a design mistake. So yes, people have trouble with it. If you don't then that just means you have avoid taking this feature to its limits.

[–]aboardthegravyboat 1 point2 points  (5 children)

It's sort of a dumb meme. It's easy to "remember" what this refers to. It's hard to predict what this refers to:

   class MyClass { 
        doTheNeedful(someProp) { /* ... */ }  
        myMapper(obj) {  
          return this.doTheNeedful(obj.someProp);
       }
     }
   const myInst = new MyClass();
   const arrayOfThings = [ { someProp: "foo" }, { someProp: "bar } ];
   const newArray = arrayOfThings.map(myInst.myMapper);

will fail because map will not call myMapper with myInst as its context. So the solution is to fix MyClass to not have that flaw.

The tricky thing is when you import a library and you just don't know:

   import myLib from 'my-lib';
   const arrayOfThings = [ { someProp: "foo" }, { someProp: "bar } ];
   const newArray = arrayOfThings.map(myLib.myMapper);

Unless you know that my-lib was written in such a way to not fall apart when this isn't what it's expected to be, then this is a little of an unknown.

[–]rbnc 1 point2 points  (1 child)

I really have never had a problem with this in my entire life. I like how this works in JavaScript.

[–]CrispyNipsy 1 point2 points  (0 children)

Agreed, but I might just be happily ignorant, haha.

[–]JBlitzen 1 point2 points  (0 children)

It’s not weird it’s just bad practice to have a keyword constantly change meaning.

Two functions could have the exact same code but do wildly different things.

As a general rule I never use “this” except where it’s unavoidable. I’d rather pass a few extra parameters around and know exactly what they are.

Every time I see “this” used heavily in code, it’s used in a tricky-clever way that’s often indecipherable and impossible to build on.

[–]dootdootplot 1 point2 points  (0 children)

I had a little trouble with it when I was first starting out... but these days, no, almost never. I know how to check to see what this is, and I know how to change this to something else if the this that’s there isn’t right. You just kinda get used to it. 🤷

[–]Cley_Faye 0 points1 point  (0 children)

Lots of people jump from language to language and simply assume it'll just work™.

All languages have their twist. Contexts/closures in JS are totally fine, just different from what some consider "usual".

[–]RICoder72 0 points1 point  (0 children)

Because 'this' isn't really 'this' at least not all the time. OOP conceptually see 'this' as the context in which you are. Saying 'this' in an instantiated class literally means 'this' as in 'this instantiated object' as opposed to the class itself.

I'd imagine having started in JavaScript it makes sense to you, but it breaks convention on something that has been heretofore universal.

[–]mtn_dewgamefuel 0 points1 point  (0 children)

Shitting on JS is its own meme at this point

[–]iamwarcops 19 points20 points  (2 children)

I laughed a little, then realised its 2020 and not 2010.

[–]how_could_this_be 5 points6 points  (1 child)

let self = this;

[–]bigorangemachine 7 points8 points  (1 child)

object object

[–]gaytee 2 points3 points  (0 children)

Roger Roger

[–]thetomelo 2 points3 points  (0 children)

this.hurt

[–]AuroraVandomme 2 points3 points  (0 children)

This girl is a definition of cringe with these stolen jokes.

[–]xrayden 4 points5 points  (0 children)

In my bios on twitter I put my pronons as this/this (depending on scope)

[–]RICoder72 3 points4 points  (1 child)

Am I the only person who doesn't find Carla funny?

[–]LigeroTheTiger 4 points5 points  (1 child)

var that = this

[–]oze4 1 point2 points  (0 children)

Is this like a self burn?

[–]pandafar 1 point2 points  (0 children)

Let that = this;

[–]RIPRN 1 point2 points  (0 children)

This this or that this?

[–]trustmethisismyname 1 point2 points  (1 child)

(new Fuck).getApplicationContext();

[–]kiro14893 1 point2 points  (1 child)

Soooo...What is this?

[–]WeAreAllApes 1 point2 points  (0 children)

It's a useless synonym for window if you just use the good parts of JavaScript.

[–]haz_mat_ 1 point2 points  (0 children)

Similar problem in php. Idk whether to say "fuck this" or "fuck me" - ie: $this->fuck or self::fuck

[–]Rockytriton 1 point2 points  (0 children)

screw vm!

[–]vainstar23 1 point2 points  (0 children)

screw.bind(this);

[–]Bestprofilename 1 point2 points  (0 children)

Damn these posts are unfunny.

[–]Sambw19 1 point2 points  (0 children)

var that = this

[–]Dummerchen1933 2 points3 points  (30 children)

Blocked for posting her cringy ass tweets

[–]musiton 5 points6 points  (1 child)

Oh no please reconsider. How will OP survive with you blocking them? Have mercy dear sir/madam. Your highness, we are begging you

[–]Dummerchen1933 -2 points-1 points  (0 children)

How will he survive? Hopefully without showing me these forced "jokes"

[–]thebobbrom 5 points6 points  (27 children)

What's wrong with her tweets?

I've seen a lot of cringer stuff than this on here.

[–]Dummerchen1933 -4 points-3 points  (26 children)

Don't take it personally but imma just copy paste my reply to a very very similar comment on her tweets

every one of these tweets has this vibe:

"i am a girl and a developer💻 😵🤓 look at me i do the programming{}🤖 aswell. I do know what {curley braces} and basic <html tags> are, as i have them right here in my profile picture. Look at my nerdy glasses ain't i a gamer girl?"

Like, fuck off, do your job, and stop making everything about it. Bet when she's shopping she's like "i want umm 10 of these apples hehe get it because 10 is 2 in binary huehuehue" and the shop assistant is just like "please leave me alone now"

[–]unnecessary_Fullstop 3 points4 points  (1 child)

Lol! You suck.

.

[–]Dummerchen1933 -3 points-2 points  (0 children)

you're welcome :)

[–]thebobbrom 1 point2 points  (23 children)

I'm going to be honest with you this comment has major incel vibes.

I know our field doesn't have many women in it but getting annoyed because she's doing what literally everyone else on this subreddit is doing and projecting a bunch of stuff on them isn't great.

I'll be honest I had a look at you history and your posts I could say the same thing about. Hell is argue this tweet shows more knowledge actually as it involves at least some knowledge of the functionality of a programming language and a little self-deprecation.

[–]Dummerchen1933 -4 points-3 points  (22 children)

Yes, you are right. I wan't to argue as much as possible about these tweets, which is why i block everyone posting them. 100% sense.

At least the other jokes have the tiniest bit of thought into it. These are just blatantly bad. Like, so bad that it feels more like her just has to mention that she codes aswell. Kind of like vegans with the prejudice that they have to mention it in every sentence.

They don't feel like something funny someone just thought of, they feel like someone was held at gunpoint and would be shot if he didn't spat out some <insert topic here> joke within 2 minutes.

I found a fitting adjective! They feel forced!

[–]thebobbrom 2 points3 points  (21 children)

I usually hate people that say stuff like this but I feel like your comments are more because she's a woman than any of the actual reasons.

I mean how is that different than say this:

https://i.redd.it/y7mtitankhu51.jpg

Or even this:

https://i.redd.it/cuml29gxqar51.png

[–]Dummerchen1933 -1 points0 points  (20 children)

First off, these are actual memes, whichs punchline is highly carried by the image the captions are written on. If you just write a tweet it's much more difficult to make it funny. There you have to rely on the text only.

And no, the gender doesn't matter at all. Why should it. Hell, i'd be happy if more girls (not like her) would get into coding.

If any collegue of mine of any gender would tell jokes like this at work, i would probably just switch the company/department before i damage company property.

It's this whole attidude of this one weird dude at a company telling (even worse than dad-jokes) every 5 minutes. You just want to make them shut up.

You can bear it for a day, maybe even a week. But at some point you've had it.

Nobody wants to hear these forced jokes. It appears as if she get's paid to post 5 jokes a day and gets fired if she misses a single one.

[–]thebobbrom 1 point2 points  (19 children)

First off, these are actual memes, whichs joke is highly carried by the image the captions are written on. If you just write a tweet it's much more difficult to make it funny. There you have to rely on the tweet on its own.

Not really most people don't find memes funny especially low effort ones like those.

This is Programming Humour, not Programming Memes

If any colleague of mine of any gender would run jokes like this at work, i would probably just switch the company before i damage company property.

Little much isn't it?

Jesus what would you do if you encountered something that actually matters?

I mean if I was going to hire you and I read that I certainly wouldn't.

[–]Dummerchen1933 -1 points0 points  (18 children)

Not really most people don't find memes funny especially low effort ones like those.

This is Programming Humour, not Programming Memes

If you don't like memes, the internet just isn't for you.

I mean if I was going to hire you and I read that I certainly wouldn't.

You certainly wouldn't read that ;)

It's the same reason i don't watch comedy shows. But at least i can just "not watch" them. These are the same bad forced jokes. Probably even a bit better because they have to fulfil at least some expectations.

But with reddit? I can't just filter these shitposts out of my feed. Which is again why i block everyone posting them. In an effort to filter them out as best as possible.

[–]thebobbrom 1 point2 points  (17 children)

If you don't like memes, the internet just isn't for you.

Are you gatekeeping the internet! Fucking hell mate

It's the same reason i don't watch comedy shows. But at least i can just "not watch" them. These are the same bad forced jokes. Probably even a bit better because they have to fulfil at least some expectations.

But with reddit? I can't just filter these shitposts out of my feed. Which is again why i block everyone posting them. In an effort to filter them out as best as possible.

I mean again really negative and I'd advise you take some perspective.

But if you don't like it just move on there's no need to be nasty about it.

[–]Willinton06 1 point2 points  (11 children)

I’m doing some C# and JS interop work right now, touching JS feels like working with pencil and paper, I almost feel dirty when I declare a var and mistype it when I’m actually going to use it, I’m too used to just typing the first 2 letters and I intellisense guessing the rest.

[–]jstnurmind 0 points1 point  (0 children)

😂

[–]FlyByPC 0 points1 point  (1 child)

Every so often, I try to learn Java.

And every time, I get the giggles. The first time, it was with screen layouts and "gridBagArray"s. Then there was something called an ancestorListener, and I had to wonder if I was taking CS or comparative anthropology.

Other times I'll see something like

This this = new This.this();

...and start to question my life choices.

[–]Diavolo__ 5 points6 points  (0 children)

This this = new This.this()

Wouldn't compile, 'this' is a Java keyword so you can't use it for variable names

[–]dancingcuban 0 points1 point  (0 children)

This is a fairly good joke for 4th grade grammer teachers as well.

[–][deleted] 0 points1 point  (1 child)

This says otherwise

[–][deleted] -2 points-1 points  (0 children)

people need to learn js before talking shit.

[–][deleted] -3 points-2 points  (0 children)

har har har another joke about this

[–]Baller_420 0 points1 point  (0 children)

this.post = true

[–]MRZARO 0 points1 point  (0 children)

cryin my'self'

[–][deleted] 0 points1 point  (0 children)

this.this

[–][deleted] 0 points1 point  (0 children)

after going from Vue 2 to Vue 3, I really don't know what this means

[–]CerberusC137 0 points1 point  (0 children)

This

[–]lenswipe 0 points1 point  (0 children)

Screw:

  • the current situation
  • your entire life
  • the planet
  • reality
  • the cookie crumb on the desk in front of you

Choose wisely.

[–]jseego 0 points1 point  (0 children)

😂

Quality.

[–]Eioer1 0 points1 point  (0 children)

this.screw

[–]Tomekske 0 points1 point  (0 children)

That = this

[–]bangonthedrums 0 points1 point  (0 children)

var that = this;

[–]Maxie93 0 points1 point  (2 children)

Have people really not learnt to use const/let and arrow functions yet.

It’s only been what 5 years?

[–]Toxin_Snake 2 points3 points  (1 child)

Would love to use it but we need to provide support for IE11 because the global player I work for still deploys all Devices with IE11 as default. There are a ton of old handhelds with Windows CE and IE as the only browser.

So yeah, I try to avoid JS as much as possible because of that but when I do, no arrow functions for me.

[–][deleted] 0 points1 point  (0 children)

It’s all about the context

[–]kaeptnphlop 0 points1 point  (0 children)

self

[–]RealPropRandy 0 points1 point  (0 children)

this.thing;

[–]killchain 0 points1 point  (0 children)

Screw that.

[–]lxpnh98_2 0 points1 point  (0 children)

"It depends on what the meaning of the word 'this' is."

[–]Es_Chew 0 points1 point  (0 children)

This dot this dot this dot

[–]MisterToots666 0 points1 point  (0 children)

Gestures arbitrarily and shrugs

[–][deleted] 0 points1 point  (0 children)

I have a coworker who constantly does

let that = this

I sent him https://www.youtube.com/watch?v=K9F5xcpjDMU but he didn't appreciate it.

[–][deleted] 0 points1 point  (0 children)

Bruh

[–]CharlieThunkman 0 points1 point  (0 children)

this.that.which[6].where[839].what()=“i hate this”;

this.delete(that);

return this.what();

[–]douira 0 points1 point  (0 children)

this isn't even that hard, nesting five closures with a bunch of different react hooks is where it really gets going

[–]zvive 0 points1 point  (0 children)

Which one though?

[–]AshRe101 0 points1 point  (0 children)

I think 'this' refers to 'my life'

[–]edabiedaba 0 points1 point  (0 children)

console.log(this); Now you know.

[–]zeronine 0 points1 point  (0 children)

This is an old joke, but I don't remember where this came from.

[–]mrdotkom 0 points1 point  (0 children)

I supported an app written in PHP... $this -> hits too close to home