<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Intersystems&#8217; stealth marketing has gotten pretty extreme</title>
	<atom:link href="http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/</link>
	<description>Choices in data management and analysis</description>
	<pubDate>Fri, 08 Aug 2008 00:26:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: John Ingress</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-65010</link>
		<dc:creator>John Ingress</dc:creator>
		<pubDate>Fri, 21 Dec 2007 21:02:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-65010</guid>
		<description>Cache has both good and bad points:
The good:
- MUMPS access actually allow some very fancy stuff
- no impedence mismatch* 
- Ensemble is amazingly simple to use
- the same class and editor can include direct editing in XML, ObjectScript, Basc, Javascript and CSS
- the fact tha data &#38; code are interchangeable can be extremely powerful**
- ObjectScript is a dynamic language, like Ruby (don't hit me:-)
- Intersystems is extremely responsive
- Intersystem ECP servers are very impressive
- sparsed arrays are actually extremely powerful and easy to use
- some very powerful features: code generation, data population, etc.

The bad:
-* but true object orientation is impossible. The mismatch is still there but ignored.
-** and hard to debug. 
- It actually execute data, which makes me wonder about security...
- you spend most of your time getting around system bugs
- The developing IDE is real crap
- the debugger is the worst one of the industry
- optimising means changing 3 lines of sql with 60 lines of M

as for being so fast...I would like to see them try TPC benchmarks. I suspect the problem is they may not even qualify. If Intersystems managed to place in the top 10 on any TCP benchmark, the industry will start taking them seriously. They have great potential.</description>
		<content:encoded><![CDATA[<p>Cache has both good and bad points:<br />
The good:<br />
- MUMPS access actually allow some very fancy stuff<br />
- no impedence mismatch*<br />
- Ensemble is amazingly simple to use<br />
- the same class and editor can include direct editing in XML, ObjectScript, Basc, Javascript and CSS<br />
- the fact tha data &amp; code are interchangeable can be extremely powerful**<br />
- ObjectScript is a dynamic language, like Ruby (don&#8217;t hit me:-)<br />
- Intersystems is extremely responsive<br />
- Intersystem ECP servers are very impressive<br />
- sparsed arrays are actually extremely powerful and easy to use<br />
- some very powerful features: code generation, data population, etc.</p>
<p>The bad:<br />
-* but true object orientation is impossible. The mismatch is still there but ignored.<br />
-** and hard to debug.<br />
- It actually execute data, which makes me wonder about security&#8230;<br />
- you spend most of your time getting around system bugs<br />
- The developing IDE is real crap<br />
- the debugger is the worst one of the industry<br />
- optimising means changing 3 lines of sql with 60 lines of M</p>
<p>as for being so fast&#8230;I would like to see them try TPC benchmarks. I suspect the problem is they may not even qualify. If Intersystems managed to place in the top 10 on any TCP benchmark, the industry will start taking them seriously. They have great potential.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Monash</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-65000</link>
		<dc:creator>Curt Monash</dc:creator>
		<pubDate>Fri, 21 Dec 2007 19:31:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-65000</guid>
		<description>Ironically, I was just on Slashdot, and the banner ad I was served offered to make my Java apps more valuable.  

It was from Intersystems. :)

CAM</description>
		<content:encoded><![CDATA[<p>Ironically, I was just on Slashdot, and the banner ad I was served offered to make my Java apps more valuable.  </p>
<p>It was from Intersystems. <img src='http://www.dbms2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>CAM</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Bertoglio</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64997</link>
		<dc:creator>John Bertoglio</dc:creator>
		<pubDate>Fri, 21 Dec 2007 18:53:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64997</guid>
		<description>Some comments: First, indeed MUMPS is the basis of Cache. There are some 
stunning examples of unreadable MUMPS code out there. But most of it dates 
from an era where memory was measured in chuncks of 1024 bytes and every 
character counted. This code ran very fast (relatively, of course)  on the 
machines of the day.

Modern Cache Object Script if written with block syntax is at least as easy 
to read as any language capable of serious work. Indeed, I find it very easy 
to read. I am not certain what you mean by "special characters".  The 
language uses the standard character set one finds with most languages.  The 
old "dot syntax" used for nesting can be a bit challenging at least at first 
but it can be totally eliminated. Doing this also removes the somewhat 
tricky constraints on whitespace as well.

As far as the lack of awarness of Cache in the technical world, I agree it 
is a problem. They do advertise but it is more institutional in nature. The 
ads seem to be placed more to show the flag and support the decision of 
existing clients instead of getting new ones. On the other hand, if a new 
firm shows an interest in Cache, the reponse from the sales teams can be 
remarkable. They will come onsite, help build technolgoy demonstrations and 
provide much more support than other vendors of enterprise-level databased. 
So it is truly a mixed bag. Sometimes, Cache looks like a cross between a 
cult and and exclusive club...

I would be more critical of InterSystems and their business model if it they 
did not have a 20+ year of profitiblity and significant annual increase in 
sales. We should all have such problems with our marketing efforts!

As far as SQL performance goes, this needs to be taken in context. Cache SQL 
runs slower than optomized raw global access. But unless things are very 
poorly tuned, slower Cache SQL is still faster than competive SQL databases. 
With Cache SQL, you also get a fully implemented object database with 
optomized native storage for data objects. While this is not for everyone, 
Cache is the only enterprise database that includes real object support.</description>
		<content:encoded><![CDATA[<p>Some comments: First, indeed MUMPS is the basis of Cache. There are some<br />
stunning examples of unreadable MUMPS code out there. But most of it dates<br />
from an era where memory was measured in chuncks of 1024 bytes and every<br />
character counted. This code ran very fast (relatively, of course)  on the<br />
machines of the day.</p>
<p>Modern Cache Object Script if written with block syntax is at least as easy<br />
to read as any language capable of serious work. Indeed, I find it very easy<br />
to read. I am not certain what you mean by &#8220;special characters&#8221;.  The<br />
language uses the standard character set one finds with most languages.  The<br />
old &#8220;dot syntax&#8221; used for nesting can be a bit challenging at least at first<br />
but it can be totally eliminated. Doing this also removes the somewhat<br />
tricky constraints on whitespace as well.</p>
<p>As far as the lack of awarness of Cache in the technical world, I agree it<br />
is a problem. They do advertise but it is more institutional in nature. The<br />
ads seem to be placed more to show the flag and support the decision of<br />
existing clients instead of getting new ones. On the other hand, if a new<br />
firm shows an interest in Cache, the reponse from the sales teams can be<br />
remarkable. They will come onsite, help build technolgoy demonstrations and<br />
provide much more support than other vendors of enterprise-level databased.<br />
So it is truly a mixed bag. Sometimes, Cache looks like a cross between a<br />
cult and and exclusive club&#8230;</p>
<p>I would be more critical of InterSystems and their business model if it they<br />
did not have a 20+ year of profitiblity and significant annual increase in<br />
sales. We should all have such problems with our marketing efforts!</p>
<p>As far as SQL performance goes, this needs to be taken in context. Cache SQL<br />
runs slower than optomized raw global access. But unless things are very<br />
poorly tuned, slower Cache SQL is still faster than competive SQL databases.<br />
With Cache SQL, you also get a fully implemented object database with<br />
optomized native storage for data objects. While this is not for everyone,<br />
Cache is the only enterprise database that includes real object support.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Monash</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64780</link>
		<dc:creator>Curt Monash</dc:creator>
		<pubDate>Tue, 18 Dec 2007 21:33:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64780</guid>
		<description>They claim to have added Java support.  Why doesn't that work for you?  Did you use the product before it was in there?  Was it there but inefficient?

As for SQL -- yeah, if you want to do OLTP in SQL, Cache' isn't your product.  It's there to do a few queries, reports, lightweight BI, and so on.  (The company once told me that some of their OEMs for enterprise apps paid more to Business Objects than to Intersystems.)

Thanks for commenting in such detail!

CAM</description>
		<content:encoded><![CDATA[<p>They claim to have added Java support.  Why doesn&#8217;t that work for you?  Did you use the product before it was in there?  Was it there but inefficient?</p>
<p>As for SQL &#8212; yeah, if you want to do OLTP in SQL, Cache&#8217; isn&#8217;t your product.  It&#8217;s there to do a few queries, reports, lightweight BI, and so on.  (The company once told me that some of their OEMs for enterprise apps paid more to Business Objects than to Intersystems.)</p>
<p>Thanks for commenting in such detail!</p>
<p>CAM</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Programmer321</title>
		<link>http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64779</link>
		<dc:creator>Programmer321</dc:creator>
		<pubDate>Tue, 18 Dec 2007 21:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/2007/12/17/intersystems-stealth-marketing/#comment-64779</guid>
		<description>Hello!

As a programmer who had worked with Cache I can firmly say that Cache is waporware.
The system is crap. A survivor from pre-relation, pre-everything era.
Have you ever seen MUMPS or M language?
Have a look: http://en.wikipedia.org/wiki/MUMPS
Scroll a few screens down.

This is what you end up coding in if you are developing with Cache.

There is some icing on top of it.
There are some not terribly efficient objects.

The objects are created via GUI and MUMPS code gets generated.
When you go to debugging you still end up debuggin MUMPS code.

There is some SQL. Well this SQL is still embedded in MUMPS.
And you guess what? It feels a lot like embedding SQL in C.

Under the hood it also gets translated into MUMPS right in-place, macro style.
When you need to debug again - you've got fabulous MUMPS.

Look at SET ^Car("Door","Color")="BLUE" 
This is what you end up writing!

Looks at this on wikipedia
D H S Y=%Y,X=$P("SUN^MON^TUES^WEDNES^THURS^FRI^SATUR","^",Y+1)_"DAY"

No joke, you end up writing this!

They tell you - we have sql/objects but when you want efficiency go to mumps.

Look again at this: SET ^Car("Door","Color")="BLUE" 
It's the only persistent datastructure they have - a tree.
B-Tree.
Keys are exclusively stored in form of strings.
And concatenation of all strings in the key ("Door","Color") here can not be more than a set value - I guess around 512 characters. Not Unicode characters. 8-bit characters.

There marketing can fall very well into manager's ears.
But when it comes to techies it boils down to pushing it through developer's throat by management.

No surprise they tell no real story to people with tech brains - there's nothing to tell!</description>
		<content:encoded><![CDATA[<p>Hello!</p>
<p>As a programmer who had worked with Cache I can firmly say that Cache is waporware.<br />
The system is crap. A survivor from pre-relation, pre-everything era.<br />
Have you ever seen MUMPS or M language?<br />
Have a look: <a href="http://en.wikipedia.org/wiki/MUMPS" onclick="javascript:pageTracker._trackPageview('/outbound/comment/en.wikipedia.org');" rel="nofollow">http://en.wikipedia.org/wiki/MUMPS</a><br />
Scroll a few screens down.</p>
<p>This is what you end up coding in if you are developing with Cache.</p>
<p>There is some icing on top of it.<br />
There are some not terribly efficient objects.</p>
<p>The objects are created via GUI and MUMPS code gets generated.<br />
When you go to debugging you still end up debuggin MUMPS code.</p>
<p>There is some SQL. Well this SQL is still embedded in MUMPS.<br />
And you guess what? It feels a lot like embedding SQL in C.</p>
<p>Under the hood it also gets translated into MUMPS right in-place, macro style.<br />
When you need to debug again - you&#8217;ve got fabulous MUMPS.</p>
<p>Look at SET ^Car(&#8221;Door&#8221;,&#8221;Color&#8221;)=&#8221;BLUE&#8221;<br />
This is what you end up writing!</p>
<p>Looks at this on wikipedia<br />
D H S Y=%Y,X=$P(&#8221;SUN^MON^TUES^WEDNES^THURS^FRI^SATUR&#8221;,&#8221;^&#8221;,Y+1)_&#8221;DAY&#8221;</p>
<p>No joke, you end up writing this!</p>
<p>They tell you - we have sql/objects but when you want efficiency go to mumps.</p>
<p>Look again at this: SET ^Car(&#8221;Door&#8221;,&#8221;Color&#8221;)=&#8221;BLUE&#8221;<br />
It&#8217;s the only persistent datastructure they have - a tree.<br />
B-Tree.<br />
Keys are exclusively stored in form of strings.<br />
And concatenation of all strings in the key (&#8221;Door&#8221;,&#8221;Color&#8221;) here can not be more than a set value - I guess around 512 characters. Not Unicode characters. 8-bit characters.</p>
<p>There marketing can fall very well into manager&#8217;s ears.<br />
But when it comes to techies it boils down to pushing it through developer&#8217;s throat by management.</p>
<p>No surprise they tell no real story to people with tech brains - there&#8217;s nothing to tell!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
