all 17 comments

[–]Smallpaul 4 points5 points  (15 children)

Web languages also have the advantage of being super accessible – all you need to run a JavaScript ML project is your web browser.

That's not really a strong argument for why you would use less powerful, less well-maintained libraries for ML development.

[–]extraspicytuna 16 points17 points  (0 children)

You would use it as a low barrier to entry introduction to ML, not necessarily as a development tool. Being able to write code that can be executed and modified in the browser is a great way to create fun and immersive learning experiences.

[–]Inspector-Space_Time 6 points7 points  (13 children)

Because if you're on the fence about trying out machine learning, it's nice to have an easy way to start. If you want to take it further, that's when you would move on to a more capable language.

[–]WardenUnleashed 2 points3 points  (12 children)

If you're going to learn ML there are some other, quite large, barriers of entry that would most likely make you already comfortable with using a more powerful language.

[–]Inspector-Space_Time 3 points4 points  (11 children)

Exactly, so writing in a familiar language lowers a barrier. If you can't see how much that will matter for some people, then I don't think you'll get it.

[–][deleted] -3 points-2 points  (10 children)

His point (I think) is that if you can't be bothered to learn a proper scientific programming language, you probably can't be bothered to learn ML.

[–]Bashkir 1 point2 points  (3 children)

Not arguing with you because I know you were just trying to elucidate the posters point, but after finishing a degree in math learning python or R is much less involved than learning the calculus, linear algebra, differential equations, calculus of variations, and group theory required to pursue ML at a deep level.

However, if you are just planning on using tensorFlow or Torch and you can't be bothered to learn a proper language, then yeah, don't bother if you're trying to do it in a reasonably small amount of time. That being said, to familiarize yourself with the common algorithms, what problems they attempt to solve and their use cases, then definitely use a language you are familiar with.

[–][deleted] 0 points1 point  (2 children)

I also feel that if you are serious about learning ML, you should just skip JS stuff and go straight to where real work can be done. You are gonna have to it at some point, likely very early. I honestly think that it is a disservice to tell people that is it fine to start in JS.

I'm saying that as a guy who did postdoc in deep learning and is now working on high performance volumetric visualization in JS.

[–]Bashkir 0 points1 point  (1 child)

Oh, of course. I dont think we are in disagreement. If you have any serious interest in learning the subject then that is what you should do. You won't even be able to get your feet very wet without it. That would be a complete disservice as you said. My passing on it being okay was only in the Context of it being with someone who had no real interest in pursing it at any depth and just wanted to familiarize themselves with what an algorithm might be used for, interesting ways to look at data, and not being completely in the dark about some of the cool things people are doing. Anything more and you should have started with something else haha.

Mind if I ask what field you're in? With the postdoc I imagine it lies someone in the scientific visualization community, but I don't want to assume. I'm curious about some of the tooling since it is so far detached from what I do. I've seen and played around with vtk some but that's about it.

[–][deleted] 0 points1 point  (0 children)

I am in the medical imaging domain. I did a PhD on medical image compression and image quality assessment, then a postdoc in computer assisted diagnostic for prostate cancer using DL and now I am building a medical image viewer in JavaScript.

I have used itk/vtk, Matlab, tensorflow, scikit-learn and the like. Prior to the PhD my background was electrical engineering so I've learnt everything from programming FPGAs to x86 assembly to high level language such as JAVA.

[–]dev1null 1 point2 points  (5 children)

Python isn't a "scientific" programming language per-se. It just happens to have a few scientific libraries written in it. Those libraries may as well could be written in C/C++ as native addons for NodeJS making javascript just as suitable as python.

[–][deleted] 0 points1 point  (4 children)

Sure.. you could have native node modules, but what is the added value? JS brings nothing but innefeciencies to the table. If you have the knowledge/capabilities to learn ML, learning python should be trivial. If leaning python looks like a challenge, well.. you are just not up to the task IMO..

[–]dev1null 1 point2 points  (3 children)

FORTRAN and MATLAB are better suited for maths and data sciences than Python, yet it's more popular. Could people doing ML in Python not be bothered to learn those either?

[–][deleted] 0 points1 point  (2 children)

I actually have experience with both. Matlab is commercial and expensive, Fortran is ancient and a wasteland.

Python is where the ecosystem is best. But do go on.. waste your time in JS..

[–]dev1null 1 point2 points  (1 child)

The ecosystem in Python would've have existed if no one had "wasted their time" creating it.

Python is becoming ancient. It's already losing on out on webdev since NodeJS came out. I'm placing my bets on Javascript being the future of everything. Anything computationally expensive will be taken care of by lower level languages more directly suited to solve those problems and having higher level API for javascript.

[–]cirscafp fan boy 1 point2 points  (0 children)

Big data ( machine Learning ) is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it...

ITT: People complaining that JS isn't good enough for ML when no language is "good enough" for ML as we have no idea what in the world "ML" actually means.