News for hackers. Stuff that matters.
Re:C++20, How Hard Could It Be by Xeamek on Sunday September 25, 2022 @12:06PM (#32972715)
>Java for enterprise or Android >C# if you are windows developer

Picking Java over kotlin for android, or lumping C# into "just for windows" bucket is exactly the ignorance that leads you to "we don't have choices" conclusion. If you always default to literally top1 language for given domain, then how can you expect to have multiple choices?

I'm not talking about using some brand new gimmick that came out yesterday and will die tomorrow, but if you aren't able to leave your comfort zone even just-so slightly to update your stereotypes about given given domain and its trends, then by definition you won't see the alternatives.

Re:C++20, How Hard Could It Be by f1shy on Sunday September 25, 2022 @02:25PM (#32974353)
TBH I was shocked by "Python for machine learning". I do not know where that comes from. Maybe because some important toolkits are available for Neural Networks? But machine learning is not neural networks... you can do it with NNs, but there are so many other algorithms... I'm really surprise of this kind of posts in hacker news. I thought the audience here has other experiences.
Re:C++20, How Hard Could It Be by jandrewrogers on Sunday September 25, 2022 @03:10PM (#32974874)
Python for machine learning is a coincidence of history.

Python is the traditional scripting language for high-performance computing (HPC) going back a very long time, as a wrapper for highly optimized and scalable C libraries. Python on supercomputers wasn't originally used for machine learning but it naturally included support for excellent linear algebra libraries, etc for various types of large-scale modeling. When machine learning first became trendy, data scientists that wanted access to mature library implementations of critical algorithms that worked very well at large scales were mostly limited to C/C++ or Python wrappers of that C/C++. Naturally, they chose Python for the same reason Python was already being used in HPC -- ease of use.

By virtue of its use in supercomputing, Python had uniquely strong support for many types of machine learning before there was a demand for machine learning. If HPC had used some other popular scripting language instead of Python, we'd probably be using that for machine learning right now.

Re:C++20, How Hard Could It Be by tinco on Sunday September 25, 2022 @02:47PM (#32974602)
That's literally the only one that didn't shock me. What universe do you live in where machine learning algorithms aren't tied together with Python? And what industry where machine learning is not mainly neural networks?
Re:C++20, How Hard Could It Be by f1shy on Sunday September 25, 2022 @03:09PM (#32974868)
In the company I work most of it is done in matlab for "putting together" then goes to C++. Again not neural networks. I'm saying all the other machine learning. Maybe rare case.
Re:C++20, How Hard Could It Be by p1esk on Sunday September 25, 2022 @03:19PM (#32974973)
What kind of machine learning does your company do? It's probably something simple, because for anything complicated, like computer vision, speech recognition, any non-trivial NLP, and large scale recommender systems you do need neural networks.
Re:C++20, How Hard Could It Be by f1shy on Sunday September 25, 2022 @03:53PM (#32975347)
Autonomous driving, including, for example, computer vision. No NLP or speech. About the "need" or neural networks, there is a lot of discussion going on. As you may know, the "black box" nature of NNs make them a little more difficult than other means, when you have to validate them for safety critical systems.
Re:C++20, How Hard Could It Be by p1esk on Sunday September 25, 2022 @05:01PM (#32976181)
If you use CV for autonomous driving you use object detectors, and any modern object detector uses a neural network as its backbone.
Re:C++20, How Hard Could It Be by f1shy on Monday September 26, 2022 @01:24AM (#32979719)
Used yes. But not the biggest part. Maybe 10% at most.

We are doing L4, so if something goes wrong, the manufacturer is responsible. Once we were in a test car. It was behaving great. At one point, the car "makes the decision" to accelerate and pass. The manager to which we were showing asks "we did the car not waited a little bit? can we change that behavior?". A very long discussion ensued, about data sets, labeling, training... long story short: we have to be able to change behavior (even for perception) in a deterministic way. So the amount of NNs went down dramatically after that.

Re:C++20, How Hard Could It Be by p1esk on Monday September 26, 2022 @01:49AM (#32979835)
This is a good point, and I expect in the near future we will be able to simply ask a neural network to explain and change its behavior without retraining. I already see signs of that in prompt engineering used to interact with GPT3 or Dalle2.
Re:C++20, How Hard Could It Be by tinco on Monday September 26, 2022 @12:41PM (#32985265)
It's just going to be as good as asking a human to explain its behaviour. It might be a semi-accurate interpretation of its actions based on its internal knowledge, but it's never going to be the actual thing. The actual decision making inside a neural network is fundamentally not something you could simplify into language exactly.
Re:C++20, How Hard Could It Be by p1esk on Monday September 26, 2022 @01:56PM (#32986117)
Yeah, it's not clear if we will be satisfied with those explanations: "I decided to slow down because I see these (seemingly random and irrelevant) objects around me", because during training on trillions of video frames the model has learned it should slow down when similar object configurations are present to reduce the chance of an accident by 0.0002%.

Even if the given reason is simple, like "I decided to slow down because the car in front of me is red", explicit override of the learned rule ("don't slow down when you see red cars") might potentially increase the chance of the accident by a lot more than 0.0002% because we are messing with the model decision making process.

Re:C++20, How Hard Could It Be by plonk on Sunday September 25, 2022 @02:35PM (#32974464)
Python is the main language for PyTorch and TensorFlow, there are few ML frameworks more complete than Scikit-learn, I'm not aware of an equivalent to NumPy in other languages, and this list is probably missing other things I don't use.

What's the alternative for quick ML prototyping?

Re:C++20, How Hard Could It Be by didibus on Sunday September 25, 2022 @03:17PM (#32974960)
R, Matlab, Julia are some common alternatives.

Java/Scala I've also seen, specifically things around Spark ML, and Spark compute.

That said, Python is definitely the most common nowadays I'd say.

Re:C++20, How Hard Could It Be by synergy20 on Sunday September 25, 2022 @12:13PM (#32972818)
same can be said to typescript, did not mention them to make the point.