{"id":129,"date":"2006-01-19T13:34:00","date_gmt":"2006-01-19T22:34:00","guid":{"rendered":"http:\/\/www.evardsson.com\/blog\/2006\/01\/19\/the-best-tools-for-the-job-part-3\/"},"modified":"2007-03-03T11:56:14","modified_gmt":"2007-03-03T20:56:14","slug":"the-best-tools-for-the-job-part-3","status":"publish","type":"post","link":"https:\/\/www.evardsson.com\/blog\/2006\/01\/19\/the-best-tools-for-the-job-part-3\/","title":{"rendered":"The best tools for the job &#8211; part 3"},"content":{"rendered":"<p>Programming:<\/p>\n<p>I work in a couple languages and develop everything from full-blown applications to web applications to scripts for server maintenance. These are my top picks for whatever language I am working in at the moment.<\/p>\n<p>Java:<br \/>\nI have been using (for several years) and am partial to <a href=\"http:\/\/www.netbeans.org\/\" target=\"_blank\"><strong>NetBeans<\/strong><\/a> [Linux &#8211; BSD &#8211; Windows &#8211; OSX]. This Java IDE has progressed into a full-featured environment including the following integrated pieces:<\/p>\n<ul>\n<li>Tomcat server<\/li>\n<li>local Pointbase database<\/li>\n<li>Javadoc Index search<\/li>\n<li>Internationalization<\/li>\n<li>refactoring engine<\/li>\n<li>JUnit testing<\/li>\n<\/ul>\n<p>I haven&#8217;t really tested <a href=\"http:\/\/www.eclipse.org\/\" target=\"_blank\">Eclipse<\/a> [Linux &#8211; BSD &#8211; OSX &#8211; Windows] more than to install it and run it for a short while. Truthfully, I just didn&#8217;t feel like overcoming the learning curve, since I already know how to do what I want to do in NetBeans.<\/p>\n<p>Bash Scripting:<br \/>\nOf course it is always best to do Bash scripting in a bash shell, preferably in <a href=\"http:\/\/www.xemacs.org\/\" target=\"_blank\"><strong>XEmacs<\/strong><\/a> [Linux &#8211; BSD &#8211; OSX &#8211; Windows] or <a href=\"http:\/\/www.nano-editor.org\/\" target=\"_blank\">Nano<\/a> [Linux &#8211; BSD &#8211; OSX &#8211; Windows (DOS)].When I can, that is exactly what I do. Often, however, I am forced at work to develop Bash scripts for servers from my desktop (Windows) PC. For this I have found <a href=\"http:\/\/www.home.no\/evolved\/\" target=\"_blank\"><strong>evolvEd<\/strong><\/a> [Windows] to be the tool of choice. It provides syntax highlighting and code completion hints which help a great deal when you are unable to paste a line of code into a terminal window and see how it runs. Of course, I <em>can<\/em> test those scripts (at least partially) in <a href=\"http:\/\/www.cygwin.com\/\" target=\"_blank\">Cygwin<\/a> [Windows] which I make sure to install on every Windows box I am expected to work with, but those tests are limited in that calls to other programs don&#8217;t work if those programs aren&#8217;t installed in Cygwin.<\/p>\n<p>Python:<br \/>\nPython is fairly new to me still, for anything beyond server scripts, and large text file parsing, which is what got me started in Python. (Python can do a line-by-line parse of a 280MB text file, determining the interesting non-empty lines by the characters in the 12th &#8211; 20th position and writing them out to a series of 1200 line files in a matter of a couple minutes &#8211; as opposed to the constant hung process I was getting with a Bash script to do the same thing.) Being new to Python I have really only worked with <a href=\"http:\/\/python.org\/idle\/\" target=\"_blank\"><strong>IDLE<\/strong><\/a> [Linux &#8211; BSD &#8211; Windows &#8211; OSX] which is included with the current distribution of Python. There may be better things out there &#8211; perhaps <a href=\"http:\/\/www.jedit.org\/\" target=\"_blank\">jEdit<\/a> [Linux &#8211; BSD &#8211; Windows &#8211; OSX] or something else, but I am still too new in the game to make that decision, even for myself.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programming: I work in a couple languages and develop everything from full-blown applications to web applications to scripts for server maintenance. These are my top picks for whatever language I am working in at the &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[12,36],"tags":[149,173],"class_list":["post-129","post","type-post","status-publish","format-standard","hentry","category-tools","category-writings","tag-tools","tag-writings"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pxT7i-25","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/posts\/129","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/comments?post=129"}],"version-history":[{"count":0,"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/posts\/129\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/media?parent=129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/categories?post=129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.evardsson.com\/blog\/wp-json\/wp\/v2\/tags?post=129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}