On 11/10/2017 17:16, Jonathan Cast wrote:
On Wed, 2017-10-11 at 15:14 +0100, bartc wrote:
On 11/10/2017 14:16, Marko Rauhamaa wrote:
Python and C don't try to protect you. In return, you get syntactic
convenience that probably enhances the quality of your programs.

Python, maybe. C syntax isn't as painful as C++ but I still have a lot
of trouble with it. (Eg. the variable declaration 'char(*(*x[3])())[5]'.
The name of the variable can be found lurking in that lot somewhere, but
what's the type?) Not so convenient.

I believe the type of any variable in C is the same as its declaration,
but with the variable name deleted.

Yes, I think we got that...

So:

     char (*(*[3])())[5]

..which doesn't help, and in fact makes things worse, as now you don't have a start point at which to start unravelling it. You have to do it from the inside out.

That is, an array of 3 pointers to functions that return pointers to
arrays of 5 characters.

But you left out the dozen steps needed to get from that to this!

Anyway if such a type can be more clearly expressed like this, why doesn't a language simply allow that, or near enough? Why does it need to be cryptic, or require an external tool to encode and decode (there is a reason that CDECL exists) or require the programmer to apply an algorithm?

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

Reply via email to