Thread: Buying algorithms vs. programming

  1. #1
    Banned
    Join Date
    Dec 2012
    Posts
    5

    Buying algorithms vs. programming

    I'd like to respectfully ask a general question. I hear there are libraries of algorithms for sale, many of which are checked for accuracy, I was wondering if any of you use them and what you think of them? This is especially important for complicated algorithms that require considerable time to program. I'd especially like to hear from anyone with experience in this area. Thanks!

  2. #2
    Banned
    Join Date
    Dec 2012
    Posts
    5
    For example, a library like Numerical Algorithm Group (STW), it costs $3000 per year for unlimited downloads of algorithms. Has anyone used a service like this?

  3. #3
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    it costs $3000 per year for unlimited downloads of algorithms.
    I have never heard something so ridiculous in all of my life. I have too many other uses for 3 large.

  4. #4
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    Quote Originally Posted by whiteflags View Post
    I have never heard something so ridiculous in all of my life. I have too many other uses for 3 large.
    You've never heard of it? You put a token in the machine and it dispenses an algorithm. I once tried to get an algorithm to tie my shoes. Worst case, I expected my shoe laces to tie together. In reality, it was much worse than that. My laces were lost in an infinite loop. True story.

  5. #5
    Registered User
    Join Date
    Nov 2012
    Posts
    4
    Oh, avoid that if you can. If you need a specific algorithm, ask about that, and we can probably help you. It's likely already been solved publicly.

    On the other hand, Mathematica only costs $295, and that has a ton of algorithms, and lots of people use that. Or you might consider buying the LZO compression library (for example), since it is an extremely fast implementation of a compression algorithm, and it's easier than rewriting it yourself. But don't pay for an algorithm, at worst pay for an implementation of an algorithm.

    It's a really weird question you're asking.

  6. #6
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    I disagree with previous posters.

    Some algorithms are difficult and expensive to implement in software, support, or maintain. If you need a good quality solution to a problem, and if the cost, effort, or frustration of implementing it is more than the cost of buying one, then buy one. If you need a suite of algorithms, the the cost of buying a good-quality library is worthwhile.

    Let's say your time costs your employer $100 per hour - which is actually a pretty low figure for a lot of people, as salary is often a small part of the total cost your employer incurs by employing you. If it would takes you 40 hours to do background research, coding, debugging, and other things to implement an algorithm, then simple mathematics says your employer would have been better off paying $3000 to buy a solution, and getting you to spend a couple of hours finding information so you can purchase it. Repeat that for a family of algorithms, and the decision becomes even easier.


    In the numerical analysis world, NAG is pretty well known, and is certainly often bought for those sorts of reasons.
    Last edited by grumpy; 12-13-2012 at 02:20 AM.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  7. #7
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I disagree with previous posters.
    I doubt it. I think the other posters probably didn't know anything about NAG.

    For a moment, forget what you know about NAG and read again the second post.

    It sounds instantly flaky doesn't it. Hearing "I can get all the numeric algorithms I need for $3000 a year." just hits the ear of any reasonably savvy individual wrong. It sounds like something that someone who didn't understand the GPL would come up with to scam new programmers.

    Saying "License a well respected, highly optimized library instead of trying to do everything yourself." is something to which most every programmer will agree.

    [Edit]
    As to the original query, there a tens of thousands of programming and development libraries. Discussing abstractly the "ones we've used" is an adventure doomed to wasting a lot of time. You see, there is no standard for library quality, and beyond that, we know nothing of your requirements.

    If the thing has been done before, there is likely a library available to do it, but there are likely more terrible ones than good ones because, again, there is no standard of quality. That is also likely to be irrelevant; we've all (any programmer with any real experience) used good libraries and bad libraries.

    If you need something in particular, tell us your situation. We can probably advise you if we knew what you were shooting.
    [/Edit]

    Soma
    Last edited by phantomotap; 12-13-2012 at 02:41 AM.

  8. #8
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by phantomotap View Post
    I doubt it. I think the other posters probably didn't know anything about NAG.

    For a moment, forget what you know about NAG and read again the second post.
    I was responding to the third and fourth posts, and (apart from the last line of my post) my comments apply whether or not people know anything about NAG. In fact, my comment about NAG, specifically, was an afterthought.

    Quote Originally Posted by phantomotap View Post
    It sounds instantly flaky doesn't it. Hearing "I can get all the numeric algorithms I need for $3000 a year." just hits the ear of any reasonably savvy individual wrong. It sounds like something that someone who didn't understand the GPL would come up with to scam new programmers.
    These comments suggest you're thinking on a small scale. In certain large-scale high-criticality domains, practitioners think nothing of paying $10K or more per annum for a single-user license of an operating system (admittedly specialised operating systems) on which to develop and deploy their applications.

    I'm not suggesting just accepting such license terms uncritically. Before paying for something, check out its credentials. The more money you are potentially spending, the more effort you can afford in checking things before deciding whether to buy.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  9. #9
    Registered User ledow's Avatar
    Join Date
    Dec 2011
    Posts
    435
    Have any of you ever read the "Numerical Recipes in <insert language here>" books? Damn, I'm a maths and computing graduate and I don't even claim to come CLOSE to some of the things they do on complex algorithms. They can literally save you FOREVER when it comes to working out some things.

    But, of course, it depends on your needs. If I was programming a homebrew game, I'd probably not bother. If I was programming a commercial game and those algorithms wiped the floor with anything I could produce, then it would be worth the investment (licensing issues resolved, of course). If I was programming a high-end physics simulation, it's quite likely that I can save months of mainframe time by just pulling in a trusted and well-tested library instead of taking the risk of messing things up myself and/or providing a substandard implementation. I'd buy the Numerical-Recipes-style algorithms in a second, if that was the case, even if they cost £20,000.

    The question really is how much is it going to cost you to implement that algorithm and get it right, and how much would it cost to buy a licensed algorithm and just trust it's right instead? If I was adding A* or hash-tables to a program, I'd probably claw in some open source libraries or homebrew implementations. But if I was adding something more complex, or where every nanosecond counts, or where it would take me longer to debug my own copy of that algorithm than the rest of the program would to write, or where I just haven't got time to be worrying about the implementation of such low-level stuff compared to how much else I have to add to it to make my program, I'd license third-party things in a second.

    And when you're working with high-end maths, or any sort of large-scale simulation, it's almost always the best solution to spend money on the things that would cost you most of the time otherwise.

    If I had a need for such things, I'd spend the money. If I didn't, I wouldn't. The question is: Do you *need* that kind of thing?

    Otherwise your question is like asking "Should I buy a car, or should I carry my things around?" Just too many parameters that only YOU are aware of (weight, distance, health, wealth, etc.) to effectively recommend the best solution for you.

    - Compiler warnings are like "Bridge Out Ahead" warnings. DON'T just ignore them.
    - A compiler error is something SO stupid that the compiler genuinely can't carry on with its job. A compiler warning is the compiler saying "Well, that's bloody stupid but if you WANT to ignore me..." and carrying on.
    - The best debugging tool in the world is a bunch of printf()'s for everything important around the bits you think might be wrong.

  10. #10
    Banned
    Join Date
    Dec 2012
    Posts
    1
    The positive responses are intelligently written and composed, while the negative ones are sarcastic and sloppy. I've know about NAG for years and found they give great service and a quality product. Why in the world would anyone program a complex mathematical function at a tremendous expense, slowing down the entire product delivery. You could just buy the math function and move on quickly? Do you know how much programmers cost these days? The important thing is not the math functions, but how you use them. If you haven't given NAG a try, check out their website and see for yourself.

  11. #11
    Banned
    Join Date
    Dec 2012
    Posts
    5
    Thank you for the responses. It looks like the positive responses are much more informed than the negative ones, and well thought out. It does seem like NAG is a bargain and should be considered for anyone programming algorithms.

  12. #12
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    > The positive responses are intelligently written and composed,
    It's also interesting to remark that you(RobertWilson) and the OP(schastain1) have the same IP address - biased much?

    Not only the same IP address, but also the same birthday - no, really, what are the chances of that happening - do you have an algorithm for that?

    I might suddenly invoke 9. Users are allowed only one account.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  13. #13
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  14. #14
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    So this might actually be an advertisement for the service? Hmmm.

    Since this has nothing to do with game programming I'm going to kick it over to the tech area.

  15. #15
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Why? What have we in the Tech area did to you to deserve this spammer?

    Off with his head!
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Buying RAM (how many pins?)
    By Stan100 in forum Tech Board
    Replies: 2
    Last Post: 08-15-2005, 07:00 PM
  2. .NET---worth buying?
    By jverkoey in forum A Brief History of Cprogramming.com
    Replies: 13
    Last Post: 02-21-2005, 05:28 AM
  3. buying a laptop
    By Perspective in forum Tech Board
    Replies: 61
    Last Post: 07-15-2003, 11:54 AM
  4. Is VC++ worth buying?
    By nickname_changed in forum C++ Programming
    Replies: 9
    Last Post: 03-15-2003, 06:38 AM
  5. Buying advice?
    By Liger86 in forum C++ Programming
    Replies: 10
    Last Post: 12-26-2002, 06:12 PM