Open Source Contributions More Important Than Tabs Vs Spaces For Salary (opensource.com)
Jason Baker, a Red Hat data analyst, doesn't believe developers who use spaces make more money than those who use tabs. An anonymous reader quotes Baker's blog post:
After reading the study one data scientist, Evelina Gabasova, performed some additional analysis and came to a slightly different conclusion, which feels a little more precise: "Environments where people use Git and contribute to open source are more associated both with higher salaries and spaces, rather than with tabs." In other words, if you're at a company where you're using version control and committing open source code upstream, you're statistically a little more likely to be a space-user and a higher wage-earner.
Even across all experience levels, contributing to open source still correlates to higher salaries, Gabasova concludes. "My theory is that when diverse people are working on open source projects together without enforced coding style, the possible formatting mess is nudging people towards using spaces simply because the code is consistent for everyone.
"This is just one of the possible theories, I didn't look to see if possibly language communities that use predominantly spaces (like Python or Ruby) are more active in open source."
Even across all experience levels, contributing to open source still correlates to higher salaries, Gabasova concludes. "My theory is that when diverse people are working on open source projects together without enforced coding style, the possible formatting mess is nudging people towards using spaces simply because the code is consistent for everyone.
"This is just one of the possible theories, I didn't look to see if possibly language communities that use predominantly spaces (like Python or Ruby) are more active in open source."
Wait, there is no connection between spaces, tabs, and how much I make? But I just spent days going through all my code and replacing and reformatting with spaces. Please don't tell me I have to be worried about curly braces.
If you want news from today, you have to come back tomorrow.
Score one for correlation vs. causation.
https://xkcd.com/552/
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
they're going to tell us that the "one true brace style" has no impact on your income!
Spaces -> the person who writes the code decides how its indentation looks
Tabs -> the person who reads the code decides how the indentation looks
Sometimes I set tabs to be 4 spaces, sometimes 8, sometimes even 2 spaces. However, if the formatting is all done with spaces I don't get that choice. I find tabs more empowering to me personally and I believe that I use them I empower those who read my code.
I have no trouble believing that people who submit to Git are more likely to make more money, but parsing it down to whether or not you use tabs or spaces? That seems like too fine a level of granularity.
Of course, I use spaces and submit code to open source projects, so I'm safe.
Mimetics Inc. Twitter
We understand tabs. That is why we don't use them. If you can't figure out why tabs are a bad idea that is an indication of your incompetence, not ours.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Unless you originated the project, the number one rule is consistency. If you do a lot of contributing to open source then you will find a lot of projects with spaces... and regardless of your preference you will stick to that style if you want your code to be merged.
I'm a tab guy, it's just a preference... Yet all of my open source contributions to projects other than my own use spaces.
Read this a while back, had to go digging for it:
https://opensourcehacker.com/2...
P.S. The commentary is more insightful than the article itself.
I have been writing computer programs for well, several decades. I use spaces for the fact that when I cut, paste, yada, yada everything stays. I often have multiple side cut scratch pads open.
;)
;) lol) the learning curve is huge, but in the end you can groom it to do everything, even "Column Blocks" ;)
;)
;)
It is just what I do, there is not one right way
TBH I see the editor as being much more important. I like an editor which is mostly/all keyboard based.
My 2 cents is I don't know what moron decided someone should ever have to take their hands off the keyboard and use a mouse and lose registration.
I hate mice, My first favorite editor was WordStar CPM/TurboDos using terminals. I could do everything from the keyboard. Over the years I have tried many editors. And I have settled on emacs (I know
The key to tech and the reason I enjoy it so much is one must adapt,change and learn constantly
If your not learning something new every 6 months, your out of business 6 months after that
Tab autocompletes and space creates space and never the two shall do the job of the other.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
What are the chances you are submitting to open source and having a high salary?
Pretty high - most (all?) of the large tech companies have started, and/or contribute heavily to massive open source projects.
Apple - WebKit, clang, llvm, Swift, BSD, ... ... ... ...
Amazon - Outlier? I don't know of any major open source contributions of Amazon.
Alphabet - Go, WebKit, Android, map reduce,
MS - vscode, WTS, Typescript,
Facebook - redux, React, flow,
If you're working at a large tech company, there's a pretty significant chance you're doing work on open source.
Tabs descend from the manual typewriter, where they were a poor approximation to properly-formatted columnar layouts. Unfortunately now they join several other forms of white-space (because of Unicode) which are sometimes impossible to distinguish from each other. The safest thing to do is thus to only use space for horizontal spacing. Certainly software should not distinguish white-space characters differently. I'm looking at you, "Make", and yes I've heard the story about it being too late to change because there were already 12 users.
Bruce Perens.
The 90s called, and they'd like their FUD back.
Everyone should use Windows Notepad as their code editor. Then the tab spacing will be consistent everywhere.
*ducks*
Thanks for making my point (You will likely never figure out how you did.) There is also a thing called separation of content from presentation, as well as the benefits of non-ambiguity. There is literally no valid argument for tabs in 2017.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Now how about the rest of the companies that work with technology and don't?
Ford, VW, Caterpillar, Cummins, Deere, Harley-Davidson, NXP, Boeing, dSpace, etc.
large tech company
Are people going to pretend that since their primary product isn't tech that they aren't using the latest and greatest tech available? We're out there writing code daily and none of it sees the light of day.
Tab indents in Emacs and spaces are used in strings. It's that easy.
Ezekiel 23:20
It's so funny. It's to the point where I can see the SlashID of the commenter and know in advance I am about to see a stupid fucking comment. You never disappoint in that regard.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
why creimer's salary is so low
https://github.com/CDReimer
1. I'm not a professional programmer, but you already know that. ...
2. I created that account to access GitHub features.
3. Someday Really Soon(TM) I'll publish my Slashdot comment history scraper Python script to GitHub.
4.
5. "I'm Feeling Lucky: The Confessions of Google Employee Number 59" by Douglas Edwards is a popular book on Slashdot.
Perhaps designed to demo how far slashdot has fallen?
The companies you listed are tech companies, but they aren't large. Their combined market caps are together smaller than the market cap of the smallest company that I listed.
Also, many of these companies use, and contribute to open source software.
When using Emacs, the tabs/spaces argument is moot.
When spaces are used, Emacs handles that automatically.
When tabs are used, Emacs also handles that automatically and elegantly.
When both tabs and spaces are used, Emacs also handles that automatically, elegantly, and beautifully.
The world might be a much better place if we all used Emacs.
Kriston
Use != contribute.
I worked for one of the above and, according to our Fortune 500 lawyers, weren't allowed to submit bug reports because it may "give away proprietary IP".
I've been a senior software engineer in a number of companies, small, medium and one of the world's largest companies and I worked with and socialized after work with many of the top positioned and paid software engineers.
Some had home hobby projects, one guy liked woodworking, one rebuilt cars, some did electronic or software projects, a few were open source. Many worked overtime every single day and simply dropped the keyboard after work to go rock climbing, pubbing or spend evenings and weekends with their families.
Sure this is anecdotal, but it does suggest to me that a Red hat analyst might be biased.
It's like the article where number of git accounts were used to count the number of developers in the world. Again, anecdotal, but not a single company I worked in ever used Git. They used private repositories with Clearcase, Perforce, etc.. Git might be rising in popularity recently (eg Microsoft) but it's not world dominating yet. Even stating that it has a certain percentage would just be wild guesswork.
Maybe he's hiding the good stuff in plain sight?
https://github.com/creimer
202 contributions in the last year
Not my account. I don't live in Germany.
GCC counts tab as 1 char when reporting errors, which can make it slightly harder to coordinate error messages with exact file position in some cases. That is the only issue I ever run into when using tabs. However, the advantages of tabs far outweigh that little difficultly, so in any project where I set the style, the style is tabs. And incidentally, the style for Linux kernel (the largest of all open source projects) is tabs.
When all you have is a hammer, every problem starts to look like a thumb.
sw=4:ts=8:no expandtab or GTFO
Bah! Ed, the standard text editor, doesn't need any of that crap. The interface in Ed is so clean that there is no room for ambiguity. Tabs tab, and spaces space, the way they were designed to. As for separating content and presentation, I don't have time to switch between the two. In Ed, the content IS the presentation.
When I log into my Xenix system with my 110 baud teletype, both vi and Emacs are just too damn slow. They print useless messages like, ‘C-h for help’ and ‘“foo” File is read only’. So I use the editor that doesn't waste my VALUABLE time.
Ed, man! !man ed
ED(1) Unix Programmer's Manual ED(1)
NAME
ed - text editor
SYNOPSIS
ed [ - ] [ -x ] [ name ]
DESCRIPTION
Ed is the standard text editor.
---
Computer Scientists love ed, not just because it comes first alphabetically, but because it's the standard. Everyone else loves ed because it's ED!
“Ed is the standard text editor.”
And ed doesn't waste space on my Timex Sinclair. Just look:
-rwxr-xr-x 1 root 24 Oct 29 1929 /bin/ed /usr/ucb/vi /usr/bin/emacs
-rwxr-xr-t 4 root 1310720 Jan 1 1970
-rwxr-xr-x 1 root 5.89824e37 Oct 22 1990
Of course, on the system I administrate, vi is symlinked to ed. Emacs has been replaced by a shell script which 1) Generates a syslog message at level LOG_EMERG; 2) reduces the user's disk quota by 100K; and 3) RUNS ED!!!!!!
“Ed is the standard text editor.”
Let's look at a typical novice's session with the mighty ed:
golem$ ed
?
help
?
?
?
quit
?
exit
?
bye
?
hello?
?
eat flaming death
?
^C
?
^C
?
^D
?
---
Note the consistent user interface and error reportage. Ed is generous enough to flag errors, yet prudent enough not to overwhelm the novice with verbosity.
“Ed is the standard text editor.”
Ed, the greatest WYGIWYG editor of all.
ED IS THE TRUE PATH TO NIRVANA! ED HAS BEEN THE CHOICE OF EDUCATED AND IGNORANT ALIKE FOR CENTURIES! ED WILL NOT CORRUPT YOUR PRECIOUS BODILY FLUIDS!! ED IS THE STANDARD TEXT EDITOR! ED MAKES THE SUN SHINE AND THE BIRDS SING AND THE GRASS GREEN!!
When I use an editor, I don't want eight extra KILOBYTES of worthless help screens and cursor positioning code! I just want an EDitor!! Not a “viitor”. Not a “emacsitor”. Those aren't even WORDS!!!! ED! ED! ED IS THE STANDARD!!!
TEXT EDITOR.
When IBM, in its ever-present omnipotence, needed to base their “edlin” on a Unix standard, did they mimic vi? No. Emacs? Surely you jest. They chose the most karmic editor of all. The standard.
Ed is for those who can remember what they are working on. If you are an idiot, you should use Emacs. If you are an Emacs, you should not be vi. If you use ED, you are on THE PATH TO REDEMPTION. THE SO-CALLED “VISUAL” EDITORS HAVE BEEN PLACED HERE BY ED TO TEMPT THE FAITHLESS. DO NOT GIVE IN!!! THE MIGHTY ED HAS SPOKEN!!!
Human Rights, Article 12: Freedom from Interference with Privacy, Family, Home and Correspondence
People who contribute to open source projects tend to be the more enthousiastic programmers; they are willing to put in hours in their own time as well. That greater enthousiasm could very wel equate to a higher skill level as well (either through getting more practice, or through getting more constructive criticism, or because only people who are already competent at programming gravitate towards doing it as a hobby as well). And that greater competency translates into higher salary levels.
Well, that makes sense, at least... And if enough open source projects mandate spaces, that correlation would extend to the tabs vs. spaces thing as well.
Visual Studio is the obvious one, but most modern IDEs are more than capable of making this a non-issue and letting you write code with minimal keypresses.
The problems seem to sit almost entirely with legacy *nix tools which haven't been updated because the most vocal community members can't cope with change.
If your editor isn't formatting for you, get a new editor.
cmd-a, ctrl-i
I don't care which you used, because now it's consistent. The end.
Uh...what? *Not every* environment auto completes with tabs.
Ezekiel 23:20
That's the point dumbfuck.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
That is hardly consistent with the reply of tab being for auto complete as the reason for not using tabs in files, but whatever. I'm sure there was some logic behind it if you say so.
Ezekiel 23:20
A space is a space always. A tab is sometimes 4 spaces, sometimes 8, sometimes autocomplete, etc. A tab in a file means different things in different file formats. Nobody ever remaps the space bar. No script ever interprets a space as anything other than whitespace. Diff doesn't think 8 spaces is different from 8 spaces. You break shit when you put tabs in files. Period. If you want to use tab to inject 4 spaces remap it to do that, don't corrupt the file with tabs. It isn't that hard to comprehend.
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
No, you just can't understand the argument. To change the presentation, change the presentation, not the content. In other words don't break shit (e.g. diff functionality / usefullnes) to change the way it looks. Good luck learning about computers!
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
Not really - if people license their projects under BSD like licenses, that's because they explicitly want to allow people to use it without giving back. There's plenty of people out there who wrote something, and want to say "hey, I made this thing, use it if you like", without any ulterior motive about getting contributions back.
using spaces simply because the code is consistent for everyone
That's a false assumption.
My father was legally blind. We were sharing code remotely, using spaces, and he could not differentiate the gaps in the same way that I could. Every commit he would change my 2 or 4 spaces to 8 or 16 spaces. Every commit I would change it back, because it was horrible for me. We eventually switched to tabs, and the constant code reformatting stopped because we could each choose how strong that spacing looked for each of us, independently.
At work, they are currently enforcing that we use spaces, so I am.
I would no longer choose to do so on my own project because I know that it makes the code inaccessible to the handicapped. I am quite honestly surprised that this argument goes back and forth. The ADA should probably just start suing companies for being non-compliant.
http://www.google.com/profiles/malachid
It's not like the compiler keeps that information
It's not like all languages encourage distribution of programs in compiled form either. Programs in Lua, Python, and JavaScript traditionally are distributed in source code or minified form, and minification for Python is less strong because of its use of leading whitespace to mark block boundaries.
I've seen quite capable people shown the door because they had poor people skills
How many of them had Asperger's? Poor people skills are often a symptom of this disability, and it often takes more effort to train otherwise high-functioning autistic workers to improve their people skills. Whose responsibility is it to fund this training? Government or industry?
I'm late getting in here late and I skipped the first round because I was so late, but most people tend to use tabs in projects that are already using tabs. So, any correlation is more likely related to some other attribute of the code, not the presence of tabs. Here is an "interesting" interpretation to troll with: A lot of the earliest open source software was Unix, which had tabs in it; so, you get paid less if you work on old open source software :-).
An engineer who ran for Congress. http://herbrobinson.us