sdfsdf sdf dsfsfd dsdfsdf General lmost weekly a friend or an acquaintance asks me, I want to learn to code; which language should I start with? More or less bi-weekly I get a DM on LinkedIn starting with My son should start programming; what is the best language for him?
Advertisment
It’s not just people who’ve never coded before. Often I get these messages from people who have several years of coding experience under their belts.
I’m not saying this to complain.
I make half a living from prodding the pros and cons of different programming languages, frameworks, and AI models here on Medium. I profit greatly from people having such questions.
The questions are quite intuitive. After all, everyone would like to work with the best possible tools and build their software skills as quickly as possible.
And when you observe that every developer seems to use a different technology stack, it makes perfect sense to wonder which one is the right one.
The thing is, it all depends on the problem at hand.
No technology on its own is good or bad; it just depends on what type of problem you want to solve. At the end of the day, programming is just that: problem solving by means of using a computer.
So, for people who want to start programming or enhance their skills in software development or data science, the question should not be What should I use, Python or Julia? The question should be How can I solve software problems better?
How to solve problems
For full disclosure, I’m not a computer scientist by trade. I’m a particle physicist who happens to use concepts from programming and data science because I deal with humungous amounts of data from particle colliders.
That being said, physicists are similarly sought-after as computer scientists. That’s not because of their knowledge about neutrinos or black holes; it’s because of their problem-solving capabilities.
Abraham Lincoln is quoted to have said, Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
For programmers and data scientists, this means spending time understanding the problem and finding high-level solutions before starting to code. In the average coding interview, candidates are expected to spend less than half of their time actually writing code, and the rest of the time understanding the problem.
1- Understanding the problem
Don’t skip this step, ever! dkdkd dkdkdk dkdkdk djdjdj dee oosio
Key to knowing whether you understand a problem is whether you can explain it to someone who isn’t familiar with it. Try to write it down in plain English or your mother tongue; draw a little diagram; or tell a friend about it. If your friend doesn’t understand what you’re talking about, you need to get back to the problem statement