News for hackers. Stuff that matters.
Re:Ask HN: Why does the enterprise have such a strong affini... by btilly on Saturday July 26, 2014 @04:43PM (#8090728)
Java was marketed in the 1990s as a cross-platform language that was basically a better version of C++ for use on the web. Of the languages that were associated with the early web, Java was the only one with large corporate support. (Contrast to the then-dominant web language, Perl. And consider that the phrase "open source" had not yet been coined.) First from Sun, and then from other companies like IBM and Oracle that feared an all Microsoft future.

Thanks to the corporate support that went into it, Java built strong ecosystems in a number of areas. The viability of multiple strong corporate supporters made it a safe choice for any enterprise that wanted an option that was tied to the web which wasn't tied to Microsoft. This gave them a base that it never lost.

It is worth noting that Microsoft took note of this competitor, and did their standard "embrace, extend, extinguish" approach. However they got sued by Sun for adding Windows only extensions, and after they lost that, Sun was able to ensure continued consistency.

Random note. Java is far from the first portable cross-platform language to be marketed on that basis. See COBOL.

Random amusing note. While Java was marketed as being cross-platform, it used threading in a way that Solaris was designed for and competing Unix systems were not. I've never considered it coincidence that Solaris wound up soundly beating the other Unix systems in "portable Java benchmarks" and that was when it became the dominant version of Unix.

Re:Ask HN: Why does the enterprise have such a strong affini... by eddieroger on Saturday July 26, 2014 @05:44PM (#8090898)
The impact of corporate support can't be understated. Corporations love to buy support, meaning, have someone they can blame when things go awry, and charge if they're not fixed on time. Usually, it's little more than a security blanket, but that blanket helps the C-levels sleep at night.
Re:Ask HN: Why does the enterprise have such a strong affini... by ryanhuff on Saturday July 26, 2014 @05:56PM (#8090941)
The support aspect isn't about blame. As a corporate customer, I want to know that if I build my operation to depend on a third party product (ERP, etc) that somebody will be there to help in the event that it becomes problematic. In many cases, buying support coverage is much cheaper than having product experts on staff to address unusual but costly issues.
Re:Ask HN: Why does the enterprise have such a strong affini... by Iftheshoefits on Saturday July 26, 2014 @06:36PM (#8091078)
A product that comes with support necessarily implies that when something goes wrong, the product can be blamed and the vendor can be leaned on for "support" to fix it. So while the support aspect itself may not be about blame it is bundled into that line of thought.
Re:Ask HN: Why does the enterprise have such a strong affini... by kyllo on Monday July 28, 2014 @11:49AM (#8097459)
Random note. Java is far from the first portable cross-platform language to be marketed on that basis. See COBOL.

Yes, and that's why COBOL was the last big enterprise language. Java is the new COBOL. A lot of corporations hung onto COBOL through the 80s and early 90s, skipping the C/C++ wave, and going straight to Java.

Re:Ask HN: Why does the enterprise have such a strong affini... by fizwhiz on Saturday July 26, 2014 @05:00PM (#8090785)
>> It is worth noting that Microsoft took note of this competitor, and did their standard "embrace, extend, extinguish" approach

That was gold. Thank you for that.

Based on your answer, seems like there was an extremely close alliance between the big corps (sans MSFT) and the early Java dev team; I'm tempted to think that the creators (Gosling et al) could have taken cues from Java's corporate supporters to factor in designs that help address problems that those companies were facing. This really helps tie in how the Java "ecosystem" came to being because right from the beginning it seems like it was trying to solve "enterprisey" problems. Is that a fair assumption?

Re:Ask HN: Why does the enterprise have such a strong affini... by leoc on Saturday July 26, 2014 @06:53PM (#8091128)
In the really early days of Java, there wasn't: it started out as part of small-team project aimed at embedded systems, then set-top boxes http://www.blinkenlights.com/classiccmp/javaorigin.html . By the time work started on the specification, about 1995-6, Sun was soliciting feedback from a wider base of people http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m... http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m... http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m... . Even by '96 I think everyone was still mostly thinking of Java as a client-side Web and OS-native application language, though: it wasn't until later that it began to be strongly associated with server-side programming and "enterprisiness".
Re:Ask HN: Why does the enterprise have such a strong affini... by btilly on Saturday July 26, 2014 @08:01PM (#8091377)
This is true. But at the point where Java broke out, there were a lot of big businesses behind it.

For instance even though Java 1.0 was released in 1996, IBM got on board in 1995 and by the start of 1997 had contributed good internationalization. (See http://www.icu-project.org/docs/papers/history_of_java_inter... for a reference.) By late 1997 when I became a software developer, there was already a feeling that Java was "the official corporate future of the web". (At least by those who didn't expect Microsoft to take over the world.) But in the meantime would I mind learning Perl and CGI to teach my co-workers how to get small stuff done?

I never looked back. :-)

ADDITION: See http://articles.chicagotribune.com/1998-09-11/news/990112009... for an early timeline. Note the many, many corporate licensees very early in the process.

The truth is that everyone was deathly afraid that Microsoft would destroy the industry. The web was seen as a godsend, and the fact that Java wound up tied to the web by Netscape right at the beginning meant that everyone jumped on Java with the web. By the time the dust settled, you had a ton of big corporations involved, and it was guaranteed at that point that the language would evolve to suit their needs.

Re:Ask HN: Why does the enterprise have such a strong affini... by jtheory on Saturday July 26, 2014 @08:46PM (#8091490)
Yup -- I was taking intro & mid-level CS courses in 1996/7, and they set us up to code in Java (with an IDE called Roaster) as the "wave of the future", and easier to work with than C or C++ (though we used C for some classes).

We were mostly writing applications, applets, and command-line stuff, and my first server-side code was in a long-forgotten CGI-based scripting language, but I seem to recall it wasn't too long after that that ColdFusion was re-written into Java (so that even if you build your site in CF, it was actually executing on Java); that was a pretty strong corporate & technical endorsement.

Re:Ask HN: Why does the enterprise have such a strong affini... by btilly on Saturday July 26, 2014 @05:33PM (#8090876)
I would say that is true. Furthermore the Sun team had the advantage of starting with a group of people who had done extensive work on Smalltalk. This gave them both specific technical advantages, such as state of the art experience in JIT optimization, and the general advantage of starting with better OO design experience than was widely available.
Re:Ask HN: Why does the enterprise have such a strong affini... by adamnemecek on Saturday July 26, 2014 @04:59PM (#8090779)
Can you talk more about Solaris threading and how it was leveraged by the JVM? I'm interested. Or if you have a link.
Re:Ask HN: Why does the enterprise have such a strong affini... by btilly on Saturday July 26, 2014 @05:19PM (#8090840)
Basically Solaris was the first Unix to make it cheap to have lots and lots of threads constantly being spawned and destroyed. But this optimization did them no good with existing C and C++ programs which didn't use the feature. But with Java it did. And even more in the early days when all I/O was blocking so you had no choice about spawning new threads at every turn.

In the defense of competing systems, the POSIX standard for threads was released in 1995 and Java was released in 1996. So they can hardly be blamed for not having optimized for that then uncommon use case. But by the time they fixed that, Solaris had already taken a solid market lead. Which helped Sun become "the dot in dot com".