Visual Programming: Cooking the Spaghetti
GOTO Chicago '13
Rick Lane
rick.lane@tradingtechnologies.com @R1ck_L4n3 @trading_tech @GOTOChgo
Visual Programming: Cooking the Spaghetti GOTO Chicago '13 Rick - - PowerPoint PPT Presentation
Visual Programming: Cooking the Spaghetti GOTO Chicago '13 Rick Lane rick.lane@tradingtechnologies.com @R1ck_L4n3 @trading_tech @GOTOChgo First things first Visual Programming < Regular Programming (usually) But, there's a
rick.lane@tradingtechnologies.com @R1ck_L4n3 @trading_tech @GOTOChgo
Boursier, P. and M. Mainguenaud, Spatial Query Languages : Extended SQL vs. Visual Languages vs. Hypermaps, 5th International Symposium on Spatial Data Handling, Charleston, USA, August 3-7, 1992. Keywords and Phrases: VPL-II: Language Classifications Glinert, Ephraim P. and Charles D. Norton, Novis: A Visual Laboratory for Exploring the Design of Processor Arrays, Journal of Visual Languages and Computing, Vol. 3, Number 2, 135-159, June 1992. Keywords and Phrases: Novis, VPL-II.A.1: Concurrent languages, VPL-II.B.2: Iconic languages, VPL-IV.A: Computational approaches, VPL-VI.C.6: Visual representation issues Norton, Charles D. and Ephraim P. Glinert, A Visual Environment for Designing and Simulating Execution of Processor Arrays, 1990 IEEE Workshop on Visual Languages, Skokie, Illinois, 227-232, October 1990. Keywords and Phrases: Novis, VPL-II.A.1: Concurrent languages, VPL-II.B.2: Iconic languages, VPL-IV.A: Computational approaches, VPL-VI.C.6: Visual representation issues
Visual Languages, Darmstadt, Germany, September 5-9, 1995. Keywords and Phrases: VPL-II.A.2: Constraint-based languages Harvey, N. and J. Morris, NL: A General Purpose Visual Dataflow Language, Technical Report, University of Tasmania, October 1993. Keywords and Phrases: VPL-II.A.3: Data-flow languages, VPL-V.A: General-purpose languages Koelma, D., R. van Balen, and A. Smeulders, SCIL-VP: a multi-purpose visual programming environment, Proceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing, 1188-1198, 1992. Keywords and Phrases: VPL-II.A.3: Data-flow languages, VPL-III.A.2: Procedural abstraction, VPL-VI.C.4: Scope Ambler, Allen L. and Margaret M. Burnett, Visual Languages and the Conflict Between Single Assignment and Iteration, 1989 IEEE Workshop on Visual Languages, Rome, Italy, 138-143, Oct. 1989. Keywords and Phrases: Forms/2, VPL-II.A.4: Form-based and spreadsheet-based languages, VPL-III.B: Control flow Ambler, Allen L. and Margaret M. Burnett, Visual Forms of Iteration that Preserve Single Assignment, Journal of Visual Languages and Computing, 1(2), Academic Press, June 1990. Keywords and Phrases: Forms/2, VPL-II.A.4: Form-based and spreadsheet-based languages, VPL-III.B: Control flow B u r n e t t , M a r g a r e t M . a n d A l l e n L . A m b l e r , G e n e r a l i z i n g E v e n t D e t e c t i
a n d R e s p
s e i n V i s u a l P r
r a m m i n g L a n g u a g e s , 1 9 9 2 P r
e e d i n g s
A d v a n c e d V i s u a l I n t e r f a c e s I n t e r n a t i
a l W
k s h
, R
e , I t a l y , M a y 2 7
9 , 1 9 9 2 . K e y w
d s a n d P h r a s e s : F
m s / 3 , V P L
I . A . 4 : F
m
a s e d a n d s p r e a d s h e e t
a s e d l a n g u a g e s , V P L
I I . A : A b s t r a c t i
, V P L
I I . E : E v e n t h a n d l i n g B u r n e t t , M a r g a r e t M . a n d A l l e n L . A m b l e r , A D e c l a r a t i v e A p p r
c h t
v e n t
a n d l i n g i n V i s u a l P r
r a m m i n g L a n g u a g e s , 1 9 9 2 I E E E W
k s h
V i s u a l L a n g u a g e s , S e a t t l e , W A , 3 4
, S e p t . 1 5
8 , 1 9 9 2 . K e y w
d s a n d P h r a s e s : F
m s / 3 , V P L
I . A . 4 : F
m
a s e d a n d s p r e a d s h e e t
a s e d l a n g u a g e s , V P L
I I . A : A b s t r a c t i
, V P L
I I . E : E v e n t h a n d l i n g Burnett, Margaret M. and Allen L. Ambler, Interactive Visual Data Abstraction in a Declarative Visual Programming Language, Journal of Visual Languages and Computing, 29-60, March 1994. Keywords and Phrases: Forms/3, VPL-II.A.4: Form-based and spreadsheet-based languages, VPL-III.A.1: Data abstraction, VPL-III.E: Event handling Carlson, Paul and Margaret Burnett, Integrating Algorithm Animation into a Declarative Visual Programming Language (poster paper), 1995 IEEE Symposium on Visual Languages, Darmstadt, Germany, September 1995. Keywords and Phrases: Forms/3, VPL-II.A.4: Form-based and spreadsheet-based languages Hays, Judith G. and Margaret M. Burnett, A Guided Tour of Forms/3, Oregon State University, Dept. of Computer Science, TR 95-60-6, June 1995. Keywords and Phrases: Forms/3, VPL-II.A.4: Form-based and spreadsheet-based languages Pandey, Rajeev and Margaret Burnett, Is It Easier to Write Matrix Manipulation Programs Visually or Textually? An Empirical Study, 1993 IEEE Symposium on Visual Languages, Bergen, Norway, August 24-27, 1993. Keywords and Phrases: Forms/3, VPL-II.A.4: Form-based and spreadsheet-based languages, VPL-VI.C.1: Cognitive and user-interface design issues Yang, S. and M. Burnett, From Concrete Forms to Generalized Abstractions through Perspective-Oriented Analysis of Logical Relationships, 1994 IEEE Symposium on Visual Languages, St. Louis, MO, 6-14, October 4-7, 1994. Keywords and Phrases: Forms/3, VPL-II.A.4: Form-based and spreadsheet-based languages Cordy, James R. and T. C. Nicholas Graham, GVL: Visual Specification of Graphical Output, Journal of Visual Languages and Computing, 3, 1992. Keywords and Phrases: VPL-II.A.5: Functional languages, VPL-V.E: User-interface generation languages Graham, T. C. Nicholas and Tore Urnes, Relational Views as a Model for Automatic Distributed Implementation of Multi- User Applications, Proceedings of the Fourth Conference on Computer-Supported Cooperative Work, Toronto, October 1992. Keywords and Phrases: VPL-II.A.5: Functional languages, VPL-V.E: User-interface generation languages Lakin, Fred, Computing with Text-Graphic Forms, Proceedings of the LISP Conference, Stanford University, August 1980. Keywords and Phrases: computing with text-graphic forms, visual pattern manipulation language, visual lisp, VPL-II.A.5: Functional languages, VPL-V.A: General-purpose languages, VPL-IV.D: Translators (interpreters and compilers) Standing, C. and G. Roy, A Functional, Visual Programming Interface to Geographical Information Systems, Proceedings of OZCHI, Melbourne, Australia, 209-214, Nov. 28 - Dec. 1, 1994. Keywords and Phrases: VPL-II.A.5: Functional languages Schuerr, Andreas, Introduction to PROGRES, an Attribute Graph Grammar Based Specification Language, Proc. WG'89 Workshop on Graphtheoretic Concepts in Computer Science, LNCS 411, (Nagl M., ed.), Springer Verlag, 151-165, 1989. Keywords and Phrases: VPL-II.A.6: Imperative languages, VPL-II.A.8: Multi-paradigm languages, VPL-II.A.11: Rule-based languages, VPL-II.B.1: Diagrammatic languages Schuerr, Andreas, PROGRES: A VHL-Language Based on Graph Grammars, Proc. 4th Int. Workshop on Graph-Grammars and Their Application to Computer Science, LNCS 532, Springer Verlag, 641-659, 1991. also: Technical Report AIB 90-16, RWTH Aachen, Germany, 1990. Keywords and Phrases: VPL-II.A.6: Imperative languages, VPL-II.A.8: Multi-paradigm languages, VPL-II.A.11: Rule-based languages, VPL-II.B.1: Diagrammatic languages S c h u e r r , A n d r e a s , R a p i d P r
r a m m i n g w i t h G r a p h R e w r i t e R u l e s , U S E N I X S y m p
i u m P r
.
V e r y H i g h L e v e l L a n g u a g e s ( V H L L ) , U S E N I X A s s
i a t i
, 8 3
, 1 9 9 4 . K e y w
d s a n d P h r a s e s : V P L
I . A . 6 : I m p e r a t i v e l a n g u a g e s , V P L
I . A . 8 : M u l t i
a r a d i g m l a n g u a g e s , V P L
I . A . 1 1 : R u l e
a s e d l a n g u a g e s , V P L
I . B . 1 : D i a g r a m m a t i c l a n g u a g e s S c h u e r r , A n d r e a s , A . Z u e n d
f , N
d e t e r m i n i s t i c C
t r
S t r u c t u r e s f
G r a p h R e w r i t i n g S y s t e m s , P r
. W G ' 9 1 W
k s h
i n G r a p h
h e
e t i c C
c e p t s i n C
p u t e r S c i e n c e , L N C S 5 7 , S p r i n g e r V e r l a g , 4 8
2 , 1 9 9 1 . a l s
T e c h n i c a l R e p
t A I B 9 1
7 , R W T H A a c h e n , G e r m a n y , 1 9 9 1 . K e y w
d s a n d P h r a s e s : V P L
I . A . 6 : I m p e r a t i v e l a n g u a g e s , V P L
I . A . 8 : M u l t i
a r a d i g m l a n g u a g e s , V P L
I . A . 1 1 : R u l e
a s e d l a n g u a g e s , V P L
I . B . 1 : D i a g r a m m a t i c l a n g u a g e s Lakin, Fred, Visual Grammars for Visual Languages, Proceedings of the American Association for Artificial Intelligence, Seattle, Washington, July 1987. Keywords and Phrases: visual grammar notation, declarative programming, visual rules, formal visual languages, informal conversational graphics, visual lisp, visual emacs, vmacs, VPL-IV.C: Parsing, VPL-VI.A: Formal definition of VPLs, VPL-II. A.7: Logic languages Meyer, Bernd, Beyond Icons: Towards New Metaphors for Visual Query Languages for Spatial Information Systems, Proceedings of the International Workshop on Interfaces to Database Systems, Glasgow, 113-135, July 1992. (published by Springer, London, 1993). Keywords and Phrases: VPL-II.A.7: Logic languages, VPL-II.B.1: Diagrammatic languages, VPL-V.B: Database languages
int qty = currOrderQty - _officialQty; if (qty > 0) { OrderProfileBase orderProfile = null; AutospreaderSyntheticOrderProfile aop = null; if (currInstrument.IsASEInstrument) { //aop = new AutospreaderSyntheticOrderProfile(currInstrument.OrderFeed, (AutospreaderInstrument)m_CurrInstrument.Instrument); aop = TopMostAlgorithm.CreateAutospreaderOrderProfile(currInstrument, routingInfo);
} else {
//orderProfile = new AlgoExchangeChildOrderProfile(currInstrument.OrderFeed, currInstrument.Instrument.InstrumentDefinition); AlgoExchangeChildOrderProfile algoExchangeChildOrderProfile = (AlgoExchangeChildOrderProfile)orderProfile; algoExchangeChildOrderProfile.LeaveWhenPaused = leaveOnPause; algoExchangeChildOrderProfile.LeaveWhenCanceled = leaveOnCancel; if (IsFlagColorSet) algoExchangeChildOrderProfile.Color = flagColor; }
if (_isGtc) {
} if (m_LimitPriceSet) { m_CurrRoundedLimitPrice = FPOps.RoundedPrice(m_CurrInstrument.Instrument.InstrumentDetails, m_CurrLimitPrice, m_Buy);
if (!orderProfile.LimitPrice.IsValid) { TopMostAlgorithm.StopStrategy(StrategyInterfaces.BaseStrategy.StopStrategyReason.UnrecoverableStrategyProblem, "Attempted to place an
return; } }
Kathy Sierra - http://goo.gl/hKd95