![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> Btw, one thing which people seldom take into account when comparing
> languages, is their availability (tools, compilers, IDEs...), ease of use
> (of those tools) and library availability for different platforms.
Simple. It's easy to measure precisely how fast language X can perform a
quicksort, and exactly how many lines of code it takes. (Actually, these
things are significantly *less* easy than you might imagine, but
still...) It's rather harder to precisely and objectively measure how
"portable" something is, how "reliable" it is, "how good the tools are",
and so forth. Difficult to put a number on that.
Indeed, it seems to me the only way to find out this information is to
spend some serious time using the language. Which, obviously, is going
to take some serious time to do.
> There are only two closely related languages which all these significantly
> different platforms have in common: C and C++.
>
> Java gets close, as it was designed from the start to be portable and
> easy to use in a cross-platform way. Except that in this particular case
> it fails because you can't develop Java apps for the iPhone. (Not that the
> iPhone couldn't support it, but because Apple doesn't want to.) The same
> could probably be said of many of the scripting languages (especially those
> designed for web development).
>
> However, basically any other language, especially those fancy ones, and
> you are in a rather hopeless situation. Availability is poor or non-existent,
> and even when there is availability, you often can't create native executables
> and instead have to rely on heavy-duty runtime environments or libraries
> which are very uncommon in those platforms.
Well, depends on what you consider to be "available". I know people have
put Haskell on some pretty strange devices (in some instances by using
cross-compilers, because the target platform can't host the compiler).
But I'm not sure if "Dave did it one time" counts as "available". I
doubt you'd get much *support*, for example. I also doubt it works
flawlessly.
> Also sometimes it doesn't matter how fancy a programming language is,
> if it lacks certain critical libraries and/or features, they are not very
> practical.
Agreed.
I think what it comes down to is using the right tool for the job. If
you're programming a microcontroller for a toaster, you're going to use
assembly (how complicated can a toaster possibly be?), or maybe C. I
rather doubt you'd use C++, but I suppose you could. If you're trying to
process large amounts of structured data, you're probably going to use a
relational database and write your code in SQL. If you're building a
complex website, you can basically write the backend in whatever the
hell you like, because it only needs to run on one PC. And if you're
writing end-user applications... yes, probably C or C++, realistically.
(Although, say, Wings 3D is Erlang or something isn't it?)
Anyway, I tend to write crazy complicated programs where it's a
challenge to even figure out what the algorithm for getting the correct
answer is, never mind how to do that efficiently. Therefore, my language
of choice is Haskell. (I'd also probably make use of Mathematica - you
know, if it didn't cost upwards of 4-figures to use it.)
Of course, measuring the subtle strengths and weaknesses of each
individual language in any kind of objective way is rather hard. So we
get stuck with performance benchmarks. ;-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible <voi### [at] dev null> wrote:
> hell you like, because it only needs to run on one PC. And if you're
> writing end-user applications... yes, probably C or C++, realistically.
I'd say, probably more and more C# these days. Again due to better tools
available for easy money.
I kept thinking that C# is one of those typical Microsoft hypes. But since I
first did put my hands on it, I actually found that I do like it.
Not so much because of the language itself (which is probably about as good or
bad as the newest iterations of C++ or Java), but because of Microsoft's IDE
for it. Feels like they actually designed the language with this in mind.
> (Although, say, Wings 3D is Erlang or something isn't it?)
Yep.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> And objective-C, I thought? Isn't Obj-C what all the Mac stuff is written in
> at the system layer?
I count Objective-C as an example only if Visual Studio Express supports
it out-of-the-box. Does it?
(I'm using VS Express as the "standard" compiler for Windows because
it's the only one I know which is free and is very well integrated with
the system. I would like to count the various Windows ports of gcc as well,
but in my experience they are clumsy and awkward to install/use and don't
integrate very well with the system. No flamewars on this, please, it's just
an opinion.)
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> (I'm using VS Express as the "standard" compiler for Windows because
> it's the only one I know which is free and is very well integrated with
> the system. I would like to count the various Windows ports of gcc as well,
> but in my experience they are clumsy and awkward to install/use and don't
> integrate very well with the system. No flamewars on this, please, it's just
> an opinion.)
I'm told things like the Watcom C compiler work well on Windows, but I
can't verify this personally...
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Jim Henderson
Subject: Re: Objective comparison of computer languages.
Date: 2 Jun 2009 13:24:10
Message: <4a25603a$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Tue, 02 Jun 2009 18:22:38 +0100, Orchid XP v8 wrote:
> I'm told things like the Watcom C compiler work well on Windows, but I
> can't verify this personally...
I can, used to use it to do NLM compilation for NetWare. Worked great.
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 <voi### [at] dev null> wrote:
> Warp wrote:
> > (I'm using VS Express as the "standard" compiler for Windows because
> > it's the only one I know which is free and is very well integrated with
> > the system. I would like to count the various Windows ports of gcc as well,
> > but in my experience they are clumsy and awkward to install/use and don't
> > integrate very well with the system. No flamewars on this, please, it's just
> > an opinion.)
> I'm told things like the Watcom C compiler work well on Windows, but I
> can't verify this personally...
I don't think it supports Objective-C.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> Darren New <dne### [at] san rr com> wrote:
>> And objective-C, I thought? Isn't Obj-C what all the Mac stuff is written in
>> at the system layer?
>
> I count Objective-C as an example only if Visual Studio Express supports
> it out-of-the-box. Does it?
Oh, I see. Not to my knowledge. I was more thinking one had to use Obj-C to
program the iPhone, rather than it being an option alongside C++ and plain C.
--
Darren New, San Diego CA, USA (PST)
There's no CD like OCD, there's no CD I knoooow!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> Oh, I see. Not to my knowledge. I was more thinking one had to use Obj-C to
> program the iPhone, rather than it being an option alongside C++ and plain C.
Yes, if you want to make an iPhone program, you must have at least some
basic knowledge of Objective-C, as it's mandatory for certain things (eg.
the Cocoa API is in Objective-C, and you have to use it to create iPhone
programs).
Fortunately (at least for me :) ) Xcode for the iPhone actually supports
Objective-C++ rather than plain Objective-C. This means that everything
that is not related to Cocoa can be written in pure C++ (and even the code
which interacts with Cocoa can have C++ in it).
In other words, there's full support for C++ in the system. You can write
entire libraries in pure C++ (as long as it's standard portable code) and
use it in your iPhone apps.
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Darren New
Subject: Re: Objective comparison of computer languages.
Date: 2 Jun 2009 15:30:34
Message: <4a257dda@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Warp wrote:
> In other words, there's full support for C++ in the system.
Cool. Good to know. One less fool language I'll have to learn if I ever get
into Mac development. :-)
--
Darren New, San Diego CA, USA (PST)
There's no CD like OCD, there's no CD I knoooow!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> Warp wrote:
> > In other words, there's full support for C++ in the system.
> Cool. Good to know. One less fool language I'll have to learn if I ever get
> into Mac development. :-)
As I said, you'll have to learn Objective-C if you want to use Cocoa.
There's no way around it. It's just that *besides* Objective-C, you can
mix C++ into your program nicely, because Xcode supports Objective-C++.
(The only alternative to Cocoa on MacOS (but not the iPhone) is the
older Carbon library, which is in pure C, but I really think you *don't*
want to use it.)
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |