Re: [The Java Posse] Digest for javaposse@googlegroups.com - 2 updates in 1 topic
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
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?
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?
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?
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?
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
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?
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?
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?
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?
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?
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?
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?
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