Exhales….
I’ll give this a whack.
In pMachine, a page is an HTML file that has embedded “pMachine tags” (which are really just PHP function calls). With the exception of the pMachine tags, your pages are not terribly different than old-fashioned static pages.
This approach means that in pM you have to work in two places to design your site: 1. In the HTML files. 2. In the control panel. If you want to change the layout of your weblog entries you have to log-into the control panel and make the change in the template. If you want to alter your page design you have to do it using Dreamweaver or a text editor, then FTP the changed file to your server. Back and fourth.
EE, in contrast, is entirely virtual. EE doesn’t utilize “pages” in the same sense that pM does. You’ll never upload “pages” to your server. EE uses templates that represent entire pages. These templates are stored in the database. This is an important concept.
In pM, templates are really “template fragments” - parts of pages. In EE, however, templates are entire pages. Initially it’s a little more complex to understand how templates work in EE, but once you do you’ll find that managing your site is much (much, much) faster.
Furthermore, unlike pM, in EE there are not very many global weblog preferences. Most preferences are specified in the tags themselves. This allows almost infinite possibilities.
For example, in pMachine, the code that shows your weblog entries is this:
<?php weblog_entries($id,“weblog”); ?>
To change what the above tag displays requires you to log-into the CP, find the template that corresponds to it, and update it. Then, you have to go to your preferences page and update it’s preferences.
In EE, your weblog tag instead looks like this:
{exp:weblog:entries}
<h1>{title}</h1>
<p>{body}</p>
{/exp:weblog:entries}
This tag contains everything you need so you no longer have to make changes in separate places. You do everything within the tag itself.
For example, what if you want to show your most recent 10 entries, in descending order, sorted by the most recent comment?
In pM you would specify this in the preferences page.
In EE you’ll specify it in the tag itself:
{exp:weblog:entries limit=“10” order=“desc” order_by=“recent_comments”}
<h1>{title}</h1>
<p>{body}</p>
{/exp:weblog:entries}
The ability to specify preferences at the tag-level opens up immeasurably more options. Instead of having lots of different tags that are essentially variations, like in pM, you have one tag that can be used in an almost infinite variety of ways.
What if you want to show only entries authored by “Joe”?
{exp:weblog:entries author=“joe”}
Or entries shown by a single month:
{exp:weblog:entries display_by=“month”}
Etc…
Think about the implications of the this kid of tag. It’s much more flexible.
And portable. Since everything is in once template, it becomes very easy to archive templates or swap them with others.
There is a lot more I could say, so I’ll try to follow up later. I’m sure other people have opinions as well.