Development Best language?

Discussion in 'Software' started by Firehed, 23 Apr 2007.

  1. Firehed

    Firehed Why not? I own a domain to match.

    Joined:
    15 Feb 2004
    Posts:
    12,574
    Likes Received:
    16
    Hey all... looking for some coding advice. I really only deal with web development stuff (although I've got a decent background in C, as if it wasn't practically identical to PHP) and I'm probably going to need to hire some coders for a business endeavour in the not-too-distant future.

    While I can't really give out too many details about specifics, I'm going to need an application, preferably eventually cross-platform, that can interface with a website (if not syncronize, it'll at least be able to upload the data it collects, possibly through some sort of xml-rpc kind of thing). It'll need to have a clean and intuitive UI, and stability is top priority. It may also need to interface with some USB peripherals, but that may or may not be too complicated.

    Since the last time I did real standalone coding was probably almost a decade ago, and in QBasic, I really have no idea what the best approach would be for this kind of thing. To be quite honest, I don't even know where the first place to start on something like this would be (which is good as I'd be in more of an oversight position rather than in the code), or even what languages would be available. Working in Windows would probably be first priority, although I'd eventually like to have a Mac version available, if not Linux as well.

    So, any thoughts? I wish I could be more specific about the job since it could probably get some better answers, but it's more or less under non-disclosure now. Basically, if I'm to hire coders for this kind of job, what sort of experience should I be looking for, and in what direction should they be heading off? My first thoughts were Java since it's cross-platform, but ew, Java.


    Oh, just to preempt the "why are you taking on a project like this when you don't know where to start" responses - I'll be functioning primarily as a systems analyst and web developer in the project, but certainly plan to familiarize myself with whatever language would best be suited to the job. Ideally, the whole thing would be done online, but connections aren't reliable or ubiquitous enough for it to work (and AJAX can only go so far).
     
  2. notatoad

    notatoad pretty fing wonderful

    Joined:
    25 Jun 2004
    Posts:
    3,213
    Likes Received:
    60
    tell the applicants what needs to be accomplished, and let the best candidates choose what language they want to work in.
     
  3. DougEdey

    DougEdey I pwn all your storage

    Joined:
    5 Jul 2005
    Posts:
    13,933
    Likes Received:
    33
    C++ programs as CGI applications is the best way to do it IMHO. I'm going to be fiddling with it when I get some spare time from work.
     
  4. simon w

    simon w What's a Dremel?

    Joined:
    3 Nov 2003
    Posts:
    1,302
    Likes Received:
    0
    So you want a data source (DB), some kind of application that applies the business logic and you want to allow multiple entry points (http, xml-rpc, etc) from untrusted sources that might be connected via the Internet. You also want some kind of client side app that must initially run on Windows (is this what you mean by 'standalone'?). Am I on the right tracks?
     
  5. Lazlow

    Lazlow I have a dremel.

    Joined:
    8 Aug 2003
    Posts:
    1,464
    Likes Received:
    0
    Reading your requirements I had Flash spring to mind - purely because of it's ability to work with web-based stuff and also that it would be cross-format compatible from the offset. But maybe it's too basic to achieve what you want?
     
  6. Firehed

    Firehed Why not? I own a domain to match.

    Joined:
    15 Feb 2004
    Posts:
    12,574
    Likes Received:
    16
    Yeah, that sums it up pretty well. After discussing things with my to-be business partner, we decided that we can explain things a bit more.

    The local app will be some sort of Point-of-Sale system, which is going to need to be able to add content via some entry method to a website which will contain a massive central database. The POS system, for what I think are fairly obvious reasons, can't depend on connectivity to function, thus it needing to be some sort of quasi web app. The only feedback it should need to receive from the central DB would be a confirmation that the transaction data upload was successful (perhaps with some sort of error correction system) as all of the real data use (analysis, generating reports, etc) will be done through the web interface.

    The last time I did coding for something that wasn't a website was probably about five years ago back when I was operating a MUD. Of course, that was a web app of sorts, but I didn't design any of the actual web connectivity bits, and in any case, a text-only CLI deal isn't going to cut it ;) As such, I'll be doing most of the website side of the project where all of the data analysis and such occurs, I just need to make sure that whoever I hire is going to head in the right direction.

    TBH I kind of like supertoad's approach, but I feel like I won't be able to supervise people effectively enough if I take that route.

    (while I certainly don't mean to post a job ad, I'll say that if any of you might be interested in working on this system, send me a PM or hit me at anything listed at firehed.net/about)

    Out of curiosity, how painful would it be to port a Windows app over to OS X (or Linux)? Obviously the GUI will need changes, but would most of the underlying code be the same? *must pick up a book on Cocoa*
     
  7. DougEdey

    DougEdey I pwn all your storage

    Joined:
    5 Jul 2005
    Posts:
    13,933
    Likes Received:
    33
    99% of code is unchanged across platforms, as long you as you do not use MS specific stuff.

    What most people (who port code) do, is to separate the front end from the back end. So you have one unspecific module which can be built on systems or distributed as binaries. Then use a platform specific front end.

    Either that or use GTK, it's a platform independant interface.
     
  8. simon w

    simon w What's a Dremel?

    Joined:
    3 Nov 2003
    Posts:
    1,302
    Likes Received:
    0
    In a roundabout way I think that you've just described what Amazon does. They've got several DBs, an app to apply business rules and they expose functionality via web services. Simple ;)

    Concentrate on a architecture and let your developers choose the language - although a compiled language should always be faster than an interrupted one. As long as the server and client languages can communicate via SOAP, REST, XML-RPC, etc it doesn't really matter what you use.

    Think about,
    - DB servers, replication chains (you don't what to be running resource intensive queries on your master server), storage engines.
    - Caching
    - Scalability
     
  9. Firehed

    Firehed Why not? I own a domain to match.

    Joined:
    15 Feb 2004
    Posts:
    12,574
    Likes Received:
    16
    Thanks Simon, I'll keep that in mind. It's not quite an Amazon thing, but not that far off of it either. I'd imagine that I'll worry more about scalability when I get there - my main concern at this point would be just getting together the POS system that can add data to the external web-based database.

    I'm going to be handling most of the analysis stuff; my current approach plan is just a bunch of sophisticated PHP and MySQL setup although I expect that to evolve over time. My understanding is that it's a fairly scalable setup by just throwing more hardware at it and doing some optimization where available (seems to be the case for most server-side things). I've done a very scaled-down model already as part of a school business where I practiced writing supremely inefficient queries instead of analyzing a dumped array in PHP, which has of course been a good way to figure out what sucks and how to make it better. First priority is just to get a working model as it'll be a two-stage endeavor; in the long run, it'll probably be rewritten several times in order to get things more efficient (and secure, although I naturally hope to do that fairly well the first time around).
     
  10. eek

    eek CAMRA ***.

    Joined:
    23 Jan 2002
    Posts:
    1,600
    Likes Received:
    14
    .net front end + web services... would be up and running in no time!
     
  11. simon w

    simon w What's a Dremel?

    Joined:
    3 Nov 2003
    Posts:
    1,302
    Likes Received:
    0
    Can't argue with the delivery speed as I don't know the language, however the recruitment emails I get suggest that .Net & Java developers are more expensive than PHP developers. Just something else to think about ;)
     

Share This Page