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
Partner Zones AWS Cloud
by AWS Developer Relations
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
Partner Zones
AWS Cloud
by AWS Developer Relations

The new old thing

Ravindra Rawat user avatar by
Ravindra Rawat
·
Jan. 12, 11 · Interview
Like (0)
Save
Tweet
Share
5.75K Views

Join the DZone community and get the full member experience.

Join For Free

They say fashion repeats itself, so does technology it seems. IHMO there are striking similarities between the technologies today and the ones some time back.

In this article i try to compare the old thing with the new thing. Mostly it is the environment around that made a technology obsolete or a technology advancement that makes the same technology feasible today (cheap hardware, more ram, better browsers).

There would be considerable differences in the technologies as well but it is the concepts that i am trying to compare.

The Cloud thingy

The title on one of the magazines in the Xebia Library attracts me every time i pass it. It says "What do they sell when they say Cloud?". On a higher level clouds to me look similar to the mainframes(http://en.wikipedia.org/wiki/Mainframe_computer) , just that it is cheaper today and a startup can afford to be 'on the cloud. The characteristics to add power on demand, run multiple OS hot swap etc seem to be exactly same.

Hardware advances, virtualisation made it possible to create a new machine in minutes. A map reduce job running on 20 EC2 machines sounds like 'submitted a mainframe job in queue'.

Client server applications and RIA

Once upon a time there were applications that ran, stored data on the same machines. Then came the thick clients that did quite a bit of processing and had a backing server component. But thick clients have their own installation headaches. Installing a new version of software across the enterprise is a pain.

Then applications moved to browser but they were not as fancy as the desktop applications. Then came the RIA applications which are more like the thick clients and give the same experience.

This again was possible due to advances in browsers and standardization of web technologies. All desktops applications are moving to the Software as a service model. Do netbooks remind you of the dumb terminals?

With more and more RAM available on client machines, people are leveraging it by passing processing requirements to the client.

One thing at a time

Modern single 'window' handheld interfaces are like single window console based applications (Turbo C). Yeah .. there is no comparison really but the concept of handling one thing at a time is a productivity feature today as compared to limitation of past.

NoSQL

It seems the age of data structures is back. Everything was getting abstracted and programmers getting reduced to mere API users. This set of technology brings back the complexity back in developers hand rather than the costly product. When you read about B-Trees, Bloom filters, Consistent hashing and have to figure our the which keys are to be assigned to which server rather than figuring out which annotation to use to create a web service.

Though NoSQL in itself is a relatively new technology, but it uses selective concepts of databases/data structures to target specific applications.

Annotations- the new 'pre processor'

Annotations the new pre processors with magical powers of code generation. As wikepedia defines it "a preprocessor is a program that processes its input data to produce output that is used as input to another program".

So are annotations any different?

Same concept but powered by bytecode generation is much more powerful than if else style preprocessor (could be more powerful in other languages as well).

Dynamic languages

Most people who deal with production logs maintain a bin directory with their sed, awk , perl or shell scripts. Why not a java program? The multiple steps to fire an IDE complile and run a program, plus the verbose syntax hold the developers back. But these languages (VB, shell scripts) were too loose (not statically typed) to write the dreamed 'bug free' production code.

But it seems dynamic languages like Groovy, Ruby are in vogue now. So what has changed?

These languages are interpreted and compiled, run faster than VB, shell scripts. There rise can be attributed (apart from being awesome) to quick turnaround times required in todays world.

Sun/Oracle certified or Spring certified

This might be a bit touchy!! Certification, earlier there was a Sun/Oracle/Microsoft certified programmer. Now we have spring certified programmers. Has anything changed there?

 

"The complexities of human pranks escape me." - Spock

 

 

application

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • High-Performance Analytics for the Data Lakehouse
  • Metrics Part 2: The DORA Keys
  • Choosing the Right Framework for Your Project
  • Developer Productivity: The Secret Sauce to Building Great Dev Teams

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: