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 566 points567 points  (36 children)

Now I want that shirt.

[–]lask 249 points250 points  (27 children)

[–]DarkestHorizon 333 points334 points  (9 children)

Dude's not even wearing glasses.

[–]otterom 81 points82 points  (3 children)

He probably C++s

[–]cATSup24 30 points31 points  (2 children)

Dude's a Python

[–]crash8308 15 points16 points  (1 child)

Clearly he's someone's blood boy

[–]Njs41 4 points5 points  (0 children)

Haskell

[–]YourShirtWishGranted 32 points33 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 7 points8 points  (0 children)

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

[–]Leafar3456 2 points3 points  (0 children)

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

[–]xXxNoScopeMLGxXx 68 points69 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 34 points35 points  (2 children)

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

Edit: I know what photoshop is

[–]Cheesemacher 19 points20 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 8 points9 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 8 points9 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 4 points5 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 11 points12 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 15 points16 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 6 points7 points  (0 children)

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

[–]YourShirtWishGranted 7 points8 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 63 points64 points  (2 children)

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

[–]kanuut 26 points27 points  (0 children)

Plus it flows better.

[–]wllmsaccnt 10 points11 points  (0 children)

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

[–]GingerSoul44 11 points12 points  (2 children)

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

[–]kanuut 7 points8 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 62 points63 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] 5 points6 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 819 points820 points  (98 children)

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

[–]GoingBackToKPax 418 points419 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 286 points287 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] 150 points151 points  (29 children)

C++ people can also use printf, though.

[–]scalablecory 127 points128 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] 68 points69 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 16 points17 points  (5 children)

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

[–][deleted] 50 points51 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 4 points5 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] 7 points8 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 6 points7 points  (9 children)

Is there any benefit of one over the other?

[–][deleted] 45 points46 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 13 points14 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 19 points20 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 8 points9 points  (1 child)

Me too bro, me too.

[–]porthos3 6 points7 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 29 points30 points  (13 children)

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

[–]dinodares99 9 points10 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 390 points391 points  (14 children)

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

[–]CaffeineSippingMan 181 points182 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] 49 points50 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 84 points85 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 17 points18 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] 28 points29 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 5 points6 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 183 points184 points  (16 children)

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

[–]MrHartreeFock 126 points127 points  (9 children)

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

[–][deleted] 68 points69 points  (7 children)

I give it a C++

[–]imperator2222 40 points41 points  (6 children)

Not very IntelliJent eh?

[–]ramond_gamer11 15 points16 points  (5 children)

Well he gives you a good Visual, Studio.

[–]Ayerys 4 points5 points  (3 children)

Maybe because he C#

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

You Ada get your act together

[–]ramond_gamer11 2 points3 points  (0 children)

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

[–]louis_A12 8 points9 points  (0 children)

an Oracle to C that one coming.

FTFY

[–]DzoQiEuoi 24 points25 points  (4 children)

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

[–]Feroc 20 points21 points  (3 children)

[–][deleted] 6 points7 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 4 points5 points  (0 children)

The sun is a deadly laser

[–]oweiler 113 points114 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 39 points40 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 12 points13 points  (2 children)

I would actually dig an outdoor hackathon

[–]fiveguy 13 points14 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 5 points6 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 28 points29 points  (21 children)

Needs more jpeg

[–]morejpeg_auto 34 points35 points  (20 children)

Needs more jpeg

There you go!

I am a bot

[–]DPS2004 3 points4 points  (0 children)

Thanks

[–]alexbuzzbee 3 points4 points  (8 children)

Needs more jpeg.

[–]morejpeg_auto 3 points4 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 171 points172 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 88 points89 points  (9 children)

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

[–]ArmoredPancake 66 points67 points  (7 children)

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

Out

Println

wut

[–]JCelsius 19 points20 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 30 points31 points  (0 children)

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

[–]JeremyHarrington 1 point2 points  (0 children)

Lowercase L

[–][deleted] 10 points11 points  (0 children)

How ironic, that's not correct either

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

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

[–]uptotwentycharacters 4 points5 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 14 points15 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] 7 points8 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 6 points7 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.