D1J1T Article Categories:

Programming   Management   Development   Design   HTML   JavaScript   CSS   PHP   MySQL   Database   Server   Audio   Object-oriented Programming   Hosting   Mobile   Social Networking   Java  

IDEs (Integrated Development Environments)

Tools of the Trade

by D1J1T — in Development — Updated: Feb 9, 2015 at 1:07 pm

IDEs (Integrated Development Environments) & software tools/utilities in general can either greatly enhance the efficiency of development (as intended) or create a potentially unnecessary new learning curve for an established programmer who may already have intimate knowledge with other comparible or perhaps even better IDEs, software and methods.

If this is the case, more than likely, said developer should be able to pick up the software relatively quickly given that he or she is proficient with the programming languages and technologies involved already. Though keep in mind that this person may also enjoy learning the new software, might explore it thoroughly, and will more than likely compare/contrast differences to their familiar methods/software at the very least. Time should be allotted for this learning curve, even for the simplest of IDEs.

It may be worth asking: Is your company specific IDE/software required or simply what most use? Could it be either it's popular or becuase management has directed the developer to do so?

I personally don't mind hand-coding in notepad, due to having programmed for years and the fact that when I first started making HTML documents, there were very few free IDEs available. When I first started programming Java, I tried out a couple, the best one at the time (95?) happened to be in Japanese, but it color coded my vars/methods/classes/etc properly at least.

If you don't already, know that most programming languages can be programmed in any simple text editor. Compiling, testing, etc, is a different issue of course. I'd be leary however of any "programmer" that would hesitate in an interview if you opened notepad or pages and said "code something in language x."

I mention the above because I've seen "programmers" that code in solely (for example) "design view" of Dreamweaver. They'll include images and objects and use the tools to make most things work and look good. After I view the source of said "programmer's" document however, I end up seeing unnecessary tags, improper nesting/closing of tags, numerous inline styles, and other inefficiencies. But, again, it looks great on his system, and on his browser. He's tested those specifics using his current working environment. He didn't test on other browsers/systems/devices and didn't validate his code either. This particular individual's graphics were amazing! I noticed (before viewing the source of course) the elegant aesthetics, the details, and was in awe over the professional design he had created. I ported the whole directory structure to other systems and saw ridiculous code issues/errors. This employee was a brilliant graphics artist, who included programming skills on his resume. Although after I eventually questioned him further, I discovered quickly that he didn't understand certain HTML vitals, much less JavaScript or basic common programming skills even (loops, conditionals, functions, variables). Don't let an IDE direct a project, unless the IDE is vital for it. More importantly, ensure your programmer is a programmer, your graphics artist is a graphics artist, or at least that either/both are proficient with the tools necessary to produce efficiently on all necessary platforms. If the graphic artist produces best using Gimp & Blender, do you have the budget to train him or her on Photoshop & 3DS Max? If your developer can hammer out pages in all web languages using Notepad++, do you really want to force him or her to use Dreamweaver?

I stress this because many IDEs are very powerful and some will attempt to do some of your programming for you. I'm not saying this is a bad thing. Used by a proficient programmer, IDEs save time, often a lot of time. How nice is it to right-click on a variable and be given options like "create set & get functions?" Or better yet for the IDE to create a basic class file based on a template for you given simply a name? This is not even considering syntax/error/warning/deprecation/class/file/keyword/var/function highlighting, tools to remove whitespace and properly format/indent your code, breakpoint settings/debugging tools, search filters, and so much more. However, IDEs add code for the programmer, and if you don't check the files that the IDE (supposedly) fixed or edited for you, you could end up with unnecessary code, references, unexpected bugs, etc. Keep in mind that the IDE itself is also a program, programmed by a person, with an a.i. that attempts to save you time/complete your code statements as you type them. I look forward to the the day (actually have contemplated attempting an app(s) to this) when we can just speak our code into our phone while we're in line at the store and have it actually produce a valid code file. Next it would upload it to the server, and then it checks to ensure it's proper function/look. Surely we are not quite there yet. Given a budget, I think it could be done. contact me if interested in pursuing this idea with me...

If you find these articles to be helpful, I could always use another cup of coffee! Social media likes/+1s are also much appreciated. Thanks for reading!

Add Comment to Post: