Hi,

On Wed, Apr 23, 2014 at 6:17 PM, Charles Belhumeur
<[email protected]> wrote:
>
> Experience has given me a preference for low-level machine compilable
> languages Assembler and like the various flavors of C.

Most other popular language implementations are written in C. (Usually
it's loosely C99 + POSIX + extensions, due to heavy *nix bias. Well,
you've gotta start somewhere.) From that alone, you could say, "C is
good enough for everything". Or you could say, "It's so weak, it has
to be extended." The simple truth is that everybody's needs are
different.

But in particular, most people aren't developers, and most OSes don't
come with any compilers (installed) by default. Thus, for simple tasks
(that aren't speed intensive), you're usually given some kind of
interpreter, e.g. sh or awk or bc or rexx or qbasic or cmd or
powershell or similar. After all, there's no advantage to writing
tedious boilerplate just to calculate a few numbers or manipulate a
text file or run several programs in batch style.

> I don't like languages like JAVA that ride a non-machine specific protocol
> and ride atop emulators or interpreters on top a browser on top an OS on top
> sophisticated hardware.

They say the JVM was inspired by Pascal p-code. It's meant to be
portable. You compile once, and then all you need is to port the
interpreter in order to run anywhere. If you make the interpreter fast
(or have a JIT), then speed won't be an issue. And BTW, I think the
Hotspot VM is written in C++. It's really not much different from a
compiler that internally translates to intermediate code before making
that into machine-specific code to run natively.

Of course going directly to machine code is maybe faster overall, but
machine code is not portable. (Granted, portability is a ruse, almost
nobody even pretends to care about lesser OSes and arches, only the
billion-dollar platforms, which IMO defeats the point.)

> They tend to be problematic, flaky, because
> you don't know what all the routines you ride are doing or if they're
> reliable across all implementations.

I don't grok Java, but even I know that there are many VMs and many
different compilers. No, by default, you don't know how reliable they
all are. Everything has bugs (or limitations or design flaws), that's
unavoidable. All you can do is try to minimize it. Many language
implementations succeed at this, but others fail.

IMO, I find it's best to have a clear specification for the language
and a decent test suite. Java has both, IIRC. So, as long as those
stay consistent with your implementation, you have at least some
reassurance about how it will function.

> And the hit in performance you take riding on top all those routines
> written by wankers really sucks compared to what you get from machine
> specific compiled code.  I spend enough time looking the hourglass
> waiting for JAVA scripts to run as it is.  I don't want to add to this
> wank'in time wasting practice.

I'll admit that a modern web browser is probably 100x too complicated
for its own good. What started out simple became a horrible behemoth.
I don't think Javascript is necessarily the best choice for heavy-duty
apps, but that's just my opinion (and luckily nobody cares what I
think). But even Javascript often has a JIT these days. I too would
rather just run something offline on my desktop than through a
browser. But I guess there are some things you can't do without
Javascript (and some environments where that is the most obvious
target).

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to