A friend recently asked "what's the difference between c# and Java"? I'm sure he is sorry now.
I began, "You see, c# is the main language for .net, a Microsoft product for building Web Applications. It is a lot like Java, but with more hand holding. It's used by small companies run by ex-bullies who don't want to pay their 'nerd-programmers' a good salary."
I added "Recent surveys show that Java has 60% of the market compared to 40% for .net."
Friend: "Uh, OK, but what about PHP? I've seen a lot of jobs advertised for PHP."
Me: "Oh yeah, almost forgot about that. PHP is used for personal sites, internet porn, and by tiny companies that cannot afford a real programmer!"
Friend: "Well, I'm not so sure about that..."
Me: "Listen chump. I'm the expert here. But I'll give you a break. You're young, green and just opening your childlike eyes to that big, scary world out there."
Friend: "I'm 34, and..."
Me: "Never mind. Just listen hear and I'll fill you in with all that happened while you were just a sparkle in your fathers eye."
"It's like conservatives versus liberals. MS is the big, evil conservative corporation bent on world domination. It treats you nice when it needs you, then it chews you up and spits you out."
"On the other hand Java is the liberal, free, open source, pot smoking hippy alternative. They give you things for free! Group hug anyone?"
Friend (looking at watch): "I really have to..."
Me (ignoring my friend for his own good):
It started in the 50's and 60's with "big iron" mainframe manufacturers: IBM, Burroughs, UNIVAC, NCR, Control Data, Honeywell, General Electric and RCA.
Competition was robust. Then wars ensued. Many lives were lost. IBM crushed their rivals leaving nothing but smoking scrap metal in the dust.
IBM was the evil monster, and we all had to obey. But then it adopted and fed Microsoft, who grew and grew and grew. MS got so big it began to challenge IBM. You'd think taking down the evil giant would be a good thing. But the child was even more evil. It too was bent on world domination. And it was succeeding. IBM became the underdog.
A new era began. The internet era. MS was preparing to finish off it's competitors. But then, in true American fashion, the rebels bravely picked a hero, a little platform called Java, and lined up behind it.
Battle lines were drawn. Microsoft and its followers on one side, Java and its allies on the other. The battle looked to be fierce and bloody.The industry prepared for war. Bomb shelters were dug, canned food hoarded, dogs were fed.
But then, wait for it, a new hero emerged! From the deep, cavernous tunnels, below a respected American educational institution, a thin, long haired, figure emerged pronouncing "free, as in free beer".
Friend (waking up): "What?"
Richard Stallman. He said software represents information, and it should available to the public. This led to open source software, often available for free, and often of much higher quality than its commercial counterparts.
The Java folks rallied around this novel idea. Businesses developed models to give away software while monetizing ancillary offerings. Even the .net folks have started adopting open source.
Friend: "So they won?"
Me: The battle continues. However it is now a battle for hearts and minds. We freely invite our enemies to our homes and offices. We break bread together, and occasionally slice each others tires. But it's all in fun.
Friend: "So what about Rails versus Grails?"
Me (brandishing knife): "How dare you! Get out you scurvy dog, before I slash you a new one!"
Me (alone at night, sipping a glass of fine brandy) "Sigh. Gotta love the language wars."
Labels
Core Java
programming
core java interview question
Core Java Faq's
Servlets
coding
database
jsp-servlet
spring
Java
linux
unix
interview questions
java investment bank
Web Services
Interview
investment bank
mysql
Senior java developer interviews
best practices
java collection tutorial
RMI
SQL
Eclipse
FIX protocol tutorial
tibco
J2EE
groovy
java questions
SCJP
grails
java 5 tutorial
jdbc
beginner
error and exception
Design Patterns
Java Programming Tutorials
fundamentals
general
object oriented programming
xml
Java Programs
Hibernate
Examples
Flex
JAMon
Java xml tutorial
logging
Jsp
Struts 2.0
Sybase and SQL Server
debugging
java interviews
performance
FIX Protocol interview questions
JUnit testing
WebSphere
date and time tutorial
experienced
java IO tutorial
java concurrency
thread
Ejb
Freshers Papers
IT Management
Java Exapmle
Java Script
SQL and database tutorial examples
Scwcd
ant tutorials
concurrency example and tutorial
future state
homework
java changes
java threading
tricky
Agile
Business of IT
Development
JSTL
Java JSON tutorial
Java multithreading Tutorials
PM
Scrum
data structure and algorithm
java puzzles
java tips
testing
tips
windows 8
5 way to create Singleton Object
Architect Interview Questions and Answers
Architecture
Architecure
Bluetooth server as swing application that searches bluetooth device in 10 meter circle and show all devices. You can send file to any bluetooth device.
C Programming
CIO
Callable Statement in Java
Circular dependency of Objects in Java
Comparable Example in Collection
Custom annotation in Java
Developer Interview
Divide and rule example in java
Drupal
Example of Singleton Pattern
FIX protocol
ForkJoin Example in Java 7
Get data from dynamic table with Java Script
Git
HTML and JavaScript
Health
Hello World TCP Client Server Networking Program
Hibernate Basics
Hibernate Interview Question Answer
J2EE Interview Question And Answers
J2ME GUI Program
JEE Interview QA
JMS interview question
Java J2EE Hibernate Spring Struts Interview Question
Java System Property
Java Threads
Manager
Portlets
Provident Fund
Read data from any file in same location and give the required result.
Reading Properties File in Java
Redpoint
Rest WebService Client
Rest Webservice Test
SAL join with ven diagram
SCP UNIX COMMAND
SSL
Singleton Pattern in Java
Spring Bean Initialization methods and their order
Spring Interview Questions
Struts
Struts 2.0 Basics
Struts 2.0 Design Pattern
Submit Html Form With Java Script On The Fly
Unix executable For Java Program
XOM DOM SAX
XP
books
computers
core java;
core java; object oriented programming
data structure; java investment bank;
design pattern
dtd
duplicate rows in table
get browser name with jquery
grails podcast
inner class
java beginners tutorial
java cache
java networking tutorial
java spring
java util; java collections; java questions
java.java1.5
linked list
mailto function with all browser
oracle database
oracle duplicate rows
orm
schema
social
spring mvc questions
struts
transaction
tricks
tweet
windows
xslt