[Pharo-dev] Suggested Syntax Highlighting Features for Beginners

kilon alios kilon.alios at gmail.com
Fri Apr 4 14:14:52 EDT 2014


I fail to see confusion as a bad thing though. For me confusion is part of
the learning process. Being successful at something is about developing the
skills for it and that takes time and practice.

I am no beginner or pro coder but frankly I am glad that assignment is :=
and comparison is =. Cant stress enough how many times I made the stupid
mistake in python (the language I have most coding experience with) doing a
if a=1 instead of if a==1 and its a bug that is painful to spot . Maybe I
am smalltalker by birth :D but for my brain comparison is =. And though I
had many arguments with my brain about it, he does not seem to want to
change its mind about it.

Frankly I dont think seeing that = in different color would make much of
difference at least for my mistakes.  But definitely would not hurt either.

About command completion cant stress enough how crucial is for people like
me with very bad memory. I keep forgetting names of people that have met
recently, method names and class names have no chance of being remembered ,
when I have to deal with hundreds and thousands of them. I would love if my
brain had some kind of autocompletion but it looks like my brain still runs
on Windoom.

Again with messages sends and multiple arguments , I love the mandatory
keyword argument about Smalltalk again for someone like myself with real
bad memory is just a ton of help. I just dont want to go back to unnamed
arguments.  Again code completion helps here.

Anyway I know this is a single opinion but I am still a beginner
smalltalker though not a beginner coder. Because there is like a ton of
people that out there try to identify what went so bad with Smalltalk and
never become truly popular , my opinion is that it has nothing to do with
the language. The language is brilliantly simple and straight forward, I
wish I could say the same about the libraries. Its the libraries I struggle
the most when I play with pharo.

At time I am afraid to look at the next method because I feel it will be
the portal to spaghetti hell. I cant think a bigger nightmare for a
newcomer especially when there is lack of documentation. For me thats the
true dark side of Pharo. But again just an opinion.



On Fri, Apr 4, 2014 at 8:26 PM, J.F. Rick <self at je77.com> wrote:

> On Fri, Apr 4, 2014 at 6:41 PM, Ben Coman <btc at openinworld.com> wrote:
>
>> For assignment, I would say bold both := and the variable being assigned
>> to.
>>
>
> I like that a lot, especially since it draws the two critical elements of
> variable and assignment together. On a minor note, both := and = are
> currently the same color: black. That only furthers the ":= is a message"
> misconception. It might be worthwhile also giving := its own color, given
> its uniqueness.
>
>
>> Underlining sounds interesting, but there are a few choices:
>> a. nested underlining - self someMessage: (self otherMessage: arg 1 and:
>> arg2) and: arg3
>> b. non-nested underlining - only underline #otherMessage:and: and not
>> #someMessage:and:
>> c. dynamically underline only message where cursor is located.
>>
>
> I think you could do nested underlining in the same way that nested blocks
> and parentheses work. someMessage: and the second and: are underlined in
> black. otherMessage: and the first and: are underlined in green. That way
> nesting is clear. This would also be useful for code with nested
> conditionals, probably the most common occurrence of nested multi-part
> messages. I also like (c) as a minimally intrusive change that could help
> novices when they write code. It has the disadvantage that novices couldn't
> look at a piece of foreign code and get where the multi-part messages were.
>
> Cheers,
>
> Jeff
>
> --
> Jochen "Jeff" Rick, Ph.D.
> http://www.je77.com/
> Skype ID: jochenrick
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20140404/71bca4c2/attachment-0002.html>


More information about the Pharo-dev mailing list