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