Which programmer is suitable?

Discussion in 'C' started by gggg990, Dec 31, 2008.

  1. gggg990

    gggg990 New Member

    Joined:
    Dec 23, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Hey there,

    I'm a leader of a group of 10 mobile developers. We're now looking for someone to take care of serverside programming. We're deciding what would be the best solution. We need to put out an ad for programmer, but first we need to decide in which language he will be working in.

    What we're putting together is a paying system for cellphones and therefore we need a central system on server which will then connect to payment processing(like authorize.net or something) and to phones and interact with different client accounts. We're wondering if it would be best to look for C programmer or .Net programmer or even something else. It's important for us that system is very secure(money transactions) and flexible for connection to gateway API's or later direct to different banks aswell as capable of good connection to varioud mobile phones where animations and sounds will be played. There will be different platforms of cellphones, in the beginning only iphone, nokia, android and later more. For those phones without special app, our system should be accessed thru mobile browser so it will be connected to mobile version of our site. There should be a site connected to our central system for computer access too, where user has all the options and functions showed..

    I hope you can help us by suggesting if it's better to have C or .Net framework and why?
    And if there's any programmer out there who wants to be a part of our project please PM!

    Best regards everyone,
    Greg
     
  2. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    Sounds like you first need a consultant to get the design sorted out, then once you have a working design start looking for a programmer. The language should be determined by the requirements of the design, it's not something you should be thinking about at this stage unless you have any other reason for picking the language this early. Then when you have a programmer keep the consultant available on a part time basis (if needed) to advise on the implementation.

    Nothing in the design you've outlined suggests a specific language. C, .Net, Ada, assembly etc do not automatically come with a level of security, flexibility etc, these are design features, not language features. .Net is Windows specific, so if you need the software to run on non-Windows boxes then that rules out .Net.
     
  3. gggg990

    gggg990 New Member

    Joined:
    Dec 23, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    Tnx for your answer..

    What do you mean design? Like graphics and such? Where to find that consultant? It would probably be easiest if I would get a company which would do the job but I want personal dedication.

    As for languages I'm leaning towards C, because they say Unix enivorement is more stable and secure if configured properly..
     
  4. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    Design of the software, as in how it will work. The low level design. Not the front end, although that will be part of it. Your opening post outlines vaguely what the software will do; the design of the software will involve nailing down that outline and refining it to a medium level, and possibly formal, description of exactly what the software will do. So for example "it's important that the system be very secure", which is a vague wish rather than an accurate specification, will be resolved in the design to the details of any access control systems, protection, if any encryption is used, if a user account system is used what kinds of users, what kinds of privileges, if a password is used or a multi-level authorisation method, or if the OS authentication is good enough etc etc etc.... so obviously the consultant will need to understand the details of different OS protection systems if the security requirements point to any specific OS.

    Your comment about using C because Unix is secure is (a) a non-sequitur and (b) wrong. Windows, VMS etc - all OS's - are secure if configured properly, and ANY computer is secure if the hardware is secure; even on something like AmigaDOS which has no security you can write secure software. It's misconfiguration and poor design/implementation that lead to problems. A well configured Windows system can be more secure than a badly configured Unix system, and a well-programmed AmigaDOS application can be just as secure as any other OS you care to mention, providing that you have control over ALL inputs to the computer.

    So as I said before you should not be leaning towards any specific language or platform unless there are specific reasons to do so. "they say" is not a good reason to do anything; you must make the choice according to the system requirements.
     
  5. Jadav Rakesh C.

    Jadav Rakesh C. New Member

    Joined:
    Nov 15, 2007
    Messages:
    17
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    VC++ Developer
    Location:
    Surat
    Of course, C Programmer..........
     
  6. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    Says someone who signs off as a "C++ Developer", so you could be slightly biased. How do you know C is best for the project and not, say, Visual Basic? And before you fall about laughing - VB is easy to write and although it doesn't offer the best possible performance it does offer a shorter development time than C. Plus you can always write the bit of code that profiling shows to need to be sped up the most as a C DLL and leave the remaining 95% of the application in VB. C is a good language but it's not automatically the best choice for every project out there.
     
  7. Jadav Rakesh C.

    Jadav Rakesh C. New Member

    Joined:
    Nov 15, 2007
    Messages:
    17
    Likes Received:
    0
    Trophy Points:
    0
    Occupation:
    VC++ Developer
    Location:
    Surat
    You answered yourself.......:undecided

    Bye the way.....Have a good day..
     
  8. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,009
    Likes Received:
    203
    Trophy Points:
    63
    Occupation:
    Senior Support Engineer
    Location:
    England
    Yes, but performance isn't the only metric you use when designing a project, there is much more to take into consideration. Assembly language, no, in fact designing the whole thing in completely custom hardware is the most performant solution, but hideously expensive which is why general purpose CPUs and some language are the general solution to most software projects. Assembly is the most performant solution in software but again it's spectacularly complicated and the development and maintenance costs are far too great in most cases. So it's then a case of trading off software complexity against cost of development and maintenance, and the higher the level language you can get, usually the best cost point you can find. Which means that C as basically one step above assembler is not automatically the correct choice. However with the ubiquity of C it does mean C programmers are ten a penny so although it's a fairly low level language the development costs can be kept fairly low. Once you've got the basics of the project laid down you're mostly just calling functions to do the work and to a large extent the choice of language is irrelevent at that point; it's just a case of whose syntactic sugar yuou prefer.

    Also, badly written C can work a lot slower than well written BASIC.
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice