back to article A bot lingua franca does not exist: Your machine-learning options for walking the talk

So, you want to create a hugely successful machine-learning startup? Or you've been asked to start investigating ML for your firm? Well, you'd better get programming – but what language should you use? No languages have been designed specifically with ML in mind, but some do lend themselves to the task. Developers …

  1. Anonymous Coward
    Anonymous Coward

    It's Python.

  2. tiggity Silver badge

    S

    S should have been mentioned, like MATLAB it is paid for (S-PLUS) but R is basically the free version spun off of it.

    Perl is quick for crunching large amounts of data ... destroys .NET and Java on real world cases I have tried.

    1. Anonymous Coward
      Anonymous Coward

      Re: S

      S has nearly no market presence.

      It's barely comparable to modern R. R as it's used today is primarily driven by dplyr, reshape etc. Makes it a completely different language, frankly.

  3. Andy 73 Silver badge

    Hmmm..

    No mention of Scala or Spark ML? Not convinced. Not that they're the 'best choice', but if you're listing options, I'd expect them to be there.

    My experience is we get a bunch of guys who've used a range of tools in an academic environment, and thus have used whatever language or package happened to come to hand to most easily solve their particular problem.

    Then they have to face a production system designed around all the usual requirements for uptime, release management, security, versioning, testing and so on. The range of options when you have petabytes of data being generated in real-time is somewhat smaller, especially if you have any sane constraints on hardware (after all, you probably have a few hundred machines in your cluster, you can't justify doubling that just because a particular project runs a bit slow). Businesses at this sort of scale only want limited exposure to tools that cannot be proven to be robust. DevOps have no desire to install yet another package just to satisfy your needs, when it probably needs yet another license audit, release cycle and further support.

    Suddenly, you have a bunch of guys who are jumping through hoops not to give up their language of choice because they've got into the mindset that you have to have the right language to solve the problem. And in the process they've completely failed to understand the architectural techniques needed to deliver robust, performant solutions - believing that because they once saw Perl running quickly, it's the only way to deliver at scale.

    Then you look at the business analysts who have demanded some horrendous SQL shim over your 'big data' just because they're incapable of learning a new language, and you can see where this is all going.

  4. edwardmartinsjr

    We have some libs in golang...

    Libraries for Machine Learning.

    bayesian - Naive Bayesian Classification for Golang.

    CloudForest - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.

    gago - Multi-population, flexible, parallel genetic algorithm.

    go-fann - Go bindings for Fast Artificial Neural Networks(FANN) library.

    go-galib - Genetic Algorithms library written in Go / golang

    go-pr - Pattern recognition package in Go lang.

    gobrain - Neural Networks written in go

    godist - Various probability distributions, and associated methods.

    goga - Genetic algorithm library for Go.

    GoLearn - General Machine Learning library for Go.

    golinear - liblinear bindings for Go

    goml - On-line Machine Learning in Go

    goRecommend - Recommendation Algorithms library written in Go.

    gorgonia - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.

    libsvm - libsvm golang version derived work based on LIBSVM 3.14.

    mlgo - This project aims to provide minimalistic machine learning algorithms in Go.

    neural-go - A multilayer perceptron network implemented in Go, with training via backpropagation.

    probab - Probability distribution functions. Bayesian inference. Written in pure Go.

    regommend - Recommendation & collaborative filtering engine

    shield - Bayesian text classifier with flexible tokenizers and storage backends for Go

    FONT: https://github.com/avelino/awesome-go#machine-learning

  5. John Smith 19 Gold badge
    Unhappy

    No mention of Scilab or SciCOS

    Which is European and open source.

    Scilab is the core system and SciCOS lets you set up the block models control systems (and other) engineers like.

    And IIRC it can generate C/C++ code if necessary.

    Scilab is here

    SciCOS is here

  6. John Gamble
    Boffin

    Julia

    Julia is definitely a powerful language -- but it's just about to release version 0.6. The goal is to have every corner of the language nailed down by version 1.0, and that goal is very close (the Github repository is here), but if you start using it now, you have to be willing to risk having some code go obsolete on you.

    (My projects in Julia are definitely in the "toy" area right now, so the updates are fairly painless to me.)

  7. Sysgod

    WTF is this crap

    Statistical pattern matching. How utterly practical. And boring.

    Tell me about a package that understands stimulus and response. Something that knows how to learn. Something that knows how to build upon its learning.

    A group of cells in any brain learns to manage all its systems in the body and learns to balance itself so as not to destroy itself as things change from conception. We can do this too guys!

    1. LionelB Silver badge

      Re: WTF is this crap

      A group of cells in any brain learns to manage all its systems in the body and learns to balance itself so as not to destroy itself as things change from conception. We can do this too guys!

      How? The Nobel committee is waiting to hear from you.

  8. undefined

    Mathematica

    Wolfram's Mathematica is trying to carve out a place in this list. It's not free, but it is much cheaper than MatLab. It's still closed source, though.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like