Post #283,643
5/2/07 10:44:38 AM
|
Other other thoughts...
Agree on the productivity/bugs/boilerplate observations.
Disagree on templates. I *hate* document generation. I need to be able to see the structure of the document in an editor. Generation obfuscates that, and it's one step removed from string catenation. I've used such systems before and they're ugly. Although having said that, I don't know what you mean by "builder pattern".
On repositories: note that I said they can really, really suck. YMMV. However, I have to say that with Squeak at least the editor is ass. Sorry. Probably personal preference, but it's not Emacs.
On files being a distraction: you and I will disagree on this to the end of time, I'm sure. :-) Don't confuse Java's many nasty files with something like Python, though. Dired is sufficient to manage source files.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #283,652
5/2/07 11:32:55 AM
8/21/07 6:05:30 AM
|
Builder pattern
It is detailed in Object Design Patterns. In squeak, html rendering looks like: \nrenderContentOn: html\n\nhtml heading level:2; with: 'Title of My Page'.\nhtml orderedList cssClass: 'tab-bar'; with:\n[\n collection do: \n [:item | \n html listItem cssClass: 'tab-item'; with: \n [\n html anchor \n cssClass: 'tab-link'; \n callback: [self call: (ItemEditor on: item)]; \n with: item asString. \n ]\n ]\n] html produces objects - one per logical construct ( or tag ), each tag supports several methods for filling in various attributes, plus the with: takes either a String or a Block of code that is executed. The tag object writes the open tag to the stream, executes the block, then writes the close tag. HTML output is simple. All visual appearance is done using CSS. Using this technique, it is simply impossible to produce a malformed document. The code looks something like the HTML, and you can have subcomponents. As to squeak's editor - it has improved a lot recently and now sports coloring, auto-completion, and of course, refactoring. Plus the monticello version control system is light years ahead of text based solutions. I think someone did emacs and vi key bindings too. When dissing too many files - I was thinking of Rails. If I want to rename a method, I want the system to understand where all the method calls are and show me so I can update them. Ditto class name, variable names, etc. It just isn't generally there in file based systems although things like IDEA do a fair job of faking it.
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #283,657
5/2/07 11:45:42 AM
|
Not impressed.
Looks like every other one I've seen, other than the Smalltalky bits. I really dislike systems that conflate HTML with code. I find them difficult to debug (where is this HTML coming from?) and difficult to rearrange when I want the page to look like something else.
I don't want it to look "something" like the HTML... I want to look at it and immediately understand what I'm getting. Difficult stuff can be put in a tag and called from the template.
Django's template system has a thing called [link|http://www.djangoproject.com/documentation/templates/#template-inheritance|blocks] as well:
In a parent template: {% block foo %}This is the default.{% endblock %}
Then inherit that parent, and replace the 'foo' block if you want to specialize: {% block foo %}This is not the default.{% endblock %}
Very useful. Django templates have the added bonus of being output-neutral: use them for emails, CSV, whatever.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #283,735
5/2/07 10:23:42 PM
8/21/07 6:07:07 AM
|
You still don't get it
First, your example can produce broken html - just forget one of those endblock thingys.
Second, Seaside has components - like widgets. You don't put the whole thing in one page, you have components like WebObjects or conventional GUI's had them.
Then there are halos. You can turn on halos in your page (from a set of links at the bottom) and boxes get drawn around all the component boundaries so you can see what part of the page is produced by which component. When halos are on, there are switches that let you render the HTML source for any PART of the page (or all of it). See below. Clicking the R shows you the Rendered html. S turns on the source view (see lower left).
The wrench opens a source code browser on the component. The eye is an inspector on the image where you can view/edit all the fields in the object. The crayon allows you edit css for that page region. I have no trouble telling where every bit of html comes from.
[image|http://www.inextenso.com/misc/blogs/sw2-halos/1.jpg||||]
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #283,749
5/2/07 11:12:10 PM
|
No, I get it just fine.
I just don't agree with you that it's as useful as you seem to think it is, and I dislike the paradigm itself. Don't confuse disagreement with ignorance.
I prefer my HTML widgets to be written in HTML and markup, thank you very much. Not some unrelated language.
And if I forget and endblock, I produce a trace showing me that I forgot an endblock... not broken HTML.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #283,753
5/2/07 11:25:03 PM
8/21/07 6:07:34 AM
|
Been there before - maintenance Hell - not going back
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #283,754
5/2/07 11:33:17 PM
|
Your experience differs from mine.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #283,789
5/3/07 9:56:31 AM
8/21/07 6:08:11 AM
|
Apparently so
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #283,747
5/2/07 11:03:43 PM
|
Builder pattern... :-O
The problem with such a builder pattern is two-fold: 1. Can I trust whoever wrote it did everything 'right'? 2. What happens when I need it to do something it can't do - what sort of magic do I do to fix that? OTOH, I'd like see what it is like to actually use.
I've found that real HTML isn't something you want to get too far away from. Creating broken markup is the risk of staying close. But often it's an acceptable risk.
Wade.
Is it enough to love Is it enough to breathe Somebody rip my heart out And leave me here to bleed
| | Is it enough to die Somebody save my life I'd rather be Anything but Ordinary Please
|
-- "Anything but Ordinary" by Avril Lavigne. | · my · · [link|http://staticsan.livejournal.com/|blog] · · [link|http://yceran.org/|website] · |
|
Post #283,752
5/2/07 11:22:09 PM
8/21/07 6:07:31 AM
|
Two things
First - there' s nothing it can't do. Consider at its lowest level it uses something like
html tagNamed: 'exotic'
which means you can create any kind of tag you like.
Second you have the source code - extend it. There are several extensions floating around already that support things like yahoo web kit, scriptaculous effects, and so forth.
It doesn't take you far from the html however it makes you describe the document structure, not just spew bytes. Which means the structure can be verified and guaranteed.
HTML is a tree, not a stream. I've used many "templating systems". They all suck rocks for maintainability and are terribly fragile. They also don't generally enable component reuse.
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #284,089
5/6/07 4:14:00 PM
|
Oi! Even if your screen is six foot wide, not everyone's is!
Could you break that fat-ass innermost line of the loop up into at least two chunks, so the less fortunate among us can read the fucking thread without scrolling hori-fucking-zontally?
Thank you.
[link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad] (I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Ah, the Germans: Masters of Convoluted Simplification. — [link|http://www.thetruthaboutcars.com/?p=1603|Jehovah]
|
Post #284,090
5/6/07 4:40:00 PM
|
Do you have a 1886 Volvo CRT, too?
It looks fine here on my laptop screen at 1400 x 1050. Are you running CGA or something?
;-)
Cheers, Scott.
|
Post #284,121
5/7/07 3:30:26 AM
|
El Cheapo older(ish) HP laptop, 1024 x 768 I think.
And I like to use slightly larger(ish) fonts than most browsers default to.
[link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad] (I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Ah, the Germans: Masters of Convoluted Simplification. — [link|http://www.thetruthaboutcars.com/?p=1603|Jehovah]
|
Post #284,105
5/6/07 7:58:24 PM
8/21/07 6:16:45 AM
|
Yah sure - done
We posture as apostles of fair play, as good sportsmen, as professional knights-errant-- and we throw beer bottles at the umpire when he refuses to cheat for our side...We save the black-and-tan republics from their native [statesmen]--and flood them with "deserving" democrats of our own. We deafen the world with our whoops for liberty--and submit to laws that destroy our most sacred rights...We play policeman and Sunday-school superintendent to half of Christendom--and lynch a darky every two days in our own backyard.
H.L. Mencken, 1914
|
Post #284,122
5/7/07 3:30:48 AM
|
Great, Thanks.
|