Serving the Quantitative Finance Community

• 1
• 2
• 3
• 4
• 5
• 53

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### FIVE hundred years from now: can you predict the Software Landscape in anno 2525?

Any brave men or women who would like to tell what things will look like within a period of 5 years (say to 2010)?  Will C# subsume Java?Will .NET be around?Reusable C++ libraries for QF (like Fortran in the good old days)parallel processing?etc.etc.  P.S. 2010 is not so far away.
Last edited by Cuchulainn on October 1st, 2020, 6:12 pm, edited 4 times in total.

saliq
Posts: 67
Joined: April 10th, 2005, 1:55 am

### Three years from now: can you predict the Software Landscape in anno 2018?

C++ for QF

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: saliqC++ for QFThat's one scenario for sure that has a chance of succeeding. Looks as if C++ is popular.Willl we be using ISO C++ as well as Microsoft C++/CLI? at that stage?

lballabio
Posts: 983
Joined: January 19th, 2004, 12:34 pm

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: CuchulainnWilll we be using ISO C++ as well as Microsoft C++/CLI? at that stage?Your question seems to assume that Windows will still be the dominant platform in QF.I'm not sure that we can safely predict that for 2010.(I'm not predicting the opposite either---I'm agnostic)Luigi

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: lballabioQuoteOriginally posted by: CuchulainnWilll we be using ISO C++ as well as Microsoft C++/CLI? at that stage?Your question seems to assume that Windows will still be the dominant platform in QF.I'm not sure that we can safely predict that for 2010.(I'm not predicting the opposite either---I'm agnostic)LuigiWell, I'm putting a stake in the ground and going from there. Anything is possible I suppose. Even Fortran could make a comeback Seriously, Oh yes, Quantlib will be the dominant platform for QF because by then it might become tbe NAG/IMSL of the QF world. Then I will apply for a job in Italy.
Last edited by Cuchulainn on August 22nd, 2005, 10:00 pm, edited 1 time in total.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

### Three years from now: can you predict the Software Landscape in anno 2018?

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

> I think you & are old enough to have resigned ourselves to the way things change so slowly.Yes, true. The advantage is one can develop a five-year plan. Another example; just look at the discussion on Evolution on Cough-forum. How long did it take before we developed from algae.When you were being trained by the Jesuits I started on my first 8-hole paper tape program at GE. I have now evolved into a C++ developer. That took time! What's the next great language around the corner?
Last edited by Cuchulainn on August 22nd, 2005, 10:00 pm, edited 1 time in total.

DrBen
Posts: 500
Joined: February 8th, 2003, 1:24 pm

### Three years from now: can you predict the Software Landscape in anno 2018?

I see programming continuing to get easier, that is there will be the opportunity(but not the obligation) to get a given job done with less keystrokes, less debugging,less low level non-business logic etc. I would take exactly the opposite view to DCFCsregarding lower level O/S issues and programming. At least on the AMD64 platform I useI know I can switch to a multi-core CPU with just a BIOS upgrade, and all the software (should)run seamlessly. Even if I want to move over to 64-bit Windows/Linux then again all my.NET/Java Apps programmed against the 32-bit VMs will run without the need to recompile,once I have installed to 64-bit version of the VMs. Hence, hardware/OS issues are becomingirrelevant once you move to a managed environment which is how I believe software write bewritten and then run.Anyway, for technology to get market share in the next 10 years then it must be in the R&Dphrase now. Hence, what in R&D now will effect peoples working lives in 10 years? As awild guess one area I would say would be in the area of "Executable UML" (for exampleBorland's ECO). As a follow up point as I am now in the UK, it would be interested to hearabout any interesting products/projects coming out of the UK?

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: DrBenIAs a follow up point as I am now in the UK, it would be interested to hearabout any interesting products/projects coming out of the UK?Hi Ben,Some UK companies are in the OMG group. I remember talking to some of these some time ago. I think Alan Kennedy Carter?? Software must become more domain-specific and much code (at least the skeleton) will be generated using Executable. I use "Manual Executable UML" by whch I mean I design using UML and program the diagrams based on that blueprint. Of course, when these \$ products become commodities is anyone's guess. 200 years ago only rich people could afford shoes and then the lead time was 3 months.
Last edited by Cuchulainn on August 22nd, 2005, 10:00 pm, edited 1 time in total.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

### Three years from now: can you predict the Software Landscape in anno 2018?

I see programming continuing to get easier, that is there will be the opportunity (but not the obligation) to get a given job done with less keystrokes, less debugging,I'm glad you define "easier" that way. My long time model has been that as each task gets easier we attempt more ambitious things so programming itself always stays roughly the same level of hardness.At least on the AMD64 platform I use I know I can switch to a multi-core CPU with just a BIOS upgrade, and all the software (should)run seamlessly. Not sure we disagree. Yes, most s/w and especially quant s/w will work on the multi core systems.But they will not get the full benefit. I'd guess >90% of all quant s/w is single threaded, so you will have one core running at 100%, whilst the other does very little.Threading and related techniques will give a factor or about 2. As we increase the processor count, to (say) a 3 socket, 6 core world, single procssing will lose you 80% of potential performance.Even if I want to move over to 64-bit Windows/Linux then again all my .NET/Java Apps programmed against the 32-bit VMs will run without the need to recompile,once I have installed to 64-bit version of the VMs. But at a horrible price in performance.Hence, hardware/OS issues are becoming irrelevant once you move to a managed environment which is how I believe software write be written and then run.I believe that it is true for many things. However, it is written that if you make a manager powerful beyond his wisdom, how quickly we revolt against him ?"Managed" is good when it protects you, but not when it gets in your way, or when oppressive policies of either cental IT, or the system vendor get in your way.It may seem a trivial example but mobile phones have most of their potential removed so that you are forced to buy things only from the vendor. Similar effects on game consoles.Hate for it to happen to PCs.Anyway, for technology to get market share in the next 10 years then it must be in the R&D phrase now. As a long time student of technology, I've always been saddened by how long things take to get out these days. 50 years ago you could go from physics so esoteric that you gota Nobel prize, to a product from Sony in a couple of years. As a wild guess one area I would say would be in the area of "Executable UML" Worked on developing ludicrously primitive version of that in 1984, as I said, these things take a long time.

lballabio
Posts: 983
Joined: January 19th, 2004, 12:34 pm

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: DCFC I see programming continuing to get easier, that is there will be the opportunity (but not the obligation) to get a given job done with less keystrokes, less debugging,I'm glad you define "easier" that way. My long time model has been that as each task gets easier we attempt more ambitious things so programming itself always stays roughly the same level of hardness.I agree. Also, I think that simply giving generic languages more facilities to ease programming (as in "less keystrokes") is not likely to yield great productivity enhancements (as in "orders of magnitude".) I guess there would be more to be gained by adding facilities to ease (in a loose sense) metaprogramming, namely, to provide the means to mould the language so that it maps more closely the problem domain.Quote"Managed" is good when it protects you, but not when it gets in your way, or when oppressive policies of either cental IT, or the system vendor get in your way.As aptly exemplified by yesterday's Dilbert strip.Luigi

exneratunrisk
Posts: 3559
Joined: April 20th, 2004, 12:25 pm

### Three years from now: can you predict the Software Landscape in anno 2018?

DCFC, I agree that (IT) innovations usually have long cycles. But if you look into the "evolution of tools; from the fist-wedge to the computer"; the story of the development of higher level tools with lower level ones (hammer made by fist-wedge, .......Mathematica made of C/C++), you have periods with significant accelerations and emergig technologies.. Example: unexpectedly, the film industry drove the cumputer graphics and imaging technologies very fast (much faster, than CAD did).Will the IT industry be driven by "information and communication" or "computing"?I take my personal crystal ball:It will be computing. This will force, say, Google to transform its profile from a "search engine company" to an "application services company". If yes, they will provide powerful web-based (platform-inependent) development environments and extend their server farm dramatically (providing unprecedented computing power).My CB says, that the standard web technology will not change much.Consequently, one needs to integrate "engines" into web servers. This will require kind of "servelets" (containers of servelets) and "server pages". On the client side, you manipulate your engine from web browsers. This might involve some html and applet programming. Servelets, server pages and applets suggest Java.Having a huge farm of computers, you are forced to think of grid computing. Fine grain parallelization will be subject of the concrete computing environment, but programmers, will be responsible for coarse grain parallelization. Hopefully with powerful but simple (symbolic) constructs.Say, we have "ValuatePortfolio" as list of "ValuateInstrument" functions (and "Aggregators"). You might want to use "ParallelValuatePortfolio" instead. Not more. No programming of explicit configuration-dependent constructions, session management or result aggregators.Programming languages will probably take place at the back seat, programmig paradigms (logic/rulebased, datadriven, functional, object-oriented,..) will move to the front.My CB shows me hybrid programming (instead of Mathematica OR MatLab, C++ OR C# OR Java; you need ...AND....AND...) and in "application servers" reuse becomes much more important. In QF: the best information providers, the best calibrators, the best modellers, the best solvers, the best result interpreters and decision supporters will be selected (by Google?).....?my CB? I take the announcement of the 7th framework programm of the European Commission (research and development) >>section "Information Technologies" >> "Technology Pillars / Taks Forces" I find "ubiquitous computing", "grid computing", "simulation (of complex systems)", "learning by machines",...In five years?
Last edited by exneratunrisk on August 23rd, 2005, 10:00 pm, edited 1 time in total.

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: DCFC As a wild guess one area I would say would be in the area of "Executable UML" Worked on developing ludicrously primitive version of that in 1984, as I said, these things take a long time.Everyone has worked on a similart kind of project in the past. That's not news. UML has only been out since 1987. You mean similar kind of project?Anyway, I agree that it takes a long time. In this specific case my opinon is that the industry does not have enough designers who have the requisite amount of domain knowledge to actually set up the UML model. Compare with building a house: you have the designer engineers and then plumbers, eletricians and builders who work on the design blueprints.I must agree with Dom but maybe not for the same reasons.

DominicConnor
Posts: 11684
Joined: July 14th, 2002, 3:00 am

### Three years from now: can you predict the Software Landscape in anno 2018?

Everyone has worked on a similart kind of project in the past. That's not news. UML has only been out since 1987. You mean similar kind of project?Indeed, I was illustrating how hard it is to get this stuff right. Like so many people I worked on a tool for directly converting models to code, and like so many people the results wereinteresting, but not generally applicable.

Cuchulainn
Topic Author
Posts: 64130
Joined: July 16th, 2004, 7:38 am
Location: Drosophila melanogaster
Contact:

### Three years from now: can you predict the Software Landscape in anno 2018?

QuoteOriginally posted by: lballabioQuoteOriginally posted by: DCFC I agree. Also, I think that simply giving generic languages more facilities to ease programming (as in "less keystrokes") is not likely to yield great productivity enhancements (as in "orders of magnitude".) I guess there would be more to be gained by adding facilities to ease (in a loose sense) metaprogramming, namely, to provide the means to mould the language so that it maps more closely the problem domain.[[/L].LuigiI agreeIn the 1970's IT did not exist. You just had engineers and domain people who knew their business and who could map it into Fortran or Cobol. These domain-specific languages were specially deisgned for certain kinds of problems. C++, on the other hand is a general language. There is a large cognitive distance between its syntax and application domain.This is why it takes so long for me personally to get code finished. I suppose other people have similar experinces (btw syntyax or memory is not the probklem, more like crossing the Grand Canyon).