Hey Fanatic Data Scientist, Your Language sucks (mine Too) - But don't mind!
Disclaimer: This rant is only about for Computer Languages, Because I hope Computers don't have heart to take this to their heart and abuse me on Internet!
Let's start with a Hypothetical Scenario. You are a naked Male Alien (like Terminator) and landed on the beautiful Planet Earth and learnt that you need to wear dress to mix with Humans. So you learn what Humans wear and then take similar ones for you. Humans wear Inner-Dress, Shirt, Pant, Socks, Shoes & to look a bit more cool - Sunglasses. That sounds sane and Humane, quite reasonable too.
But If you by any chance had encountered an aspiring #datascientist or language-dependent (read: Fanatic) data scientist, then you are going to look for only one dress that serves everything from your Eyes to Toes. Not just that you're going to be looking for only one-thing-fits-all dress but also question other (sane) humans who are wearing different things like Sunglasses for Eyes and Shoes for their Foot.
Hope that sets the context for the rest of this piece.
That's exactly what's happening around us Today. Developers a decade or so before loved Languages - in fact more than what we love these languages today but they also tend to be language-agnostic - which means they tried to see a tool simply as a tool. Today that's not the case, Because arguments like the following pop up every now and then:
- "Why don't you use Python, The world is moving towards Python" (Honestly, I never knew Python was making a cosmic pull on Earth, someone please tell NASA to act soon)
- "Do you use R? Oh, you're a Data Analyst - I know Data Scientists use Python" (Sorry, But if you haven't grown up to dissociate corporate designation from what one's role / job, Please go home kid)
A lot of so-called Data scientists have come to this conclusion that Python is what defines a Data scientist. Let me quote you what Mr. Tony Stark told the Spider-kid:
If you're nothing without this suit, then you shouldn't have it
Adapting to our context,
If you think Python (a tool) is what makes you a data scientist, then you shouldn't be a Data Scientist !
Because, You are not defined by the tool that you use, But by what you actually do with that. Sorry, but I've got to quote Ms. Rachel from the movie, Batman Begins:
Now that you might think I'm some crazy guy dumping my opinion on thousands of innocent natural neural networks (Human Brain, I mean), let me throw some data (Hey, I'm a data scientist too) in here to show how the world was actually language-agnostic.
The Pragmatic Programmer - one of the most cited and loved Programming books is itself not based on any programming language - language-agnostic.
Bill Gates in his Reddit AMA (6 years ago) for the question "Do you still code?" answered "Not as much as I would like to. I write some C, C# and some Basic." (Just wonder how many languages he must have known when he started coding for Microsoft)
Niklaus Wirth (who has won Turing Award) said "Many people tend to look at programming styles and languages like religions: if you belong to one, you cannot belong to others. But this analogy is another fallacy."
Hence proved, The well-known programmers were always coding in multiple languages based on the problem that they were solving. You can further look up for new-age programmers like Mark Zuckerberg (who coded in C, C++ but also used PHP for building Facebook) to see how they were also coding in any language that could solve their problem.
Why the fish do you care Abdul?
That's a valid question.
First, I care because, these new-age data scientists are becoming too much into the language / tool that they use than the problem they've set out to solve in the first place.
Do you know? Nate Silver, the guy who brought data science to pop-culture - the guy behind fivethirtyeight.com used Microsoft Excel and STATA for his analysis.
So the first lesson is Focus on the problem and Pick up the right tool for it. Maybe Python is the right tool for the problem or maybe not. Maybe R is a good tool for this. Maybe Javascript is a good tool for this problem context. Don't attach yourself too much into the language that you know because that also shows your unwillingness of learning a new language either because you don't believe you are capable or you are pretty orthodox.
Second, New-age data scientists just learn numpy/pandas/scikit-learn or tidyverse/caret/xgboost and then think they are good enough data scientists. So their entire life and livelihood and problem-solving ability is bet on purely one language - ironically not even the language but a few libraries of the language. This isn't good for the developer ecosystem because we ultimately become a bunch of robots learning a bunch of syntaxes and can code in that - but what you need to become is someone who can code in any language.
“The most disastrous thing that you can ever learn is your first programming language.” - Alan Kay
Learn more than one language so that your toolkit is always with multiple options and also you can appreciate a language better than other language and fix the void in that language's capability by another language.
Bottom line: Dear Language Fanatic, Your language sucks, mine too! But don't mind - we always have some other language for that particular problem. Just use that and fix the problem because ultimately you are here (getting paid) to solve problems!
PS #1: I love Python, I code in Python, I train People in Python. But I don't support fanatics demeaning / bullying some other programming language just to uplift one's own. Hey you're not Guido's Girl friend!
PS #2: If you think Python is the world's most used language, Sorry to disappoint you - it's Javascript (along with HTML/CSS).
PS #3: Google itself doesn't believe Machine Learning isn't going to be only about Python that's why they've released Tensorflow.js and Tensorflow for SWIFT.
Let me know in comments what you think!
Pray to Allah, Do it, and Tawakal
3 年We can use Reticulate package to collaborating R and Python ??
Senior Data Scientist
5 年What is the best way to start a career in Data Science?
Chief Scientist, Co-founder, Author
5 年As someone who has been writing code since 1984 when I was six years old, languages before are/were different than languages now. If you use python, great. If you use R, great. But you don’t need two hammers to put a nail in a board unless you just wanna beat the crap out of a board. Lol I agree, we were much more language agnostic before, but today python is so versatile that I don’t typically need to use anything else, and that’s a relief. But I can still code in many languages if I really wanted to. And no, you aren’t a data scientist just because you can use R or Python. That’s obvious, and I’ve never heard anyone claim that. I still find the job title of data scientist to be useless, but that’s just me. I steal a lot of their toolset for my own use (network analysis, ml, nlp), but I will never claim to be a data scientist. I’m just really good at using data and networks to figure things out.
Engineering Data Scientist
5 年Just beautiful!!
Data-driven marketing tools
5 年Yeah, everyone knows R is better for data science ?? Oh wait, that's not what this (actually amazing) article was about? ??