Re: [The Java Posse] Digest for javaposse@googlegroups.com - 2 updates in 1 topic

2014-06-11 Thread Joel Neely
Lua is the programming language under the Codea app on the iPad, and has
been used as the language to write games publishable on that platform.

I have Java on my Raspberry Pi, and it runs fine. Obviously I won't be
running a large exposed database on it (due to storage capacity limits) or
doing realtime aerodynamic simulation (due to CPU speed and memory capacity
limits), but those are driven by the provisioning characteristics of my
device and not driven by Java the language.


On Wed, Jun 11, 2014 at 1:13 AM, javaposse@googlegroups.com wrote:

   Today's topic summary

 Group: http://groups.google.com/group/javaposse/topics

- Any thoughts on Swift? #1468990504b95c12_group_thread_0 [2 Updates]

   Any thoughts on Swift?
 http://groups.google.com/group/javaposse/t/41a821cfa9dee858

clay claytonw...@gmail.com Jun 10 04:12PM -0700

On Wednesday, June 4, 2014 11:21:48 AM UTC-5, Josh Berry wrote:
 platform environments, this just never happened. Closest would
actually be
 .net and friends, I believe.

 The Java cross platform model targets Win/Mac/Linux workstations and
it
does that extremely well. It's not just cross platform, but largely
write
once, run anywhere, where same compiled .jar file can run on
Win/Mac/Linux.

What Java doesn't do is target game consoles at all. Technically it's
possible, but it's not a practical reality for end developers at the
moment. Java/JVM-iOS is limited, although lots of games use RoboVM
for
this. And Android uses Java, but the API is completely separate from
other
platforms, so there is no write once type code sharing.

Most high-level languages are extremely cross platform. Lua, for
example,
is extremely cross platform and is often used on top of a C-based game
engine.

Most of .NET's cross platform success is through the Unity game
engine,
which is mostly written in C, but uses Mono/C# for scripting like
other
games use Lua or UnrealScript. They also have MonoGame and tools for
making
Android/iOS apps in C# using largely platform native APIs which
prohibits
any type of write once code sharing.

Many languages like Haskell, usually just compile down to C, so I
don't see
why those would be less cross platform friendly.




Josh Berry tae...@gmail.com Jun 10 10:46PM -0400


 The Java cross platform model targets Win/Mac/Linux workstations
and it
 does that extremely well. It's not just cross platform, but largely
write
 once, run anywhere, where same compiled .jar file can run on
Win/Mac/Linux.

Apologies, I was a definitely too absolute in my claim. I was more just
going on admittedly anecdotal evidence that most truly cross platform
applications that aren't a) ugly, or b) dog slow are not written in
Java
and related languages. I'm definitely open to counters.

But, once you get that list made, compare it to the number of
applications
that are heavily used in many platforms and the language they used.
From
the Kernel, which is on near everything, to browsers. Mozilla is at
least
making a stab with a new language that will compete with C/C++. It
isn't
clear this will win, though.



 Most high-level languages are extremely cross platform. Lua, for
example,
 is extremely cross platform and is often used on top of a C-based
game
 engine.

Lua doesn't try to be the language that you write your application
in,
though. Or does it nowdays? Last I saw, it was picked specifically
because it was easy to embed in a C program.



Many languages like Haskell, usually just compile down to C, so I
don't see
 why those would be less cross platform friendly.

I want to agree with you, but I would prefer evidence. :)


Also, and I apologize if this is basically goal post shifting, but
when I
refer to cross platform, I don't necessarily mean just
linux/mac/windows.
I mean something that can run on the raspberry pi, or aduino, or *any*
phone/tablet/whatever. Obviously, not just any C program can be made to
fit this bill. But, to my knowledge, no Java program can. (Of course,
maybe Angry Birds is all it takes to prove me wrong. Or Scumm games, in
general. :) )






-- 
Beauty of style and harmony and grace and good rhythm depend on simplicity.
- Plato

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


Re: [The Java Posse] Digest for javaposse@googlegroups.com - 2 updates in 1 topic

2014-06-11 Thread Fabrizio Giudici
On Wed, 11 Jun 2014 13:16:24 +0200, Joel Neely joel.ne...@gmail.com  
wrote:



Lua is the programming language under the Codea app on the iPad, and has
been used as the language to write games publishable on that platform.


If I'm not wrong Lua is also used by Adobe Lightroom, for the UI interface.


--
Fabrizio Giudici - Java Architect @ Tidalwave s.a.s.
We make Java work. Everywhere.
http://tidalwave.it/fabrizio/blog - fabrizio.giud...@tidalwave.it

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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread clay


On Tuesday, June 10, 2014 9:47:13 PM UTC-5, Josh Berry wrote:

 Apologies, I was a definitely too absolute in my claim.  I was more just 
 going on admittedly anecdotal evidence that most truly cross platform 
 applications that aren't a) ugly, or b) dog slow are not written in Java 
 and related languages.  I'm definitely open to counters. 

 But, once you get that list made, compare it to the number of applications 
 that are heavily used in many platforms and the language they used.  From 
 the Kernel, which is on near everything, to browsers.  Mozilla is at least 
 making a stab with a new language that will compete with C/C++.  It isn't 
 clear this will win, though.


When you say Java apps are slow, ugly and not heavily used, you are 
talking about apps like web browsers, chat clients, shell terminals, and 
media player apps: Java isn't the best fit for that.

At university, I used lots of Windows only apps like PSpice for simulating 
electric circuits, and CAD desktop apps, and various instrumentation 
desktop applications: they weren't cross platform, and the GUIs were 
extremely ugly, wonky, glitchy. Java would be a better fit if those tools 
were ever rewritten.

I worked for a company that made CAE desktop application software. Their 
GUIs were either Tcl/Tk or based in Windows only C++ MFC and used some 
porting technology: Java would have been radically easier to develop, 
looked better, and ran faster for end users.

IDEs are often the standard example of where Java GUI is an appropriate dev 
tool. They aren't unusually ugly and the slowness is a direct result of 
their functionality, not the GUI technology.

Some guys I work with do graph data analysis, and use many tools including 
a visualization tool called GePhi that is written in Java: it's a very 
appropriate GUI technology. The GUI is nice, pleasant, and responsive, and 
we have people using it flawlessly on Mac/Linux/Windows.
 

 Also, and I apologize if this is basically goal post shifting, but when I 
 refer to cross platform, I don't necessarily mean just linux/mac/windows.  
 I mean something that can run on the raspberry pi, or aduino, or *any* 
 phone/tablet/whatever.  Obviously, not just any C program can be made to 
 fit this bill.  But, to my knowledge, no Java program can.  (Of course, 
 maybe Angry Birds is all it takes to prove me wrong.  Or Scumm games, in 
 general.  :) )


Sure, lots of people want phones, Raspberry Pi, etc beyond workstation OS. 
People do have Java apps including JavaFX running on iPhone and Rasberry 
Pi, although it may not be the best option. People have Java games using 
libgdx running from mostly one source code base on iOS and Android and 
Win/Mac/Linux


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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread clay

On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

 C or Idris, I'll also accept Assembler.

 and Scala's the least bad you can get if otherwise tied to the JVM. :)


I completely understand why you prefer Idris/Haskell over Scala and Scala 
over Java.

But why on Earth would you also prefer C? That seems to go the opposite 
direction and be a big step down from Java?

All the things Scala fixes from Java are broken in C as well: if 
expressions, for/monad comprehensions, focus on immutability, pervasive 
type inference, cleaned up generics, array syntax that is unified with 
generics (Array[Type] rather than Type[]), language level currying and 
partial functions, overridable var/val and ideal property system, singleton 
objects instead of static.

And C/C++ is worse than Java: #define/#include, header files, __declspec, 
library dependency system is a wreck, ABI issues across binaries, hairy 
legacy issues that are far worse than Java, wildly varying implementations 
of the standard, super complex networking/threading/file apis that make 
the Java standard library a work of art. Did you ever use COM/ActiveX? Have 
you ever worked with international strings in C? It's a major pain, it's 
wildly non-standard between different compiler vendors, and makes every 
other language ridiculously elegant in comparison.

Programmers often hate the tool they use for work, because they have to 
deal with lots of legacy code and annoying coworkers with conflicting 
styles. When they use another language/tool on the side, they can do 
everything exactly how they want, so the other tool seems better. If you 
had to deal with large amounts of typical legacy business C code, I expect 
you would appreciate Java a lot more. And if you used Idris for work with 
tons of legacy code and annoying coworkers, it would be better because 
Idris/Haskell are so strict about enforcing certain conventions, but it 
still wouldn't be ideal.

 

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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Josh Berry
On Wed, Jun 11, 2014 at 10:23 AM, clay claytonw...@gmail.com wrote:



 On Tuesday, June 10, 2014 9:47:13 PM UTC-5, Josh Berry wrote:

 Apologies, I was a definitely too absolute in my claim.  I was more just
 going on admittedly anecdotal evidence that most truly cross platform
 applications that aren't a) ugly, or b) dog slow are not written in Java
 and related languages.  I'm definitely open to counters.

 But, once you get that list made, compare it to the number of
 applications that are heavily used in many platforms and the language they
 used.  From the Kernel, which is on near everything, to browsers.  Mozilla
 is at least making a stab with a new language that will compete with
 C/C++.  It isn't clear this will win, though.


 When you say Java apps are slow, ugly and not heavily used, you are
 talking about apps like web browsers, chat clients, shell terminals, and
 media player apps: Java isn't the best fit for that.



Isn't this just restating my point, in some respects?  There are some
niches where Java works really well.  It probably *could* work better than
it gets credit for cross platform development.  Especially in a world of
lots of resources.  However, by and large, it just hasn't.  Any of the
cases that are pointed out are often perfect fits for the exception proves
the rule.



 At university, I used lots of Windows only apps like PSpice for simulating
 electric circuits, and CAD desktop apps, and various instrumentation
 desktop applications: they weren't cross platform, and the GUIs were
 extremely ugly, wonky, glitchy. Java would be a better fit if those tools
 were ever rewritten.

 I worked for a company that made CAE desktop application software. Their
 GUIs were either Tcl/Tk or based in Windows only C++ MFC and used some
 porting technology: Java would have been radically easier to develop,
 looked better, and ran faster for end users.


These are convenient assertions, but again, I would like evidence.
Especially since I've heard nothing but good things for Tcl/Tk.



IDEs are often the standard example of where Java GUI is an appropriate dev
 tool. They aren't unusually ugly and the slowness is a direct result of
 their functionality, not the GUI technology.


IDEs are an interesting bag, though.  Eclipse had to invent their own
toolkit to come  close to making it work.  And, I have not heard anyone
praise any of the main IDEs for looks in a long time.  IDEA comes close,
yet they are almost a definite exception to this rule.  Just as Minecraft
stands up as the definitive (and nearly only) java game worth talking
about.  (There is also the fact that it seems only java IDEs are written in
java.)



 Some guys I work with do graph data analysis, and use many tools including
 a visualization tool called GePhi that is written in Java: it's a very
 appropriate GUI technology. The GUI is nice, pleasant, and responsive, and
 we have people using it flawlessly on Mac/Linux/Windows.



I'll have to take a look.  Sounds nice.



 Also, and I apologize if this is basically goal post shifting, but when I
 refer to cross platform, I don't necessarily mean just linux/mac/windows.
 I mean something that can run on the raspberry pi, or aduino, or *any*
 phone/tablet/whatever.  Obviously, not just any C program can be made to
 fit this bill.  But, to my knowledge, no Java program can.  (Of course,
 maybe Angry Birds is all it takes to prove me wrong.  Or Scumm games, in
 general.  :) )


 Sure, lots of people want phones, Raspberry Pi, etc beyond workstation OS.
 People do have Java apps including JavaFX running on iPhone and Rasberry
 Pi, although it may not be the best option. People have Java games using
 libgdx running from mostly one source code base on iOS and Android and
 Win/Mac/Linux


I am still not seeing much to dissuade me of the believe that Java just
isn't that good for this.   Can it be done?  I mean, obviously in a turing
complete sense of the word, yes.  Does it truly make things easier?  I'm
not convinced.  Evidence seems to show it doesn't.


Don't get me wrong.  I still agree that it *should*.  I'm just saying it
has far from lived up to that promise.  To the point that I don't even see
it touted much anymore.

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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Ricky Clarkson
I'm not saying I agree, but there are reasons.  C works.  You aren't going
to get a compiler segfault, then discover a debugger bug while trying to
debug the compiler, then fix that only to find that your build tool doesn't
work when your path contains spaces, and then find that you can't read MP3
files without an extra library that hasn't been maintained since the big
bang, etc.  If you need to write your own C compiler for any reason, nobody
is going to sue you.

C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby and
probably C# and Java, have all bitten the dust, because it *actually* works
everywhere and is kind of a base on which pretty much everything else can
be built without incurring 'the VM cost', however imaginary or real that
cost may be.

It's also almost one of *the* bases, barring the 100s of special cases it
is a really simple language, kind of fundamental the same way Scheme,
Smalltalk and Forth are (i.e., hard to reduce further without losing real
capability).


On Wed, Jun 11, 2014 at 7:45 AM, clay claytonw...@gmail.com wrote:


 On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

 C or Idris, I'll also accept Assembler.

 and Scala's the least bad you can get if otherwise tied to the JVM. :)


 I completely understand why you prefer Idris/Haskell over Scala and Scala
 over Java.

 But why on Earth would you also prefer C? That seems to go the opposite
 direction and be a big step down from Java?

 All the things Scala fixes from Java are broken in C as well: if
 expressions, for/monad comprehensions, focus on immutability, pervasive
 type inference, cleaned up generics, array syntax that is unified with
 generics (Array[Type] rather than Type[]), language level currying and
 partial functions, overridable var/val and ideal property system, singleton
 objects instead of static.

 And C/C++ is worse than Java: #define/#include, header files, __declspec,
 library dependency system is a wreck, ABI issues across binaries, hairy
 legacy issues that are far worse than Java, wildly varying implementations
 of the standard, super complex networking/threading/file apis that make
 the Java standard library a work of art. Did you ever use COM/ActiveX? Have
 you ever worked with international strings in C? It's a major pain, it's
 wildly non-standard between different compiler vendors, and makes every
 other language ridiculously elegant in comparison.

 Programmers often hate the tool they use for work, because they have to
 deal with lots of legacy code and annoying coworkers with conflicting
 styles. When they use another language/tool on the side, they can do
 everything exactly how they want, so the other tool seems better. If you
 had to deal with large amounts of typical legacy business C code, I expect
 you would appreciate Java a lot more. And if you used Idris for work with
 tons of legacy code and annoying coworkers, it would be better because
 Idris/Haskell are so strict about enforcing certain conventions, but it
 still wouldn't be ideal.



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


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


Re: [The Java Posse] Digest for javaposse@googlegroups.com - 2 updates in 1 topic

2014-06-11 Thread Cédric Beust ♔
LUA is the default scripting language for most video games these days
(including World of Warcraft) because it's trivial to embed, crazy fast and
quite a reasonable language in the C family category.



-- 
Cédric



On Wed, Jun 11, 2014 at 6:56 AM, Fabrizio Giudici 
fabrizio.giud...@tidalwave.it wrote:

 On Wed, 11 Jun 2014 13:16:24 +0200, Joel Neely joel.ne...@gmail.com
 wrote:

  Lua is the programming language under the Codea app on the iPad, and has
 been used as the language to write games publishable on that platform.


 If I'm not wrong Lua is also used by Adobe Lightroom, for the UI interface.


 --
 Fabrizio Giudici - Java Architect @ Tidalwave s.a.s.
 We make Java work. Everywhere.
 http://tidalwave.it/fabrizio/blog - fabrizio.giud...@tidalwave.it


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


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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Fabrizio Giudici

On Wed, 11 Jun 2014 17:25:15 +0200, Josh Berry tae...@gmail.com wrote:


IDEs are an interesting bag, though.  Eclipse had to invent their own
toolkit to come  close to making it work.  And, I have not heard anyone


True, but this happened ages ago. In the meantime, native Java UIs are ok  
today.


But weren't we talking about a *language*?

--
Fabrizio Giudici - Java Architect @ Tidalwave s.a.s.
We make Java work. Everywhere.
http://tidalwave.it/fabrizio/blog - fabrizio.giud...@tidalwave.it

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


Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread clay
Your reasons for preferring C are stability and long term longevity? 

Are those factors really that important? If a language only lasts 40 years 
rather than 100 or 1000 years, do you actually care? Like in a roaches will 
outlast human kind sort of way? Is stability the big thing holding you back 
from Java or C#? For all the legitimate gripes about Java/C#, basic 
stability and compiler crashes generally are not among them.

Secondly, that isn't consistent with your preference of Scala on the JVM 
and Idris off the JVM. I find it hard to believe that Scala+Idris have 
better stability than Java and will be around longer than Java. I prefer 
Scala over Java for the advanced elegance, conciseness, and expression, but 
IMO, Scala has been a buggier language than Java, it's less serious about 
backward compatibility, and it probably won't last as many decades into the 
future as a legacy technology as Java will.

Other tools might not have the VM cost, but they all have some 
performance profile that can be quantified and logically compared. Java 
often does fairly well in those tests.


On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

 I'm not saying I agree, but there are reasons.  C works.  You aren't going 
 to get a compiler segfault, then discover a debugger bug while trying to 
 debug the compiler, then fix that only to find that your build tool doesn't 
 work when your path contains spaces, and then find that you can't read MP3 
 files without an extra library that hasn't been maintained since the big 
 bang, etc.  If you need to write your own C compiler for any reason, nobody 
 is going to sue you.

 C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby and 
 probably C# and Java, have all bitten the dust, because it *actually* works 
 everywhere and is kind of a base on which pretty much everything else can 
 be built without incurring 'the VM cost', however imaginary or real that 
 cost may be.

 It's also almost one of *the* bases, barring the 100s of special cases it 
 is a really simple language, kind of fundamental the same way Scheme, 
 Smalltalk and Forth are (i.e., hard to reduce further without losing real 
 capability).


 On Wed, Jun 11, 2014 at 7:45 AM, clay clayt...@gmail.com javascript: 
 wrote:


 On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

 C or Idris, I'll also accept Assembler.

 and Scala's the least bad you can get if otherwise tied to the JVM. :)


 I completely understand why you prefer Idris/Haskell over Scala and Scala 
 over Java.

 But why on Earth would you also prefer C? That seems to go the opposite 
 direction and be a big step down from Java?

 All the things Scala fixes from Java are broken in C as well: if 
 expressions, for/monad comprehensions, focus on immutability, pervasive 
 type inference, cleaned up generics, array syntax that is unified with 
 generics (Array[Type] rather than Type[]), language level currying and 
 partial functions, overridable var/val and ideal property system, singleton 
 objects instead of static.

 And C/C++ is worse than Java: #define/#include, header files, __declspec, 
 library dependency system is a wreck, ABI issues across binaries, hairy 
 legacy issues that are far worse than Java, wildly varying implementations 
 of the standard, super complex networking/threading/file apis that make 
 the Java standard library a work of art. Did you ever use COM/ActiveX? Have 
 you ever worked with international strings in C? It's a major pain, it's 
 wildly non-standard between different compiler vendors, and makes every 
 other language ridiculously elegant in comparison.

 Programmers often hate the tool they use for work, because they have to 
 deal with lots of legacy code and annoying coworkers with conflicting 
 styles. When they use another language/tool on the side, they can do 
 everything exactly how they want, so the other tool seems better. If you 
 had to deal with large amounts of typical legacy business C code, I expect 
 you would appreciate Java a lot more. And if you used Idris for work with 
 tons of legacy code and annoying coworkers, it would be better because 
 Idris/Haskell are so strict about enforcing certain conventions, but it 
 still wouldn't be ideal.

  

 -- 
 You received this message because you are subscribed to the Google Groups 
 Java Posse group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to javaposse+...@googlegroups.com javascript:.
 To post to this group, send email to java...@googlegroups.com 
 javascript:.
 Visit this group at http://groups.google.com/group/javaposse.
 For more options, visit https://groups.google.com/d/optout.




-- 
You received this message because you are subscribed to the Google Groups Java 
Posse group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to javaposse+unsubscr...@googlegroups.com.
To post to this group, send email to 

Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Ricky Clarkson
Holy moly. I was explaining (my interpretation of) Kevin's assertion that
he'd go for C. I even started with I'm not saying I agree. I don't really
have a strong opinion, but I'm not going to pre-judge a group who has
developed in C for the reasons I gave. C++, sure, I'll pre-judge you if
you're using that. :)


On Wed, Jun 11, 2014 at 12:28 PM, clay claytonw...@gmail.com wrote:

 Your reasons for preferring C are stability and long term longevity?

 Are those factors really that important? If a language only lasts 40 years
 rather than 100 or 1000 years, do you actually care? Like in a roaches will
 outlast human kind sort of way? Is stability the big thing holding you back
 from Java or C#? For all the legitimate gripes about Java/C#, basic
 stability and compiler crashes generally are not among them.

 Secondly, that isn't consistent with your preference of Scala on the JVM
 and Idris off the JVM. I find it hard to believe that Scala+Idris have
 better stability than Java and will be around longer than Java. I prefer
 Scala over Java for the advanced elegance, conciseness, and expression, but
 IMO, Scala has been a buggier language than Java, it's less serious about
 backward compatibility, and it probably won't last as many decades into the
 future as a legacy technology as Java will.

 Other tools might not have the VM cost, but they all have some
 performance profile that can be quantified and logically compared. Java
 often does fairly well in those tests.


 On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

 I'm not saying I agree, but there are reasons.  C works.  You aren't
 going to get a compiler segfault, then discover a debugger bug while trying
 to debug the compiler, then fix that only to find that your build tool
 doesn't work when your path contains spaces, and then find that you can't
 read MP3 files without an extra library that hasn't been maintained since
 the big bang, etc.  If you need to write your own C compiler for any
 reason, nobody is going to sue you.

 C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby and
 probably C# and Java, have all bitten the dust, because it *actually* works
 everywhere and is kind of a base on which pretty much everything else can
 be built without incurring 'the VM cost', however imaginary or real that
 cost may be.

 It's also almost one of *the* bases, barring the 100s of special cases it
 is a really simple language, kind of fundamental the same way Scheme,
 Smalltalk and Forth are (i.e., hard to reduce further without losing real
 capability).


 On Wed, Jun 11, 2014 at 7:45 AM, clay clayt...@gmail.com wrote:


 On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

 C or Idris, I'll also accept Assembler.

 and Scala's the least bad you can get if otherwise tied to the JVM. :)


 I completely understand why you prefer Idris/Haskell over Scala and
 Scala over Java.

 But why on Earth would you also prefer C? That seems to go the opposite
 direction and be a big step down from Java?

 All the things Scala fixes from Java are broken in C as well: if
 expressions, for/monad comprehensions, focus on immutability, pervasive
 type inference, cleaned up generics, array syntax that is unified with
 generics (Array[Type] rather than Type[]), language level currying and
 partial functions, overridable var/val and ideal property system, singleton
 objects instead of static.

 And C/C++ is worse than Java: #define/#include, header files,
 __declspec, library dependency system is a wreck, ABI issues across
 binaries, hairy legacy issues that are far worse than Java, wildly varying
 implementations of the standard, super complex networking/threading/file
 apis that make the Java standard library a work of art. Did you ever use
 COM/ActiveX? Have you ever worked with international strings in C? It's a
 major pain, it's wildly non-standard between different compiler vendors,
 and makes every other language ridiculously elegant in comparison.

 Programmers often hate the tool they use for work, because they have to
 deal with lots of legacy code and annoying coworkers with conflicting
 styles. When they use another language/tool on the side, they can do
 everything exactly how they want, so the other tool seems better. If you
 had to deal with large amounts of typical legacy business C code, I expect
 you would appreciate Java a lot more. And if you used Idris for work with
 tons of legacy code and annoying coworkers, it would be better because
 Idris/Haskell are so strict about enforcing certain conventions, but it
 still wouldn't be ideal.



 --
 You received this message because you are subscribed to the Google
 Groups Java Posse group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to javaposse+...@googlegroups.com.
 To post to this group, send email to java...@googlegroups.com.

 Visit this group at http://groups.google.com/group/javaposse.
 For more options, visit 

Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Jess Holle
C is essentially the recognized, practical high-level portable 
assembler language.  It's the closest thing to assembler that allows 
production of portable source code that has been proven to work for 
developing a huge range of software (drivers, operating systems, 
embedded control, servers, desktop applications, etc...) for a huge 
range of hardware and operating systems.


C is essentially never too big or too slow.  Combined with its huge 
mindshare it seems almost permanently ensconced as the almost bare 
metal tool.  Sure something will likely dethrone it someday -- but I'd 
not bet on that day being soon.


On the other hand, is C truly a high enough language for /effective 
/development of some of the world's biggest applications?  Not really.  
Is it really the most effective tool for developing smaller applications 
that don't really have to be to the metal? Arguably not.  As such C 
will frequently be passed over for many of these sorts of projects (at 
the very least by C++, but often by Java, C#, and a long list of languages).


--
Jess Holle

On 6/11/2014 2:28 PM, clay wrote:

Your reasons for preferring C are stability and long term longevity?

Are those factors really that important? If a language only lasts 40 
years rather than 100 or 1000 years, do you actually care? Like in a 
roaches will outlast human kind sort of way? Is stability the big 
thing holding you back from Java or C#? For all the legitimate gripes 
about Java/C#, basic stability and compiler crashes generally are not 
among them.


Secondly, that isn't consistent with your preference of Scala on the 
JVM and Idris off the JVM. I find it hard to believe that Scala+Idris 
have better stability than Java and will be around longer than Java. I 
prefer Scala over Java for the advanced elegance, conciseness, and 
expression, but IMO, Scala has been a buggier language than Java, it's 
less serious about backward compatibility, and it probably won't last 
as many decades into the future as a legacy technology as Java will.


Other tools might not have the VM cost, but they all have some 
performance profile that can be quantified and logically compared. 
Java often does fairly well in those tests.



On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

I'm not saying I agree, but there are reasons.  C works.  You
aren't going to get a compiler segfault, then discover a debugger
bug while trying to debug the compiler, then fix that only to find
that your build tool doesn't work when your path contains spaces,
and then find that you can't read MP3 files without an extra
library that hasn't been maintained since the big bang, etc.  If
you need to write your own C compiler for any reason, nobody is
going to sue you.

C will still exist when Objective-C, PHP, ASP, VB, Perl, Python,
Ruby and probably C# and Java, have all bitten the dust, because
it *actually* works everywhere and is kind of a base on which
pretty much everything else can be built without incurring 'the VM
cost', however imaginary or real that cost may be.

It's also almost one of *the* bases, barring the 100s of special
cases it is a really simple language, kind of fundamental the same
way Scheme, Smalltalk and Forth are (i.e., hard to reduce further
without losing real capability).


On Wed, Jun 11, 2014 at 7:45 AM, clay clayt...@gmail.com
javascript: wrote:


On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

Nope!

C or Idris, I'll also accept Assembler.

and Scala's the least bad you can get if otherwise tied to
the JVM. :)


I completely understand why you prefer Idris/Haskell over
Scala and Scala over Java.

But why on Earth would you also prefer C? That seems to go the
opposite direction and be a big step down from Java?

All the things Scala fixes from Java are broken in C as well:
if expressions, for/monad comprehensions, focus on
immutability, pervasive type inference, cleaned up generics,
array syntax that is unified with generics (Array[Type] rather
than Type[]), language level currying and partial functions,
overridable var/val and ideal property system, singleton
objects instead of static.

And C/C++ is worse than Java: #define/#include, header files,
__declspec, library dependency system is a wreck, ABI issues
across binaries, hairy legacy issues that are far worse than
Java, wildly varying implementations of the standard, super
complex networking/threading/file apis that make the Java
standard library a work of art. Did you ever use COM/ActiveX?
Have you ever worked with international strings in C? It's a
major pain, it's wildly non-standard between different
compiler vendors, and makes every other language ridiculously
elegant in 

Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Kevin Wright
Yes.  Exactly what Jess said!

With the best will in the world, I'd never even consider writing e.g. a
device driver in Scala.  Nor code for an embedded device with tightly
constrained resources.

C is small, well-defined, and can produce some incredibly tiny executables.
 It focuses tightly on what it does well.

I also like Go for systems work, and Rust - or at least I would if it
settled down a bit more.



Swift is the opposite.  It's very much an applications language.  We played
with it at the Posse roundup today :)

In many ways, it really does look too much like Scala to be mere
coincidence.  We also discovered that:
- The Xcode beta is a *big* download, took us almost an hour
- You must be a paid-up Apple dev to get it
- The lack of flatMap on arrays and Optional is a gross oversight
- We couldn't implement flatMap ourselves either, as it seems you can
extend an Array, but we couldn't find a way to get at the generic type
information
- There's no way to catch exceptions

Overall, it felt (to me) very much like a work-in-progress.



On 11 June 2014 21:29, Jess Holle je...@ptc.com wrote:

  C is essentially the recognized, practical high-level portable
 assembler language.  It's the closest thing to assembler that allows
 production of portable source code that has been proven to work for
 developing a huge range of software (drivers, operating systems, embedded
 control, servers, desktop applications, etc...) for a huge range of
 hardware and operating systems.

 C is essentially never too big or too slow.  Combined with its huge
 mindshare it seems almost permanently ensconced as the almost bare metal
 tool.  Sure something will likely dethrone it someday -- but I'd not bet on
 that day being soon.

 On the other hand, is C truly a high enough language for *effective 
 *development
 of some of the world's biggest applications?  Not really.  Is it really the
 most effective tool for developing smaller applications that don't really
 have to be to the metal?  Arguably not.  As such C will frequently be
 passed over for many of these sorts of projects (at the very least by C++,
 but often by Java, C#, and a long list of languages).

 --
 Jess Holle


 On 6/11/2014 2:28 PM, clay wrote:

  Your reasons for preferring C are stability and long term longevity?

  Are those factors really that important? If a language only lasts 40
 years rather than 100 or 1000 years, do you actually care? Like in a
 roaches will outlast human kind sort of way? Is stability the big thing
 holding you back from Java or C#? For all the legitimate gripes about
 Java/C#, basic stability and compiler crashes generally are not among them.

  Secondly, that isn't consistent with your preference of Scala on the JVM
 and Idris off the JVM. I find it hard to believe that Scala+Idris have
 better stability than Java and will be around longer than Java. I prefer
 Scala over Java for the advanced elegance, conciseness, and expression, but
 IMO, Scala has been a buggier language than Java, it's less serious about
 backward compatibility, and it probably won't last as many decades into the
 future as a legacy technology as Java will.

  Other tools might not have the VM cost, but they all have some
 performance profile that can be quantified and logically compared. Java
 often does fairly well in those tests.


 On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

 I'm not saying I agree, but there are reasons.  C works.  You aren't
 going to get a compiler segfault, then discover a debugger bug while trying
 to debug the compiler, then fix that only to find that your build tool
 doesn't work when your path contains spaces, and then find that you can't
 read MP3 files without an extra library that hasn't been maintained since
 the big bang, etc.  If you need to write your own C compiler for any
 reason, nobody is going to sue you.

  C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby
 and probably C# and Java, have all bitten the dust, because it *actually*
 works everywhere and is kind of a base on which pretty much everything else
 can be built without incurring 'the VM cost', however imaginary or real
 that cost may be.

  It's also almost one of *the* bases, barring the 100s of special cases
 it is a really simple language, kind of fundamental the same way Scheme,
 Smalltalk and Forth are (i.e., hard to reduce further without losing real
 capability).


 On Wed, Jun 11, 2014 at 7:45 AM, clay clayt...@gmail.com wrote:


 On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

  C or Idris, I'll also accept Assembler.

  and Scala's the least bad you can get if otherwise tied to the JVM. :)


   I completely understand why you prefer Idris/Haskell over Scala and
 Scala over Java.

  But why on Earth would you also prefer C? That seems to go the
 opposite direction and be a big step down from Java?

  All the things Scala fixes from Java are broken in C as well: if
 expressions, 

Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Ricky Clarkson
I was looking into xcode 6 last night, the bit about being a paid-up
developer is right, but apparently only while it's in beta.

So Kevin, are you the English guy with the strong regional accent on the
roundups? I can't remember which accent, Newcastle or Cornwall or something.


On Wed, Jun 11, 2014 at 3:12 PM, Kevin Wright kev.lee.wri...@gmail.com
wrote:

 Yes.  Exactly what Jess said!

 With the best will in the world, I'd never even consider writing e.g. a
 device driver in Scala.  Nor code for an embedded device with tightly
 constrained resources.

 C is small, well-defined, and can produce some incredibly tiny
 executables.  It focuses tightly on what it does well.

 I also like Go for systems work, and Rust - or at least I would if it
 settled down a bit more.



 Swift is the opposite.  It's very much an applications language.  We
 played with it at the Posse roundup today :)

 In many ways, it really does look too much like Scala to be mere
 coincidence.  We also discovered that:
 - The Xcode beta is a *big* download, took us almost an hour
 - You must be a paid-up Apple dev to get it
 - The lack of flatMap on arrays and Optional is a gross oversight
 - We couldn't implement flatMap ourselves either, as it seems you can
 extend an Array, but we couldn't find a way to get at the generic type
 information
 - There's no way to catch exceptions

 Overall, it felt (to me) very much like a work-in-progress.



 On 11 June 2014 21:29, Jess Holle je...@ptc.com wrote:

  C is essentially the recognized, practical high-level portable
 assembler language.  It's the closest thing to assembler that allows
 production of portable source code that has been proven to work for
 developing a huge range of software (drivers, operating systems, embedded
 control, servers, desktop applications, etc...) for a huge range of
 hardware and operating systems.

 C is essentially never too big or too slow.  Combined with its huge
 mindshare it seems almost permanently ensconced as the almost bare metal
 tool.  Sure something will likely dethrone it someday -- but I'd not bet on
 that day being soon.

 On the other hand, is C truly a high enough language for *effective 
 *development
 of some of the world's biggest applications?  Not really.  Is it really the
 most effective tool for developing smaller applications that don't really
 have to be to the metal?  Arguably not.  As such C will frequently be
 passed over for many of these sorts of projects (at the very least by C++,
 but often by Java, C#, and a long list of languages).

 --
 Jess Holle


 On 6/11/2014 2:28 PM, clay wrote:

  Your reasons for preferring C are stability and long term longevity?

  Are those factors really that important? If a language only lasts 40
 years rather than 100 or 1000 years, do you actually care? Like in a
 roaches will outlast human kind sort of way? Is stability the big thing
 holding you back from Java or C#? For all the legitimate gripes about
 Java/C#, basic stability and compiler crashes generally are not among them.

  Secondly, that isn't consistent with your preference of Scala on the
 JVM and Idris off the JVM. I find it hard to believe that Scala+Idris have
 better stability than Java and will be around longer than Java. I prefer
 Scala over Java for the advanced elegance, conciseness, and expression, but
 IMO, Scala has been a buggier language than Java, it's less serious about
 backward compatibility, and it probably won't last as many decades into the
 future as a legacy technology as Java will.

  Other tools might not have the VM cost, but they all have some
 performance profile that can be quantified and logically compared. Java
 often does fairly well in those tests.


 On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

 I'm not saying I agree, but there are reasons.  C works.  You aren't
 going to get a compiler segfault, then discover a debugger bug while trying
 to debug the compiler, then fix that only to find that your build tool
 doesn't work when your path contains spaces, and then find that you can't
 read MP3 files without an extra library that hasn't been maintained since
 the big bang, etc.  If you need to write your own C compiler for any
 reason, nobody is going to sue you.

  C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby
 and probably C# and Java, have all bitten the dust, because it *actually*
 works everywhere and is kind of a base on which pretty much everything else
 can be built without incurring 'the VM cost', however imaginary or real
 that cost may be.

  It's also almost one of *the* bases, barring the 100s of special cases
 it is a really simple language, kind of fundamental the same way Scheme,
 Smalltalk and Forth are (i.e., hard to reduce further without losing real
 capability).


 On Wed, Jun 11, 2014 at 7:45 AM, clay clayt...@gmail.com wrote:


 On Friday, June 6, 2014 12:31:34 PM UTC-5, KWright wrote:

 Nope!

  C or Idris, I'll also accept 

Re: [The Java Posse] Any thoughts on Swift?

2014-06-11 Thread Kevin Wright
The English guy you're probably thinking of is Peter Pilgrim. This is my
(and London's) first roundup.

It'll appear on the podcast sooner or later. We have video too!
 On 11 Jun 2014 23:37, Ricky Clarkson ricky.clark...@gmail.com wrote:

 I was looking into xcode 6 last night, the bit about being a paid-up
 developer is right, but apparently only while it's in beta.

 So Kevin, are you the English guy with the strong regional accent on the
 roundups? I can't remember which accent, Newcastle or Cornwall or something.


 On Wed, Jun 11, 2014 at 3:12 PM, Kevin Wright kev.lee.wri...@gmail.com
 wrote:

 Yes.  Exactly what Jess said!

 With the best will in the world, I'd never even consider writing e.g. a
 device driver in Scala.  Nor code for an embedded device with tightly
 constrained resources.

 C is small, well-defined, and can produce some incredibly tiny
 executables.  It focuses tightly on what it does well.

 I also like Go for systems work, and Rust - or at least I would if it
 settled down a bit more.



 Swift is the opposite.  It's very much an applications language.  We
 played with it at the Posse roundup today :)

 In many ways, it really does look too much like Scala to be mere
 coincidence.  We also discovered that:
 - The Xcode beta is a *big* download, took us almost an hour
 - You must be a paid-up Apple dev to get it
 - The lack of flatMap on arrays and Optional is a gross oversight
 - We couldn't implement flatMap ourselves either, as it seems you can
 extend an Array, but we couldn't find a way to get at the generic type
 information
 - There's no way to catch exceptions

 Overall, it felt (to me) very much like a work-in-progress.



 On 11 June 2014 21:29, Jess Holle je...@ptc.com wrote:

  C is essentially the recognized, practical high-level portable
 assembler language.  It's the closest thing to assembler that allows
 production of portable source code that has been proven to work for
 developing a huge range of software (drivers, operating systems, embedded
 control, servers, desktop applications, etc...) for a huge range of
 hardware and operating systems.

 C is essentially never too big or too slow.  Combined with its huge
 mindshare it seems almost permanently ensconced as the almost bare metal
 tool.  Sure something will likely dethrone it someday -- but I'd not bet on
 that day being soon.

 On the other hand, is C truly a high enough language for *effective 
 *development
 of some of the world's biggest applications?  Not really.  Is it really the
 most effective tool for developing smaller applications that don't really
 have to be to the metal?  Arguably not.  As such C will frequently be
 passed over for many of these sorts of projects (at the very least by C++,
 but often by Java, C#, and a long list of languages).

 --
 Jess Holle


 On 6/11/2014 2:28 PM, clay wrote:

  Your reasons for preferring C are stability and long term longevity?

  Are those factors really that important? If a language only lasts 40
 years rather than 100 or 1000 years, do you actually care? Like in a
 roaches will outlast human kind sort of way? Is stability the big thing
 holding you back from Java or C#? For all the legitimate gripes about
 Java/C#, basic stability and compiler crashes generally are not among them.

  Secondly, that isn't consistent with your preference of Scala on the
 JVM and Idris off the JVM. I find it hard to believe that Scala+Idris have
 better stability than Java and will be around longer than Java. I prefer
 Scala over Java for the advanced elegance, conciseness, and expression, but
 IMO, Scala has been a buggier language than Java, it's less serious about
 backward compatibility, and it probably won't last as many decades into the
 future as a legacy technology as Java will.

  Other tools might not have the VM cost, but they all have some
 performance profile that can be quantified and logically compared. Java
 often does fairly well in those tests.


 On Wednesday, June 11, 2014 11:41:38 AM UTC-5, Ricky Clarkson wrote:

 I'm not saying I agree, but there are reasons.  C works.  You aren't
 going to get a compiler segfault, then discover a debugger bug while trying
 to debug the compiler, then fix that only to find that your build tool
 doesn't work when your path contains spaces, and then find that you can't
 read MP3 files without an extra library that hasn't been maintained since
 the big bang, etc.  If you need to write your own C compiler for any
 reason, nobody is going to sue you.

  C will still exist when Objective-C, PHP, ASP, VB, Perl, Python, Ruby
 and probably C# and Java, have all bitten the dust, because it *actually*
 works everywhere and is kind of a base on which pretty much everything else
 can be built without incurring 'the VM cost', however imaginary or real
 that cost may be.

  It's also almost one of *the* bases, barring the 100s of special
 cases it is a really simple language, kind of fundamental the same way
 Scheme, Smalltalk and