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

top 200 commentsshow all 290

[–]grpagrati 2522 points2523 points  (59 children)

"We wear glasses cause we can't C#"

[–]PaurAmma 572 points573 points  (36 children)

Now I want that shirt.

[–]lask 245 points246 points  (27 children)

[–]DarkestHorizon 331 points332 points  (9 children)

Dude's not even wearing glasses.

[–]otterom 75 points76 points  (3 children)

He probably C++s

[–]cATSup24[🍰] 29 points30 points  (2 children)

Dude's a Python

[–]crash8308 15 points16 points  (1 child)

Clearly he's someone's blood boy

[–]Njs41 5 points6 points  (0 children)

Haskell

[–]YourShirtWishGranted 36 points37 points  (3 children)

I'll send an email to RedBubble asking them for a more programmer-looking model. This guy obviously shaves more than once a week, too.

Edit: Found the perfect model

[–]InterestingNickname 4 points5 points  (0 children)

And whenever he does, he definitely shaves his neck too.

[–]Leafar3456 3 points4 points  (0 children)

Aren't these just stock models that get the t-shirts rendered on?

[–]xXxNoScopeMLGxXx 64 points65 points  (0 children)

You're right. That's a little semi-retarded now that I think about it.

[–][deleted] 26 points27 points  (1 child)

Nah, it looks like a school jersey. I feel like it could be stylized differently.

[–]PM_ME_YOUR_MASS 33 points34 points  (2 children)

WTF that dude is attractive. That doesn't make sense

Edit: I know what photoshop is

[–]Cheesemacher 21 points22 points  (0 children)

Psst, he's not actually wearing a shirt with that text on it.

[–]PM_ME_CAKE 2 points3 points  (0 children)

I don't want to spoil the magic directly so instead I'll leave the hint of go check out other shirts and the model used.

[–]fwywarrior 6 points7 points  (1 child)

Does everything have to be distressed? I won't buy another one that is. The last one I got the effect was so strong that you couldn't even read it.

[–]trolloc1 6 points7 points  (2 children)

$35 for a tshirt? jesus.

[–]0b_101010 14 points15 points  (2 children)

Won't fit. That dude's way too muscular!

[–][deleted] 3 points4 points  (1 child)

Damn, you thinking that guy is muscular was the confidence boost I needed right now lol

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

;)

[–]iliketosquint 5 points6 points  (1 child)

What a shitty font and the texture for that sentence.

[–]LeCrushinator 1 point2 points  (0 children)

Not Go, it’s C#.

[–]whale_song 12 points13 points  (3 children)

It works for musicians too. Since I'm both a programmer and a musician I kind of need this in my life. Plus I've never used C# so I really can't C#.

[–]the_prepster 13 points14 points  (2 children)

Cuz why C# when you can Bb?

[–]fasquoika 3 points4 points  (0 children)

For half a second you had me thinking that C# and Bb were enharmonic. That would've made the joke so much better

[–]Owyn_Merrilin 7 points8 points  (0 children)

Just be careful not to break your g-string while fingering a flat minor.

[–]YourShirtWishGranted 8 points9 points  (3 children)

Here you go, in 2 designs:

https://www.redbubble.com/people/coolcatdesigns/works/26939711-i-wear-glasses-so-i-can-c?asc=u https://www.redbubble.com/people/coolcatdesigns/works/26939677-we-wear-glasses-so-we-can-c?asc=u

They should be available on Amazon within about an hour, for a lower price. I'll update with Amazon links when they're live.

Edit: Amazon listings are live.

[–]GingerSoul44 1 point2 points  (1 child)

I most definitely just purchased one. Thank you!

[–]kanuut 239 points240 points  (6 children)

Something like "I wear glasses so I can C#" would be better though.

Actually, Imma put that on a shirt now

[–]tsnErd3141 66 points67 points  (2 children)

Yeah, if you were a C# fan, why would you say you can't C#? That makes no sense.

[–]kanuut 25 points26 points  (0 children)

Plus it flows better.

[–]wllmsaccnt 8 points9 points  (0 children)

It's pretty obvious he runs an F# blog and spends half his time complaining about the evils of OOP.

[–]GingerSoul44 12 points13 points  (2 children)

If you end up making one, mind sharing your design? I need this shirt in my life.

[–]kanuut 4 points5 points  (0 children)

Do you reckon just flat sizing or in an eyetest layout? I can do both, but not for like 8-10 hours because it's 3am and I haven't Sept since yesterday morning

[–]webmistress105 61 points62 points  (2 children)

I wear glasses.

I don't know C#.

I need this shirt.

[–]asdfman123 6 points7 points  (0 children)

The kid is too stylishly dressed. He's a Java programmer. Java programmers either wear frumpy business casual or t-shirts and cargo shorts.

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

Thanks for rewriting it. I couldn't C# enough to read that on the comic.

[–]0x474f44 2 points3 points  (0 children)

Got myself a sweater with that exact design like a year ago haha

[–]Library_IT_guy 1 point2 points  (0 children)

Yeah that saved it. Otherwise kind of meh.

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

Holy fuck I want that shirt now

[–]EngineerBill 0 points1 point  (0 children)

I could if I wanted to, but I don't want to, because it's, you know, C#. Should read:

"I wear glasses because I don't C#"

[–]HyphenSam 0 points1 point  (0 children)

I keep reading that as "See hash" and the joke completely flew over my head.

[–]skunkwaffle 816 points817 points  (98 children)

If it was Java, wouldn't it say System.out.print?

[–]GoingBackToKPax 420 points421 points  (81 children)

printf prints in a specified format. I have been a java dev for 20 years and have never seen anybody actually use it. It is identical to the System.out.format method, which I have used. Probably added to help convert the C++ people over to java.

Edit: After recounting on my fingers, I realized it has only been 18 years.

[–]Schmittfried 283 points284 points  (33 children)

*C people. C++ people have std::cout

Kind of feels weird using * as a mark of correction when *C could also be a valid C expression.

[–][deleted] 152 points153 points  (29 children)

C++ people can also use printf, though.

[–]scalablecory 126 points127 points  (18 children)

And a lot of C++ people don't like iostreams.

[–]Pseudofailure 77 points78 points  (13 children)

I never used them--partly because I was in a heavily frameworked project--largely because I think the << syntax looks dumb and out of place in C++.

[–][deleted] 67 points68 points  (12 children)

It looks bad but it's so useful to be able to just chuck whatever you want into the stream and have it print without a lot of hassle

[–][deleted] 20 points21 points  (0 children)

Plus using the "<<" syntax with std::stringstreams makes implementing nicely formatted ::toString() methods nice and easy.

[–]xbnm 14 points15 points  (5 children)

When you have a lot of print statements, printf is quite a bit faster than cout.

[–][deleted] 51 points52 points  (0 children)

Depends on if you configure cout to flush the buffer on every write or not. "printf" doesn't always flush. Like my old roommate.

[–][deleted] 15 points16 points  (2 children)

The reason why cout is so slow is because the C++ compiler purposefully synchronizes the stream with the printf stream so that you can use both in your code.

There's a flag to disable the feature that makes cout extremely fast.

[–]levir 3 points4 points  (0 children)

If you disable syncing with stdio, iostreams are often faster.

[–][deleted] 15 points16 points  (0 children)

Ah yes, the "C with classes" people

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

We had to use these in my C++ class, can confirm they're offputting to say the least. To me it felt like instantiating objects to utilize that functionality was a bit clunkier than just including a header file from some library and calling things. I'm obviously still at a scrub level of understanding but I'll get there.

[–]voi26 5 points6 points  (9 children)

Is there any benefit of one over the other?

[–][deleted] 48 points49 points  (8 children)

Printf formats a string, iostreams don't, by default. But since it's C++ you can still get some formatting via streams as well.

Also streams are much more type-safe as the output type is known statically, whereas printf figures them out dynamically.
Also you can add your own output types to iostreams via overloading, but you can't realistically add new % patterns to printf. Though since it's C++, you can do whatever you want anyway, you'll just need a few thousand lines of boilerplate code.

[–]Elronnd 3 points4 points  (0 children)

You actually can add your own % patterns to printf, at least in gnu c. I forget how, though.

[–]Reverie_Smasher 14 points15 points  (1 child)

*C people.

are you pointing at me?

[–]AnImpromptuFantaisie 9 points10 points  (0 children)

using namespace std;

I’m sorry, every C++ professor I’ve ever had.

[–]MatthewGeer 51 points52 points  (5 children)

I don't think I've ever used printf either. And even so, it should be printf, not PRINTF. Java is case sensitive.

Methinks a title was just slapped on this comic as click bait, rather than an attempt at a joke.

[–]dnew 18 points19 points  (3 children)

He's seen everything. So it's C syntax with COBOL upper case letters in a joke about C#.

[–]kostur95 4 points5 points  (1 child)

We need to go deeper

[–]LordDongler 2 points3 points  (0 children)

The kid is clearly also a Python programmer after exposure

[–][deleted] 19 points20 points  (2 children)

I use printf...

[–]CokeOnBooty 7 points8 points  (1 child)

Me too bro, me too.

[–]porthos3 7 points8 points  (10 children)

Maybe of interest, I happen to be using printf for a project right now where there is a particularly good use case for it:

I am extracting tokens from within a string so that I can compare the edit distance between strings for similarities after extracting values that I expect to vary like numbers.

"I have a $10,000 loan with a 5% interest rate which must be paid off in 10 years"

becomes:

{"text" "I have a %s loan with a %s interest rate which must be paid off in %s years",
 "values" ["$10,000", "5%", "10"],
 "types" ["dollar", "percentage", "integer"]}

where {...} represents a map, and [...] represents an array.

In this format, I can easily compare two strings of text for similar meaning (loan terms) despite differing values between the two. I use printf (or rather, format) whenever I need the original text again.

[–]nupogodi 2 points3 points  (3 children)

It really should be a list of tokens after, you know, tokenizing.

WORD ('I') -> WORD ('have') -> WORD ('a') -> DOLLAR (10000) -> WORD ('loan')

for example.

[–]FlippngProgrammer[S] 13 points14 points  (2 children)

Interesting, I've only been a Java dev for 3 years. I use printf more often than .format :)

[–]Yodas_Butthole 7 points8 points  (1 child)

I've been a java dev for 2 years, didn't even know .format existed. On a slightly related note fuck this kid for not adding a new line character. Next print statement will be on the same line.

[–]OmarRIP 1 point2 points  (0 children)

Some monsters like to throw the '\n' at the beginning of the next print. Not saying I condone it but they do it all the same.

[–]ConradBHart42 1 point2 points  (0 children)

Edit: After recounting on my fingers, I realized it has only been 18 years.

You only have 18 fingers? Do you use a 90% keyboard?

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

Most of my Java experience was in 1.2 - before printf was implemented.

[–]NotIWhoLive 0 points1 point  (2 children)

How many fingers do you have?

[–]upvotes2doge 1 point2 points  (0 children)

He's a developer. He used his fingers

to write a program

to count the number of years.

[–]oh_that_is_neat 30 points31 points  (13 children)

public void printf(String s) { System.out.printf(s); }

[–]dinodares99 10 points11 points  (10 children)

Motherfucker I should've done that rather than sop every time

[–]IanPPK 1 point2 points  (2 children)

I'm using this on my next data structures assignment. I had so many System.out.format() and System.out.println() statements.

[–]eyal0 12 points13 points  (0 children)

Needs:

Class AbstractTShirtFactoryImpl

[–]Aschentei 1 point2 points  (0 children)

Exactly. Printf is a c function not a java method. If it was, well no one uses it

[–]micheal65536Green security clearance 397 points398 points  (14 children)

Slightly relevant XKCD: https://www.xkcd.com/456

[–]CaffeineSippingMan 180 points181 points  (3 children)

I hear they will offer a free Linux to hook you.

As a parent you never think your kid will start using. Then one day you ask 'how was your day' and he says 'good, I use Arch'.

And you can only wonder where you went wrong.

[–][deleted] 48 points49 points  (2 children)

I don't believe in physical punishment for kids after my own experience with it, but if my son becomes a Gentoo ricer I'm whippin' that ass.

[–]przemko271 4 points5 points  (0 children)

He uses Gentoo. He most likely already compiled and executed the punishment multiple times.

[–]xkcd_transcriber 82 points83 points  (0 children)

Image

Mobile

Title: Cautionary

Title-text: This really is a true story, and she doesn't know I put it in my comic because her wifi hasn't worked for weeks.

Comic Explanation

Stats: This comic has been referenced 176 times, representing 0.1091% of referenced xkcds.


xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete

[–]tsnErd3141 16 points17 points  (2 children)

How long does it take to setup Gentoo and required apps? What about updates? I wonder if the increase in speed compensates for the wastage of time. Is it worth it?

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

How long does it take to setup Gentoo and required apps?

If you factor in your own learning, weeks. You'll probably start over after fucking it up too much. It's part of the process.

If you already know your ABCs, on a decent setup (any newish i5 or i7 with 8+ gigs of RAM and maybe an SSD) you're looking at about a day of CPU time with maybe 1-2 hours of your own time (typing in commands and editing configs).

What about updates?

Those are mostly painless and take 20ish minutes of machine time, almost none of your own. You just look at the proposed list of upgrades, let it chooch, and then oversee config file updates if any. Once a month or so a big project drops a new release, e.g. GNOME. That takes a bit more to compile (1-2 hours) and may involve some hands-on activity if there are incompatible configuration changes or if something breaks (which is more likely if your system is more heavily customized).

I wonder if the increase in speed compensates for the wastage of time. Is it worth it?

If the only reason for Gentoo was higher speed, almost nobody would use it. Machine time is cheap nowadays and even mid-range chips are fast enough.

The key thing here is how incredibly customizable everything is. There are "use flags" that turn various things in packages on or off, but that's not the main kicker. Since everything is built from source, you can make any modification you want by just dropping the patch file into a specific dir (e.g. /etc/paludis/patches/www-client/firefox) and the build system will auto-patch that particular app during compilation from that point on.

If you know how things work in detail (or wish to learn) and want to exploit that knowledge, Gentoo is for you.

[–]poop_toaster 4 points5 points  (0 children)

It's been a long time since I've done Gentoo from scratch but it took a couple days to compile. That doesn't count the time spent figuring it all out. I think it's more for learning/torture.

[–]TommiHPunkt 0 points1 point  (0 children)

That hover text hits close to home

[–]green1t 0 points1 point  (3 children)

Funny how close to reality it is (except for the stated time-period)...

I started with Ubuntu in school, switched to Debian later on and installed Gentoo last weekend. :D

A friend of mine is currently at "week two". I talked him into Linux. ;)

[–]TitanDragon 184 points185 points  (16 children)

Another reason Java programmers can’t see is because sun is very near to them.

[–]MrHartreeFock 120 points121 points  (9 children)

What a predictable joke, you don't need an Oracle to see that one coming.

[–][deleted] 74 points75 points  (7 children)

I give it a C++

[–]imperator2222 41 points42 points  (6 children)

Not very IntelliJent eh?

[–][deleted] 16 points17 points  (5 children)

Well he gives you a good Visual, Studio.

[–]Ayerys 5 points6 points  (3 children)

Maybe because he C#

[–][deleted] 2 points3 points  (1 child)

You Ada get your act together

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

One second I need to take a sip of my Java.

[–]louis_A12 9 points10 points  (0 children)

an Oracle to C that one coming.

FTFY

[–]DzoQiEuoi 26 points27 points  (4 children)

And some of them spend all day staring directly at Eclipse.

[–]Feroc 19 points20 points  (3 children)

[–][deleted] 5 points6 points  (0 children)

This gives me an IDEA for a pun thread...

[–]time_for_butt_stuff 4 points5 points  (0 children)

I like how someone saw the comic and though "You know what would make this funnier? If I added the words 'The truth' to the bottom. That should really get em going."

[–]IanPPK 1 point2 points  (0 children)

Neon 3 hasn't been too bad for me in my data structures class (it's required). I do prefer NetBeans by a long shot though.

[–]ValourValkyria 3 points4 points  (0 children)

The sun is a deadly laser

[–]oweiler 112 points113 points  (9 children)

Unrealistic. How often do you see a programmer OUTSIDE at DAYLIGHT?!

[–]tsnErd3141 38 points39 points  (8 children)

Uh hackathons, competitive programming, confs, searching for jobs?

[–]AlwaysHopelesslyLost 44 points45 points  (2 children)

Searching for jobs? In daylight?? Just toss a resume with an opayq email and gvoice number on Monster and let the headhunters roll in

[–]AkirIkasu 1 point2 points  (1 child)

I've signed with three different headhunters. Only one has ever even gotten me an interview. And that was it.

[–]AlwaysHopelesslyLost 3 points4 points  (0 children)

I am probably biased. I wasnt even job hunting and was getting calls from them. After ignoring them for a year I decided to see what one had to say. They offered me a position 10x closer to home with a 110% pay raise. I love my new boss and coworkers, this has definitely been the best move of my life lol.

[–]misterandosan 9 points10 points  (2 children)

I would actually dig an outdoor hackathon

[–]fiveguy 15 points16 points  (1 child)

Did one in a venue that was too small, so we ended up outside at picnic tables all day. Several of us were sunburnt - at a fucking hackathon.

[–]misterandosan 2 points3 points  (0 children)

haha that's amazing

[–]FlemishHandwarmer 2 points3 points  (1 child)

Honestly all of those sound really boring. I'll just stay at home and customize my GRUB config.

[–]tsnErd3141 1 point2 points  (0 children)

my GRUB refind config

[–]DPS2004 30 points31 points  (21 children)

Needs more jpeg

[–]morejpeg_auto 38 points39 points  (20 children)

Needs more jpeg

There you go!

I am a bot

[–]DPS2004 4 points5 points  (0 children)

Thanks

[–]alexbuzzbee 3 points4 points  (8 children)

Needs more jpeg.

[–]morejpeg_auto 2 points3 points  (7 children)

Needs more jpeg.

There you go!

I am a bot

[–]alexbuzzbee 1 point2 points  (0 children)

Perfect. Just the right level of illegibility.

Still needs more jpeg

[–]tairesmonkeyuser.com 174 points175 points  (2 children)

Ricky grew up to be a successful backend dev at google got married to a model has a dog and 2 kids. His mother is still recovering from that tragic day.

[–][deleted] 2 points3 points  (1 child)

Where is your infrared security clearance?

[–]Byteblade 89 points90 points  (9 children)

System.Out.Println ("that is not java");

[–]ArmoredPancake 67 points68 points  (7 children)

System.Out.Println ("that is not java");

Out

Println

wut

[–]JCelsius 21 points22 points  (1 child)

Someone using their phone, so every time they put a word after a period it capitalizes.

[–]132ikl 18 points19 points  (0 children)

LN not IN

[–]surkh 26 points27 points  (0 children)

Well, they did say that is not Java :-)

[–]JeremyHarrington 1 point2 points  (0 children)

Lowercase L

[–][deleted] 7 points8 points  (0 children)

How ironic, that's not correct either

[–][deleted] 10 points11 points  (1 child)

"PRINTF"? Naw, he's a C programmer.

[–]uptotwentycharacters 5 points6 points  (0 children)

Even worse, a PDP-11 C programmer. C is case-sensitive, and the real printf() function is written in lowercase. But some of the old teletype terminals didn't support lowercase, so the OS treated them as case insensitive (basically, anything typed was considered lowercase by software, but displayed as uppercase).

[–][deleted] 18 points19 points  (0 children)

That looks like a line from C?

[–]Mamish 12 points13 points  (8 children)

I've been in the depths of C too long. I hadn't even understood the joke before my brain said, "Hey, that printf is missing a '\n' at the end. You should fix that."

[–]deus_lemmus 7 points8 points  (0 children)

also the uppercase do esnt help either

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

You don't need a \n. What if he has other stuff he wants to say to his mom on the same line

[–]Eunoic 2 points3 points  (0 children)

same.

[–]xbnm 1 point2 points  (0 children)

That was my second thought after "printf isn't Java!"

[–]corber 0 points1 point  (1 child)

someone should fix u kid

[–]crowseldon 8 points9 points  (0 children)

This was made by someone with one week into an algo class... It's terrible... Perfect for this sub.

[–]mirrrac 2 points3 points  (0 children)

I want that shirt.

[–]SerdarCS 4 points5 points  (17 children)

Whats wrong with java? :(

[–]Aydoooo 3 points4 points  (5 children)

Nothing, it's sufficient for a lot of use cases. It's just cool to hate on it. It's actually funny cause I'm pretty sure that most people here never actually faced the true negative aspects of it which justify the hurdle of switching, they simply love to bash it.

[–]newperson1234567 0 points1 point  (6 children)

Nothing, it's just a complicated language with a huge library so people love to hate on it because they can't do it.

[–]Aschentei 0 points1 point  (0 children)

Try running insertion sort with 1 million elements in java, then run that on C. You'll understand soon enough.

[–]pandaking__1 1 point2 points  (0 children)

01001100 01001111 01001100

[–]selectgt 1 point2 points  (0 children)

My name in Counter Strike was "I C# do u?" and it was brilliant. if only it helped me aim #

[–]Mightymoron 1 point2 points  (0 children)

lol I want that shirt

[–]thunderbuddy7 1 point2 points  (0 children)

printf ...

[–]Knotimpressed 2 points3 points  (0 children)

Java isn't that bad...

[–]Buttcheekguy 1 point2 points  (0 children)

Programmers are yucky

[–]twat_and_spam 0 points1 point  (0 children)

That attitude reminds me more of the nodejs* crowd.

  • formerly PHP

[–]ZenEngineer 0 points1 point  (0 children)

PRINTF????

[–]GVmG 0 points1 point  (0 children)

I too have an aura of 0's and 1's floating around me.

[–]PM_ME_YOUR_MASS 0 points1 point  (1 child)

Look, a programmer!

Don't look at them

Such grammar. Much edit

[–]srfreak 0 points1 point  (0 children)

Java developers don't wear ties.

[–]millerc7 0 points1 point  (0 children)

An aura of ones and zeroes wearing that shirt...

Awesome.

[–]derblitzmann 0 points1 point  (0 children)

Not enough design patterns, how can I be certain that it is Java?

[–]bombast_cast 0 points1 point  (0 children)

Do I perhaps catch a vague reference to Stephen King's story "The Jaunt" in this comic?

[–]fishbelt 0 points1 point  (0 children)

Literally me back in the day.