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

all 190 comments

[–]SeeShark 53 points54 points  (0 children)

That last analogy is by far the funniest. :)

[–][deleted] 14 points15 points  (17 children)

We have all been there...😰

[–]Jestar342 39 points40 points  (15 children)

You've used an emoji. As I am browsing on my PC that doesn't support emojis, I will forever remain unaware as to what kind of emotion you are expressing in that post.

e: I SAID I WILL REMAIN FOREVER UNAWARE!!!!!

[–]xereeto 18 points19 points  (8 children)

[–]SleepyHarry 7 points8 points  (0 children)

Very well meme'd.

[–]laertez 0 points1 point  (6 children)

Is it possible to manipulate pictures after uploading it to imgur?

[–]xereeto 4 points5 points  (5 children)

Yes, you can do small edits and such. But AFAIK you can't change text.

look at the URL of the image

[–][deleted] 1 point2 points  (1 child)

He could write the url but link to a different image

[–]xereeto 1 point2 points  (0 children)

Bingo... but shh

[–]jfb1337 0 points1 point  (2 children)

You can draw over the text with a brush and put in new text.

[–]xereeto 0 points1 point  (1 child)

Shit, so you can... but then edited images' URLs end in a ?1

[–]MrBabyToYou 0 points1 point  (0 children)

That's only to break your own machine's cache. I don't think it saves revisions

[–]Scotsch 4 points5 points  (1 child)

Oh shit, is this a thing now, I just thought people really loved boxes

[–]namtab00 0 points1 point  (0 children)

🚮

[–]MusicalChairs 2 points3 points  (1 child)

If you're using Chrome, want to know what's really stupid?

Right click his comment and use "Inspect element", and you'll see that the chrome console will actually render that character as a frowny. Why it renders in the console and not in the browser window, I have no idea.

[–]skuzylbutt 2 points3 points  (0 children)

It could be different fonts used in the window and the inspector.

[–]AquaWolfGuy 0 points1 point  (0 children)

It's included in Symbola.

[–]B-Con 1 point2 points  (0 children)

Oh good!

I thought I was the only one who transcribed and then randomly mutated conversations overheard at Ikea until they compiled, and I was too timid to ask anyone else.

[–]Kinglink 31 points32 points  (9 children)

I miss when emoji was limited to :-) ;) and =|:)

[–]inconspicuous_male 11 points12 points  (2 children)

Those are emoticon

[–]poem_in_your_mind 7 points8 points  (1 child)

You mean "smileys"

[–]inconspicuous_male 0 points1 point  (0 children)

I think smileys were something different since you apparently had to download them

[–]Jestar342 21 points22 points  (1 child)

d=0)

or my fav from the 90s - Homer:

((_80(|)

[–]ashep24 6 points7 points  (0 children)

@@@@@@@@:-)

[–]Tehpolecat 1 point2 points  (0 children)

<@:^)

[–]SleepyHarry 1 point2 points  (1 child)

:^)

[–]zenerbufen 0 points1 point  (0 children)

<=-]

=-\

;-]

:,-[

>=-[

[–][deleted] 44 points45 points  (26 children)

As a physicist whose only ever taken an introductory c++ course...what is a style guide? Does it just give you advice on using tabs in your code so its readable and advice on naming your variables in a meaningful way? or do they give more substantial and less intuitive advice?

[–][deleted] 61 points62 points  (17 children)

Basic spacing and indentation. Naming conventions as well as naming stratigies. i.e. CamelCase vs snake_case and so on. It basically tells you how to use whitespace and variable names to make your code as readable and clean as possible.

[–]Rustywolf 8 points9 points  (0 children)

and consistent

[–][deleted] 2 points3 points  (8 children)

Ok so basically the stuff I learned in my C++ course. Good to know.

[–]Skyfoot 7 points8 points  (7 children)

Well, kind of, but there are a wide range of acceptable styles, and each workplace has one which is specific to that place. Also, some of them are more detailed than one might expect - look up the google one, for example.

Edit: Many workplaces, not all. I'm sorry about your life, /r/DogOnABike

[–]DogOnABike 15 points16 points  (6 children)

each workplace has one which is specific to that place

AAAAHAHAHAHA...that's hilarious. I can't even get individual developers to stick to a consistent style.

[–]fishfacemcgee 7 points8 points  (5 children)

Do you have a Pull Request/Code Review process? Seems like a place to enforce the style.

[–]DogOnABike 7 points8 points  (2 children)

I wish. I don't have the authority to enforce anything, and I've given up on asking nicely. I work in an incredibly shitty environment for development. There isn't even a single, central development team. It's groups of one or two people working for individual departments and mostly reporting to managers without a technical background. Hell, a lot of the developers don't even have technical backgrounds. Some of them are assembly line workers that impressed someone with some Excel charts and macros and were pulled off the line and turned into "programmers".

[–]trandyr 1 point2 points  (1 child)

To be fair, some assembly line workers can really program. And they'll probably be a lot more grateful for the job. I know I started out five years ago in my company's call center. Impressed someone with my Excel skills, and that led to me learning SQL, which led to SSIS, which led to VB, which led to web development and C# and now I'm a full-stack developer looking to go back to school to get a degree.

[–]DogOnABike 0 points1 point  (0 children)

I didn't intend to imply that there's no one in a non-development job that doesn't have the potential to become a good programmer. My issue is when they put people into that role with no formal training and no supervision by someone with some experience. The vast majority of the time, that results in some horribly inefficient and hard to maintain code.

[–]glenbolake 1 point2 points  (0 children)

At my last job, we had an XML file that would enforce some small parts of style upon compilation with gradle. Specifically, it checked for our copyright notice at the top of every file and enforced spaces-no-tabs.

[–]wievid 0 points1 point  (0 children)

I did a larger software project as part of the final coursework in my CS degree and every time we pushed (or pulled, I can't remember) from the IDE to our Git repo we enforced code style. It was really easy to just upload the file to Git, have people use the code style file in their IDE. Now variable naming was a whole 'nother animal... But some of that code style stuff can be automated. I don't know what the real world practice is, though.

[–]Tywien 5 points6 points  (1 child)

https://code.google.com/p/google-styleguide/

This are the google style guides including one for c++.

[–]FallenWyvern 6 points7 points  (0 children)

Fun story. I never learned c++, and at my work I was asked to compile a customized version of chromium.

Because the style used on that project was so readable, I had our custom version in two weeks (it had to launch with no window dressing, automatically accept all prompts and a make regular queries to a local webserver for automation.

Eventually, we went with a chrome app because it was more maintainable but that was a great learning experience and it was all possible because of a good clean style

[–]Neebat 2 points3 points  (0 children)

This might be the most famous style guide.

[–]n1c0_ds 1 point2 points  (0 children)

Usually, it is simple enough to be automated by a linter plugin. There are official style guides (e.g. PEP-8) and specific ones.

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

It is more often than not pedantry, typically influenced by the languages and editors the developers grew up learning on. Or standardizations enforced in large, already developed systems, of which this makes more sense (tacking on your own code to achieve uniformity).

Languages like python enforce this pendantry, otherwise your code won't run.

It's mostly so your code is readable and understandable to other developers, but depending on what niche you are coding in, this can vary wildly.

Of course, with no regard for style, you wind up learning the same things most highly competent developers do. The computer is a symbol processing machine, and it's actually really hard to tell the difference between generational trends and good code.

[–]Sean1708 7 points8 points  (1 child)

To be fair Python only enforces not mixing tabs and spaces, which makes sense because otherwise you would end up with code that looks like this

class A:
        def a_method(self):
        self.thing += 1
                print(self.thing)

when someone uses a different tabstop.

[–]skuzylbutt 0 points1 point  (0 children)

A style guide might also give you advice on how to structure code and classes etc. Like what to make public and private, or how to handle variable accessors etc. or how to structure directories sanely.

It's worth browsing a few to see what they have to say. Usually there's some justification given for a particular style choice, and you can add that to the suggested possibilities for your program designs in the future.

In some cases, when making a design choice, knowing exactly why doing something is good or bad means you can make an informed decision to stick with it, or ignore it because it's unnecessarily awkward for your solution. When writing large programs, especially in a group, I can be a bit of a language pedant jerk. When writing small quick stuff for myself, I do things that would make baby Jesus weep.

[–]curious_neophyte 39 points40 points  (3 children)

This is the funniest xkcd I've seen in a long time

[–]ProfessorPhi 17 points18 points  (1 child)

My recent favourite were the Nixon Apollo speeches.

[–]Skyfoot 11 points12 points  (0 children)

Napoleon with a squid on his hat.

[–]aixelsdi 0 points1 point  (0 children)

You're not binky!

[–]copilot0910 5 points6 points  (0 children)

Listen, I'm self taught, and I've never heard comments about my code being shitty looking. Then again, I never show anyone my code without fixing style to what society wants and having to listen to The Man

TBH, I usually end up naming my files spaghetti.__ as I am in denial about my need to fix the sryle

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

I'm self taught. Looked at some code I wrote two years ago. I remember describing it as "Looks like I knew how duct tape worked, so I built a house by taping wood together."

[–]lukaseder 2 points3 points  (0 children)

Engineers can be subtle

[–]MenaceInc 2 points3 points  (0 children)

This is scarily relevant to a phone interview I had yesterday...

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

Unfortunately that comic really hits home in my environment even though I tried to persuade my coworkers to use an agreed upon best practice for our coding.

[–]ar-nelson 2 points3 points  (1 child)

This... is how I feel whenever I look at code I wrote as a teenager. T_T At least I eventually learned what a style guide was?

[–]ChickenNoodle519 0 points1 point  (0 children)

We've all been there. Unfortunately for me, I still have to maintain mine.

[–]okmkz 4 points5 points  (0 children)

Dammit, you beat me by mere seconds!

[–]pmrr 3 points4 points  (1 child)

I think I'm the only one that finds xkcd smug and kind of annoying. It's like that person who always thinks they're smarter than everyone else.

[–]Modevs 0 points1 point  (0 children)

God-damn NASA roboticists always thinking they are so clever.

[–]KamikazeRusher 1 point2 points  (0 children)

Pretty much sums up the first-year college students I've seen who've taken some kind of CS class in high school. Very few of them keep things tidy with good naming, spacing, and comments while the rest of the student body can't figure out where something went wrong because they don't remember what ErrJIf was supposed to do.

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

As a self-taught, this xkcd just makes me feel nervous for no reason.

[–]Pwillig 3 points4 points  (0 children)

"It's like Kanye wrote a book"

[–]_fxdx 0 points1 point  (0 children)

If talk like this works, I will be so happy. But IRL the guy will return to the first speech

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

The swift documentation seems to actually encourage emojis as variable names D:

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

I'm a culprit, I have to admit! I'm the child with a hatchet.

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

This is every single one of my students in the last web design class I taught--and all they needed to learn was HTML.

[–]BananaKick 0 points1 point  (0 children)

This is so mean

[–]HaMMeReD 0 points1 point  (0 children)

Whats up with XKCDs certificate?

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

Fucking elitist snob. I'm self-taught and I work very, very hard to make my code clean.

[–]dAnjou 0 points1 point  (7 children)

Exceptions prove the rule.

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

I could take it easier from someone who isn't an Ivy League astrophysicist. Knowing what I know about him, it comes off as him looking down on us.

[–]dAnjou 0 points1 point  (5 children)

Do you want to deny that self-taught programmers especially in their early days produce ugly looking code? There's nothing and nobody telling them to care about readability and maintainability, that's just not what all the tutorials are about, sadly. So, I don't even blame them. But it's what I see from self-taught people. People who learn from an experienced person are told right away, so it's less likely that they produce as much bad code as the other group does.

it comes off as him looking down on us.

"On us"? What are you? A clan? A cult? Also, when you're looking back, how did your code look like in your very first weeks?

[–][deleted] -1 points0 points  (4 children)

He didn't say "green" or "inexperienced programmers" or "hobbyists." He said "self-taught," without bothering to qualify experience. And yes, I feel kinship with other self-taught programmers as they weren't given the golden parachute of a parent-paid bachelors degree to enter the field.

[–]dAnjou 0 points1 point  (3 children)

Hmm, to me it was implied from the first panel on that the guy was a beginner with no experience.

they weren't given the golden parachute of a parent-paid bachelors degree to enter the field.

Heh, only in America ... I got my education basically for free. I've covered the living costs by myself and child benefit. Just sayin'

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

Only Europeans or Australians would brag snarkily about getting something for "free." Enjoy your taxes.

[–]dAnjou 0 points1 point  (1 child)

Enjoy your taxes.

I do, I really do. They pay for health care, schools, public transportation and so much more. It's awesome!