some syntax suggestions

B

Brian Xue

[Note: parts of this message were removed to make it a legal post.]


Hello,

Is there any plan to remove the enforcing, that declare class names with capital letter as frist, and that variable names start with lower case letters? these enforing may conflicts with a person or company's naming conventions.

And by the way, there will be so many 'end' keywords if nested conditions or declarations are used, it's hard to differentiate which 'end' belongs to which keyword, like 'class', 'def', etc. An alternative will be using 'endclass', 'enddef' instead, this may be more readable.

Thank you,
Brian
 
D

David A. Black

Hi --

Hello,

Is there any plan to remove the enforcing, that declare class names
with capital letter as frist, and that variable names start with lower
case letters? these enforing may conflicts with a person or company's
naming conventions.

It's not class names specifically that start with capital letters, but
constants in general. Constants are scoped and resolved very differently
from local variables, and the parser has to have some way to tell which
is which. (And no, Ruby is not going to introduce variable and constant
declarations :)
And by the way, there will be so many 'end' keywords if nested
conditions or declarations are used, it's hard to differentiate which
'end' belongs to which keyword, like 'class', 'def', etc. An
alternative will be using 'endclass', 'enddef' instead, this may be
more readable.

Some people write "end#class" and such. I don't -- I find that it looks
kind of cluttered, to my eye, and I figure that if the nesting is so
deep, and the sections so long, that I can't tell where they begin and
end, maybe that's a style issue.


David

--
David A. Black, Senior Developer, Cyrus Innovation Inc.

The Ruby training with Black/Brown/McAnally
Compleat Philadelphia, PA, October 1-2, 2010
Rubyist http://www.compleatrubyist.com
 
P

Peter Hickman

2010/9/2 Brian Xue said:
Is there any plan to remove the enforcing, that declare class names with =
capital letter as frist, and that variable names start with lower case lett=
ers? these enforing may conflicts with a person or company's naming convent=
ions.

Sorry to sound a bit rude here but this is the syntax of the language
we are talking about here not a personal preference or company policy.
It is not the same as using tabs or spaces for indenting. If a company
creates a naming convention that is actually contrary to the syntax of
the language then the company is run by complete idiots, the same for
a person who tries the same.
And by the way, there will be so many 'end' keywords if nested conditions=
or declarations are used, it's hard to differentiate which 'end' belongs t=
o which keyword, like 'class', 'def', etc. An alternative will be using 'en=
dclass', 'enddef' instead, this may be more readable.

Perhaps Ruby is not for you, in fact I suspect that programming is not for =
you.

From now on can you do all your posts in urdu, it would be much more
readable for me even if it is completely unreadable for 99.999% of
this list because as we all know it's all about ME ME ME!!!!!!!!!!
 
R

Robert Klemme

2010/9/2 Brian Xue said:
Is there any plan to remove the enforcing, that declare class names with =
capital letter as frist, and that variable names start with lower case lett=
ers?

You can have lowercase class names:

13:04:10 JavaProducts_oslee_ngcp_dev_R3.1_be4rb$ ruby19 -e 'x =3D
Class.new do def foo; 123 end end;p x.new.foo'
123

But keep in mind that here the class is referenced through a local
variable only which has some implications wrt lookups as David pointed
out.
these enforing may conflicts with a person or company's naming convention=
s.

All organizations I have worked for had naming (and other) conventions
*per programming language*. IMHO this is the only reasonable way to
go about it.
And by the way, there will be so many 'end' keywords if nested conditions=
or declarations are used, it's hard to differentiate which 'end' belongs t=
o which keyword, like 'class', 'def', etc. An alternative will be using 'en=
dclass', 'enddef' instead, this may be more readable.

That topic came up a few weeks and only got moderate support. I'm
with David here - I don't like it and I also think that you have an
issue if your nesting is so deep that you can't find through it any
more. Apart from that there are automated tools that will fix broken
indentation which helps a lot.

Kind regards

robert


--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
 
B

Brian Xue

[Note: parts of this message were removed to make it a legal post.]


Thank you very much, David and Robert.



I'm just a beginner trying to learn and use ruby, in the past I use C++/Perl's symmetrical syntax style, so just some programming inertia.



Kindly Regards,



Brian
 
P

Peter Hickman

Hang on! Both Perl and C use { and } for almost everything. If you
could cope with that then where is the problem with 'end'?

Ok, syntax highlighting in editors can make seeing where the pairs of
{ and } match up easier.

To be honest I was thinking you were an ex Pascal or Basic programmer
(or perhaps Glow?)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,050
Latest member
AngelS122

Latest Threads

Top