Red Hat Gives Ceylon To The Eclipse Foundation (eclipse.org)
An anonymous reader writes:
Some media outlets called Ceylon an attempted "Java killer" when Gavin King first unveiled his secret two-year development project in 2011. In 2013 Red Hat finally released version 1.0 of the modern, modular statically-typed programming language for the Java and JavaScript virtual machines. After another four years, "Ceylon has a small but very active and enthusiastic community of developers and users, and indeed is the fruit of the hard work of a large number of contributors over the years," says a project proposal page at Eclipse.org seeking "to further grow our community... a key strategy to achieve that would be to move Ceylon from Red Hat to a vendor-neutral foundation."
That project has now been approved, and the "Eclipse Ceylon" project has been created. It includes the Ceylon distribution and its SDK, plus the Java2Ceylon converter and the Ceylon Herd project's server (and related services) for Ceylon module sharing. There's also three IDEs (and their code-formatting and functionality-sharing modules).
Back in 2011 InfoWorld predicted that instead of becoming a Java killer, "it is more likely Ceylon will join a growing list of new languages resting atop the JVM, while the Java language and platform will continue on as staples of enterprise computing."
That project has now been approved, and the "Eclipse Ceylon" project has been created. It includes the Ceylon distribution and its SDK, plus the Java2Ceylon converter and the Ceylon Herd project's server (and related services) for Ceylon module sharing. There's also three IDEs (and their code-formatting and functionality-sharing modules).
Back in 2011 InfoWorld predicted that instead of becoming a Java killer, "it is more likely Ceylon will join a growing list of new languages resting atop the JVM, while the Java language and platform will continue on as staples of enterprise computing."
Whenever something JavaScript-related pops up on Slashdot, no one has ever heard of it.
Java 8 addressed most of the bullshit those language were all trying to provide anyways. That's why it's stupid to waste years making some Java replacement on the JVM since by the time you finish the next Java version will be out and make your whole shit pointless. Hey, let's make a whole new language because Java doesn't have this One Thing. Oh crap, Java N+1 now has that One Thing, shit.
This situation raises a good point: what's the fallback plan for Rust, when it comes a time when Mozilla can't or won't support it any longer? Will it be given to the Apache Foundation, for example, and left to rot? Will the community even be able to sustain it? Will individuals and companies that used it be screwed?
Since almost 20 years, there are so much "Java Killer" touted languages that died and other that are dead-alive experiencing NDE. Meanwhile, Java is still there and kicking ... even though Oracle is doing so much little for it, even though Google tried to escape from it several time. Obviously, people do not use Java like 5 years before, as the app fundations has evolved ... but evolution means you are alive.
Sure there are better features in this or that languages, but aside TypeScript I see little competition for yet another 5 years.
Btw, Oracle did not even noticed something called IoT that Java was suited, for instance by repackaging JavaCard & J2ME ecosystem and bringing direct I/O API.
Ceylon was nice, but it has "no killer" feature. I've never seen anybody outside a lab test case pushed Ceylon (outside Red Hat of course !).
R.I.P. Ceylon ...
My language will have 0 questions on Stackoverflow, because everything will be so intuitive and the documentation will be so excellent that there will be no need for even a novice to ask for help.
“Common sense is not so common.” — Voltaire
You mention languages as being hyped and then mention that people want other languages and give a list of more hyped languages.
People don't use Swift or Go or Rust, nobody uses it as a serious alternative to the established C/C++, Java. People by and large don't even want to use Python/C# if they were starting from scratch.
Custom electronics and digital signage for your business: www.evcircuits.com
Kind of like Microsoft's embrace-extend-extinguish, I think the Linux community has made a big mistake to give Red Hat that much control with Systemd.
Actually Microsoft has done an IBM like about face with open source and standards. I dare say they're even not evil anymore as they lost to Android and open standards from what I see so far.
Oracle and Redhat have done most damage. I hate Java now which I was a fan last decade. Sun ruined it and Oracle made a pact with the devil.
Who favors copyrighting whole freaking APIs? Oracle. Who has sued open source developers? Oracle. Who buys and forks things like MySQL? Oracle. Who changes standards? Redhat. Who makes things unpredictable when changing standards? Redhat.
Now who has opensourced proprietary APIs like .NET core? Microsoft. Who contributes to Freebsd and Linux for their VMs and adds provisioning for them in their cloud? Microsoft. Who has made their once proprietary development software and added Android vm and iOS support? Microsoft.
I think in 2017 we can safely say changing and extinguish standards is not Microsoft but Oracle and Redhat! I am not a fan boy nor work for MS. Just am frustrated and prefer not to live in the past anymore as Java is a could have been
http://saveie6.com/
But does lstlisting support your language in latex?
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Or perhaps Scala (and Rust) both have several orders fewer developers associated with them and consequently many order fewer new developers looking to enter their ranks?
The cesspool just got a check and balance.
"Who favors copyrighting whole freaking APIs? Oracle. "
Who filed an amicus brief in support of them? Microsoft.
https://arstechnica.com/tech-policy/2013/02/microsoft-foresees-chaos-if-google-v-oracle-result-stands/
Sorry to burst your bubble, but they aren't on the side of the angels just yet.
CAPTCHA: absolve
At least in xcode you can upgrade your code, it does a pretty decent job. Or just select the older version of the compiler.
That varies by county and usage.
C/C++ is pretty dead, mainly only used in embedded environments and as system languages for the OS.
Swift obvioulsy is strong on Macs and iOS, I wonder why you miss that.
Rust is growing in the Mozilla world.
Python is very strong in scientific data processing, e.g. climate research (processing in the sense of transforming formats and doing low level aggregations stuff, not in the sense of models)
C# is relatively strong in relation to Java in UK and USA, Germany and France are mainly Java (we actually have a serious lack of C# developers in Germany, because to many historical projects got started in C# when it was "en vogue", but developers hate it. java is so much more superior, well, at least the eco system)
So: yes, in my area you are right, no one wants to use C#. However Python is popular, for scripting in build and deploy environments e.g.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
C/C++ is pretty heavily used for pretty much every interpreted language, most Python libraries are written in C/C++, pretty much every large project (think Apache, Linux, Windows, BSD (including Mac and iOS), Java, SAP, OracleDB, Chrome, etc. - every engine of sorts, from browsers to games are written in C or C++.
Swift has grown but is not nearly as ubiquitous as Apple makes it out to be, you can't replace 30 years of work in barely half a decade. Many frameworks are still either Objective-C and I find an astonishing amount of work is still being done in C/C++ even for "iOS apps" but even on Mac, you can't get away from a C-variant.
Rust is Mozilla, that's it, because their programmers suck at writing decent software (all Mozilla software has suffered from bloat, plugins and feature creep) they think creating YASL is going to help. But it suffers from a combination of the problems of Mozilla software and the problems any other safe language has. It's not performant, it's bloated and it's trying to do way too much (similar to Firefox/Thunderbird) to be a healthy language.
I also noted the difference between some European countries and the US. Belgium/Netherlands is also more Microsoft-geared. The problem with C# is not the C# language, which would be fine standalone (but then why bother) but the fact that Microsoft never bothered porting the "standard libraries" most C# environments have to Linux, BSD and the like. For most things, C# stuff works only on Windows and some of it works with Mono on Mac/Linux but then you once again run into the problems of Safe Languages (Bloated and Slow).
I work in research, Python is indeed used to wire up something quick or to translate from one system to the other (it has somewhat the same function Perl had 20 years ago) but I also work in HPC, most of what is started written in Python ends up written in C/C++ to be usable and fast, especially for multi-threading or parallel tasking, e.g.. to use on GPU or supercomputer compute nodes.
Custom electronics and digital signage for your business: www.evcircuits.com
The JVM was far less efficient in 2000 and few dozen MB of RAM overhead for a program running on it was a big cost. Today the JVM performance is excellent and the memory and startup overhead is insignificant. I'm typing this from a computer that's seven years old, and the JVM "Hello World" starts in 115 ms, vs. 15ms in the same hardware on C.
I think Ceylon will fade into oblivion just because it's so late to the space. I like the language features, I think it could be a better Kotlin.
Nonsense. Even with Java 8 the Java language is years behind Scala/Kotlin/Ceylon.
/, etc... instead of Java's .add, .subtract, etc....
1. If you want to make a Java class with 6 different fields that are set in the constructor and then final, with idiomatic Java syntax that's 16 lines of code. If you follow Java convention and make getters for the 6 fields you're up to 34. Scala, Kotlin, and Ceylon have things like a Scala case class or equivalent to handle it one line.
2. Java 8 does better with language literals for constructing lists, sets, and maps. But it still doesn't have the convenience of val nums: List[Int] = List(1, 2, 3, 4) in Scala or equivalent in others.
3. Java doesn't have convenient constructor overloading and default constructor or function input parameters. If you want to call a function that has 3 different optional inputs in any combination in Java, you either have to do lots of foo(null, null, null), foo(x, null, null), foo(null, y, z), foo(x, null, z), etc... or declare eight different versions of the function. Scala/Kotlin/Ceylon have default parameters, so you declare one function and still never pass in nulls.
4. Java if statements don't return anything. Scala and Kotlin (and Ceylon?) have if statements return a value, so that instead of using the ternary operator you can do y = if (x > 7) "bigger than 7" else "less than 7".
5. Java doesn't allow operator overloading. Scala goes berserk with it (I'm not a fan). Kotlin and Ceylon allow limited operator overloading in places where it makes sense. In both languages you can make a class that holds, say, imaginary numbers (1 + 3i) and then use operator overloading to manipulate them with regular +, -,
6. Java still has checked exceptions that must be declared and thrown in code that uses a lot of the older standard library. Scala, Kotlin, and Ceylon let you use try/catch when it's appropriate but doesn't force you to declare or catch checked exceptions.
So Java is in a constant game of catch-up with these languages, and even with the improvements in 8 and 9 it's still nowhere near as clean and straightforward to use as these three.
They're the "angels" who are suing every Androind phone manufacturer and people using FAT32 in their products.
MS has only open sourced server-related stuff and integrated Linux stuff so you rent servers on Azure. Not because they're OSS-friendly (they're NOT!) but because it's gonna make them lots of money, and that this cloud thing is their new main revenue source.
It sure looks like they got you fooled...
Damn, you've found the one weakness in my language. I guess I'll have to scrap the whole thing and start over, oh well, what's yet another programming language on the pile?
“Common sense is not so common.” — Voltaire
I can see that Mozilla is getting better at writing programs... Firefox now takes up only 1.2GB of RAM.
Custom electronics and digital signage for your business: www.evcircuits.com
Start up time is just about the worst metric the previous poster could have used to illustrate their point. Once the VM is up an running, in many cases Java is almost as fast as C [1]. I don't know how much storage a Java installation uses or how much memory the VM hogs, but people are bundling browsers and Javascript frameworks together in to 100+ MB text editors these days. I imagine Java is relatively svelte compared to a few of those types of apps installed on a modern computer. It is definitely slower and more bloated than a C program, but I think in proportion to the resources we have today it's close enough for most purposes.
[1] http://benchmarksgame.alioth.debian.org/u64q/java.html
> Actually Microsoft has done an IBM like about face with open source and standards. I dare say they're even not evil anymore [...]
Microsoft is as evil these days as it ever was.
- Who issued developer tools which injected telemetry into binaries, phoning home *to Microsoft*?
- Who is pushing hard through lobby groups to lure schools into Tah Cloud?
- Who is earning through every sale of Android, without having contributed anything to it?
This to name but a few of their latest shenanigans. If you let me go a bit back in history...
Now that doesn't mean the others are angels: all of them biggies base their business model in being monopolists and holding the "users" (rather "wares") captive, and that's why I detest them all.
I think this is precisely the reason for Red Hat to hand Ceylon over to the Eclipse Foundation. Ceylon and Kotlin are the two biggest competitors in that sweet spot of "nicer Java". Kotlin becoming the quasi-standard for Android development is a huge blow to Ceylon. I'm just not sure if Red Hat handing the torch to the EF means they are hoping it will give the language some momentum, or if it means they are conceding defeat and dropping it, letting someone else clean up the pieces.
I guess it's a bit of both.
Actually C# (which name does not sound like it is written ... unless you don't know how a sharp sign is written), was only a reaction to the story known as "RNI vs JNI battle". Sun had a native interface designed called JNI that is way too much complex. And MS decided to make something much more straightforward: RNI. This approach led to the JDirect way and was reused for the PInvoke grounds of .net was a much more easy way to call existing code. MS evey pushed a whole library name Windows Foundation Classes (WFC) which were actually there by default and would let you call all the Direct API to interract with Windows.
MS tried to push Sun to accept RNI/JDirect as another way ... but Sun feared balkanization of Java in an "embrace an extend" known strategy from MS. When MS failed to convinced them, they did the more that could to prevent Java to enter in ISO and ECMA standard body (lobying thru known member or country representatives). At a given point of time, they just decided to build their own improved clone solution getting rid at the same time of the DNA, MFC & al stacks ... which could be still used in the "unmanaged" scenario but were no more "gout du jour" de facto.
Actually, Java and .net only were competitors at the very beggining of .net when it was IBM stack (WAS+WSAD) vs MS ... once Eclipse was pushed in a smartmove against Sun (hence the name), game was over : full opensource & free stack on oneside ... the only option for MS was to try to follow. But remember where MS was gaining money from at that time ? Windows ! Now, the goal is to move to Azure only as a milking cow ... .net is of no use in that strategy if you compare it to Windows Linux Subsystem. with WSL, you simply run Linux (yes JVM included) directly ! Hence, they can provide direct linux container support.
Since about 15years, I've seen no C# running in production outside a Windows host and nobody to MS zealot to even push the idea such an architecture has any point toward the competition. Noting, that at this time we are in a NodeJS trend, that is sucking most of the PHPs ... .net only remain because of the MS ecosystem (tools & solution like sharepoint) and the customer legacies. I don't see quite often new .net application. None of them are public sites. Only internal sites/backend ...
Embrace and extend again ?
What did Red Hat use Ceylon for? As far as I know nothing. I thought they developed it to use it in JBoss (among other things). You cant pretend people to adopt something you dont even use. At least Mozilla is using Rust in Firefox.
Yeah - what's the point of having 16GB of RAM if applications are going to use it? I want my browser to use as little RAM as possible so that when I flick to an old tab it doesn't have it cached, it has to fetch and re-render the whole thing.
It's not 8 times slower. It takes 100 ms extra to start, and then runs almost as quickly as C.
Check out the Great Computer Language Shootout Game, or the Techempower framework benchmarks.
You mention languages as being hyped and then mention that people want other languages and give a list of more hyped languages.
People don't use Swift or Go or Rust, nobody uses it as a serious alternative to the established C/C++, Java. People by and large don't even want to use Python/C# if they were starting from scratch.
Dude, people are moving away from Objective-C to Swift for new development in the iPhone area, and Kotlyn has some serious usage in Android. I'm in South Florida, not a hot market like the Bay Area, and here I'm seeing large companies using Go for platform development.
I don't see people moving away from Java on the enterprise, nor C/C++ in systems programming. But there are other areas where some (not all) new languages are seeing heavy use.
You're right, and I'm sorry I didn't make that clearer. The extra 100ms was for the JVM startup, and the actual execution speed of Java is very fast.
If you want to see a good illustration of Java's speed, look at the Techempower benchmarks. In some cases Java still has the performance lead over C++. Only in one or two benchmarks does C++ have a substantial lead, and even then it's not even a 2x advantage.
If you work at a place that puts a lot of stock in KLOC metrics, you have bigger problems than deciding what JVM language to use.
If all other things are equal between two languages, a developer will be more productive in the one that lets them accomplish more in fewer LOC without sacrificing readability. So just to be crystal clear, I'm not advocating you compare, say, idiomatic Java with obfuscated Perl that uses every Perl 5 implicit variable abbreviation trick in the book. That Perl may do twenty times as much per line, but good luck maintaining it. (I'm not knocking Perl. Well-written Perl is excellent. We use it for a lot of tasks at work. But that's because everyone working on it is far too smart to show off how clever they are by writing unmaintainable, unreadable abbreviated junk.) But for any Java program much more than a hundred lines wrong you can write a Kotlin/Ceylon/Scala equivalent with the same logic that's 50-90% shorter.
JetBrains is a Russian Company. How long before they are side-lined like Kapersky? What will that mean for Kotlin adoption/support? I guarantee you you will not be able to use Kotlin on any government project.
Whenever a new thing happens, small or big, "media outlets" will call it InsertBrandHere-KILLER because... clickbait.
I know. mathchat and PILOT lost out to the same deficiency.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
That's either:
import java.util.List;
import java.util.Arrays; (or equivalently but not recommended, import java.util.*;)
List<Integer> nums = Arrays.asList(1,2,3,4);
or
java.util.List<Integer> nums = java.util.Arrays.asList(1,2,3,4);
Most other languages have literal syntax for lists, sets, etc... by default, and you don't have to waste your time with imports to use data structures that 70% of your source files will include anyway.