Operating System Choice

Discussion in 'App Development' started by SunnyIsles, Dec 19, 2013.

  1. Are you talking about trying to use Windows for the server end with all this?

    For the client or server targets, have one devel machine with windows... then once you're solid on a given build of your app:

    py2exe

    That will package the app, all libraries it depends on, and an interpreter, into a windows executable. The target server running in production then doesn't even need python installed... same with the target clients.

    Or, an alternative if you want to continue to do development entirely on Linux but still want to have a stand alone app with all dependencies / imported libraries built in: look into pyinstaller

    Both options aren't perfect, but the alternative of installing python + pandas (and in my case: ZeroMQ, Bokeh, and Numpy) to a client is worse... packaging it up with tools like this is the way to go. (The apps I built out were for algo trading via an API, and some graphical representation of stats data on said algo strats, nothing fancy like a full on trading platform. But py2exe helped a lot when I had to roll out to a few clients.)
     
    #121     May 31, 2014
  2. To be clear, I mean "clients" as in desktop trading stations, as opposed to servers... not people asking me to code for them or hiring me.
     
    #122     Jun 1, 2014
  3. the server is all C and runs on Linux...
    I need python to put a friendly face on the client side. :)
    thnx for the tip, I'll look into those tools, they may be the best way to keep it simple :)
     
    #123     Jun 1, 2014
  4. I would rather say that it is the overhyping of the open-source crowd who trumpets their ware to be cross-platform. Cross platform means you install it and it just works, thats what I am used to when I install a Windows app on my Windows machine. I am not surprised you have tons of issues with apps that were not designed to run on Windows machines. Please do not blame it on Windows if the Python crowd cannot design functional packages and libraries that work on Windows machines.

    No multi threading and parallel processing in Windows? That statement alone made me smirk ;-) Some of the currently world's best parallel processing libraries are written natively for .Net not even C++ (I can currently only come up with a very small handful of dialects/languages that manage multi threading better than .Net core [in tandem with add-on libraries like TPL Dataflow] such as Erlang).


     
    #124     Jun 1, 2014
  5. vicirek

    vicirek

    Native C++ in Visual Studio offers Parallel Patterns Library (PPL)and Asynchronous Agent Library. PPL is portable (cross-platform). Corresponding .Net parallel extensions TPL and PLINQ offer the same for managed code in .Net
     
    #125     Jun 1, 2014
  6. vicirek

    vicirek

    Forrester analyst Jeffrey Hammond

    "The real world isn't black and white -- and there are open-source companies that sell proprietary software (e.g., Red Hat) and proprietary companies that use OSS to augment their commercial software and make it more attractive. As developer adoption of open-source software has grown to the 70 percent-plus level, I think most business units at Microsoft realized that treating it like 'a cancer' was self-defeating -- they lost that battle a long time ago."

    http://www.cnet.com/news/dead-and-buried-microsofts-holy-war-on-open-source-software/
     
    #126     Jun 1, 2014
  7. The thing is that windows has no package manager... no tool that you can just tell, install this or install that... so when you install a piece of software and there are missing requirements (like compilers) these dont get automatically taken care of... this is a basic functionality of all the UNIX based OS that happens to be missing from windows for some reason...

    I ended up finding an open source solution to the problem (anaconda) which happens to work like a package manager for windows...


     
    #127     Jun 1, 2014
  8. Catoosa

    Catoosa

    Microsoft is the cancer of the world. The world is handcuffed by Microsoft and the world needs to remove the handcuffs and use an open-source operating system.
     
    #128     Jun 1, 2014
  9. Take a look at OpenMP (the most prevalent C++ parallel programming API) and compare that with the performance and ease of use of TPL Data Flow, Rx, Task Parallel Library and then tell me which one takes a fraction of the time to develop parallel and multi threaded code in at equal performance metrics. Dr.Dobbs showed in 2013 that you can sit the world's top C++ and C# coders side by side and have them code up their best devide-and-conquer algos and the C++ engineer would not be able to come up with a significantly faster algorithm and that only at a multiple of time it would have taken the C# coder to write and test the code.

     
    #129     Jun 2, 2014
  10. The danger I see with a lot of the scripting languages, and I include R and its various packages in that, Python, Ruby, ... is that you have people plucking away at libraries they have never thought about nor developed themselves; often times with questionable or completely lacking backgrounds in mathematical and statistical training. Nowadays everyone with a 70 IQ and larger can call himself a "quant" just because they were able to kickstart Python and the numpy extensions and run couple functions they never every thought about. The danger of open-source in general is that it does not require people to think carefully anymore. At least when you have to pay for what you use , most run a careful analysis of the trade-offs and how it benefits their projects.

    Open-source is great for those who generally apply a keen interest and attention to details in whether a specific project solves their problems or not. But from own observation the percentage of those who really apply a discerning mindset is relatively low. I would always recommend a total beginner to learn an OOP language than a scripting language because it forces critical thinking and requires to think in terms of core algorithm levels. I do not see the same level of rigor applied by most who peruse Python or R, among other scripting languages because a) a lot beyond core functionality does not even exist, and b) a lot of the core/grunt work is already done, all that is left is to apply what already exists. One could say it offers efficiencies and a lower learning curve but I would argue that the same arguments are disadvantages when wanting to learn how to merge computer science and trading. Sure, if time was not a constraint I would always opt for C/C++ but I just found C# to strike the optimal balance. I concede that is my own personal view and I have the freedom of choice because I run my own company and am not forced to adhere to anyone else's standard of practices.

     
    #130     Jun 2, 2014