When I attended the Rose-Hulman Institute of Technology back in the 80s, we were required to learn three programming languages: BASIC, Fortran, and Assembly. The truth is we were required to write some fairly simple programs in each of these languages to prove that we could figure out how to look up the command syntax. Later I learned C and a little bit of Pascal. Shortly after that, the mouse became relevant and event-driven programming became important. I discovered that I tend to think in straight lines and I abandoned all hope of writing software.
Boy am I happy now. New programming languages appear and disappear at such a rapid rate these days that a good programmer's skills may be obsolete before he finishes his first project. The growth is driven by advances in processor technology and, of course, advances in the web.
As we work with our central Indiana small business computer outsourcing customers on the strategic level of their IT systems, we often have discussions about writing custom software. In the past, it wasn't necessary to obsess about the development language. Today, a bad choice of language could mean an orphaned application in just a few short years. New programmers don't want to learn the dying languages. They want to be on the front edge of the new ones.
Most small businesses shouldn't be writing custom software anyway. Someone out there has already taken a stab at the problem facing you right now. Find them and use what they did if at all possible. Now even this advice is suspect. My IT support services customers need to know that the specialty software they use to run their business will continue to be supportable as time goes on. The same holds true of cloud based services. The original version of Facebook was written in Cold Fusion. Without the influx of venture capital, it's unlikely that their transition to the many languages used today could have been done.
If you're considering new specialty software or cloud based services, be sure to have your IT support services provider check into the viability of the programming language used to develop your software.