1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

What language to code this in?

Discussion in 'General Programming Chat' started by e13a34d32, Aug 3, 2011.

  1. e13a34d32

    e13a34d32 Registered Member

    Joined:
    Jul 17, 2011
    Messages:
    50
    Likes Received:
    12
    Here is my basic application idea:

    Its going to need to have a client application and a server application.

    The client application is intended to perform specific actions on the internet, like browsing google, clicking links and performing other pre-programmed tasks. What tasks to be perform will be obtained from the server.

    The server application will have a list of all the computers who have connected to it via the client application. From there, the server application can send what tasks needed to be performed by the client application.

    Seems simple enough.

    Any idea on what languages I should use for this project? I was thinking visual basic but not sure if it can do what I want it to do.
     
  2. Divinityfound

    Divinityfound Registered Member

    Joined:
    Feb 15, 2010
    Messages:
    82
    Likes Received:
    24
    Occupation:
    Software Engineer Developing Financial Software
    Location:
    Omaha Nebraska
    Are you developing this yourself or hiring someone?
     
  3. e13a34d32

    e13a34d32 Registered Member

    Joined:
    Jul 17, 2011
    Messages:
    50
    Likes Received:
    12
    developing myself.
     
  4. Divinityfound

    Divinityfound Registered Member

    Joined:
    Feb 15, 2010
    Messages:
    82
    Likes Received:
    24
    Occupation:
    Software Engineer Developing Financial Software
    Location:
    Omaha Nebraska
    C# I would imagine would be better. But then again that is a personal favorite of mine next to Python.
     
  5. Autumn

    Autumn Elite Member

    Joined:
    Nov 18, 2010
    Messages:
    2,197
    Likes Received:
    3,041
    Occupation:
    I figure out ways to make money online and then au
    Location:
    Spamville
    Server: Python or PHP
    Client: Whatever you want, although I would just do the client interface through a web browser to make it cross platform.

    Really it doesn't matter what you use, it depends on what you know best and can do the fastest / best job in.
     
  6. dharmasp

    dharmasp Registered Member

    Joined:
    Jun 9, 2011
    Messages:
    54
    Likes Received:
    15
    Occupation:
    CEO
    Home Page:
    Dude, more info about the project is needed to give you an accurate answer, but basically for the client side I would use C++ if the project is for commercial purposes. If you need it just for yourself, make it with java+JxBrowser. It'll be easier and faster. That's for the client side.
    For the server side it also depends of many things, but basically can be done just with php and mysql.

    It sounds simple but it's not if you don't have the knowledge to do it and haven't done similar projects before.
    I assume that you aren't familiar with C++ or java since you ask such a question, therefore I recommend to outsource the job.
     
  7. e13a34d32

    e13a34d32 Registered Member

    Joined:
    Jul 17, 2011
    Messages:
    50
    Likes Received:
    12
    Yea a web browser interface would make sense but I want the program to be downloadable that way when people boot up their computer they can have the client launch automatically. The application I am trying to design is something where people download it to their computer and the application performs specific tasks. I then sell specific services to my clients that can utilize this network of computers. To encourage people to download and run the program, they will get paid for each action their computer performs. Its kind of like a bot net but the people who run the client program will be getting paid for every action their client performs. Likewise, this network of computers won't be engaging in any illegal activities. The user will configure the client to only perform the tasks which they choose.
     
    Last edited: Aug 4, 2011
  8. e13a34d32

    e13a34d32 Registered Member

    Joined:
    Jul 17, 2011
    Messages:
    50
    Likes Received:
    12
    I am mainly a web developer. So php/mysql is very familiar with me. I haven't coded a client application before but I am sure I can figure it out. I want to code it myself because I don't want to have to keep outsourcing everything when I want upgrades. Better in the long run to code myself and go from there. Will take longer but better in long run IMO.

    Thanks everyone.
     
  9. Baybo.it

    Baybo.it Registered Member

    Joined:
    Aug 9, 2011
    Messages:
    72
    Likes Received:
    39
    Occupation:
    Founder of Baybo.it
    Location:
    San Francisco
    Home Page:
    If you are looking for a fairly lightweight solution which will be easy to learn, I'd suggest using Aaron Swartz webpy framework over Python and coupling this with either Apache or lighthttpd as a backend webserver. If you really know what you're doing, you can let nginx sit in front of your apache engine to serve static files.

    Then again, I recently wrote something in webpy and due to scaling issues, would have re-written it using tornado (if the opportunity had presented itself).
     
    Last edited: Aug 10, 2011
  10. xlemosx

    xlemosx Newbie

    Joined:
    May 26, 2011
    Messages:
    24
    Likes Received:
    4
    use what your comfortable with. Personally i would go with asp.net mvc, it's some powerful shiznit not to mention with the new mvc coming out that automatically converts your stuff to be mobile friendly you cant go wrong.
     
  11. Baybo.it

    Baybo.it Registered Member

    Joined:
    Aug 9, 2011
    Messages:
    72
    Likes Received:
    39
    Occupation:
    Founder of Baybo.it
    Location:
    San Francisco
    Home Page:
    Interesting xlemosx,

    Personally, the reason I'd suggest Python is there are a lot of powerful frameworks which can help you achieve client-server relationships with minimal code.

    For example, Django, Pylons, webpy, and tornado not only all allow you to rapidly develop web platforms, but they also have testing frameworks for completing tasks (like mentioned in the OP's post).

    While aspnet is turing complete, I view it as a pretty poor language of choice. I'll explain why:

    Sorry for not including periods in aspnet, unfortunately, the post construes it as a link and I haven't posted enough to post links.

    1. ASPnet is famous for overloading html forms. Webpy with python offers a sexy alternative of passing rendered forms to templated html files.

    2. ASPnet is extremely bloated and often leads to slow loading pages unless properly optimized

    3. Nested control sequences makes interoperability with JavaScript almost impossible due to conflict with ids.

    4. ASPnet generated forms break compliance with different browsers, making it nearly impossible to get a standardized result across IE, Firefox, Chrome, etc.

    5. Postbacks are absolutely awful and make me cringe. I think this part is self explanatory

    6. ASPnet fails at offering any degree of acceptable lambda calculus, even with Orcas.

    7. Weak AJAX compliance -- aspnet makes server-client communications more difficult than they have to be.

    The reasons go on and on.

    I have experience programming in over 10 languages and have written one of my own. I keep a very open mind about tools for programming. However, I say with as little bias as possible, I do not think aspnet is the right tool for the job.
     
  12. phpbuilt

    phpbuilt Jr. VIP Jr. VIP

    Joined:
    May 16, 2011
    Messages:
    1,650
    Likes Received:
    5,208
    Occupation:
    $ from websites I own.
    Location:
    putting monkeys in paypal
    If I were going to do it ... I'd use PHP for server side, and VB6 for the client.

    I'd stick a browser control inside the VB6 program. I'd navigate the browser to your server to read a particular page that will give the program its next assignment. Then I'd parse the instructions of the webpage so my VB6 program knows what to do.

    Then you use the VB6 webbrowser control to perform the requested task, such as navigate to a particular webpage to click a link. Parse the html to see the link and to perform the click. With the VB6 webbrowser control, you can modify headers (like http_referer, browser agent, cookies) to make it seem natural.

    After the VB6 webbrowser control has performed the task it was supposed to, it can then again navigate to your server to read your PHP page which would feed it its next task.

    PS, the reason I'm using VB6 and PHP is because I know them best. You need to use whatever you're best at -- literally any programming language and any server-side scripting language will work.
     
  13. xlemosx

    xlemosx Newbie

    Joined:
    May 26, 2011
    Messages:
    24
    Likes Received:
    4
    the mvc framework takes care of all of these concerns.
     
  14. Baybo.it

    Baybo.it Registered Member

    Joined:
    Aug 9, 2011
    Messages:
    72
    Likes Received:
    39
    Occupation:
    Founder of Baybo.it
    Location:
    San Francisco
    Home Page:

    Other than the fact that MVC is unnecessarily complicated, that you provided no explanations, and that the statement is not true, fine.

    The MVC framework controllers are still terrible and I am not sure how one can argue adding complexity over a language will solve the fact that aspnet is inherently bloated and slow. That said, I don't recall saying MVC has made aspnet worse. I just would never choose aspnet for an application like this because it's unintuitive, inflexible, and in my mind not the best tool for the job.

    From a purely language oriented viewpoint (it's nothing personal -- you should use whatever language works well for you, as you said), I think MVC is a step backwards. It creates loads of unnecessary tags, making code more challenging to manage and less standards compliant. Well, ASCX controls were just as bad with tags so maybe that isn't the best reason (maybe a convincing reason to avoid aspnet all together, though). With MVC, you lose the ability for your ASCX controls to be full-featured components with references to databases, etc. MVC limits you such that your components do little more than act as rendered html.

    That said, I'm very interested to learn how MVC solves 'all' the problems I discussed above. Maybe there are some neat features of MVC that I overlooked!

    Also, have you personally experienced any comparable web framework for a different language that we may be able to use in this discussion for reference? Otherwise, it's very challenging to discuss why one language may be preferable to the other.
     
    Last edited: Aug 10, 2011
  15. Baybo.it

    Baybo.it Registered Member

    Joined:
    Aug 9, 2011
    Messages:
    72
    Likes Received:
    39
    Occupation:
    Founder of Baybo.it
    Location:
    San Francisco
    Home Page:
    Phpbuilt, that's not a terrible idea. Personally, I am not a fan of vb6 or vbnet because finding open source compilers, etc is really a pain and you may lose out on all the mobile devices which are not prepared to run something like vb6 compiled code.

    However, php may be a good server side language. Do you have any experience with _underscore for php? It's similar to underscore for javascript and gives you access to many components of functional languages like mapping and reducing. It's pretty sexy.

    Anyways, in terms of a client side language, perhaps java or another language which runs over the JVM (clojure, scala)? The JVM runs almost everywhere and allows your app to be cross-platform and run on both PCs and mobile devices.

    Looking forward to hearing your feedback and maybe even your experience with underscore php!