On 02/08/2016 14:28, Rustom Mody wrote:
I think the real reason is not willing to admit that the language lacks
something that could actually be useful, and especially not to an
upstart on usenet who is not even an expert in that language.

However a case may be made that syntax is one of the most wastefully expensive
hobby with which computer scientists waste their time

First some…
<background>
Turing-completeness or Church-Turing thesis says that all languages are the 
same —
identical power. And yet in the last ½ century of computers there is as chaotic 
a babel
of computer languages as there is of natural languages in the last 5000 years 
of human
history.

Who's talking about creating a new language? I was discussing tweaking an existing one.

Ok lets agree we need both C (like) and Python (like) languages
because they serve very different purposes.

But do we really need Python and Perl and Ruby and Tcl and Pike and …?
Or bash and zsh and ksh and powershell and …?

You really want my opinion? For my own use, I could use 2 or 3 languages at different levels:

1 C-like
2 Intermediate
3 Python-like
4 Scripting

(I have my own versions of 1 and 2, but not of 3.)

Other people will have different lists, and with different languages. C++ is quite popular (but so complex that it is unusable IMO). Others might like the discipline of Ada. A few might like to code in Haskell.

Or it might need a small footprint. Or work on certain platforms. Or needs to be fast.. So there are diverse requirements.

But I agree we don't need thousands of languages, each inventing different syntax too. Perhaps someone can just invent or choose syntax styles A, B and C and a language can adopt one of those (this is the approach I use actually).

Now lets try to quantify the cost of this bedlam

gcc is 15 million lines of code. How much is that in man-years?
I guess somewhere between 100 and 1000

But that’s just the compiler

Well, it also supports lots of targets, which accounts for some of the size. But gcc would still be huge.

One needs a development environment.
Java folks tend towards eclipse
C# towards Visual Studio

Evidently eclipse is nearly 50 million lines of code(!!)

OK. 50 million lines. Keep that in mind.

https://dzone.com/articles/eclipse-indigo-released

One may expect VS to be of comparable order.

I heard that VS comprises 1.5 million *files*. And a full compile takes 60 *hours*.

So the shift has been from evolving languages to horrendously large and complex development *tools*.

(And I expect that next they will eliminate languages altogether. All you need is some way of specifying a sequence of calls to library functions and sprinkling around some control statements; it could be drag-and-drop with a GUI display of the program flow.)

I don't have any interest in that. 1.5M files or 50M lines for a tool cannot possibly be right. And I believe in using a traditional language with textual syntax and not being overly dependent on extraneous tools so massive that they completely the language they are supposed to work with.

And as the ide-divide points out, choosing a fancy language implies choosing an 
underpowered IDE
And vice-versa:
http://blog.osteele.com/posts/2004/11/ides/

This is exactly the cost I am talking about:
If people did not spend their time inventing newer and newer
languages — especially when that is just fiddling with syntax —
the IDEs and other necessary tooling that is needed for practical
usage would have the chance to develop

Your figures suggest the opposite! So people spend time creating huge bloated IDEs instead of writing 100 lines of a parser so that other people can avoid writing 'for i in range(N):' millions of times instead of 'for N:' or 'repeat N:'.

So to amplify Steven’s
No offense intended Bart, but for all we know every single one of your
benchmarks are faked, your interpreters are buggy pieces of garbage, and for
all your self-promotion

If your language(s) gain enough traction as to contribute something beyond the
language — Great! All power to you!

But if its just one more (misshapen) brick in the babel of
computer languages then you are an anti-social element,

Anti-social, yes. When I was doing most of my stuff in 80s, my 'brick' was the only one. It didn't need to fit to anything else!

However such a brick can still be tremendously useful in the 2010s, just like a bicycle can be in city traffic. It's small, manageable, understandable, and can go anywhere.

And it can be very nippy. (Very nippy indeed. If I say how long it takes me to build my compiler from scratch - for my C replacement language - no one would believe me.)

--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to