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.

Reply via email to