>> I've been thinking lately that it would be nice to expand the number of
>> Pharo tutorials we have available.  But rather than (or along with)
>> creating
>> more "beginner" level tutorials, I'd like to see some good "intermediate"
>> level Pharo tutorials.
>
>Me too :)

Let's do it, then.  I'll volunteer to do most of the work.  :^)

My hope is that participating in this will make me capable of creating
advanced tutorials all by myself.

>>  I think that programmers who already know the Pharo
>> syntax and messaging semantics could benefit from more advanced tutorials
>> that demonstrate how to develop "real world" Pharo code for "real world"
>> processing needs.
>
>Yes yes I would love that.

That was part of my motivation for creating a Pharo app to solve the Zebra
Puzzle.  First, of course, I wanted to solve it.  ;^)

>> What I'm talking about is something that assumes you know the language,
>> the
>> basics of the IDE (but not necessarily how to leverage its capabilities
>> to
>> aid development), and the basics of the foundation classes (but not its
>> details).  I'd like a tutorial for intermediate Pharo programmers who
>> want
>> to become experts with Pharo.  Something that can show you how to apply
>> the
>> tools of the IDE and the features of the language and base classes to
>> create
>> solutions that solve complex problems.
>
>do you have ideas?

I do!

As I started building the Logic Puzzle app, it occurred to me that I could
probably find several different, common structures in OOP (specifically,
Pharo) to add to the solution.  And then each would be its own example of
"what real Pharo code looks like".  I.e., be good examples.

But first, I needed to explore "how to do it in Pharo" for myself, which
naturally would have me working the IDE strongly.

Then I thought, the entire application can/should be an example, so it
should be a tutorial.

That means that I need more than just a completed application (that's "just
an example").  To be a *tutorial*, it means starting from scratch, showing
how to approach the solution, how to start a Pharo app, how to use the IDE,
how to write tests, how to refactor code, etc.

Then I thought, this needs a GUI.  Either a Spec2 UI or a web app UI (with
Seaside or Teapot).  But I would need help with that!  So I'll start by
creating a message-based solution, and maybe get help to add a UI later.

I did some prototyping, then got what I think might be a good code structure
(by version 4; it took a while to "think pure OOP"; old habits are hard to
fight against).  It runs, it works.

But.. Is it "good Pharo code"?  I'm not experienced enough to answer that
question.  I need a code review, criticism, guidance.  Point me in the right
direction and I'll keep working on it, and start thinking about how to
express the "meta" elements (how to use the IDE to make/test the code,
etc.).

>> What does the community think of this idea?
>
>I love it. I did Pharo by example so that I can get of rid of the beginner
parts.
>After I did learning OOP and Pharo with style so that I do not have to talk
about it
>again.
>
>So definitively.

Okay, great.  I'll do most of the work.  But I need help...

I don't want to go any further without someone much more experienced than I
am to review what I have and let me know what I'm doing right & what I'm
doing "no quite so right".  Yes, it runs, it works -- but that's *not* good
enough.  The goal here isn't to "hack out a solution and move on", the goal
is to "create an example and tutorial that's high enough quality to use to
teach Pharo to other people".  I don't want to be teaching *my* bad habits!

Also, I know next to nothing about Spec2 or Seaside/Teapot.  I just know
that I need to learn it, and I need to use it to give my tutorial a UI (or
two).  Newcomers will show up wanting to learn Pharo, and they need to be
reassured that they can create nice (enough) UIs without a huge effort. 
(Not everyone is a command line hacker, and end-users certainly don't want
to be.)

The more I learn (from you), the more I can be independent, and the more
tutorials I could produce -- without a lot of help.  I'm willing to do the
work, because that will help make me a Pharo "master programmer".  (I don't
want to be a hack, and I can't really be a trainer if I'm just a hack
myself.)  

I'll pay back the community by helping to attract and advance more
developers' skills.  I just have to have the more advanced knowledge &
skills myself.  So, train the (future) trainer, anyone??
 
-Ted



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply via email to