State.of.dev – Explore the current state of development
stateofdev.com
stateofdev.com
So I apologize for the negativity that follows; it's a cool idea, and you've put work into it and made it look very pretty. That being said: unfortunately, without it being backed up by _data_, this is just one person's opinion and ultimately not very worthwhile as is.
Furthermore the presentation of the data along a single axis 'adoption' (or sometimes 'expectation') is even more confusing. Technology comparisons are not helpful plotted on a single variable as the comparator. It also leads to some very bizzare plots where somehow 'mariadb' has more 'adoption' than 'mysql' or 'postgres'
That's just the first thing I ran into with this radar and it's annoyed me ever since.
Direct link to the most recent report with tools and commentary (PDF): https://assets.thoughtworks.com/assets/technology-radar-nov-...
It is good for buzzword bingo awareness.
Unfortunately, since the author doesn't really seem to understand the technologies he's trying to plot (GraphQL is listed as a database? really?), and since he doesn't present any data to back up his assertions, I feel that any (professional) negativity towards this post is fairly justified.
Let's start with Objective-C which is being listed as "Enlightenment" on the cusp of "Productivity". Objective-C has been around for 30 years. Check out the Swarm Library. An Objective-C library developed first in the 90's for research into CA. I won't go into the whole history, but it's been a productive language since the mid 90's.
In Text Editors, Xcode is listed as "Challenged" by what? There's no mention of AppCode at all. The Cocoa IDE marketplace is so small I cannot name another editor without going to google. Listing it as "Challenged" may appeal to people who aren't experienced with it, but it's still the accepted tool for Cocoa development.
For iOS Development... I know React Native is popular among newcomers, almost exclusively because they'd rather not learn a new language, but I can name exactly 0 mobile professionals who use it. Yes, I know Facebook uses it. Facebook apps are objectively terrible. They get away with it because React Native is moderately better than mobile web.
/rant
This is dangerous, because people who are easily mislead will see this and become java developers - or hire only .net developers, because they saw that graph.
I've browsed around - every one of these graphs is completely irrational, tells nothing substantive, or are misleading at the least. There are some truths scattered about, but by and large it's largely nonsense.
Graphs tell a story - and every one of those stories is either entirely made up, or has some pretty disputable results.
there IS a story to tell, but it takes more than a graph to tell it. There's a lot of "it depends"
I don't mean to gutpunch the author. I strongly disagree with this project - but commend the effort. the design is clear and straightforward, and it's another project shipped. That's certainly worth something.
edit:
from the related writeup:
> What makes this visualisation so attractive, is that it provides you with a starting point for understanding and exploring a certain market and it’s key technologies.
> That information can help you decide whether to either invest your time and money into an emerging technology, or wait for the hype to pass.
this is exactly the kind of takeaways you should not be making from these graphs.
It's unfortunate really, the same as a media outlet using a misleading graph or junk data science in general. Undermines the trust in a still nascent field.
Maybe I would say, something like "you would use PHP when _____" or "you would reach for flexbox when _______" as a survey methodology. Because that's kinda how it is for a lot of things. The give & take needs to be captured.
Maybe some way of check boxing priorities. Like, I care about maintainable code, or cheap developers, or high concurrency, or good track records. All that would be really useful in helping establish a direction for a developer and a company researching directions.
Referring to F Sharp as "#F"; saying Visual Studio is in the "growth" phase; no mention of IIS under web server or SQL Server under database or Xamarin under any of the relevant mobile sections.
Overall I like the visualizations though
I build a tool around that, which became State.of.dev.
Read more about its future plans: https://medium.com/@yvoschaap/state-of-dev-c609cc12084b
Although I see a bunch of things on the graph, I don't know what they imply. For example I see Heroku in the "challenged" state -- challenged by whom? As far as I know Heroku is still big and growing.
And I see PostgreSQL being "more challenged" than MySQL. What backs up this claim? I get the feeling that PostgreSQL is getting significantly more buzz and development after the fall of MySQL (as a result of the Oracle takeover).
I also see containers being on the verge of being challenged. But I thought containers are still very much up and coming? So I'm confused.
More explanation would definitely help.
re: context chart and states. The y-axis mentions "adoption". Which is the market adoption of an item. If you click a state, I explain what that state mean. I'm certain this can be improved. So for your example Heroku: Yes they could be growing, I'm not saying they aren't, but they've come into a state where their service is strongly challenged by competitors (usually left in the chart, AWS, Google Cloud).
Re: PostgreSQL and Containers. Those are my opinion in this release. I would see state.of.dev evolve into expert/community consensus based on arguments and actual chart releases.
VMs would be mature, and bare metal would challenged / superseded.
Remember that 90% (a number that is completely take out of thin air, but a large majority) of deployments are not what we see on HN, lobsters etc.
They don't understand why you would have a VM, let alone a container.
I have seen feature requests recently for zero downtime migrations of containers, as "some apps cannot be stopped and started" - that is how enterprise sees containers.
Internet bandwidth and latencies kill clouds while there is no real gain to be had by running multiple heavy compute services on one machine. (as much as certain gpgpu companies want you to believe)
Bare metal superceded, ha. It is just augmented with an availability layer.
Atom/Vim/Sublime in maturity?
Eclipse/Xcode/Emacs challenged?
Emacs almost superseded? Superseded by what exactly?
At least the text editor section doesn't make any sense to me. Atom more mature than Emacs/Eclipse/Visual Studio? Visual Studio Code is in growth, Visual Studio is a very mature product.
VIM HA! That whole chars is completely dumb. It's comparing oranges to pears. VisualStudio works on Windows, Emacs, Vim work on every platform, are hackable and opensource etc. etc. The chats is called 'text editors' ha, VS and Eclipse are not really text editors, they're full-featured IDEs, with integrated debugger and stuff. I can't stop seeing those charts as someone's imagination how tech looks like, it's not even supported by anything like data, google trends or even survey.
Probably referring to Visual Studio Code.
Also, two points: * It's SQLite, not SqlLite. * Yeoman has been around for ages and I've never met a person who actually uses it. How is it under "Release"?
Really, Yeoman just automates setting up an node module/project and installing the stuff I always use (linter and test runner).
I wouldn't want to use Yeoman for a large frontend project though.
I'll update the spelling. Yeoman could be better in a different state position. Thanks.
First Hype, than disillusionment etc.
But some things, like the waterfall model were considered productive once and aren't now.
Also, GraphQL isn't a databse but an API layer/protocol.
Waterfall is stuck in 'disillusionment', and didn't move forward into enlightenment/productivity. Again, this should get more context on the arguments and context of why something is where :)
Waterfall is strictly superceded by heavy iterative procedures.
No sarcasm intended, I am a bit confused by this.
The graphs are drawn as line charts, with everything being points on the line. This creates the illusion that every technology goes through a lifecycle between all of these states in the exact same path. This is utter nonsense.
Take for instance, your technology graph, where you list "Augmented Reality" as being in the "Disillusionment" phase. Being a point on the curve, along with every other point on the curve, it's implicit that someday "Augmented Reality" may move to be more widely adopted in the "Productivity plateau." But that may never happen; it may just end up being a fad that Nintendo tried to make money off of and never really succeeded at. Nevermind that it's debatable what "productivity" is for a concept like AR.
These graphs also give no real useful information on their Y-axis. It's not really useful to know if the author thinks that Swift is about to peak and that Java has plataued. It may be extremely useful to know how many people are starting new Swift projects, relative to other langauges in the same niche (e.g. Obj-C, maybe Java if you want to include Android? Idk it's not my niche). That might be information someone can use to decide whether they should start a project in Swift or do something else.
Also, the selection of these charts themselves is a little odd. Why a chart devoted just to PHP frameworks? Is this the State of Dev or the state of people who only know one language and read about the rest in school?
Also, the last line:
> State.of.dev is still a work in progress. Have feedback? Ping me at @yvoschaap.
I disagree. There are ways you could come up with the State of Dev in ways that are more objective than one guy's opinion. Like, the StackOverflow dev survey.
>Also, the last line: >> State.of.dev is still a work in progress. Have feedback? Ping me at @yvoschaap.
Yvoschaap is here reading the comments and has already replied, so he can benefit from my feedback here or ignore it as he pleases.
Even then, that doesn't preclude me from discussing it here; this is a place where people discuss things they see.
The current charts are a starting point. To re-emphasize (from the linked blog post) I would love it to evolve to an community/expert consensus based on transparant arguments.
Likewise gaussian cupola models are often wrong. You might be facing a sigmoid instead. Or a stepwise distribution.
Both of these are used by alleged econometrists and planners who do not know better and hate drawing real histograms of opinions, because that takes actual data collection.
Thoughtworks one is even less descriptive and more limited.
Especially for planning the rollout of their army of consultants, always ready to switch out systems for no perceivable benefit except the hollow promise of modernism.
Sublime's position is a bug!
I wouldn't call Ember "challenged" though, since it's evolving constantly and adding features inspired by a lot of new tools.