(Rather long post - the last 3 paragraphs give the view I want to share) Hello,
Recently I was in a discussion involving Visual Modeling and Textual (Domain specific languages - DSL) modeling. My view is that although the visual modeling paradigm is a rich 2D language, the constituents are geometric shapes. In some contexts (like a tram map), the understanding of the lines, circles etc are immediate - there is a physical reference that I can readily abstract and also map my internal abstraction to the external abstraction rather immediately. But when the domain is more abstract like UML or BPMN, significant training is required to understand the shapes and use them effectively. The start point for visual modeling is a shape with no semantics that is built through definition, training and use. In contrast, DSLs start with words typically picked from human languages and the 'meaning' is restricted to the context of use to make the expressions unambiguous. In a sense this restiction of meaning to context I think is easier than the other way. In a similar vein, I see that the adoption of programming language depends on the ease of learning and use. I am fascinated by J. I regret that I donot know APL but I am happy to learn and use a worthy successor which is J. Now, my observation is that just as visual languages for an abstract domain are difficult to master, so are languages that use signs the way J does. (Don't get me wrong here - I am amazed at how J can express complex algorithms particulalry the tacit forms.) My view is that the sign form of J tends to create an abstraction understanding barrier as opposed to imperative verbose programming paradigms. People who have been trained over long time on verbose languages see no real incentive to learn or use new forms. The businesses that run on COBOL is a case in point. To paraphrase Donald Knuth, although 1 in 50 has the capacity to understand and use IT, I would see a far lesser population (1 in 1000? 10000? higher?) see the need to do what can be done in an efficient way (representation and execution). After dabbling on and off in J, I am still far from a 'fluent speaker' let alone a 'native speaker' that I see in many of the postings in the excellent J forums. My reflection on this has led me to the view above. Does this resonate with you? Regards, Yuva On 8/21/09, Björn Helgason <[email protected]> wrote: > Most programming is relatively simple and programmers have been > programming the same thing over and over again. > > Very many applications are to help people register something. > > In order to do so the programmer needs to put up some information > on a screen and get some information from an operator of that screen. > > It really is not much difference who is doing the registrering > nor what is being registered. > > Information is stored to a file and sometimes a program needs to read > that information from the file. > > Occasionally some simple operations are done on the data and new files > are created with the results. > > The input screens need to be very simple so pretty much anyone can > understand what to do. > > Some of the time some money is exchanged so people can not register > their own data. > > There are some examples of self service appearing in doing your > own banking, buying groceries, checking in on airports etc. > > It is really amazing how the same operations are being programmed > year after year, creating new screens, register the same data in > new files, same moves between files etc. > > Somehow more and more bugs are introduced in those simple routines > and a lot of people working with creating and fixing those bugs. > > 2009/8/21, Robert Raschke <[email protected]>: >> Sweeping generalisation ahead. Beware ;-) >> >> It's because a lot of students don't learn that programming is about >> solving >> problems, and that design and aesthetics are a fundamental part of that. >> They learn how to use Java or C#. And mostly not even that, they learn how >> to string together varieties of API calls. >> >> I have a vague feeling that there's a trend towards getting people to >> learn >> the minimum possible, so that the recompense for them doing work is >> minimal >> as well. But maybe it's always been like this, it's just that I'm starting >> to notice. The first time this struck me was when I was faced with some >> new >> line of self service check-in desks at an airport, which were staffed by >> the >> same number of people as a normal old-fashioned check-in desk. But because >> it was self service, none of the people staffing them, knew (i.e., never >> got >> taught) what to do when something did not go according to script. (They >> might have been told what to do, but they probably weren't actually >> taught. >> There's a difference.) >> >> On Fri, Aug 21, 2009 at 10:23 AM, Matthew Brand >> <[email protected]>wrote: >> >>> I have found programmers to be extremely hostile to J. I do not know >>> where that comes from. It is very strange. >>> >>> It is like sitting next to a man almost dying of thirst who has only a >>> moist sponge to suck on and you offer him a glass of water, but he >>> says, "no thanks, I will continue to suck on the sponge ... that is >>> what all the others did before they died of thirst, nobody else is >>> drinking water. Besides, I don't want to have to teach the next guy >>> how to drink water from a glass, he will already be trained to suck on >>> sponges." >>> >>> >>> 2009/8/21 Steven Taylor <[email protected]>: >>> > I had to share this. Using J I was recently able to solve an >>> n-dimensional >>> > mapping problem using a J array with a shape vector. The solution >>> > needed >>> 4 >>> > operations. Moving this back to the C / C# world the other developer >>> > couldn't see that it was a complete solution. Instead he is now busy >>> > recreating this in an inefficient tree, or as I suggested, if it must >>> > be >>> > this way, go ahead and use a hash map. >>> > "This isn't the way you do it in .net", he said. "You need references >>> and >>> > pointers", he continued. In his own words he wanted to go for a "zero >>> > intelligence solution"... but it seems to me more like, "zero >>> intelligence >>> > but how can I use all the fancy new toys to make it more complex". Oh, >>> and >>> > substitute "more complex" with "more maintainable" to >>> > be politically correct. >>> > >>> > --Steven >>> > ---------------------------------------------------------------------- >>> > 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 >> > > > -- > Björn Helgason, Verkfræðingur > Fugl&Fiskur ehf, > Þerneyjarsundi 23, Hraunborgum > Po Box 127,801 Selfoss , > t-póst: [email protected] > gsm: +3546985532 > Landslags og skrúðgarðagerð, gröfuþjónusta > http://groups.google.com/group/J-Programming > > > Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans > > góður kennari getur stigið á tær án þess að glansinn fari af skónum > /|_ .-----------------------------------. > ,' .\ / | Með léttri lund verður | > ,--' _,' | Dagurinn í dag | > / / | Enn betri en gærdagurinn | > ( -. | `-----------------------------------' > | ) | (\_ _/) > (`-. '--.) (='.'=) ♖♘♗♕♔♙ > `. )----' (")_(") ☃☠ > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
