Skip

"Dad? Why do we always use .net?"
June 25, 2010 5:59 PM   Subscribe

Java 4-Ever (safe for work apart from that one bit) - an amusing language centric film trailer made to promote the Scandinavian JavaZone conference.
posted by Artw (25 comments total) 7 users marked this as a favorite

 
As a .net developer I of course consider this freakishly unbalanced propaganda nonsense, but it's pretty funny anyway.

Oh yeah, and they forgot Mono.

(everyone forgets Mono)
posted by Artw at 6:00 PM on June 25, 2010 [3 favorites]


So funny and yet so awkward. The production values were surprisingly good - if it wasn't for the content of the dialogue I'd take it for an actual art-house film trailer.
posted by GuyZero at 6:00 PM on June 25, 2010 [1 favorite]


If it were genuine the music choices would be horrible cliches... so that's realistic too.
posted by Artw at 6:01 PM on June 25, 2010 [1 favorite]


Mono always gets brought up like Hitler's Jewish uncle or something. Like it somehow makes .NET less of a Windows play.

And yes, I did it. Right out of the damn gate. GODWIN. BANG.
posted by GuyZero at 6:02 PM on June 25, 2010 [16 favorites]


This video requires Flash.

I guess an applet just wouldn't do.
posted by 3.2.3 at 6:07 PM on June 25, 2010 [8 favorites]


See, if they were .net developers they'd have an unpopular clienstide technology that actually does video.

Oh! Look that comes in Mono too!
posted by Artw at 6:15 PM on June 25, 2010


An open source project* gets inefficient and unfocused enough to make a movie that looks a lot like a Microsoft internal memo?

* questionable
* okay, mine is guilty too
posted by tmcw at 6:17 PM on June 25, 2010


All of free software has its own song.
posted by mkb at 6:35 PM on June 25, 2010


The "Where do you want to go today?" epitaph was amusing.
posted by A dead Quaker at 6:58 PM on June 25, 2010


Awesome.
posted by joost de vries at 7:37 PM on June 25, 2010


Did anyone else catch that little audio snippet in the background at 1:20?

Also, I'd swear I've heard that VO artist on about 1,000 other trailers.
posted by ZenMasterThis at 7:44 PM on June 25, 2010 [1 favorite]


excellent! If the snippet ZenMasterThis is referring to happened right after the son makes his confession, then yes, I did catch it, and was immediately confused, then amused.
posted by mrgoldenbrown at 7:55 PM on June 25, 2010


Unfortunately, in the sequel, Larry Ellison shows up wearing a hockey mask and no one gets out alive.
posted by CheeseDigestsAll at 8:02 PM on June 25, 2010 [5 favorites]


There's a lot of little jokes that just flash* by without really being thrown in your face, such as it being an Alan Smithee film. You can get away with a slim joke if you just move on quickly enough. Well done, javapeople.

* heh
posted by Kattullus at 8:04 PM on June 25, 2010


An open source project* gets inefficient and unfocused enough to make a movie that looks a lot like a Microsoft internal memo?

* questionable
* okay, mine is guilty too
jjeff rues the day he wrote that jingle. No one realized just how tongue in cheek it was until all the inevitable heated arguments about whether it was jazzy enough started...
posted by verb at 8:22 PM on June 25, 2010


I'm looking forward to this movie, but I suspect I will leave the theater with no sense of real closures.
posted by qxntpqbbbqxl at 9:11 PM on June 25, 2010 [26 favorites]


"We're just looking at porn!"

Unfortunately, in the sequel, Larry Ellison shows up wearing a hockey mask Iron Man costume and no one gets out alive.

FTFY.
posted by delmoi at 9:11 PM on June 25, 2010


'm looking forward to this movie, but I suspect I will leave the theater with no sense of real closures.

I just choked on my cereal you jerk!
posted by pookzilla at 4:40 AM on June 26, 2010


Everyone forgets Mono because, well, it's /Mono/.

It's not so much a dev platform, as a cool name to drop in technical arguments. I'm mean, come on. No one actually uses Mono to deploy real apps people pay for.

Sheesh.
posted by clvrmnky at 5:52 AM on June 26, 2010


Both the CLR and the JVM are very impressive beasts, I can still hate the ecosystems that are built around them while acknowledging that (and .net's iffy platform independence).

My favorite java joke would be RequestProcessorFactoryFactory.RequestSpecificProcessorFactoryFactory except that it's not a joke (via a reddit comment somewhere).
posted by Skorgu at 6:07 AM on June 26, 2010 [8 favorites]


Gold stars to you both, Skorgu and qxntpqbbbqxl.

Skorgu, oh, how I wish that was a joke. Sometimes I feel like the Java team and associated ecosystem takes the Factory pattern just a leeeeetle bit too seriously.
posted by Alterscape at 7:38 AM on June 26, 2010


Er, RequestProcessorFactoryFactory.RequestSpecificProcessorFactoryFactory is Apache, innit? It's not part of any Sun or Java API.

INO, Sun actually doesn't take the factory pattern too seriously in the default JVM API because, well, they know that factories are highly app specific, and will likely be provided by the app developers, not the API. They just provide the raw tools, and sometimes a reference implementation.
posted by clvrmnky at 10:01 AM on June 26, 2010


It's not so much a dev platform, as a cool name to drop in technical arguments. I'm mean, come on. No one actually uses Mono to deploy real apps people pay for.

I use Mono not out of some ideology but because it is cheaper than paying for Windows 2008.

Of course, to non-tech bosses this is really confusing. They assume that since Windows costs money and Linux is free ergo Linux is inferior. Instead of stomping my feet and giving them a nerd side-eye, I've tell them that with Windows you're simply buying a system that is easier to manage. Not exactly true, but it seems to work well. At least when things don't work they don't immediately blame it on not using Windows.

The high reverence towards Windows and Microsoft products is one curiosity I've come into in the business world. The other is how alien Macs are. Whenever I bring my Macbook to a meeting, everyone stares at it like it is some sort of Indian from the New World.
posted by geoff. at 10:49 AM on June 26, 2010


My favorite java joke would be RequestProcessorFactoryFactory.RequestSpecificProcessorFactoryFactory except that it's not a joke

Eh, just because it's a real class doesn't mean the programmer didn't pick a name he thought would be humorous.

Also, Mono, yeah. The thing with .net is that when you develop for it, everything is tightly integrated with Microsoft technology. I have no idea how create a .net project without using the point and click wizard in visual studio. On the other hand I started writing java with notepad and the command line (in fact I would often use MS-DOS edit). I would have no idea how to do a GUI for .net outside of visual studio, although I'm sure it's possible to dynamically generate them. On the other hand, all the GUIs I do in java are done by hand. It's annoying, but I'm not dependent on any GUI designer.

I certainly would have no idea how to actually get my .net projects to actually run on Linux with Mono, on the other hand I've personally never had any problems running my code on different platforms. Not one (the java run-time even converts file paths that use different separators to their correct form)
posted by delmoi at 9:10 PM on June 26, 2010


"...you can tell how happy a society is through their nursery rhymes, and Javaland's are whimsically poetic. For instance, Javaland children oft recite the famous cautionary tale:

For the lack of a nail,
throw new HorseshoeNailNotFoundException("no nails!");

For the lack of a horseshoe,
EquestrianDoctor.getLocalInstance().getHorseDispatcher().shoot();

For the lack of a horse,
RidersGuild.getRiderNotificationSubscriberList().getBroadcaster().run(
new BroadcastMessage(StableFactory.getNullHorseInstance()));

For the lack of a rider,
MessageDeliverySubsystem.getLogger().logDeliveryFailure(
MessageFactory.getAbstractMessageInstance(
new MessageMedium(MessageType.VERBAL),
new MessageTransport(MessageTransportType.MOUNTED_RIDER),
new MessageSessionDestination(BattleManager.getRoutingInfo(
BattleLocation.NEAREST))),
MessageFailureReasonCode.UNKNOWN_RIDER_FAILURE);

For the lack of a message,
((BattleNotificationSender)
BattleResourceMediator.getMediatorInstance().getResource(
BattleParticipant.PROXY_PARTICIPANT,
BattleResource.BATTLE_NOTIFICATION_SENDER)).sendNotification(
((BattleNotificationBuilder)
(BattleResourceMediator.getMediatorInstance().getResource(
BattleOrganizer.getBattleParticipant(Battle.Participant.GOOD_GUYS),
BattleResource.BATTLE_NOTIFICATION_BUILDER))).buildNotification(
BattleOrganizer.getBattleState(BattleResult.BATTLE_LOST),
BattleManager.getChainOfCommand().getCommandChainNotifier()));

For the lack of a battle,
try {
synchronized(BattleInformationRouterLock.getLockInstance()) {
BattleInformationRouterLock.getLockInstance().wait();
}
} catch (InterruptedException ix) {
if (BattleSessionManager.getBattleStatus(
BattleResource.getLocalizedBattleResource(Locale.getDefault()),
BattleContext.createContext(
Kingdom.getMasterBattleCoordinatorInstance(
new TweedleBeetlePuddlePaddleBattle()).populate(
RegionManager.getArmpitProvince(Armpit.LEFTMOST)))) ==
BattleStatus.LOST) {
if (LOGGER.isLoggable(Level.TOTALLY_SCREWED)) {
LOGGER.logScrewage(BattleLogger.createBattleLogMessage(
BattleStatusFormatter.format(BattleStatus.LOST_WAR,
Locale.getDefault())));
}
}
}

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.

It remains wonderful advice, even to this very day."
posted by weston at 9:36 PM on June 26, 2010 [6 favorites]


« Older "'BANZAI!' is what Woodstock would have been...   |   ‘Jiminy is not dead! I heard him chirping!’ Newer »


This thread has been archived and is closed to new comments



Post