Stack Overflow 2015 Developer Survey Reveals Coder Stats 428
A reader points out the results from 26,086 developers who answered Stack Overflow's annual survey. It includes demographic data, technology preferences, occupational information, and more. Some examples: The U.S. had the most respondents, followed by India and the UK, while small countries and several Nordic ones had the most developers per capita. The average age of developers in the U.S. and UK was over 30, while it was 25 in India and 26.6 in Russia. 92.1% of developers identified as male. Almost half of respondents did not receive a degree in computer science.
The most-used technologies included JavaScript, SQL, Java, C#, and PHP. The most loved technologies were Swift, C++11, and Rust, while the most dreaded were Salesforce, Visual Basic, and Wordpress. 20.5% of respondents run Linux more than other OSes, and 21.5% rely on Mac OS X. Vim is almost 4 times more popular than Emacs, and both are used significantly less than NotePad++ and Sublime Text.
45% of respondents prefer tabs, while 33.6% prefer spaces, though the relationship flips at higher experience levels. On average, developers who work remotely earn more than developers who don't. Product managers reported the lowest levels of job satisfaction and the highest levels of caffeinated beverages consumed per day.
The most-used technologies included JavaScript, SQL, Java, C#, and PHP. The most loved technologies were Swift, C++11, and Rust, while the most dreaded were Salesforce, Visual Basic, and Wordpress. 20.5% of respondents run Linux more than other OSes, and 21.5% rely on Mac OS X. Vim is almost 4 times more popular than Emacs, and both are used significantly less than NotePad++ and Sublime Text.
45% of respondents prefer tabs, while 33.6% prefer spaces, though the relationship flips at higher experience levels. On average, developers who work remotely earn more than developers who don't. Product managers reported the lowest levels of job satisfaction and the highest levels of caffeinated beverages consumed per day.
Stack Overflow? (Score:2)
Well, there you go.
A smoother chin's
The way to go.
Burma Shave
Re:Stack Overflow? (Score:4, Informative)
It's in plain view
If you're over 50
No job for YOU!
Burma Shave
Re: (Score:2)
Re: (Score:3)
Re: (Score:3, Interesting)
Do you understand that patriotism is nothing more than a condition of having pride over history you didn't cause? You of all people profess to have an abundance of that.
It's interesting which history you choose to celebrate and which you choose to ignore, considering you had no part in either. Further, you also seem inordinately fond of your white European-American heritage, and concerned about it's preser
Re:Stack Overflow? (Score:4, Insightful)
You can't continue to have that patriotism in view of the observable facts - your government is by the few, for the few, and the people be damned. I agree that it's great that a government was founded with these ideals - but as laid out in the constitution, the time would seem to have come to throw what you have away and replace it with a government for the people again.
True patriotism would be revolution.
Re: (Score:3)
How could anyone wonder why women wouldn't want to work in tech?
There is the nerdbro in full.
Re: (Score:2)
Re: (Score:2)
Business idea: bunch of old fart programmers get together, found own company, laugh at young punks.
Great idea, but how to go about it?
Re: (Score:3)
If you are a consultant and have some other consulting friends, and a good plan, you can just start out with founding a small consulting firm and then hiring a few other people as work picks up (assuming you're good at what you do). After a while you can spend more and more time on either product development, management or other activities, as you see fit.
This is the pattern I've seen for many small firms I work with. There's no reason it can't work for others.
Re: (Score:2)
Tabs vs Spaces (Score:4, Interesting)
As a fairly experienced and slightly wrinkly and grey developer, can anyone tell me why spaces over tabs?
Tabs allow the developer to customise their IDE to display the amount of indentation they desire... and use fewer bytes... spaces seem to have no benefits whatsoever in my book.
Re: Tabs vs Spaces (Score:2, Interesting)
Are you kidding? If you edit code on unix tabs are a nightmare.
Re: (Score:2)
Are you kidding? If you edit code on unix tabs are a nightmare.
Yup.
Be careful inferring causation from correlation in the last paragraph:
45% of respondents prefer tabs, while 33.6% prefer spaces, though the relationship flips at higher experience levels. On average, developers who work remotely earn more than developers who don't. Product managers reported the lowest levels of job satisfaction and the highest levels of caffeinated beverages consumed per day.
There are alternate plausible explanations for all those things other than the one that might first appear.
Re: (Score:2)
I use VIM and Notepad++, but if Notepad++ was on Linux, I'd be using it there too. Notepad++ got the usability/productivity thing right. It's interface for columular work makes VIM and Emacs look just sad.
Re: (Score:3)
45% of respondents prefer tabs, while 33.6% prefer spaces, though the relationship flips at higher experience levels. On average, developers who work remotely earn more than developers who don't. Product managers reported the lowest levels of job satisfaction and the highest levels of caffeinated beverages consumed per day.
There are alternate plausible explanations for all those things other than the one that might first appear.
I think the most obvious explanation is that older programmers are more likely to remember older and less capable tools which couldn't handle tabs well. Today I cannot imagine why someone would use a tool that cannot customize tabs for each user. Mixing tabs and spaces is still a problem, but unless you are using a 20 year old editor why would you still be using spaces?
Re: Tabs vs Spaces (Score:5, Insightful)
Funny, I feel the exact opposite. The FreeBSD style(9) documentation suggests tabs because they can be customized to individual developers needs and they minimize weird diffs on the version control systems.
I take language and platform into account. For HTML and JavaScript, I prefer spaces. For Java, Perl, C#, CSS, C, and C++ tabs. If there is a crazy IDE required, I often prefer spaces because many of them default to some level of spaces and I like the quick code cleanup command to work the same for the whole team.
The real issue with that question is that it's impossible to answer. Even if you get a "spaces" person, try to get them to agree on the number of spaces. A coworker loves 2 spaces which is flat out wrong to me. Too hard to read. I've met people into 3 or 4 spaces. Then you get into where to put curly braces, etc.
Whatever you choose, it should be a standard for code whether at an open source project or a company.
I can't stand everyone using their own style. It's much worse than having to use a specific one.
Re:Tabs vs Spaces (Score:4, Interesting)
As a fairly experienced and slightly wrinkly and grey developer, can anyone tell me why spaces over tabs?
Tabs allow the developer to customise their IDE to display the amount of indentation they desire... and use fewer bytes... spaces seem to have no benefits whatsoever in my book.
Different editors display tabs differently.
Some editors replace tabs with N spaces.
Mix the two, and indentation gets all fucked up.
You work for me, you will use spaces.
Re: (Score:2, Insightful)
well i don't work for you, and i know how to configure editors to keep tabs as tabs. so i guess i win on two counts.
Comment removed (Score:5, Funny)
Re:Tabs vs Spaces (Score:5, Insightful)
As a fairly experienced and slightly wrinkly and grey developer, can anyone tell me why spaces over tabs?
Tabs allow the developer to customise their IDE to display the amount of indentation they desire... and use fewer bytes... spaces seem to have no benefits whatsoever in my book.
Once upon a time, tabs were wonderful. Because disks held 80 kilobytes and ANYTHING that could put more code/data on a disk was wonderful, as long as you had the RAM/CPU to deal with it.
Those days are long gone, however.
The nominal expansion of tabs is to advance to the next column which is a multiple of 8. That's presupposing "absolute" horizontal tabs, as opposed to the less-common relative horizontal tab (RHT).
But 8 columns is a really awkward amount to indent things, especially if you're dealing with letter-sized printouts at 10 characters per inch. A much more pleasant value is usually to tab in increments of 3 or 4 columns.
And, as others have pointed out, the 8-character convention is really just a convention. There's always someone who sets their hardware tabs or tab displays differently.
And then there's Python, which gets its magic from careful indentation. Meaning that a listing that looks fine on-screen or on paper may bewilderingly not run. Because although the alignment of the characters on successive lines may match up, the actual number of spacing characters on those lines might not. And conversely, the alignment can get scrambled just because someone picked a different tab expansion value.
And that is why it's the experienced people who are least fond of tab characters. Once burnt...
Re:Tabs vs Spaces (Score:5, Insightful)
Huh? Since when? On typwriters and early word-processors it was forced to 5 columns. And even most typewriters allowed you to move the tabstops to arbitrary places.
On every editor I've seen in the last 5 years the tab display width is configurable. If you like 2 spaces, great, if you like 8, have at it. It doesn't affect the rest of your team.
The only reason tab characters are a problem is because people mix and match tabs and spaces.
Python's whitespacing is an evil that should be purged with fire.
Re:Tabs vs Spaces (Score:4, Interesting)
It does actually affect the team. Everyone needs to use the exact same tab settings or else the code looks different. It's utterly painful to view some code where someone is tab-happy and assumes one tab stop is two characters and then uses deeply indented conditionals: your teammates should never be forced maximize the size of a window just to view your code. Especially if you change tabs settings within a single file (and I swear that idiots actually do this). Not all developers use the same editor, not all methods of viewing the code use the same tab settings either; paginators, printers, source code control, static analysis tools, and so forth, may all have different ideas about tabs than you used in your editor.
Be nice to your teammates, because no one's personal style preferences are more important than getting along as a team and getting stuff done.
Re: (Score:3)
I find it hilarious that some programmers who use variables names like lpszNameOfFunctorFactoryBuilder will then turn around and use tabs to save a handful of bytes.
If code is to be properly commented then should take far far more kilobytes than a few extra spaces.
Even in the old days, people wasted characters though. Look at COBOL, wasting so much space on the IDENTIFICATION DIVISION and whatnot. I think the early Unix code stands out as being especially parsimonious about typing extra characters. Most
Re: (Score:2)
Depends on the environment I suppose. At my work we all use VS (C# web services). Still our standard is spaces. Tabs in a uniform environment are a bit more flexible actually: you can set your IDE to have tabs = a different size indent. Some people like the stock ~5 char indent, some like 1-2, with a tab character they are free to chose. With a mandated 2 spaces or whatever everyone is forced to look at the code with the same indent even if it doesn't change what others see/the file itself if they were to u
Re:Tabs vs Spaces (Score:5, Informative)
Spaces are 1 space. Tabs are a random number of spaces.
Re: (Score:2, Interesting)
Spaces are 1 space. Tabs are a random number of spaces.
Get an old typewriter. Unless you've manually set the tabstops to something custom (eg. for making tables or columns), tabstops are every 8 spaces.
Re: (Score:2)
Spaces are one space. There's no "unless they aren't that many spaces this time" situation because they're always 1 space.
When I want to backspace over something that's indented with tabs, there's no way to know how many times I will have to hit backspace. Are there 4 spaces and a tab so I have to hit backspace 5 times? Or just a tab, so I have to hit it once?
Also, why would anyone still have a typewriter?
Re: (Score:3)
You have to hit it once. That deletes the entire tab. Unless you have your editor set to do something weird, like turn tabs into spaces.
Re: Tabs vs Spaces (Score:4, Informative)
I prefer tabs.
I don't understand the debate here. Use what you like. If you're editing someone else's code, then convert it to your preference or suck it up.
The editor I use will detect tabs or spaces in the file, and automatically convert it to the preference I set it to in the settings.
Why is this so hard? Why don't all editors do this?
Re: (Score:2)
Wait, you're suggesting that if I want to submit a one line patch to your code, I should convert it wholesale to spaces, and then submit the patch? That doesn't sound like a great way to do source control to me ;)
Meanwhile, if we both just use spaces all along, neither of us sees any fucked up layout, and both of us can edit and work on the code without having to submit ridiculous patches that convert all the white space in the file to something else.
Re: (Score:3)
If it is shared code, then ALWAYS suck it up. If you're in a team then ALWAYS abide by the team's coding standards even if you disagree with them.
An editor should never automatically convert the spaces/tabs in a file without you telling it to do so, that is just broken behavior. If your job is to add one line to a 10,000 line file, you should not convert it all and then check it into source code control. That is anti social and passive aggressive behavior.
Re: (Score:2)
When I want to backspace over something that's indented with tabs, there's no way to know how many times I will have to hit backspace. Are there 4 spaces and a tab so I have to hit backspace 5 times? Or just a tab, so I have to hit it once?
I've simply gotten into the habit of showing white space characters in any editor I use, so I always know exactly what to expect.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
All of them can be made happy if you use tabs to the point of indentation, and then after that use spaces to further indent.
Re: (Score:2)
Might be with your editor but this isn't a universal truth.
Re: (Score:2)
Yes it is. Tabs are some number of spaces. If you backspace over them, you will have to hit backspace an unknown number of times. Maybe once because there's just a tab. Maybe 4 times because there are 3 spaces and a tab. Maybe tabs are set to 8 in your terminal and 4 in your editor.
Meanwhile, a space is always 1 space. Always.
If you use a bunch of careful setup and a few workarounds, you can get everything working with tabs so it's just as good as if there were spaces instead of tabs. Or you can just
Re: Tabs vs Spaces (Score:5, Insightful)
Re:Tabs vs Spaces (Score:5, Informative)
tabs are an undefined constant number of spaces. not random.
Re: (Score:2)
Yay! A series of workarounds! Who doesn't love having to do a bunch of workarounds and configuration setup steps to edit code?
Re:Tabs vs Spaces (Score:4, Informative)
Tabs were more likely to cause problems in the old days, when editors did things that were ridiculous like expand them to 8 spaces. Nowdays with everything configurable, it isn't much of an issue. The reason why the older more experienced people prefer spaces is that they learned to dislike tabs in the bad old days. In 10 years that argument will be dead with tabs winning.
Re: (Score:3)
If you use Python tabs can still cause you a lot of grief. In 2015.
Re: (Score:3)
Yet another reason not to use Python. Guido made a major fuck up there- if he was going to use whitespace as syntax, he should have made the type and amount part of the language spec. Not doing so has wasted more developer time than any other language issue I've ever seen.
Re: (Score:3)
Re: (Score:2)
In 10 years that argument will be dead with tabs winning.
Perhaps. But right now, not in the bad old days, I do a "git diff my_file_with_tabs_different_than_8_spaces.c" and get a wonderfully beautiful output [/sarcasm].
Yes, I love CLI, now get off my lawn.
Re: (Score:2)
Re: (Score:3)
Myself, I've learned to dislike Python rather than the tabs.
Re: (Score:3)
i think you missed the point.
you can customize the *display* of tabs.
Re: (Score:3)
i think you missed the point. you can customize the *display* of tabs.
Which only matters if all indentation, including alignment, is done with tabs. The moment you throw in a few spaces to line something up on a non-tab boundary (say, to align a second line of arguments with the first argument), then you have a mess, unless your tab width is set to exactly the value that whoever touched the code before you set it to.
In addition, terminal windows still display tabs as eight characters and likely will forever... and even if your terminal allows you to configure tab size to so
Re: (Score:2)
It is trivial to avoid this problem by configuring tab-width to 1. Yet again,newbie configuration wins over decades of experience.
Re: (Score:2)
And now code structure indentation is one space? No thanks!
Re: (Score:2)
It is trivial to avoid this problem by configuring tab-width to 1. Yet again,newbie configuration wins over decades of experience.
That only works if other editors of the code also used tab-width of 1, and hopefully used at least two tabs per indentation level. Which is, actually, a fantastic idea... and one best achieved by using spaces instead of tabs.
Re: (Score:2)
Not if both lines have the same number of tabs, and no tab ever follows a non-tab character on the same line.
Re: (Score:2)
You responded to the wrong person. I explained the previous comment to the poor fellow who totally misunderstood it, but I did not express an opinion.
I will do so now...
i think you missed the point.
you can customize the *display* of tabs.
Which only matters if all indentation, including alignment, is done with tabs.
Yes that is true.
In addition, terminal windows still display tabs as eight characters
Yes that is true.
You, too, will one day get so frustrated when dealing with impossible-to-read code...
I already have.
I hate tabs (and I'm also very experienced). But I could imagine tolerating a project where at least only tabs were used consistently. People who work for me configure their editors to replace tabs with spaces.
Re: (Score:2)
People who work for me configure their editors to replace tabs with spaces.
+1
Re: (Score:2, Insightful)
You, too, will one day get so frustrated when dealing with impossible-to-read code due to tabs, possibly with formatting that assumes multiple different tab sizes within a single file, that you'll be enlightened and learn to love spaces.
I've been coding way too long to care about indentation bullshit anymore. If a file does not have uniform indentation style, reindent it with a standard tool (*), and then commit the reindent-only change to local git. You can discard the reindent commit if you don't end up making any real changes to the file; otherwise, your patch goes on top of the freshly-indented file.
* = Use your company's indentation guidelines if they exist; otherwise just use the style options that most-closely match the majority of
Re: (Score:2)
I've been coding way too long to care about indentation bullshit anymore. If a file does not have uniform indentation style, reindent it with a standard tool (*), and then commit the reindent-only change to local git.
Absolutely. Lately, clang-format has become one of my favorite tools ever.
Re: (Score:3)
Which only matters if all indentation, including alignment, is done with tabs. The moment you throw in a few spaces to line something up on a non-tab boundary (say, to align a second line of arguments with the first argument), then you have a mess, unless your tab width is set to exactly the value that whoever touched the code before you set it to.
And here is what you are doing wrong. Tabs are for indentation, spaces are for alignment.
If you are increasing the nesting depth, use one tab.
If you want to shift the start of a line over to align the arguments, use spaces.
Tabs are not X-spaces. Tabs are an abstract indentation level which can be represented as a number of space characters.
Re: (Score:2)
Re: (Score:2)
Re:Tabs vs Spaces (Score:5, Funny)
As a fairly experienced and slightly wrinkly and grey developer, can anyone tell me why spaces over tabs?
Because in every project that uses tabs,
The code is inevitably
littered with
the occasional
line that does not line up with the others
for no apparent reason.
and you will spend part of every day
either changing your editor's tab settings
to match the tab settings of the code's author
or editing the code to "fix" the problem
(which will of course "break" it for the
next person whose tab settings don't match yours)
If you avoid tabs and use only spaces, OTOH, the code formatting will look correct on any editor with any tab setting.
Re: (Score:2)
(Replying to myself before someone else does...)
This problem is technically avoidable if every code author is careful to always use tabs only for each line's initial indentation, and never use a tab after a space (or after any other non-tab character on a line), and never use spaces as the initial indent characters.
However, in practice this doesn't happen reliably, presumably because the inevitable mistakes are invisible to the code's author (since it all looks correct in *his* IDE)
Re: (Score:3)
So have a checkin hook that refuses to accept any checkins with lines that don't match /^([^\ ]\t*[^\t]*)|$/
Re: (Score:2)
If you avoid spaces and use only tabs, OTOH, the code formatting will look correct on any editor with any tab setting.
Re: (Score:3)
If you avoid spaces and use only tabs, OTOH, the code formatting will look correct on any editor with any tab setting.
So how many tabs should you use here so that it lines up with the commands below?
cat *.c
cat -n *.c
grep int *.c
Re:Tabs vs Spaces (Score:4, Insightful)
YOU'RE DOING IT WRONG!!!
Seriously that's a guaranteed path to failure. If you stick to tabs only for indenting at the block level and spaces for any further alignment then it works perfectly. That way changing the tab stops only changes the block-level indent. Any further formatting is done with spaces.
Tabs are logically block-level so they should only be used for block level. If you're aligning relative to text, you need spaces because that's not a block level thing.
The rule is simple and if only everyone would find Jesus^W^Wlearn the rule then we would all achieve peace on earth^W^W^Whaving no commits which change all the whitespace.
PS: use vi.
Re: (Score:2)
Tabs for indentation are a good thing, because people have different tastes wrt. indentation width (I use tabstop 8 and reading stuff indented with 4 or even 2 spaces is a PITA).
The problem is, people are doing it wrong, and insert tabs after non-tab characters. And will use tabs for line-continuation indentation, which leads to a messy look when viewed at something else than the tabstop the original author used. And then it ends in tears.
Wrong:
<TAB>int foo =<TAB>42;
Re: (Score:2)
Unfortunately, my experience is that every single person who uses tabs does it wrong. If you're working on a project where half a dozen people are all using tabs, you're going to end up with six different types of broken formatting.
Re: (Score:2)
Pretty much. And the issue is that tabs gone wrong is only visible once its viewed by someone with different settings, which will be uncommon in homogeneous teams ("Whats your tab setting?" "2 space width" "Ok, cool, ill use that too!")
Then people brush it off in the code review or don't notice, and 6 weeks later its a mess.
Re:Tabs vs Spaces (Score:4, Insightful)
Spaces are unquestionably useful in some cases. Tabs need to justify their existence.
I can virtually guarantee if you were inventing the first character set today, with no backward-compatibility constraints and no knowledge of the real world's history of keyboarding, you would not include a tab key. It's a relic of the typewriter era, and it's redundant. You *would* probably have a "change the currently focussed element" key, but I suspect it would be related to the arrow keys and would be positional rather than linear. Word processors would have a different affordance for "indent bulleted list".
Disk space for source code tabs vs. spaces is irrelevant.
To me, the tab character causes problems and the only real problem it solves (different tastes for how much width to indent) are better solved by an IDE which is already solving the same problem in so many other contexts, like syntax highlighting in different colours etc.. An IDE could easily say that a line that starts with a string of X consecutive spaces should be represented as Y consecutive spaces. Y may even be a fraction, or a function if you choose to have tab mean "align to previous", but 2, 4, and 8 fixed-width spaces are pretty common. Personally I like 3, but at my workplace the standard is 4 and that's just fine.
Re: (Score:3, Insightful)
I guess that there are multiple reasons.
The most common one is ignorance: most people don't know how tabs are supposed to be used as indentation and indentation ONLY, and how to set up an editor appropriately (and the shell, by the way) (see the other responses to your comment for proof).
The second is lazyness / non-confrontational behaviour: If you settle on tabs, you will have to educate all users about the correct usage, and have to bear with people that just insist on using tabs differently (see point 1
Re:Tabs vs Spaces (Score:5, Insightful)
Because tabs are not enough to lay out code well (you always end up with a couple of spaces to align things correctly). Then once you introduce a mixture, you end up in a situation where a change in tab-width causes layout fuckup (i.e. you get fuck ups on a different user's system).
Meanwhile, if you use spaces for everything, code remains well laid out everywhere. If you have even a half-decent editor, it will allow you to edit spaces as if they were tabs, so using spaces has exactly 0 drawback.
Re: (Score:3)
Alternatively, just configure your editor to insert spaces to the next tab stop when you push tab, and you're done.
Having a mixture of tabs and spaces always leads to people fucking up the formatting, because it's impossible to see when they've made a mistake until it lands on someone else's machine.
Re: Tabs vs Spaces (Score:2)
I'm honestly curious: is there a style guide that says to use tabs? The ones I've looked at all recommend spaces.
Re: (Score:2)
No, they don't even allow customization of IDEs there's no way to get vertical alignment on continuations. For example, consider you want to align multiple parameters of a function that's split among multiple lines. Spaces don't work because you have to eat up an amount of horizontal space equal to the initial indentation by tabs. Tabs don't work because you also need to eat up horizontal space equal to the number of characters before the alignment. The only thing that preserves the proper formatting is a m
Re: (Score:3)
Spaces are superior, simple enough. The main reason is that spaces are always spaces. For a given font (fixed with only, none of this variable width crap), spaces are always the same width. Tabs however may count for 2, 3, 4, 8, or some random number of characters. There is *NO* standard for what a tab is supposed to be. Devs with no sense of style will ignore any existing tab settings in the file they are editing and instead use their own, and it is relatively common to find source code that can not e
Re: (Score:3)
As a fairly experienced and slightly wrinkly and grey developer, can anyone tell me why spaces over tabs?
Tabs allow the developer to customise their IDE to display the amount of indentation they desire... and use fewer bytes... spaces seem to have no benefits whatsoever in my book.
Because code that looks like this [pastebin.com] is more readable than code that looks like this [pastebin.com]. Sure you can spend extra effort to line up your code using tabs in a way that doesn't break on someone with a different tabstop, but why bother when spaces do it with no extra effort?
Gender balance "problem"? (Score:2, Insightful)
> Software development has a gender balance problem. Our internal stats suggest the imbalance isn't quite as severe as the survey results would make it seem, but there's no doubt everyone who codes needs to be more proactive welcoming women into the field.
SJWs have spent decades telling women they need "special help" to become engineers and programmers. We can't overcome that by being "welcoming" because they chose a different path before college. Even without the SJW discouragement campaign, it's clear
Re: (Score:2)
SJWs have spent decades telling women they need "special help" to become engineers and programmers. We can't overcome that by being "welcoming" because they chose a different path before college.
If you think you are not involved before college you may be mistaken. Discouraging women has more to do with the culture of programming than with SJWs, and that culture exists everywhere a young woman might go to talk with programmers, including here. How it got that way is not your fault, specifically, but clearly you aren't interested in being "welcoming", which perpetuates the problem.
Staring at code all day isn't for everyone, just like working with babies all day would drive me mad
Yeah, like that.
Re: (Score:2)
>up until the late 1980s, half of the people graduating from Computer Science programs were women.
Bullshit. I was studying computer science in college in the late 1980s. Occasionally a women would be seen, but it wasn't common. My recollection is of 3 or 4 women in a room of 200 students.
Re: (Score:2)
In fact, the number peaked earlier in the 80s and then started to decline. The one statistic I could find, for 1984, showed that 37.1% of the graduates of computer science programs in that year were women. And 45% of the graduates of math programs were women in that year, by the way.
Your recollection is wrong. Or, yo
Re: (Score:2)
An interesting statistic that never gets mentioned by the "Men's Rights Activists" who like to talk about how women aren't suited for programming is that up until the late 1980s, half of the people graduating from Computer Science programs were women.
I got into the field in the early 80's, when there were a lot more women than there are now. At my first job, half the developers were women.
I blame the internet. I'm not kidding. Online forums have empowered the brogrammer culture. It's great that there is now a forum for interacting socially on a grand scale, but there's also an opportunity and an excuse for not developing socially.
Today's employers don't know how bad they have it. They don't know how unproductive today's developers are, chasing after sel
Re: (Score:2)
That's the truth.
Re: (Score:2)
As to whether there is a "problem"...
If you're surrounded by people just like yourself, of course you don't think there's a problem. But a monoculture may not be the most efficient way of getting things done. You may not think there's a problem, and your organization may not know any better because they've never seen any different, but you are almost certainly less efficient (and less profitable, less satisfied, less secure) for being so un-diverse.
SQL (Score:2)
Re: (Score:2)
And 95% write loops updating one record at a time instead of using a WHERE clause on a single update statement. :(
Re: (Score:2)
If you're still thinking in terms of "which SQL" rather than knowing how to move between dialects, then you don't KNOW SQL. You know a product.
Re: (Score:2)
This can be pretty trippy lately as the various "products" are diverging quite a bit.
I hadn't used MySQL in ages, and recently moved to a company that did for their smaller transnational dbs. It messed me up big time to see queries that had stuff in the select part that were not in the group by clause or aggregates.
Then someone asked me for help with a Vertica query...and that is pretty bizzare in itself, being a vertical store with fairly high postgresql compatibility. Some stuff you expect to work just pl
Big Mac Index (Score:2)
Re: (Score:2)
Re: (Score:3)
Not a citation but a bit of an explanation why the earlier authors comment on the Big Mac index deserves consideration. Differential pricing. For example: I live in Canada, we pay more for pretty much every good then the US even for goods made in Canada. In economics one of the factors is called price elasticity of demand. It varies with product (luxury, stable), availablity of substitutes but also by culture/country. Canada and europe generally have fairly low price elasticities (a comparable change in pri
Re: (Score:2)
"Vim is almost 4 times more popular than Emacs" (Score:2)
Stuff that matters!
Technology section seems... odd (Score:4, Insightful)
Re: (Score:2)
It skews highly towards the websites users. Hardly surprising. But when you consider that googling almost any programming question will lead to an answer on SO in the top 3 or 4 hits, I'm not sure how you can avoid visiting the site at least once a day on average.
Re: (Score:2)
Simple, people who don't spend their life copy-pasting don't google problems much.
They look up the documentation for the API directly and figure out the right way to solve the problem themselves.
Re:Huge red flag about the survey (Score:5, Insightful)
If I need to know about executeFoo() in SomeLibrary, I can:
I've tried all three, and vastly prefer the simple Google search. Not only will SomeLibrary.com be in the first 3 results (assuming their documentation doesn't suck), but there's a good chance you'll find a StackOverflow thread that not only explains executeFoo, but also covers the caveats and options better than the documentation.
Code samples tend to be more elegant than my own code. Many questions have multiple samples by multiple authors refined by multiple editors over multiple years. In comparison, I find API documentation often turns stale, or the samples are too simple to cover the cases I'm interested in. I don't "spend my life copy-pasting" - code samples tend to be useless for any real-life task. But I do get to see a gallery of how other people have solved similar problems.
Stack Overflow is not a forum (Score:2)
There's no "forum nazi view" because Stack Overflow is not a discussion forum. It is a question and answer site. If you want something more like a forum, try Discourse or Stack Overflow Chat.
Re: (Score:2)
OK fine, Q&A website nazis. Happy?
The point is that there are plenty of pickle-up-the-ass power tripping assholes on stack overflow who quash useful questions and answers (aka discussions) just to flex their authoritative muscle and prove their superiority in their own minds.
There appear to be two significant groups of contributors, those who are genuinely there just to help out and the power trippers. I feel kind of sad for the power trippers.