Dynamic typing is a Curse or Boon
When I was in school, one of the most common essay teachers used to ask us to write was Science is curse or boon, in senior classes, this has subtopics where science was replaced with words like Nuclear Energy, Fossil fuel. Writing effort for subtopics ware much easier than science, the reason was in case of science boon outweigh curse by many folds and that was not true for Nuclear Energy or Fossil fuel, so it was easy to make balancing act.
If one looks from Software professional view, a similar argument can be made about Computer Science and subtopics like different operating systems or programming paradigms. Here I am trying to make a similar analysis for dynamic typing(Disclaimer: I have biased in favor of static typing, but will try to do balancing act)
If we look at the history of arts, science, music, literature most of the time higher popularity doesn't mean it gets due appreciation by intellectuals or people from academia. But in general, it's well known those popular forms have the biggest contribution to acceptance among masses. Take the case of Windows as the operating system, most people with a computer science background have a negative view on it. Its flaws are well known especially old versions. For masses, this is the most popular operating system if it were not there, a computer would not have become household gadget, just try to imagine the usage or cost(in case of mac) of other operating systems for masses.
Similarly, if it were not dynamically typed programming languages(DTPL henceforth), there would not have been possible to learn to program for masses of programmers we have right now or growing every day. So, the biggest boon of DTPL is making programming easier for masses. Perhaps this is the topmost reason, why python, javascript holds positions in top three of many programming languages indices.
One of the biggest challenge people face in learning mathematics is a symbolic or abstract expression. Programming is very much derived from mathematics. One of the beauties of many DTPL to make programming expression closer to human languages, that help and encourage lots of people to become a programmer. This makes programming fun, people love it.
Symbolic expression leads to the biggest curse of DTPL, of course in another context. As human languages expressions have a feeling attached to it, there is a type associated with every expression in the programming language. By using those types of expression computer process to get a meaningful result. In programming languages, if types interpretation goes wrong, the program failed to produce a meaningful result, as in the case of DTPL this check happens while execution of program such errors are detected only at the time of usages of it. A computer is a logical machine, that is the reason, translation of expression in one human language to others is a very difficult task. Any good result with translation become possible only after the usage of AI. So unless we have an AI-based system to check the correctness of DTPL written programs, catching such error need to be done by human only. That is the biggest curse, it's very difficult for the human mind to hold so much information to make it correct.
Any piece of sufficiently large software become a group exercise, this is a place where DTPL makes group life difficult. In group exercise one of the basic expectation is everyone in the group should understand the work done by an individual. Type of expression help group to understand others work, as DTPL lacks this, it's very difficult to use and maintain software written in DTPL. So boon for an individual become a curse for the group.
Software development has many aspects, writing a program first time is a small role in that. Reuse, maintenance and granting it correctness is a much bigger challenge. To make DTPL play a good role in that, lots of work need to be done.
PS(To Hiring managers, leaders): In the ideal case, software engineers should be able to write the program in any programming languages. In reality, most people have biases for one over other, be it OOPs vs Functional or static typing vs dynamic typing, beware of those feelings. Afterall right-wing government never hire a left-leaning economist and vice versa.
very well written :)