DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Coding
  3. Languages
  4. The Days of Shell and Rational Roses

The Days of Shell and Rational Roses

Tim Spann user avatar by
Tim Spann
CORE ·
Jan. 29, 13 · Interview
Like (2)
Save
Tweet
Share
3.93K Views

Join the DZone community and get the full member experience.

Join For Free

This post  reminded me of why UNIX and combining simple single function programs together made UNIX (and Linux) so amazing.

My first college CGI and my first corporate one (Database America’s Yellow Pages engine) were all written in bourne shell!  I thought it was so primitive, but thinking back I was able to implement a functional, fast and solid application in only a few days.  The school project was as a simple web interface to a C++ application I wrote to do some B-Tree application for class.  I do remember making database calls through command line SQL tools and parsing the results wasn’t as clean or as safe as you would want, but that was really because the command line tools were not designed to fit into the standard UNIX change.

We eventually upgraded to Perl, which was really like ShellScript++.

I guess the takeaway here is that make small reusable components that function fast, simple and can be easily chained with other components to make a custom “tool”.  Software is just a tool even when it looks like a fancy magazine or funky website.  Hmm Pipes and Mule ESB have that same feel.  Shell was the ultimate object reuse.

So you would do the painful, slow job of writing C++, even with Rational Rose UML to help guide you, it was painful.  You had to hope you had the correct libraries and that there were free ones.  STL was a great help, but you had to buy a license.  I think we had to buy a bunch of licenses from RogueWave for database stuff as well.  Now Java, Node.Js and the rest have a ton of free libraries for everything.  Which is great, but you have to pick the right one, get it into a build script of some sort (ANT, Maven, Gradle, Rake, SBT, …), combine it with some other libraries and then write some code specific to that library.  With tools like Eclipse and NetBeans, you can automate a lot of that, but even all the libraries and frameworks that help you add bulk and complexities.  More points of failure, not an elegant connection of small tools, but a behemoth of patched together disjoint libraries.

Anyone remember msql ? MySQL and msql competed for awhile and then MySQL crushed it..

The archive of my old Montclair State Website.

shell

Published at DZone with permission of Tim Spann, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Automated Performance Testing With ArgoCD and Iter8
  • Writing a Modern HTTP(S) Tunnel in Rust
  • Top Authentication Trends to Watch Out for in 2023
  • How To Generate Code Coverage Report Using JaCoCo-Maven Plugin

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: