Just an update on the presentation last Saturday.

2/3rds into the hands-on presentation/demo ... I lost my audience. :(

Some are interested but when I started discussing topics which requires more 
than 2 lines of coding (I dare not even talk about tacit programming) ... I get 
glass eyes (you know ... the watery ones). Hehehehehehe.

Still, I'll try another presentation (again) when I'm back in the Philippines. 
:)

r/Alex

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Alex Rufon
Sent: Wednesday, March 05, 2008 2:54 PM
To: Chat forum
Subject: RE: [Jchat] Re: the purity of quantified conception

Hello Oleg,

Thanks for the links. Your examples are actually better and I'll use them on 
Saturday.

In the last part of your email, you mention something about letting the 
developers feel the awesome power of interactive execution of a J Session. 
Unfortunately, the J session window "scares" them and the "cryptic" way of 
getting data from a database actually puts them off. So I created an 
application called SmartEOE.IDE. I did it partly as a solution to the problem 
and to actually build a true Model-Viewer-Controller application in C#. The 
idea is that the developers have a tree window for each Library->J Script and 
an editor window for the actual scripts. They can then run and test the script 
in the embedded J window at the same time it allows them to retrieve data from 
familiar data sources and be able to send it to the J session. I took some 
screenshots and uploaded them to my website in: 
http://amrufon.spaces.live.com/photos/cns!2B169BDA829381E6!194/

I will be emphasizing that before they embed their J scripts into their C# 
code, they can test it out with "real" data in the IDE. So when they are happy, 
they can then proceed and update their C# code with the J script, compile then 
deploy.

Of course, I will still show them that there is an option where they can 
encapsulate all of the code that uses J so that it becomes a black box library. 
Still, my intention right now is to get them interested to use in-line J 
scripts and then later on convert C# modules into J verbs leaving the C# 
function as a wrapper method.

Again ... thanks. :)

r/Alex

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Oleg Kobchenko
Sent: Tuesday, March 04, 2008 7:28 PM
To: Chat forum
Subject: RE: [Jchat] Re: the purity of quantified conception

You should be prepaired that developers may not be as
technically naive as their technical managers.

  http://www.csharp-station.com/HowTo/StringJoinSplit.aspx

So starting with this example you should admit that
it was simple enough so that the managers would get it
and be lured to get you guys here, but now we gonna 
talk about some real cool stuff.

.NET has vast standard libraries that handles numerous
stock operations on simple objects like strings and collections.
Whereas the forte of J is a few really powerful operations
which generalize over higher-order structures in compact
yet expressive notation(*).

To expand on the Join example, you can show how to turn
a matrix into HTML table in a one-liner.

A second example of the .NET/J distinction can be that
J has no dedicated operation for SubStr found in mostly
any language library. However is can be easily done with
Cut <;.0 and easily generalized to simultaneous multiple
substrings in a one-liner and to a sub-matrix etc.
Related examples here are running average (infix) and matrix 
convolution with <;.3 (another cut).

Of course C# developers are really excited about Linq. So you
must show Linq as they've never seen before, the way
it is done in J

  http://www.jsoftware.com/jwiki/DB/Flwor

  (*) J notation best preserves its clarity when maintained 
separately from the client calling code, so its best not 
intermingle C# and J code, but keep a thin calling layer 
with clean separate C# and J sources. To this end, 
it is helpful to organize J code with externally callable 
entry points (top-level verbs) and some kind of convention.
It is the same with SQL. Also keeping it separate makes
use of the full power of J session for trial-and-error 
experimentation--another advantage of interpretive environment
worth showing off.


--- Alex Rufon <[EMAIL PROTECTED]> wrote:

> The WAN is down so I can't work ... then I accidentally click on this email.
> 
> I am basically the ONLY J programmer in our office. Were basically a C# and 
> VB.NET software
> house but our core processing is done in J. Unfortunately, I am the only J 
> programmer (I can
> repeat that as a mantra you know).
> 
> For the longest time (going 8 years now), I've been trying to convince other 
> teams to adopt J
> into their project ... and quite frankly I continue to fail. 
> 
> You said: 
> " People don't embrace J because, having been exposed to its awe-inspiring 
> qualities, they are
> swept away by "the purity of quantified conception."  That is likely to be a 
> factor, but without
> a sense that J provides what they need in their actual context they'll never 
> go beyond initial
> dabbling."
> 
> Is VERY-VERY true.
> 
> Last Saturday, I did another presentation to the Technical Managers trying to 
> convince them to
> adopt J. But this time, I tried another approach (read this as being sneaky). 
> Instead of doing
> examples on how it works, what the language is about and its capabilities. I 
> showed them how I
> use C# with J to do the following:
> 1. Array processing
> 2. File processing
> 3. Converting MS-SQL DataSet to SQL INSERT statements
> 
> For the array processing, one of my example is creating the classic:
> Select * from FRUITS where NAME in ('Orange','Apple','Banana')
> 
> Normally, to do this in C#, they would have
>    string[] data = {"Orange","Apple","Banana"}; 
> 
> What they actually need is to have the data in this format:
> 'Orange','Apple','Banana'
> 
> To do this in C# they have to loop through each of the item in the array like 
> so:
> string result = "";
> for (int i = 0; i < data.length; i++)
> {
>   result += "'" + data[i].tostring() + "',";
> }
> // We have to remove the ending "," comma
> if (result.length > 0)
> {
>   result = result.trim(result.length - 1,1);
> }
> 
> Where if they use J, all they need to do is:
> JSession objSession = new JSession();
> string[] data = {"Orange","Apple","Banana"};
> string result;
> // Send the data to EOE
> objSession.Variable("Temp1",(object)data);
> // Process the data
> objSession.Eval("res=: ',' charsep '''' ,~ each '''' with each Temp1");
> // this can even be shortened with
> // objSession.Eval("res=: datasep Temp1");
> // Get the data back to C#
> result= (string)objSession.Variable("res");
> // SQL command
> string sqlCommand = "Select * from FRUITS where NAME in (" + result + ")";
> 
> And the other thing I pointed out is that in the original C# code, they have 
> to do this:
> // We have to remove the ending "," comma
> if (result.length > 0)
> {
>   result = result.trim(result.length - 1,1);
> }
> 
> By putting things into the perspective of what they need now, I may have some 
> measure of
> success. A few of the Technical Managers want to do another session on 
> Saturday but this time
> they will be bringing their developers and wants a more detailed discussion 
> on the language. The
> warehousing team is actually scheduling a meeting when I get back to the 
> Philippines for me to
> help with their developers on data processing. 
> 
> I hope that this continues and I can encourage more people to adopt the 
> language. :)
> 
> r/Alex
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tracy Harms
> Sent: Friday, January 25, 2008 4:17 AM
> To: [email protected]
> Subject: [Jchat] Re: the purity of quantified conception
> 
> Randy MacDonald wrote:
>  
> > Happy New Year, Tracy;
> 
> A belated Happy New Year to you, too, Randy.
>  
> >
> > My personal thought about that "law" that says all systems of
> > sufficient complexity are equivalent to lisp, my thought is,
> > that all matter of sufficient temperature becomes plasma.  True,
> > but not of much use in the ordinary world.
> 
> I had not recognized the allusion to that saying, so thanks for pointing it 
> out.
>  
> > BTW, did the xkcd  post have such an effect on the lisp community?
> 
> Touché
>  
> Perhaps there is a fine line between desiring to see the beauty of J more 
> widely recognized, and
> falling into factional squabbling. Lisp has had a small but fervent user base 
> for a long time,
> and XKCD is one manifestation of that. At the point I start letting myself 
> think "if they only
> knew..." I've fallen off the edge into fantasy.
>  
> People don't embrace J because, having been exposed to its awe-inspiring 
> qualities, they are
> swept away by "the purity of quantified conception."  That is likely to be a 
> factor, but without
> a sense that J provides what they need in their actual context they'll never 
> go beyond initial
> dabbling.
>  
> --
> Tracy
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



      
____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to