Thread overview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
December 04, 2014 Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Attachments:
| It's an argument for Java over Python specifically but a bit more general in reality. This stood out for me: !…other languages like D and Go are too new to bet my work on." http://www.teamten.com/lawrence/writings/java-for-everything.html -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder |
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Thursday, 4 December 2014 at 13:48:04 UTC, Russel Winder via Digitalmars-d wrote: > It's an argument for Java over Python specifically but a bit more general in reality. A fun read, and I see his POV. It is a pity Python does not include some static typing, but I think he undervalues the access to a REPL! I think Swift is being a bit innovative here by having a REPL built into the debugger. Good move, wish I had a project that was suitable for it (but requiring ios8 makes it DOA for now). For speed… I dunno. In the cloud you can run Python on 10 instances with little effort, so 10x faster is often not so important if development is slower. Cloud computing has changed my perception of speed: if you can partition the problem then Python is fast enough for low frequency situations… I think the main benefit of prototype based dynamic languages like javascript is forward-compatibility and mixed type containers. By being able to "patch" the prototype you can make IE9 support new functionality by emulating newer features like "classList"… That's pretty nice. Java on the browser turned out to be a disaster… > This stood out for me: > > > !…other languages like D and Go are too new to bet my work on." I did not find that odd, they are not perceived as stable and proven. Go is still working on finding the right GC solution. |
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Thursday, 4 December 2014 at 13:48:04 UTC, Russel Winder via Digitalmars-d wrote:
> It's an argument for Java over Python specifically but a bit more
> general in reality. This stood out for me:
>
>
> !…other languages like D and Go are too new to bet my work on."
>
>
> http://www.teamten.com/lawrence/writings/java-for-everything.html
I stand by him.
Since 2004, our projects are either pure Java stacks or .NET stacks depending on the customer.
When people compare new languages against Java, .NET and friends they always forget how rich the eco-systems are in terms of tooling.
Go, D and Rust might win over the poor tooling C and C++ developers have, but not over the richness Java and .NET worlds enjoy in application monitoring, IDEs and libraries.
Now with Java and .NET official SDKs supporting AOT compilation, instead of forcing developers to buy commercial AOT compilers, the eco-systems are even better.
This is why, at least on my area of work, enterprise consulting. It is very hard to sell alternatives to the JVM and .NET eco-systems, like D.
It is a world that has left C++ in the mid-2000 and fully embraced GC based languages and their eco-systems.
Being just better than C++ isn't enough.
--
Paulo
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ola Fosheim Grøstad | On Thursday, 4 December 2014 at 14:12:34 UTC, Ola Fosheim Grøstad wrote:
> On Thursday, 4 December 2014 at 13:48:04 UTC, Russel Winder via Digitalmars-d wrote:
>> It's an argument for Java over Python specifically but a bit more general in reality.
>
> A fun read, and I see his POV. It is a pity Python does not include some static typing, but I think he undervalues the access to a REPL! I think Swift is being a bit innovative here by having a REPL built into the debugger. Good move, wish I had a project that was suitable for it (but requiring ios8 makes it DOA for now).
>
> For speed… I dunno. In the cloud you can run Python on 10 instances with little effort, so 10x faster is often not so important if development is slower. Cloud computing has changed my perception of speed: if you can partition the problem then Python is fast enough for low frequency situations…
>
I rather pay for just one instance.
Honestly, I could never see an use for Python outside shell scripting.
And I was an heavy user of it during my stay at CERN, and later companies, for build and test automation.
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | On Thursday, 4 December 2014 at 14:25:52 UTC, Paulo Pinto wrote: > I rather pay for just one instance. That depends. What makes Go and Python attractive on AppEngine is the fast spin up time, you only pay for 15 minutes, and it scales up to 100 instances transparently. With java you need multiple idle instances 24/7 because the spin up is slow. > Honestly, I could never see an use for Python outside shell scripting. Not having static typing is a weakness, but not as bad as I thought it would be when you learn how to deal with it. Dropbox likes Python enough to develop a JIT for it according to this blog: https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/ So I'd say it all depends. |
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ola Fosheim Grøstad | On Thursday, 4 December 2014 at 14:40:10 UTC, Ola Fosheim Grøstad wrote:
> On Thursday, 4 December 2014 at 14:25:52 UTC, Paulo Pinto wrote:
>> I rather pay for just one instance.
>
> That depends. What makes Go and Python attractive on AppEngine is the fast spin up time, you only pay for 15 minutes, and it scales up to 100 instances transparently. With java you need multiple idle instances 24/7 because the spin up is slow.
>
>> Honestly, I could never see an use for Python outside shell scripting.
>
> Not having static typing is a weakness, but not as bad as I thought it would be when you learn how to deal with it.
>
> Dropbox likes Python enough to develop a JIT for it according to this blog:
>
> https://tech.dropbox.com/2014/04/introducing-pyston-an-upcoming-jit-based-python-implementation/
>
> So I'd say it all depends.
PyPy has now 10 year of research spent into it, and it still doesn't support all Python features.
I am aware of Dropbox efforts. Lets see if they go Unladen Swallow direction or not.
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paulo Pinto | On Thursday, 4 December 2014 at 15:04:44 UTC, Paulo Pinto wrote:
> On Thursday, 4 December 2014 at 14:40:10 UTC, Ola Fosheim Grøstad wrote:
>
> PyPy has now 10 year of research spent into it, and it still doesn't support all Python features.
>
Armin Rigo is a smart guy, but well, some things are really a no-way in python.
---
Paolo
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On 12/4/14, 10:47 AM, Russel Winder via Digitalmars-d wrote:
> It's an argument for Java over Python specifically but a bit more
> general in reality. This stood out for me:
>
>
> !…other languages like D and Go are too new to bet my work on."
>
>
> http://www.teamten.com/lawrence/writings/java-for-everything.html
>
Very interesting read. But the world of humans still has time to grow and evolve, and humans always try to do better, you can't stop that.
He says Java is verbose and "so what?". Well, couldn't it be less verbose and still be that good?
Could you be very DRY (Don't Repeat Yourself) in a language that's statically typed, but with good type inference and very good performance, superior to those of VM languages?
Yes, you can. You shouldn't stop there. OK, use Java now, but don't stop there. Try to think of new ideas, new languages. At least as a hobby. If Python makes you happy and Java not, but Java gets the work done, who cares? I don't want to spend my time in the world being unhappy but doing work (which probably isn't for my own utility, and probably isn't for anyone's *real* utility), I'd rather be happy.
Just my 2 cents :-)
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ary Borenszweig | On 12/4/14, 2:11 PM, Ary Borenszweig wrote:
> On 12/4/14, 10:47 AM, Russel Winder via Digitalmars-d wrote:
>> It's an argument for Java over Python specifically but a bit more
>> general in reality. This stood out for me:
>>
>>
>> !…other languages like D and Go are too new to bet my work on."
>>
>>
>> http://www.teamten.com/lawrence/writings/java-for-everything.html
>>
>
> Very interesting read. But the world of humans still has time to grow
> and evolve, and humans always try to do better, you can't stop that.
>
> He says Java is verbose and "so what?". Well, couldn't it be less
> verbose and still be that good?
>
> Could you be very DRY (Don't Repeat Yourself) in a language that's
> statically typed, but with good type inference and very good
> performance, superior to those of VM languages?
>
> Yes, you can. You shouldn't stop there. OK, use Java now, but don't stop
> there. Try to think of new ideas, new languages. At least as a hobby. If
> Python makes you happy and Java not, but Java gets the work done, who
> cares? I don't want to spend my time in the world being unhappy but
> doing work (which probably isn't for my own utility, and probably isn't
> for anyone's *real* utility), I'd rather be happy.
>
> Just my 2 cents :-)
Like, cool, Java helped Twitter improve their search engine. Yes, Twitter has some real value for the humanity.
|
December 04, 2014 Re: Do everything in Java… | ||||
---|---|---|---|---|
| ||||
Posted in reply to Russel Winder | On Thursday, 4 December 2014 at 13:48:04 UTC, Russel Winder via Digitalmars-d wrote:
> It's an argument for Java over Python specifically but a bit more
> general in reality. This stood out for me:
>
>
> !…other languages like D and Go are too new to bet my work on."
>
>
> http://www.teamten.com/lawrence/writings/java-for-everything.html
This crap is told so often it is not even interesting anymore.
|
Copyright © 1999-2021 by the D Language Foundation