Analytics

Monday, April 11, 2011

Gavin King unveils Red Hat's Java killer successor: The Ceylon Project

Gavin King of Red Hat/Hibernate/Seam fame recently unveiled the top secret project that he has been working on over the past two years, a new language and SDK designed to replace Java in the enterprise. The project came out of hiding without much fanfare or publicity at QCon Beijing in a keynote titled "The Ceylon Project - the next generation of Java language?". It took a fair amount of Google translate for me to get to the relevant slide decks, (Embedded below) but once I found them, the information was all there in plain English.

According to the slides, the Ceylon Project aims to create a programming language and SDK for business computing, designed with an eye to the successes and failures of the Java. It is built to run on the JVM, uses static typing, and supports high-order functions, while maintaining a strong focus on being easy learn and easy to read.

If you ask, me it sounds like just what the doctor ordered. Java is great, it is an extremely popular, open(ish), robust, readable language that as a ton of superb libraries. However it is burdened by its legacy and cant seem to evolve enough to match the levels productivity and fun seen in more recently developed languages like Groovy, Python and C#, with C# being the most apropos comparison due to its statics typing and enterprise focus.

I've been eagerly waiting on the tech media to devour the details of this controversial effort and spew forth a riveting combination of analysis and hypothesis. Up till now, there has been nothing but crickets chirping so I figured I'd get the ball rolling with a layman's blog post.

 

What I like

  1. The overall vision: learn from Java's mistakes, keep the good, ditch the bad
  2. The focus on readability and ease of learning/use
  3. Static Typing (find errors at compile time, not run time)
  4. No “special” types, everything is an object
  5. Named and Optional parameters (C# 4.0)
  6. Nullable types (C# 2.0)
  7. No need for explicit getter/setters until you are ready for them (C# 3.0)
  8. Type inference via the "local" keyword (C# 3.0 "var")
  9. Sequences (arrays) and their accompanying syntactic sugariness (C# 3.0)
  10. Straight-forward implementation of higher-order functions

Things that may grow on me

  1. The new assignment operator ":="
  2. The new string interpolation syntax
  3. The new types: Natural, Numeric, etc
  4. Classes, Methods and Attributes looking almost identical...can't decide if that is good or bad

Things that make me go hmmm

  1. All the new keywords for existing concepts: shared, satisfies, assign, variable, local
  2. The simplification of the public/protected/private access/visibility levels
  3. The Smalltalk-like syntax for inline functions as parameters

Things I didn't fully get

  1. The Closure and block structure examples had some things that were a little puzzling. e.g. the "name" attribute of type "Name" returns "Name(“Gavin”, “King”)"
  2. Some of the more intricate details of the type system..

While I am still waiting to hear some opinionated analysis from people who study theses things for a living, I am cautiously optimistic about the direction things are headed. I think the Java/Open Source/Programming world needs a language like this. Nevertheless, there are a number of factors that could affect whether or not the project gains momentum.

For one, while a lot of work has clearly gone into the language design, a production ready compiler and SDK a clearly still a ways off. That means that there is still a lot of work left to be done, especially if they plan to try and address the modularity issues that they claim Maven and OSGI have failed to solve. I would also love to see how Ceylon handles integration with existing Java code/libraries...smooth integration/compatibility is key for any pretender to the throne.

Additionally, I don't think Red Hat can do it alone, it is going to take buy in from the Java/Open Source community to really get things going. Google and Apache are two names that spring to mind, but that then immediately raises the question about where Ceylon comes into play in the ongoing power struggle between Oracle, Google and Apache over the rights to use Java without limitation. Could Ceylon become a key piece in the puzzle and spur an influx of supporters? Or will it simply raise Oracle's ire and force IBM to keep its distance?

I for one welcome our new Cylon Ceylon overlords. Its going to be interesting to watch and see how it all plays out.

Update: Gavin has posted a response highlighting two reasons for not reusing one of the many existing languages targeting the JVM (1) A built in solution for "defining user interfaces and structured data using a typesafe, hierarchical syntax" i.e. less dependency on XML (2) "The extremely outdated class libraries that form the Java SE SDK are riddled with problems. Developing a great SDK is a top priority of the project."

Update 2: InfoQ has posted an article which includes a Q&A with Gavin King.

Embedded slides courtesy of  devstonez


Thursday, November 4, 2010

Red Hat set to unveil RHEL 6...but is there more?

Red Hat has announced that their executive team will be hosting a technology webcast on November 10. Chances are they are going to launch (or at least announce) Red Hat Enterprise Linux 6 which reached the Release Candidate stage a couple weeks ago. I am also hoping that they will use the opportunity to lay out a comprehensive vision for what they plan to do with their Virtualization, Identity Management and Systems Management/Monitoring technologies.

There are a number of Red Hat projects out there that sounded great when I first heard about them but have yet to reach their full potential: oVirt, Thincrust, Cobbler, Spacewalk, RHQ and FreeIPA are just a few. None of these individual ideas have been to be integrated into a larger plan and some of them seem to overlap with products like RHEV and MRG.

If combined, these tools could form the basis for a powerful Cloud Computing platform; one that could scale from a modest server room at an SMB to a world class Data Center. All the little pieces are there: virtualization management, appliance OS, provisioning server, systems management/monitoring and identity management, but without a unifying vision and a strong commitment, they are just a bunch of semi-interesting open source projects.

What I find even more concerning is that Red Hat's latest initiatives like Deltacloud and Cloud Foundations, and their complete absence from OpenStack make it seem like they are more interested in creating APIs and technology blueprints than they are in delivering the integrated technology themselves.

I am hoping that this was all just part of the plan, and that they have been patiently waiting on RHEL 6 so that they could use it as the foundation of their new cloud platform. I am hoping that they will finally show us that they did actually have a plan all along. I guess I'll have to wait till November 10 to find out.

Wednesday, January 13, 2010

VMWare: the next big Open Source company?

With the acquisition of Zimbra VMWare has very clearly signaled that it is no longer satisfied to lead the (soon to be commoditized) virtualization infrastructure market, and that it intends to move "up the stack".

Zimbra always seemed like awkward pairing with Yahoo! and I have long wondered who might be a better parent company for them. Sun being the new poster child for Open Source seemed like a potential suitor until they got bought out by Oracle. Red Hat's name is synonymous with Open Source, but their laser-like focus on infrastructure has ruled out many potential acquisitions. VMWare never even crossed my mind, but now that I think about it, this might just be the beginning...

VMWare is clearly interested in making a name for itself outside of virtualization, and what better way to do that than to a acquire a bunch of disruptive, high potential Open Source companies? They already acquired SpringSource (Web/Java application framework/platform) and by extension Hyperic (infrastructure management and monitoring) back in 2009, but compared to those two Zimbra is a much more daring step away from their traditional stomping ground.

So with a new path laid out ahead of them, who else might they acquire? Here are some ideas:

Jive Software - Not strictly an Open Source company but it has strong ties to the community. Jive's main product, Jive SBS is an enterprise collaboration tool used to power internal and external communities (forums, blogs, document sharing, enterprise social networking) for some of the biggest names out there including Nike, Intel and VMWare. Think Sharepoint, but built from the ground up with end-users in mind.

One of Jive's other big products Openfire is an Open Source XMPP based IM/Chat Server that is used by many other products including Zimbra and SBS.

SipXecs - SipX is an Open Source enterprise PBX system that has long lived in the shadow of its (technically inferior, but more feature packed) cousin Asterisk. SipX has come a long way in recent times and its upcoming 4.2 release promises some very interesting features including the ability to use an IMAP server (like say Zimbra) as the primary store for voicemail and specialized integration with Openfire and DimDim. Alas SipX is owned by the not so recently bankrupt Nortel Networks and is future seems uncertain (is Avaya getting them?). It would be great to see them snapped up by a Financially strong, open source friendly company.

DimDim - DimDim's web conferencing software is powered by a number of different Open Source components. While the company seems to periodically (once a year or so) toss code over the wall, I wouldn't go as far as calling them open source (there is no community to speak off). Nevertheless they have developed a very interesting and disruptive piece of software and it would be nice to see additional development resources and a stronger community around the product.

Zimbra, Jive (SBS and Openfire), SipX, and DimDim are all good products on their own, but together they would form a powerful and flexible Unified Communication and Collaboration platform that could rival and even outpace similar offerings from Microsoft and IBM. I have often wondered if any company would have the vision and resources to pull all the pieces together. At one point I hoped it might be Sun or Red Hat; now it is looking more and more like VMWare might be that company.

Saturday, April 4, 2009

jOra, an excellent Oracle Development plugin for Eclipse

My new job has me spending more and more time working with Oracle and PL/SQL. Up until recently, I had been getting by with the functionality provided by the Eclipse Data Tools Platform, but I have been having issues using it more recently.

The other day I came across jOra, an Oracle specific database browser/editor plugin for Eclipse. It is
much more powerful and flexible than the datatools plugin. Unlike datatools, it supports using synonyms for code completion; this is very useful if you need to work with a lot of objects that don't belong to your schema (assuming they have synonyms). Another nice feature is that it lets you bookmark frequently used table/views/procedures so that you can quickly get to them without digging through the schema.

If you use Eclipse and need to work with Oracle and PL/SQL you should check it out.

Wednesday, March 18, 2009

Why I don't want IBM to buy Sun

The grapevine is abuzz with rumors that IBM is offering to acquire Sun for about $6.5 billion. Want to know my opinion? I don't like it one bit. While IBM benefits by having a bigger piece of the server market, the two companies have a lot of overlapping areas and they can't all get priority. AIX or Solaris? Websphere or Glassfish? Eclipse or Netbeans? Power or Sparc? But those clashes aren't the real issues as far as I am concerned. The real issue is that if IBM acquires Sun, innovation will be stifled.

Stifling Innovation

When I say that innovation will be stifled, I am not talking about technical innovation fallout as a result of a culture clash. While there will no doubt be some issues when IBM's east coast, button down, all-business approach meets Sun's west coast, pony-tail wearing, engineer-centric style, that is not the point I am trying to address. The area of innovation I am worried about is that of Sun's open source business strategy.

IBM is not an "open source company"

No one can deny that IBM is a friend to open source. Their backing of Linux has been monumentally beneficial; but when all is said and done, IBM is a proprietary software company. Their software integrates with open source and builds upon open source, but in general it isn't open source. IBM's software strategy is actually more similar to Oracle's than it is to Sun's.

Let the Sun shine

The software world is still experimenting and trying to find the best way to make money with open source. Sun has the potential to lead the charge in a way that Red Hat can't. Sun's CEO has outlined a clear strategic vision for how Sun will make money with open source software:
  1. Software: Selling support and services to those that find free to be a more expensive alternative than commercially supported
  2. Hardware: Disrupting the proprietary Storage and Networking markets by selling compelling, integrated appliances based on general purpose hardware and open source software.
  3. The Network is the computer: Relaunching network.com as cloud computing platform that is:
    • Open: Creative Commons licensed, community reviewed APIs.
    • Enterprise-friendly: lets you create interoperable private clouds in your datacenter based on technology acquired from Q-layer.
    • Developer friendly: integrates with Virtualbox & Netbeans, runs MySQL & Glassfish.
I think this is a winning strategy and I would love to see it work, but I fear it may not survive the take over. Sun's strategy relies very heavily on the fact they have "burned the boats" that carried them away from proprietary software and marched forth into a brave new world of open source. The arrival of IBMs fleet would make all too easy for them return to old, comfortable, proprietary ways.

They say that necessity is the mother of all inventions, looking at Sun's stock price they need to show the world that they have (or can hire) the ability to execute. The recession presents an opportunity for them as CIOs are forced to reevaluate their existing software contracts. Sun has already trimmed down its work-force to make sure that they themselves can survive in the medium term. The only question is whether or not shareholders are patient enough to wait for the results.

Perhaps another suitor

I am not opposed to somebody acquiring Sun, as long as the acquisition doesn't change the current strategy. I have heard Fujitsu mentioned as an possibility; I can't claim to know much about them but Sun and Fujitsu seem to collaborate at a number of levels ranging from sales and support to processor/server design. In Jamaica, Fujitsu is the principal authorized reseller of Sun Servers.

Yahoo! off the table

In spite of the fact that I have been rooting for the merger, I don't see a Yahoo!/Sun deal happening any time soon. Now that IBM has stepped up to the plate, investors would surely scoff at an offer from the wounded internet giant. If Sun and Yahoo! can get their acts together independently I would still like to see at least some kind of collaboration down the line. Sun has stepped up to the plate and made its Infrastructure-as-a-service plans clear. Yahoo! just needs to focus on creating its Software-as-a-Service (starting with Zimbra) and Platform-as-a-Service (built around PHP/MySQL and Hadoop) offerings.

I hope to blog some more about Zimbra and some potential companion products soon. The world needs an open source challenger to go up against Microsoft, Cisco and IBM in the Unified Communications and Collaboration market.

Thursday, March 12, 2009

Sun takes aim at Cisco, moves toward converged datacenter

Sun CEO Jonathan Schwartz has a interesting series of blog posts outlining Sun's major strategic imperatives. In his latest post Schwartz announces (in a casual, offhand manner) that Sun plans to compete directly with Cisco by selling Solaris based routers and networking gear built on general purpose hardware:
"...general purpose microprocessors and operating systems are now fast enough to eliminate the need for special purpose devices. That means you can build a router out of a server - notice you cannot build a server out of a router, try as hard as you like...

...we now build our entire line of storage systems from general purpose server parts, including Solaris and ZFS, our open source file system ... We are planning a similar line of networking platforms, based around the silicon and software you can already find in our portfolio."
Cisco takes aim at Sun
That line about not being able to "build a server out of a router" is probably aimed at California, a highly anticipated project that will see Cisco enter the server market (kinda) by delivering a unified Blade Server/Networking/Virtualization/Storage product in concert with partners like VMWare. Project California is expected to launch on March 16.

It seems like both Cisco and Sun have their minds set on the same thing, owning the datacenter. Sun intends to disrupt the proprietary storage and networking markets using a converged, Solaris based systems approach.

Image courtesy of Sun

Solaris as a networking platform

The idea of running open source networking software on commodity hardware isn't exactly new. Vyatta, whose line of networking products are based on Linux, just released version 5 of their platform this week. However Sun has its own set of tools, and as usual, it thinks they are superior. Crossbow is one of the key underlying technologies that makes Solaris a networking platform. Sun hopes that Crossbow can do for networking what ZFS did for storage. Like ZFS, Crossbow has been under development at Sun for many years. It was deemed mature enough to be merged into OpenSolaris in December of last year.

It is important to note that Sun will not be delivering some loosely coupled set of hardware and open source tools for sysadmins to mix and match. Looking it their current "Open Storage" product line, it is clear that they plan to build tightly integrated purpose specific appliances.

Nevertheless, the underlying components will be commodity servers and open source tools. This means that a tech savvy start-up can take these tools and use them to build their own commercial solutions. This is good for Sun in two ways: (1) It drives their technology into the lower end of the market and creates a migration path to the high-end (2) Sun can focus on selling to its target market while entrepreneurs try out new ideas. If an idea looks promising, Sun can acquire the start-up. The acquisition process is made much smoother by the fact that the company is already using Sun technologies.

Using network.com to eat their own dogfood

Even before the first customer signs up, we can expect Sun to use their own datacenters as the proving ground these technologies. I expect that the relaunched of network.com, Sun's born-again cloud computing initiative, will be the first showcase we see. Interestingly enough it is also scheduled to launch on March 16...sorry, it is actually supposed to launch on March 18.

So who will win?

I think Sun's vision is correct, the datacenter is ripe for convergence and commoditization. I think Sun's potential is great, they have the hardware, the software and the engineers. I think the recession works in their favor, companies now have to seriously reevaluate costs and make sure they are getting value for money.

Unfortunately there are two major issues Sun has to get past. (1) Financially speaking, they are not in the best shape right now, and this strategy is more of a marathon than a sprint. Will investors be patient enough to see the finish line? (2) Sun has a history of having great vision, but failing to execute (*cough* original network.com *cough*). Unfortunately for Sun, Cisco's balance sheet and their ability to execute are two of their greatest strengths.

Wednesday, March 4, 2009

Intel's Xeon "Nehalem" Processor. The Empire Strikes Back.

Intel is set to officially launch their new line of Xeon processors this month. This release is the latest "tock" in Intel's tick-tock development model, and is based on a new microarchitecture code-named Nehalem. Intel has been following the tick-tock model (refine existing architecture one year/create new architecture the next year) for the last few years so technically this release shouldn't be big news, but based on all the buzz being generated, it looks like this going to be a really loud tock. Both Sun and RedHat have specifically mention Nehalem support in their latest release: OpenSolaris 2008.11 and RHEL 5.3. Citrix and VMware have also voiced support.

Image courtesy of Apple

Intel vs AMD

Since the launch of AMD's Opteron line in 2003, Intel has struggled to regain performance leadership in the server CPU market. The two have fought back and forth feverishly, and while Intel has still managed to (controversially) dominate in terms of market share and profitability, the performance question has been a topic of much debate. With the launch of the Nehalem microarchitecture Intel is seeking to definitively reclaim its crown.

Features

To the careful observer many the Nehalem's "new" features don't seem very new at all. Most of them are features that AMD implemented several years ago.

Multi-core, Single die - The Nehalem Xeons will sport 4 (Xeon EP) or 8 (Xeon EX) cores, all on a single die. Previous quad-core Xeon processors had two pair of cores on separate dies, which meant that some cached data had to travel outside the processor to get from core to core. The new architecture is more efficient. AMD has being using this approach all along.

Integrated Memory Controller - Rather than connecting system memory to a processor through a separate I/O controller, the Nehalem features an integrated memory controller. This means faster access to data stored in memory, and significantly reduced latency. This was one of the AMD's major features when it launched the Opteron...six years ago.

QuickPath Interconnect - In multiprocessor configurations, QuickPath acts as a high-speed interconnect between processors (and each processors memory bank). With the introduction of QuickPath, Xeons can now take advantage of Non-Uniform Memory Access which allows them to scale better as the number of processors increases. QuickPath also acts as the transport for connecting the processors to the motheboard's Southtbridge or IO Hub. AMD calls this HyperTransport.

Hyper-threading - Now here is something they didn't copy from AMD; nevertheless it isn't exactly new either. Hyper-threading allows two threads to run simultaneously on each core. So an 4-core Xeon-EP presents 8 virtual cores to an operating system. This is an Intel technology that made its debut with the Pentium 4, but was since shelved. Looks like it is back and performing better than ever.

Virtulaization - The Nehalem introduces two important virtualization features, Extended Page Tables, which significanlty reduces the overhead involved in virtualizing memory access. (AMD calls this nested page tables and has support in its newer processors) and VT-d, which allows virtual machines to be given direct access to physical devices ( AMD calls this IOMMU and expects to have support by 2H 2009). Technically this is actually a motherboard chipset feature.

The Numbers

Now that Intel and AMD seem to be reaching feature parity in terms of their overall chip architectures we will probably see even more fierce competition. But if Intel is basically just playing catch up to AMD in terms of architecture, what is the big deal? In one word, performance.

While Nehalem desktop chip (Core i7) performance improvements are in the 15-20% range, on the server it is whole different story. This HP/SAP benchmark shows the Xeon Nehalem beating its predecessor by about 100%.

Here is what Red Hat had to say:
"In internal testing, the Red Hat Engineering Performance Group has measured exceptional gains with the new Nehalem processors, with unaudited results showing gains of 1.7x for commercial applications and gains up to 3.5x for high-performance technical computing applications compared to the previous generation of Intel processors."
Apple got the jump on the big server vendors and announced on Tuesday that it is shipping Nehalem Xeons in the Mac Pro workstation line. Here are their numbers:
"The result is fast access to cache data and greater application performance. Combine that with the other technological advances and you get a Mac Pro that’s up to 1.9x faster than the previous generation."

"The integrated memory controller, along with fast 1066MHz DDR3 ECC SDRAM, also gives Mac Pro up to a 2.4x increase in memory bandwidth over previous generations."
AMD should benefit for some of the software optimization being made for the Nehalem, but come the end of March it looks like Intel will have a clear all-around lead for the first time in a long time.

The Empire has struck back, and it only has one question for AMD. Who's your daddy now?