0

Programming is complex. And throughout the years new technologies emerge that lay/depend upon older technologies, resulting in the need for deeper knowledge in a broad set of technologies in order to achieve a single goal.

One example of that affirmation could be the web development scenario. Once only what was needed was HTML marking. Nowadays a single web application may depend on many languages, technologies and frameworks.

So, considering the tendency it is presumable that the traditional way of programming computers will reach a bottleneck on the next few decades.

How is this problem supposed to be worked out if (or when) binary computers hit the bottleneck?

  • Presumably you mean *binary*, not boolean. – DeadMG Aug 06 '16 at 21:58
  • @DeadMG How is that really different? – José Ezbie Aug 06 '16 at 22:09
  • 2
    @Ezbie one makes me guess what you mean because you made up a term. The other is well documented. – candied_orange Aug 06 '16 at 22:14
  • @DeadMG Understood. It's just the way I'm used to say it. Anyways, I'll edit it. – José Ezbie Aug 06 '16 at 22:18
  • @DeadMG See it, does it look any better right now? – José Ezbie Aug 06 '16 at 22:20
  • Are you asking how we'll program with an ever growing stack of technologies? – RubberDuck Aug 06 '16 at 22:36
  • @RubberDuck Yes, but not just that. It's not only the amount of technologies that grow, even though basically that's what I meant. – José Ezbie Aug 06 '16 at 22:43
  • @RubberDuck I feel it's comprehensible that, comparing the way the web was 20 years ago and how it evolved to be much more complex nowadays, it's possible to foresee that in 20 or 40 years we we'll have a stack of problems so much bigger than the stack of technologies involved. Even nowadays companies such as the one I work at already have problems in finding people skilled enough to work with the current web development stack - maybe that's not a problem in the US or Europe, but it is a problem. And that's just one of them, actually. – José Ezbie Aug 06 '16 at 22:51
  • 1
    @JoséEzbie the fundamental hardness of problems isn't changing IMO. The average skill level *has* been dropping though. Not because we're worse programmers than the last generation, but because there is a *massive* number of people entering the field. It's skewed the average skill level to the low side. It will swing back as hundreds of thousands of Apprentices become Journeymen in their own right. FWIW. – RubberDuck Aug 06 '16 at 23:35
  • 1
    @JoséEzbie If a discipline (any discipline, not necessarily related to IT), becomes so broad it's difficult to find people skilled in its every aspect of it, it splits. If client-side got so complex recently it's difficult to find a full-stack developer who would do it well, you probably should hire a specialist front-end developer. If your front-end developer can't keep up with new JavaScript frameworks and advancements in CSS at the same time, maybe you should hire specialists for these. Also, technologies only get more complex as requirements get higher (e.g. related to responsiveness). – kamilk Aug 06 '16 at 23:36
  • 3
    What is a "bottleneck" in this context? – user253751 Aug 07 '16 at 00:02
  • Have a look at [OOTP](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwj6wdqfhq7OAhWnpYMKHeldB3sQFggeMAA&url=http%3A%2F%2Fshaffner.us%2Fcs%2Fpapers%2Ftarpit.pdf&usg=AFQjCNHuYzfeJD3ahkUtxaPKVw32vVSDJQ&sig2=Jb2dxsmMsI8FWTcVAVI1zA) – Erik Eidt Aug 07 '16 at 00:29

1 Answers1

3

HTML still works just as well as it did before. Nothing requires you to get fancy except competition to make the best stuff.

HTML is a domain specific language. It solves structural problems well. It doesn't solve behavioral problems well. If it did it would look a lot different and likely be harder to use.

General purpose languages like c# can do either but with that power comes a wide vocabulary and syntax to master.

Adding more domain specific languages, CSS, Xml, Json, SQL, does not send us to a bottleneck. It puts more easy to use tools in your toolbox.

If you'd rather stick with one general purpose tool you can but since it was designed to be suitable for every job it's more like a Swiss Army knife. It can do every job. It's just equally difficult to use for every job.

The downside of the domain specific language approach is you need to master an ever growing number of disparate tools.

The downside of the general purpose language approach is while you can stick to one complex language you need to master an ever growing number of library's, which are also just tools.

Neither approach leads to a bottleneck. As we develop more tools we'll discard less useful tools.

candied_orange
  • 102,279
  • 24
  • 197
  • 315