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.