Is JavaScript the issue or is it its lack of Tools

Introduction

I don’t think I have a problem with JavaScript. However, I do have a problem with its productivity. Perhaps the term “productivity” can be overloaded. In my case, it is. When I say “productivity”, I specifically mean the progressive development of a system along with its maintenance effort. Thus when I say maintenance, I am also including the refactoring effort involved. While considering JavaScript within the context of refactoring, perhaps I can view JavaScript as a language that should not be judged based on its lack of refactoring tools.

My Issue

Based on my understanding of JavaScript or lack of, JavaScript is not a proven industrial-grade programming language. What I mean is this language is not used as a tool of choice for the maintenance effort involving millions of lines of code. Air Traffic Control systems are not run on JavaScript. The code that enables a battleship or a commercial airliner to fulfill their critical functions is not written in JavaScript. JavaScript is just not going to be the programming language of choice for mission critical systems that have a significant codebase. Even though the tooling around JavaScript has improved immensely over the past few years, there are still no refactoring tools for this language that compares to the refactoring tools that we have in Visual Studio for C#. For example, you cannot rename a method or property that is referenced many times throughout a codebase having all references update accordingly. This becomes a big issue when you are continuously refining your code base for modularity, naming conventions,  and stub generation.

Conclusion

In conclusion, JavaScript as a programming language may be adequate for most problems. However, the language lacks the refactoring tools that we expect that actually do exist with languages like C#.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: