CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 8 of 8
  1. #1
    Join Date
    Jan 2018
    Posts
    3

    Statistics software development

    I am considered an intermediate in R and also C++ and I'm currently learning everyday .what kind of programming language should I take up and learn to make a commercial statistical business software that can potentially be sold to others ? Any advices as well ?

  2. #2
    Join Date
    Feb 2017
    Posts
    677

    Re: Statistics software development

    Quote Originally Posted by RCPP View Post
    what kind of programming language should I take up and learn to make a commercial statistical business software that can potentially be sold to others ?
    If you know C++ and R already there's no obvious additional language you need to know.

    There's an interesting approach called Rattle. It's a GUI interface for Data Mining in R.

    http://datamining.togaware.com/

    Rattle is written in R and makes use of RGtk2, an R language binding to the GTK2 toolkit, to provide a GUI.

    http://www.ggobi.org/rgtk2/

    This shows that you can get a long way with R alone. Rattle is open source so you can download and view the actual source code. You may even base your own application on it but then you must open source your code which might not be attractive.

    There are many other approaches. You could for example write your application in C++ and then make use of R in some way or another like generating R source code or use an R-binding such as Rcpp. You can also interface with non-R subsystems (such as statistical algorithms, graph generators, GPU acceleration, etcetera) possibly written in C or Fortran or some GPU shading language. You could consider integrating a scripting language into your C++ application, like for example Lua, that your users would use to write own extensions to your application.

    So in addition to programming knowledge you will need to know your way around systems integration. Maybe you should team up with a professional programmer so you can concentrate on the actual statistics and the functionality of your application.

    It you really want to consider another language the increasingly popular Python is an option. It has an R-binding called rpy2 and there's a GUI-package called Tkinter,

    https://rpy2.bitbucket.io/

    https://wiki.python.org/moin/TkInter

    Yet another option is Java. I certainly would have a look at this JVM based R-interpreter called renjin (which will allow you to call R-code from Java),

    http://www.renjin.org/about.html

    Java also sports a built-in GUI called JavaFX. Java is popular and portable and may very well be your best option actually.

    Good luck!
    Last edited by wolle; January 13th, 2018 at 06:54 AM.

  3. #3
    Join Date
    Jan 2018
    Posts
    3

    Re: Statistics software development

    Wow thank you so much !!! Ok so correct me if I'm wrong , here's my approach now , I'm gonna improve my R and C++ and then learn phython at the same time . Now let's just say I do want to create a commercial software is it possible to create one through this 3 languages only ? And if so do you have any recommendations on any website or any online platform that would allow me to do it ?

  4. #4
    Join Date
    Feb 2017
    Posts
    677

    Re: Statistics software development

    Quote Originally Posted by RCPP View Post
    Wow thank you so much !!! Ok so correct me if I'm wrong , here's my approach now , I'm gonna improve my R and C++ and then learn phython at the same time . Now let's just say I do want to create a commercial software is it possible to create one through this 3 languages only ? And if so do you have any recommendations on any website or any online platform that would allow me to do it ?
    You only need one programming language to create a commercial application. There's no special advantage in using many languages. It's rather a complication so you should have a very good reason if you introduce additional ones.

    Your application becomes commercial the moment someone is willing to pay you for using it. That should be your focus. Coming up with something attractive and useful is much harder than the actual programming so don't get bogged down in honing skills you may not need.

    I work as consultant and sell time rather than programs. I have no idea really how to find good sales channels but I do know Microsoft has an online store where you can put up applications, called "apps", for sale. I don't know anything about it but here's a background description,

    https://en.wikipedia.org/wiki/Microsoft_Store_(digital)

    I'm sure there are other similar stores as well. It's probably a good idea to first find a promising sales channel. It most certainly will have an impact on your choice of programming language(s) and development tools.

    Again good luck!
    Last edited by wolle; January 14th, 2018 at 02:02 AM.

  5. #5
    Join Date
    Jan 2018
    Posts
    3

    Re: Statistics software development

    Thank you very much , you have been very helpful !

  6. #6
    Join Date
    Feb 2017
    Posts
    677

    Re: Statistics software development

    Quote Originally Posted by RCPP View Post
    Thank you very much , you have been very helpful !
    You're welcome.

    If I had to give you an advice I would probably suggest Java (with Renjin).

    It means a new language but since you're willing to learn and since Java isn't too far away from C++, a language you're already familiar with, it may be worth the effort because Java has some notable advantages over C++ such as lower general complexity, a built-in GUI (JavaFX) and a built-in garbage collector.

    And then there's Renjin. It's an R-interpretator that uses the same runtime system as Java, namely JVM. It's fast and would give you access to R from Java in the ways described here,

    http://docs.renjin.org/en/latest/introduction.html

    Risk factors are,

    1. You trade the messy but boundless flexibility of C++ for the cozy but more limited Java eco-system.
    2. Renjin has not yet reached version 1.0 and so is not fully mature and not fully compatible with GNU R.
    3. The number of sales channels for Java programs may possibly be fewer than for other languages.

    These kinds of strategic decisions are never easy but which ever way you go you gain experience that can be reused if you hit a wall and want to switch technologies sometime in the future.
    Last edited by wolle; January 15th, 2018 at 01:25 AM.

  7. #7
    Join Date
    Jan 2018
    Posts
    15

    Re: Statistics software development

    I believe you got the good answer above. I just want to add the most popular statistical software for business use now is Mathematica and you can use it as a reference for your work. Hope you can make some progress soon!

  8. #8
    Join Date
    Mar 2018
    Location
    USA
    Posts
    2

    Re: Statistics software development

    In Today's PHP and Codeigniter are being used for any software development. Codeignier is more used to develop a commerical software development. You should learn PHP as well as codeigniter too.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured