The results are in, folks, and The NUMBER ONE programming tool of the year IS:
The general purpose computer! Let's hear a round of applause!
The article reads like an ad for a bunch of commercial services. I was really hoping for things I could apt-get/brew install <excellent new tool>.
Unfortunately general purpose computing appears to be dying, slowly but surely. Talos recently wrote a good survey of the problems:
I'm not missing the point of your satire, but I'd love it if more people considered language arts a powerful tool worth mastering to an advanced degree.
Really its the IDE or text editor that you should master, what you put into it is just icing on the cake.
I think the GP meant language arts as in writing, speaking and communicating in human languages, not programming languages. Not sure why you would need an advanced degree in that, though.
I also really like how Atom, Sublime Test, and Vim are "DevOps tools."
Vim is, the rest, hardly.
I have to agree. This list is either terrible, or it has terribly named categories comparing unrelated technologies to each other.
Yeah you can call the language a tool, since most languages can get the same job done but some do certain jobs better.
I believe the grandparent is attempting to make a distinction between a tool and (for lack of a better term) a material. With the idea being you use tools to shape your materials to create your end product. You carry the tools with you from project to project but the materials stay in place.
To use the normal house-building analogy, I would say that the Tools are obviously saws, drills, etc. Things that you use on every house you build but that are not part of the house itself. These represent notepad, visual studio, git, etc.
e: So it's like saying the #1 carpenter's tool is wood.
Sure, but that's ultimately irrelevant. The survey should be demonstrating choices made by developers, but (web) developers don't have much of a choice when it comes to using JS. Unless you want static HTML, JS is in your stack. In that sense, including JS is rather moot, unless it's exclusively about NodeJS.
If it is about Node, then I retract my point.
I don't think that is a good analogy. The end product (app/house) is what the code actually does. What you use to make that product is a tool, including what language you use.
I disagree. It makes more sense to me to consider the language the material or medium (that is shaped by a tool) rather than a tool itself.
To examine another simple example, consider a potter who crafts a vase from clay. The potter's wheel and his hands are the tools he uses to form the clay medium. I do not consider the clay itself to be a tool.
I agree. It's just like how a carpenter's best tools are English, arithmetic, and blueprints.
All those things do help, but a carpenter can do the same job with an axe, a saw, a chisel, a knife, or a froe but in the end what they are doing is cutting wood. If you're a programmer and you don't look at languages as a tool you are doing yourself a disservice. In the end you just need something to turn some data into a different kind of data, everything else is a tool to do that one thing.
> Isn't that like saying the #1 business tool is "The English Language"?
This. Love it! Exactly my thoughts on seeing the click-baity OP.
"Scott Hanselman's 2014 Ultimate Developer and Power Users Tool List for Windows"
If the list is for all development work then i must be doing something wrong. I only use 5 of the listed "tools". Github, Gitlab, Vim, Python and Sublime Text.
These top lists lately always seem to focus on web development and seem to skip the millions of developers who work have never written a web app. Desktop, Embedded and backend apps may not be as sexy as the latest web framework but do run a huge number of businesses and devices in the world.
My guess is that they source this based on web searches and social media posts. Those tend to have a more web development focus.
Since we aggregated data across all users, our "web" tools definitely shone through (as you might imagine, there are more web devs than native on stackshare), but given that we included all tools we felt it was more accurate as a description of the methodology.
Do you think it would be valuable for us to segment these rankings further next time? Create a couple different rankings?
Sure. It's not so much about splitting it up, though. It's about providing a title that will attract the correct audience. But good luck getting that past marketing.
I mean, it's a list of the top developer tools from StackShare users. If you were going to change the name to something it would have to be something like "The Top 50 StackShare Developer Tools of 2016", that would be correct but also a bit redundant...
Since the data set (StackShare) isn't inherently limited to just web developer tools (it's just biased towards them), titling it "The Top 50 Web Developer Tools of 2016" would just be incorrect and a misrepresentation of the data.
Great list, wrong name, should be something like "top 50 _web_ developer tools. Not much in there for desktop app developers.
Probably not, but it depends on exactly how the code is arranged.
AGPL says that anyone who can use your code (via web service) counts as having the code "conveyed" to them, which means the GPL terms apply.
The purpose of this is to stop cases where I put GPL-derived code on a smart TV but say that since I don't let the TV owner touch the code I don't have to open source it. Or I wrap GPL-derived code as a web service and don't offer the source because the GPL'd code stays on my server.
In your example, maybe Facebook takes some AGPL OAuth library and adds 20 lines of code to talk to their database. If they now give you access to call their OAuth service, they must honor a request from you to look at those 20 lines of code. If the OAuth library that you use to talk to Facebook is also AGPL and you give someone access to your service, then you have to release your source to them.
Well, this did point me to a shared password system with an API that I have not seen before: passbolt [https://www.passbolt.com/]
I have been looking for something like this for a while to securely access and share credentials from an application. GPL makes me nervous though -- especially AGPL. Does AGPL prevent you from using it as a service from within a separate program? For example, if OAUTH was AGPL would no one be able to use "sign in with google/facebook/etc" without open sourcing their software?
Absolutely 100%. The only time I ever call a company for support is when they don't have chat. My company provides both chat and phone support to our customers (many of whom aren't technically savvy) and chat is overwhelmingly more used. Support staff can also handle more throughput with chat since you can easily have 5 simultaneous conversations at a time.
Outside of analytics, real time chat is almost always the first non-core feature I ever add to a new project.
OP is talking about chat as a feature in a product. You're talking about something completely different - customer support chat.
If your product is a web site, having custom support chat built in to it is a feature.
I think you're still misinterpreting the OP (I know you're not the poster above :)). [S]he was referring to interpersonal sort of chatting with friends, colleagues, or people you've met online. Support chat is different. Nothing to do with "normal" chatting as a feature.
The #1 new tool of the year is a library for adding chat to a project. Why is chat being added to so many things?
Every time I use Evernote and see the chat button, I wonder if anybody is actually chatting in Evernote and if they are, why?
web development more popular
Should qualify this as Web Developer tools. Nearly all of the things here would be irrelevant to systems programmers.
Difficult to take this seriously.
Additionally no mention of Eclipse or IntelliJ products, which seems a little strange, considering how much I see these everywhere.
It is very hard to take this list seriously as 'visual studio' isn't even mentioned anywhere. But 'vi' is? So, Vi is a top dev tool, but the default Microsoft dev tool isn't worth the top list?
Go to githut.info, Java is second by wide, but it's not 'top'?
The list seems detached from reality and residing in its own bubble.
How did you source the information? There are primarily web development tools on the list.
Good read and thanks for sharing.
Didn't expect to see this on HN today. I helped run the analysis, so feel free to direct any questions about the methodology my way!
Actually, the reason Visual Studio Code didn't make these rankings is because the stackshare page wasn't created until mid-2016. Since the rankings were heavily weighted to tech stack inclusion, VSC's numbers were a bit skewed. We do our best to keep up with requests to add tools, but as you could imagine there are _a lot_ of requests.
Ditto. ...makes me question the whole thing.
I'm guessing they can't pull their head out of github to know that it is the better version of what atom is trying to do.
Surprised Visual Studio Code didn't get a mention in the text editor section.
I personally use it to keep up with new tools that companies might use or are becoming popular (always good to have an eye to know what's up).
I don't use it when I want to start a project and I'm looking for tools.
This is a keep at the back of your head kinda thing.
I'm genuinely curious what the value of stackshare is. Is it a form of "infotainment"?
It seems to me that if you work as a developer professionally, you'll have a good sense of what tools and stacks are out there based both on colleagues/work and the larger developer community you likely interact with. How does it help me to see that some well-known software is popular? It seems like just encourages more trend-following in programming.
I suppose I could see the benefit when it comes to SaaS products...this site gives a way to see all the options out there for things you might want to outsource.
Am I missing something? Do people find this site to be valuable?
In node this is as simple as console.log('Hello World')
Originally we thought the same thing, but we wanted to remove as much bias from the analysis as possible, so we opted to keep all tools in the running. Since the weighted rank was based heavily on tech stack inclusion, we felt it was more valuable to keep the raw rankings.
For trending, we calculated tech stack growth over the past 6 months for each tool. I wish we had time to pull in job data, but the data pull was going to delay the article a while and there are some core features we were itching to get at (there's only 6 of us on the team). Not saying this is a perfect list, but it's a snapshot of the data we have and felt it was a good indication of what developers/teams are using.
And what is meant by trending? I assumed this was judged by people hiring for the technology but they list Node as being a top-trend yet on their website Rails has more job openings than Node... Seems weird.
Nahhh, the _most_ important thing is to use what works for you and your project. Any time you don't do that->eventual regret
Man I dislike all of their top picks, I guess I'm just old now adays.
They're apparently the top 10 contributors to Stackshare.io.
Top 10 Developers?
Don't know any of them. I must not be in the right inner-circles (I'm guessing web development judging by this list). That reminds me, do we still consider Carmack a top developer?
One of the top NEW tools should definitely be Prefix. It was released early in 2016 and is now used by over 10,000 .NET and java developers. It is a lightweight profiler that tells you everything your code is doing.
Or it's the most popular field among the StackShare users, which is likely.
No, it makes me kind of happy. It makes you kind of sad. Or you're already sad, and this just reminds you of it.
So web development is the most popular field of software engineering. Makes you kind of sad.
Last I heard they will offer a on-premises solution for companies that need it. However without being connected to the hivemind, I imagine it's utility will suffer. :(
It's a great idea though!
Kite looks intriguing, but sending every keystroke to a remote server is a bummer
Since this list doesn't actually make any sense, I'll list two actually great developer tools:
+ The Stack package manager for haskell: https://docs.haskellstack.org/en/stable/README/
+ NixOS: https://nixos.org/
Note that NixOS' drive towards critical mass isn't complete yet. It has great Haskell support (especially since Stack has nix integration), but may not have as good support for your language. No point in switching OSes before the time is right.
This list makes no sense. Expected better from a site that's focused on tech stacks.
Since we're agreed this is iffy, I'll add mine:
-Visual Studio Code
Now that's just sad...
"Look to an even stronger showing in 2017 as a language-of-choice for multi-threaded, scalable applications."
- IntelliJ IDEA
- John Carmack
Their product isn't even on the list, mate
So, their product is #1?