Btw, for those that are interested, enum was added in Java5, the same time they 
added generics. It constituted the 3rd revision to the JLS.

> On Oct 24, 2018, at 11:39 AM, robert engels <reng...@ix.netcom.com> wrote:
> 
> Also, I wouldn’t discount the ‘binary runs with the latest JVM’ doesn’t apply 
> to Go.
> 
> As I pointed out in an earlier email, I think the future of Go is that the 
> shipped binary will be runtime linked against the standard library and 
> runtime. This is by far the easier way to deliver security patches. You will 
> probably pay a performance hit due to lack of inlining, but for a large class 
> of applications this would be a easy trade-off to make to simplify security 
> handling.
> 
>> On Oct 24, 2018, at 11:26 AM, Burak Serdar <bser...@ieee.org> wrote:
>> 
>> On Wed, Oct 24, 2018 at 10:21 AM robert engels <reng...@ix.netcom.com> wrote:
>>> 
>>> I think enum was a reserved word from the beginning - like goto - if not it 
>>> was VERY early on when it was added. Still, the code would of run on the 
>>> latest JVM, it might not of compiled. Outside of that possible case, I 
>>> can’t think of another keyword that has been added - maybe the recent 
>>> addition of ‘var’ - but don’t get me started on what it happening with Java 
>>> now - I think there are very different forces at work than the founding 
>>> principles.
>> 
>> You might be right on the history of "enum", but the point is that any
>> time you add a keyword, something breaks.
>> 
>> The point that old code can run on new JVM is inapplicable in my
>> opinion when comparing Java and Go.
>> 
>> Also, it may not always be a good thing to preserve backward
>> compatibility. Opinions differ on this, but I think generics in Java
>> is a convoluted piece of mess.
>> 
>>> 
>>> On Oct 24, 2018, at 11:12 AM, Burak Serdar <bser...@ieee.org> wrote:
>>> 
>>> On Wed, Oct 24, 2018 at 9:59 AM robert engels <reng...@ix.netcom.com> wrote:
>>> 
>>> 
>>> To this day, you can take a “binary” written for Java 1.0 and it will run 
>>> under the latest JRE. You can compile Java 1.0 source code with the latest 
>>> compiler. This is an amazing accomplishment that can’t be understated.
>>> 
>>> 
>>> That is not exactly true, is it? Any time a new keyword is added to
>>> the language something breaks. They added "enum" at some point, and
>>> all programs using enum as an identifier stopped compiling.
>>> 
>>> 
>>> Over the years, with the benefit of hindsight, many of the Java APIs were 
>>> deemed insufficient, or better designs emerged, and they were deprecated, 
>>> with the warning, "may be removed in a future release”.
>>> 
>>> To my knowledge a deprecated API in the stdlib has never been removed. The 
>>> “deprecation” label is more of a “hey, there are better ways of doing this, 
>>> and you should use them…”.
>>> 
>>> I think Go would be best served by ensuring that any future release is 100% 
>>> backwards compatible with previous releases. This is the number one aspect 
>>> of Java (IMO) that lead to its success - it drastically reduced the 
>>> churn/expense of delivering software. Businesses like this…. Developers 
>>> like this...
>>> 
>>> In the end, if Go can deliver on the cross platform (some of the OS 
>>> specific APIs were a bad choice in some ways IMO, although it is not a deal 
>>> breaker), and the 100% backwards compatibility, I don’t see any reason why 
>>> Go couldn’t become as ubiquitous as Java.
>>> 
>>> I believe in the end there will two languages left standing. Java for 
>>> enterprise apps, and Go for system tools, services, and even OS building. 
>>> It is nearly 2020 - manual memory management is done, dynamic languages are 
>>> done...
>>> 
>>> Even in the browser, I think Google has figured out what Java folks knew 20 
>>> years ago, JS is a mess, and having a VM in the browser is the way to go. 
>>> WebAssembly is the poor mans Java applet. We’re coming full circle…
>>> 
>>> So to sum up, 100% backwards compatibility is a key to Go’s dominance 
>>> moving forward, again IMO )
>>> 
>>> 
>>> 
>>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to golang-nuts+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>> 
>>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to