Why not allow empty code blocks?

BartC bc at freeuk.com
Tue Aug 2 12:56:04 EDT 2016


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



More information about the Python-list mailing list