8
sleek
6y

Short question: what makes python the divine language for ML and AI. I mean i picked up the syntax what can it do that c++ or java cant? I just dont get it.

Comments
  • 6
    It's really easy. Lots of things built-in to work with different data structures. I think it's especially easy for scientists that are not devs. Just like Matlab you can do a lot in a few lines. Oh, and cross-platform.
  • 5
    It’s easy to understand, not the most optimal language but it got the work done, especially for research
  • 6
    When it comes to ML, the actual work is mostly done by some low-level C / CUDA / OpenCL / ... library. The language you're using to interact with the library doesn't have any significant impact on the total work your ML does, so it makes sense to use a common, high-level language with a simple syntax, such as Python.
  • 1
    So is it save to say, performance wise, using C++ would not be worse if not better than python?
  • 1
    Prototyping is really fast in Python, and since underlying libraries like CUDA and BLAS/LAPACK do the actual heavy lifting, the performance impact is negligible.

    Also, it has a gigantic ecosystem for ML and stuff, and it's really, really easy to get help.

    @AymanH C++ probably would perform better, but the performance increase would be not so much and in irrelevant parts. Almost all that execution time of a Python ML program is in low level libraries. Python is just used to connect stuff, configure things, and shuttle data around here and there.

    I am of course talking about the general case. I can see C++ being used in specialized cases.
  • 4
    Wait, seriously? When people are talking about writing something with machine learning, all they're talking about is calling some library in python? Fucking posers!
  • 1
    @irene

    Not exactly. Nobody puts that they work with arrays, hashes, and references on their resume, but I have seen "AI/ML" listed alongside python as the only language more times than I can recall. If they're just using a common feature of the language, then its use on a resume is just a lame attempt to dazzle.

    The equivalent with photoshop would be to claim to be an expert in cropping on a resume.
  • 3
    @bahua AI/ML is a skill largely independent of the language/framework you use. If somebody writes "AI/ML" in their resume I'd expect them to be familiar with the concepts, i.e. the algorithms, optimization, and so on.

    Since such a large part is knowledge of the algorithm, it actually doesn't matter much what language/library you're using. A person who works in scikit-learn in Python would transfer to any other library in say C# or R, pretty easily.
  • 6
    @bahua wait people who make webapps just stack npm modules? What posers
  • 3
    @musician 😅
  • 2
    @musician Your point validity rating is so high it caused me an integer overflow
  • 1
    @musician

    Pulling a plate of Javascript garbage onto a page isn't really comparable to teaching a computer to learn.
  • 2
    @bahua feeling superior yet? 😂
  • 3
    @bahua initially ur statement makes ML sound epic but when u get into it u get a course teaching u to use premade libraries and sending in some numbers and takes all the fun out of it. When i was a kid i imagined AI means actually making something like JARVIS from iron man or even Wall-E, something that truly appears to be conscious . Now it just looks like a fancy calculator that can take in data other than numbers.
  • 2
    @lambdaCurry

    I don't follow. Javascript is objectively terrible, and the industry is mature enough to weed script kiddies out of the running for a given employment opportunity. Machine learning and artificial intelligence are currently major zing words on a resume. I object to their use as such, when it turns out most people claiming expertise are just basically copying and pasting.
  • 1
    @bahua, a fact someone works within a different area doesn’t necessarily make them less skilled. You imply people working with a different (apparently not approved by you) technology are not as bright. Doesn’t matter the example. Do what you like and let others do too.
  • 1
    @bahua I actually agree with your point about ML/AI being used to add bling though, that's very relevant and I've seen a lot of people do it. It's pretty easy to weed them out though, just ask them how they made their ML/AI projects and see what their answer focuses on.

    But it is a very legitimate skill nonetheless, and a good ML/AI guy would have spent a lot of time practicing and honing the skill.
  • 1
    @bahua you are indeed over glorifiyng ml. Do some yourself. Its a lot of fun and not that hard if you use a high level library like keras.
    Yes there are also wizzards who come up with those libraries but not every developer needs to understand exactly how they work under the hood. That was my point. You dont need to know how react/django/laravel(insert any library here) works exactly to use then
  • 0
    It’s not. Check out Lua if you want to focus on AI or ML.
Add Comment