Which programming path to choose? (Which would you suggest?)

start with a low level langue like C you need to understand how things works in a low level aspect what's pointer what's function what's types don't go in depth just use it to learn the fundamentals and when u feel like u know how things works go for a more easy programming language i suggest to learn js it's everywhere ppl say it's bad i agree but don't build a hate towards it it may feel inconvenient but trust me learning js in depth would be very helpful then go for reactjs so u can do some web and mobile and u can do desktop also with nodejs electron js everything could be done with js nowdays but if you want AI path i suggest you to learn golang instead of python cause it's made by google and soon enough it would take the whole AI industry but just enjoy the process not matter which language u picked
 
Thanks everyone on your input in my question.

After going through everyone's input, I am thinking the best is to learn Javascript and then pick up a frame work afterwords. I am planning on mixing my Automation knowledge with Javascript and its framework. I guess this is something i will be looking into from now.

I only have 4 hours in a day once I start working, so I plan on improving my Python to a good level and then start with JS, so I have atleast mastered something before transitioning with less amount of time in my hands to learn JS.
 
Been there before, just stay motivated,keep working and you will get there .
 
After going through everyone's input, I am thinking the best is to learn Javascript and then pick up a frame work afterwords.

The only issue you'll run into is that "learn javascript" is impossibly broad...

The reason people are suggesting a Javascript framework is that it teaches how things "should" be done (according to that framework), which cuts down a tonnnnn of figuring out those standards for yourself. It teaches you good project structure and code patterns (such as immutability vs reactivity / managing application state / etc) that you can repurpose into your other projects that may not even use that same framework.
 
Take it slow mate. Learn programming just to automate the things that you need. Once you are comfortable with that, you will already know what stream you will be great it.

I didnt learn python as the first language. I learned PHP, and I used to code in procedural. You can write small custom functions at that level to existing scripts. Later when things I wanted to do evolved (small projects for myself, small client projects) I learned concepts of OOP.

Once you reach that point, you can pretty much code anything that you want ( might have bugs, and may not be optimized, lot of code redundancies). At that point you will start to thing about keeping the code neat and clean. I learned whats MVC and got hold of Codeigniter.

Once I was half good in codeigniter, I heard Laravel is the best thing, so I jumped on to it. It was a tough nut to crack with how it works (composer, autoloading artisan) so I had to leave it and come back to Codeigniter.

Once I was reached a point that I am pretty good in codeigniter and wanted to go for something better with lot of development, I went back to laravel again. This time it was easy to learn.

I used to do huge data scraping for clients (50+ gigs was my biggest one), at that point I felt PHP wont cut it, so I learned python. It felt pretty straightforward.

I use python now to do automation stuff. I havent cracked threading yet, and my code is far from clean optimized code. But I will improve as the situation demands.

But if I have started with "I am going to ace Machine learning so that I can start doing Machine learning projects", I think I would end up crying to my pillow everyday.

And yes, I have teared up when I have been coding something and I wasnt able to fix the damn error. I think everyone does that. That feel of helplessness hits you once a while in coding.

I think you should start normal, learning things, and you will start seeing projects that you can finish. And you will grow automatically and find your field of interest.

Right now, I am coding backend for an android app in Lumen 7.x . I have only done normal web development till now, so API based backend is something new. And I am taking more time to catch all use fail cases and stuff, but I am doing it, and learning it :)

Not sure if someone actually going to read this, but I will keep it here anyway.
 
Also to add, I personally think people should start learning from PHP or any other easy languages.Easy in the sense, you dont have to declare variable data types, you can concatenate multiple data types and such. And since I started with PHP, and PHP being the backend to a huge percentage of stuff that you see online, it was very easy for me to get projects, which motivated me to improve.

Python on the other end, isnt like that. So the errors might be a little demotivating, but googling will help you out.

Since you have already started with Python, dont jump between language now. You will be better since you are learning constructive coding from the start unlike someone from PHP then to Python.

There are new tech coming every now and then. We cant catchup with everything. We need to stick with something that will not deprecate any soon. And as the situation demands, adapt to new things. Dont stress yourself doing it though.
 
Thanks everyone on your input in my question.

After going through everyone's input, I am thinking the best is to learn Javascript and then pick up a frame work afterwords. I am planning on mixing my Automation knowledge with Javascript and its framework. I guess this is something i will be looking into from now.

I only have 4 hours in a day once I start working, so I plan on improving my Python to a good level and then start with JS, so I have atleast mastered something before transitioning with less amount of time in my hands to learn JS.

I would suggest to improve your python skills and practice scrapping first. Then learn django along with the django rest framework. Then learn some javascript framework such as vue.js
 
So for example Instagram Bot, Pinterest Bot and others, can be made in Python? What languages mostly developers for those IM bots use? And I know it's better to say "I want to learn how it works" instead of "I want to learn Python" or "I want to learn C#"
 
Hey guys.

I have a question for the people here who are earning money via their programming skills.
So I begin with my learning Programming journey a few weeks back here - https://www.blackhatworld.com/seo/journey-learning-python-to-write-scripts.1234640/

I started this Journey just out of interest to learn programming, but as I am going forward with my journey I am realizing that the field of programming is vast and i need to start working towards a path. I am learning Python at the moment, it is my first programming language.

My goal is to be able to earn money on the side from my programming skills. Before Corona I was working as a Tennis coach and that is what i do full time. Usually I have free 4 hours a day to learn or do anything. I cannot join any company or something, I can only do it as freelancing more or less, because it will be like a side business.

I tried to pin point what my options are and these things came to my mind.
1) Become a Ethical Hacker and earn via securing small websites.
2) Automation / Scraping / Scripting / Botting jobs, there are ton here on BHW. But I am not sure if this field is saturated.
3) Machine Learning - Not sure how to earn money with this, even if I start to learn it, what then.
4) Website developer - Not something I want to do actually, but maybe it is a good field.
5) App developer - same as 4).

So what would you guys suggest? Which field is the best to work in as a freelancer, I find interest in 1) & 2), but let me know what you guys think :)

I'll first point out what I do and then I'll go through each.

I'm primarily a Go and Javascript developer most of my work focuses around bots, scraping and web crawling although I've got some C and some assembly under my belt as well. I dabble in offensive cybersecurity and occasionally web dev but I'm not an artsy-fartsy creative person in the slightest so my front end creative stuff is usually shit.

1. Becoming an ethical hacker:
This is broad really broad and covers so much stuff from pen testing to exploit hunting to blue team (defensive) and red team (offensive). if you're interested in this try doing a comptia security+ qualification (think there like $100 - $200) or the offensive security certified professional (OCSP) qualifications but they are relatively expensive but are tough! I remember one having a 70 hour exam!.

2. Automation
This is my bread and butter you'll get by on the python but you do really need to know javascript well. not only for debugging antibot code but also for running tools like puppeteer in node.

3. Machine Learning
Machine learning isn't like regular programming its statistics and maths unlike regular programming which is more logic, python is the right beginner language for this ish maybe consider some R. Bare in mind creating models can get really really expensive in cloud computing costs. Its not a cheap subject but you can teach yourself just look at this guy. (https://blog.floydhub.com/emils-story-as-a-self-taught-ai-researcher/)

4. Web developer.
Meh what can I say lowest hanging fruit of the lot you will always find work doing this, you can get away with using python as your back end, you need to learn JS for front end, React wouldn't be a bad idea to. I would avoid learning PHP in 2020 its a dying language which is only really being held above the water by Wordpress (controversial)

5. App developer
I avoid app development yes you could do things with react native but its always better to do things properly with Java or Kotlin as you can dive deeper than you otherwise would and yes developing for android is better than apple as you can do a whole lot more.
 
I personally think people should start learning from PHP or any other easy languages
1,000,000% - learning complicated languages to start with a) is overly painful and might put you off coding all together, and b) means that you might learn about low level concepts which you hardly ever use. Even Javascript is harder than PHP or Python, and it's easy to learn the basics with a basic language then upgrade to something more difficult, than trying to learn the basics in a tougher language and having to also learn all the other fluff at the same time.

So for example Instagram Bot, Pinterest Bot and others, can be made in Python?
Yes, as well as other languages.. but social media automation can be done easily with Python for any social platform.. ie:

https://praw.readthedocs.io/en/latest/
https://github.com/InstaPy/instapy-quickstart
https://www.tweepy.org/
 
You can do pretty much anything you can imagine with PHP, even neural networks
 
If you're continuing on the IM path, I recommend the route I took:

First learn about of front-end web development, so for example building a CPA landing page with JS animations and nice looking HTML/CSS. This shouldn't take you more than a week to figure out, even if you're a complete newbie. Once you have made 5 landing pages, you'll get the hang of things and won't really be relying on Google to answer your questions anymore.

Then head into automation/bots. I recommend you try Python, it's probably the simplest syntax (the way the code is written) for a newbie to understand. This is the first language I learned and now I can automate pretty much anything!
Libraries to look into; Selenium, Requests, BeautifulSoup
 
Honestly, I wouldn't worry too much about which specific programming language to chose as all high level languages use similar logic and patterns, you won't have a problem switching in between once you understand the basics. Just go for whatever is best for your personal projects.
I couldn't agree more with your first paragraph. I learned vba over 20 years ago and it's helped me immensely to learn other scripting languages since. As a side note, people ask if a particular language is still worth learning. I'm an RPA Developer these days and I'm still using vba!
 
Some good advice and lot of bad advice here.
  • First of all, do not learn PHP. It is bad design. It has a big fanbase who will disagree with me. But it is a fact. If it wasn't for wordpress, it is long gone.
  • Second of all, machine learning is not something you want to get into if you are new to programming. I've been researching ML for my masters degree and it is insanely complicated. Just don't if you planning to make money in near future.
  • Ethical Hacking - Is it possible to earn money? It is possible. Many people work on bug bounty programs. It is not a bad area. But you have to be really good (like really really good) to make money. So depends on how talented you are.
  • App development - Certainly possible to make a passive income. I know few people who made it big. And I know plenty who gave up. People don't pay for shit. B2C apps are worst fucking every. You need millions of downloads to make any sustainable money. But on the other hand you can work on freelance projects. There is definitely money to be made here.
  • Web development is the easiest to learn to and earn some bucks. There are plenty of projects you can do. Every business need an online presense these days.
If I were you, I'd pick a language on this list first: Python, Java, C# - Once you learn one you can learn any Object Oriented Programming - it's the same principal.

Along with that learn a Javascript Framework (React) and Cloud Computing (AWS, Serverless, VPC) - This has the highest demand right now.
 
4. Web developer.
I would avoid learning PHP in 2020 its a dying language which is only really being held above the water by Wordpress (controversial)

  • First of all, do not learn PHP. It is bad design. It has a big fanbase who will disagree with me. But it is a fact. If it wasn't for wordpress, it is long gone.

As much as I admit you're absolutely right (objectively it is a horrible mashed together language that can't decide if it's functional or object-oriented), the PHP fan in me points excitedly to Laravel bringing about a nice resurgence by "fixing" a lot of the things that have made it worse than it needs to be, as well as the nice sugary goodness like arrow functions finally coming to PHP 7.4!
 
The only issue you'll run into is that "learn javascript" is impossibly broad...

The reason people are suggesting a Javascript framework is that it teaches how things "should" be done (according to that framework), which cuts down a tonnnnn of figuring out those standards for yourself. It teaches you good project structure and code patterns (such as immutability vs reactivity / managing application state / etc) that you can repurpose into your other projects that may not even use that same framework.
Would you suggest after I finish with Python I should start to learn JS Framework before i begin with JS?

Take it slow mate. Learn programming just to automate the things that you need. Once you are comfortable with that, you will already know what stream you will be great it.

I didnt learn python as the first language. I learned PHP, and I used to code in procedural. You can write small custom functions at that level to existing scripts. Later when things I wanted to do evolved (small projects for myself, small client projects) I learned concepts of OOP.

Once you reach that point, you can pretty much code anything that you want ( might have bugs, and may not be optimized, lot of code redundancies). At that point you will start to thing about keeping the code neat and clean. I learned whats MVC and got hold of Codeigniter.

Once I was half good in codeigniter, I heard Laravel is the best thing, so I jumped on to it. It was a tough nut to crack with how it works (composer, autoloading artisan) so I had to leave it and come back to Codeigniter.

Once I was reached a point that I am pretty good in codeigniter and wanted to go for something better with lot of development, I went back to laravel again. This time it was easy to learn.

I used to do huge data scraping for clients (50+ gigs was my biggest one), at that point I felt PHP wont cut it, so I learned python. It felt pretty straightforward.

I use python now to do automation stuff. I havent cracked threading yet, and my code is far from clean optimized code. But I will improve as the situation demands.

But if I have started with "I am going to ace Machine learning so that I can start doing Machine learning projects", I think I would end up crying to my pillow everyday.

And yes, I have teared up when I have been coding something and I wasnt able to fix the damn error. I think everyone does that. That feel of helplessness hits you once a while in coding.

I think you should start normal, learning things, and you will start seeing projects that you can finish. And you will grow automatically and find your field of interest.

Right now, I am coding backend for an android app in Lumen 7.x . I have only done normal web development till now, so API based backend is something new. And I am taking more time to catch all use fail cases and stuff, but I am doing it, and learning it :)

Not sure if someone actually going to read this, but I will keep it here anyway.
Good advice man. thanks.


I'll first point out what I do and then I'll go through each.

I'm primarily a Go and Javascript developer most of my work focuses around bots, scraping and web crawling although I've got some C and some assembly under my belt as well. I dabble in offensive cybersecurity and occasionally web dev but I'm not an artsy-fartsy creative person in the slightest so my front end creative stuff is usually shit.

1. Becoming an ethical hacker:
This is broad really broad and covers so much stuff from pen testing to exploit hunting to blue team (defensive) and red team (offensive). if you're interested in this try doing a comptia security+ qualification (think there like $100 - $200) or the offensive security certified professional (OCSP) qualifications but they are relatively expensive but are tough! I remember one having a 70 hour exam!.

2. Automation
This is my bread and butter you'll get by on the python but you do really need to know javascript well. not only for debugging antibot code but also for running tools like puppeteer in node.

3. Machine Learning
Machine learning isn't like regular programming its statistics and maths unlike regular programming which is more logic, python is the right beginner language for this ish maybe consider some R. Bare in mind creating models can get really really expensive in cloud computing costs. Its not a cheap subject but you can teach yourself just look at this guy. (https://blog.floydhub.com/emils-story-as-a-self-taught-ai-researcher/)

4. Web developer.
Meh what can I say lowest hanging fruit of the lot you will always find work doing this, you can get away with using python as your back end, you need to learn JS for front end, React wouldn't be a bad idea to. I would avoid learning PHP in 2020 its a dying language which is only really being held above the water by Wordpress (controversial)

5. App developer
I avoid app development yes you could do things with react native but its always better to do things properly with Java or Kotlin as you can dive deeper than you otherwise would and yes developing for android is better than apple as you can do a whole lot more.
Yeah I am wanting to make automation my bread and butter to honest. Since you are already doing it, which path would you suggest if i want to reach where you have.


If you're continuing on the IM path, I recommend the route I took:

First learn about of front-end web development, so for example building a CPA landing page with JS animations and nice looking HTML/CSS. This shouldn't take you more than a week to figure out, even if you're a complete newbie. Once you have made 5 landing pages, you'll get the hang of things and won't really be relying on Google to answer your questions anymore.

Then head into automation/bots. I recommend you try Python, it's probably the simplest syntax (the way the code is written) for a newbie to understand. This is the first language I learned and now I can automate pretty much anything!
Libraries to look into; Selenium, Requests, BeautifulSoup
This is what I am doing now only :) Started with Automate boring stuff. What would you suggest I do after this book to improve on the automation aspect?


Some good advice and lot of bad advice here.
  • First of all, do not learn PHP. It is bad design. It has a big fanbase who will disagree with me. But it is a fact. If it wasn't for wordpress, it is long gone.
  • Second of all, machine learning is not something you want to get into if you are new to programming. I've been researching ML for my masters degree and it is insanely complicated. Just don't if you planning to make money in near future.
  • Ethical Hacking - Is it possible to earn money? It is possible. Many people work on bug bounty programs. It is not a bad area. But you have to be really good (like really really good) to make money. So depends on how talented you are.
  • App development - Certainly possible to make a passive income. I know few people who made it big. And I know plenty who gave up. People don't pay for shit. B2C apps are worst fucking every. You need millions of downloads to make any sustainable money. But on the other hand you can work on freelance projects. There is definitely money to be made here.
  • Web development is the easiest to learn to and earn some bucks. There are plenty of projects you can do. Every business need an online presense these days.
If I were you, I'd pick a language on this list first: Python, Java, C# - Once you learn one you can learn any Object Oriented Programming - it's the same principal.

Along with that learn a Javascript Framework (React) and Cloud Computing (AWS, Serverless, VPC) - This has the highest demand right now.
My father has employees who work in PHP, so at the moment we are not needing another person who does PHP. So your advice makes sense as to why.
 
Cryptocurrency bounties are a nice income source too. Some are paying out hundreds of thousands of $.
 
Would you suggest after I finish with Python I should start to learn JS Framework before i begin with JS?

They are the same thing, ... learning JS via a framework just means you're more likely to learn it correctly with good form. These days it's legitimately too complex to "roll your own" javascript solution unless it's very small scale... All the framework does is give you a solid scaffold to build on top of, you still need to learn JS to build anything useful.
 
@Captaintj
having basic python is great to concentrate on getting your javascript up to par. Learn about the DOM about DOM manipulation about HTTP Headers about CORS about cookies, about debugging JS about ways people use to try and invade debuggers about htttp requests etc etc
 
Back
Top