Wednesday, 23rd August 2006
Java Developer turned MCAD
At the start of the year i wrote about how Java is the primary language taught in schools. At the time, the language i swore by was java and the J2EE framework. Well as things turned out, i was hired at a Complete Microsoft Shop and had to apply my developer skills in Microsoft Technolgies. 6 months down the line, i am now a Microsoft Certified Application Developer. Funny change of events really because, while i was in school, i swore by java and linux and hated MS technology for the reason that they baby things so much for the developers that you often dont know what is happening under the hood. Well my opinions have now changed and i truly appreciate how Microsoft makes things easy for developers so that can just get it done !!!
I now eat, drink, live and breathe C# (although a lot of the web stuff involves javascript). To me i will always see Java as a better C++ and C# as better java.Java was a great implementation of OOP and they did it a decade earlier than Microsoft. But with all that real world experience to guide them, Microsoft has now done one that is even better. I must however admit that both languages suffer from what Steve Yegge describes as Execution in the Kingdom of Nouns and you end up with code like
For the lack of a war, new ServiceExecutionJoinPoint( DistributedQueryAnalyzer.forwardQueryResult( NotificationSchemaManager.getAbstractSchemaMapper( new PublishSubscribeNotificationSchema()).getSchemaProxy(). executePublishSubscribeQueryPlan( NotificationSchema.ALERT, new NotificationSchemaPriority(SchemaPriority.MAX_PRIORITY), new PublisherMessage(MessageFactory.getAbstractMessage( MessageType.WRITTEN, new MessageTransport(MessageTransportType.WOUNDED_SURVIVOR), new MessageSessionDestination( DestinationManager.getNullDestinationForQueryPlan()))), DistributedWarMachine.getPartyRoleManager().getRegisteredParties( PartyRoleManager.PARTY_KING || PartyRoleManager.PARTY_GENERAL || PartyRoleManager.PARTY_AMBASSADOR)).getQueryResult(), PriorityMessageDispatcher.getPriorityDispatchInstance())). waitForService();All for the lack of a horseshoe nail.
Frankly about a year ago i hated javascript and used to debug using alert boxes. I now love the language and the power it gives. Even though it isn't exactly an OOP languages, i have actual seen some outstanding OOP like code written by some co-developers i have come to admire. Besides any web developer worth his salt has got to be competent in javascript. I am yet to get there completely and there is a tinge of spagetti-ness associated with my code, but for now i'm going to sit back on rest of the laurels of my MCAD. MCSD is the next goal, but not for a while, i think.
Posted by Nikhil on Wednesday, 23rd August 2006 in TechnoBabble | Fun | Nonsense