Hello Everyone, I am new to this community and I want to know why python is so popular? I am thinking to build a career as a python web developer but I have some confusion regarding to what the average salary of a python developer in India and what skills should be required to become a python developer. Can anyone suggest me?
I think that for any profession it is important to express yourself with clarity.
Your question header is: âWhy is Python popularâ, but in body you ask also following questions: âwhat the average salary of a Python developer in Indiaâ; âwhat skills should be required to become a python developerâ.
Your post ends with âCan anyone suggest me?â About popularity (as your header suggests), average salary or skills required?
Python Zen stipulates: âIn the face of ambiguity, refuse the temptation to guess.â
Please remove ambiguity to empower others to answer your question.
So sorry for the confusion but I am asking that everyone goes with python nowadays, So why is python so popular. I want to know, Is the salary high in python if yes so how can I become a python developer?
I am asking that everyone goes with python nowadays
This one is easy one. What you are asking is nicely covered with answer to the Ultimate Question of Life, The Universe, and Everything. And the answer is 42.
/âŚ/ the answer seems meaningless because the beings who instructed it never knew what the question was
Just an idea: could you be more specific in your questions. Like in programming, decompose one big problem into smaller ones and solve them one at a time.
Howdy Shivam,
there (at leastâŚ) are three completely different areas of commercial software development:
- web development
- application development
- embedded development
How Python is used also differs from country to country. My answer is based on the experience of being a professional software developer in Germany for some decades.
Concerning 1:
In the area of web development, Python yet almost exclusively is used in the area of Backend (and/or server side) development. This often is connected to Big Data business.
If you want to earn money in this area, good knowledge in Javascript as well as about Web Frameworks etc. is mandatory, if you ask me. Being a mathematician or at least a statistician or alike is helpful to get big data contracts too.
Maybe Pyodide â Version 0.17.0 can change this in the mid / long term.
At the moment, if you want to become a web developer, my recommendation is to start with Html, CSS and Javascript and after that go on with Python.
Concerning 2:
Commercial (standalone) applications with GUIs are seldomly developed using Python. The predominant languages here are Java, C++ and C#.
Those applications either run on mobile platforms alike Android (which is strongly entangled with Java) or on Windows (which is strongly entangled with Microsoft products alike Visual Studio and .NET).
As Java seems to be dying (sloooowly) already, my recommendation, if you want to earn money in this area, is to go with C# and .NET.
Concerning 3:
Embedded software (unfortunately) still is developed mainly with C. In this area, you wonât get rich with high level languages alike Python, C# or alike.
In this area, knowledge in digital electronics is mandatory, if you ask me.
General Advice:
For earning money in Germany, Python unfortunately is not very relevant yet. It is slooooowly getting stronger, but yet, noâŚ
Also be aware, that freelancing on your own in Germany is near to impossible, you just get projects from big companies via personnel service providers alike Hays AG, Gulp Information Services GmbH, DIS AG, Solcom GmbH, top itservices AG and others.
The alternative is an employment at a german company, which wonât be too easy too, being from India⌠Remote definitely is not accepted very well in Germany! If you introduce the term âfully remoteâ in a negotiation in Germany, you are out in 98 out of 100âŚ
Good Luck and
Cheers, Dominik
PS: it would be very interesting to hear how it works in US, UK, Canada, Australia, New Zealand and alike / and others? Personally I am very interested in France and Switzerland tooâŚ
IMO, Python is popular because itâs simple yet powerful, and requires few words per idea expressed compared to most languages.
I have no idea what the average salary of a Python developer in India would be. Perhaps ACM or IEEE would have data like that. There may be some recruiters in India who could provide you with that kind of data too.
As far as skills, that depends on what kind of Python development you want to focus on - but they pretty much all require the ability to break down a task into simpler subtasks, understanding Performance to some extent (EG donât use a list where youâre better off with a set or tree), datastructures and algorithms.
If you want to do applications, let us know what operating system youâre interested in. For Linux, Iâd probably go with pygobject. For Windows, perhaps have a look at Pyside2. For Mac, I really donât know, but Iâve done a little pygobject on Mac too.
If you want to do embedded Python, have a look at Micropython.
If you want to do web applications, perhaps have a look at Django.
If you want to do backend work, have a look at Flask (the safe choice) or FastAPI (the up and coming one).
If you already know some other programming language, perhaps see BeginnersGuide/Programmers - Python Wiki . Iâm a bit partial to the Youtube video series I created for this: Python for Developers part 1 of 7 - YouTube
If Python will be your first programming language, perhaps see BeginnersGuide/NonProgrammers - Python Wiki
HTH.
Because Guido van Rossum and committed Pythonistas have managed to have a perfect combination of: an intuition for a very elegant and readable syntax for a dynamically typed interpreted language; a very committed community dedicated to keeping the pathos of writing highly readable code alive; an open mind and foresight to allow for a humongous standard library and C extensions API; and luck to have these factors and a technical ability to create a programming language appear before something like Ruby or Lua became too big to host big name projects and flagship libraries like NumPy or Django.
I would speculate that the main two reasons why Python became so extremely popular is primarily because Django/FastAPI and Node.JS became more popular than Ruby on Rails as a web backend of choice, and people chose Python over R as their go-to language for machine learning libraries like Tensorflow and PyTorch because for aspects not related strictly to data manipulation it arguably became a more mature backend language due to features like optional static typing and dataclasses.
@Vladimir Pathos? Also, I donât think Python is statically typed, even with type annotations. Itâs more gradually typed, and that only in static analyzers.
mypyc is sounding pretty interesting though.
I mean, an option to have type hints. Call it however you like. It isnât anywhere near as powerful in R as it is in Python via PEP 484, and more recently with NumPy typing module.
JVM and Android are too big to let Java die.
With HTMX, learning Javascript for the front end is no longer mandatory
Maybe in freelance, but good luck telling that to the HR lady if youâre applying to junior frontend developer positions.
HTMX is indeed quite amazing, though. From what Iâve heard, you can build extremely impressive websites with nothing but pure Django + HTMX.
Iâve only glanced at it (hadnât heard of it before this thread), but it looks to me like a DSL rather than a true replacement for actual code. DSLs tend to land in one of three broad categories (or sometimes in the overlap between them):
- Highly limited tools that grant restricted capabilities, usually to users with lower authorization than the executor. This includes a number of game modding scripts (you canât mess with the game rules any more than youâve been given permission to do), and some highly capable forms of configuration file (eg where the config is defined to be a JS or Lua script, but the only real effect itâs allowed to have is to return a config mapping).
- Command execution languages whose capabilities closely correlate to an execution engine, and which are limited to what that is capable of. These tend to grow in power as their engines do, but are much easier to write for than the corresponding engine itself. My Twitch channel bot has a highly flexible command interpreter with a graphical editor, but I use it mainly because itâs easier for simple tasks than writing raw code to do what I want.
- A bug-ridden, ad-hoc implementation of about 90% of a real programming language. Usually the result of a type 1 or type 2 growing more and more features until it almost becomes Turing-complete, but those features were never planned or designed. (Greenspunâs Tenth Rule covers a number of these.)
Where is HTMX in this? My reading of it is that itâs a Type 2, possibly stretching towards Type 3. If what you want to do can be done easily in HTMX, then great, have fun! But what if it canât? How hard is it to do what you want to do?
Rather than tools that offer to remove the coding work from a task, I generally prefer tools that say âhereâs a set of features that automate common tasksâ. For example, one very common concept in my work is a server that synchronizes data across a set of WebSocket clients, and those clients all receive the same data every time thereâs a new update. To make this easier, I built myself a set of tools for both the back end and front end, making it trivially easy for the front end to say âwhen thereâs data, do thisâ, for the back end to say âlet everyone know thereâs new dataâ, etc, etc. But it doesnât replace actual code; itâs simply some functions with predefined names. You want full coding power? You still have it.
So the notion that âlearning JavaScript for the front end is no longer mandatoryâ is, IMO, a bit of a myth. Sure, you can do some things without any code, but try writing something that isnât in the tutorial, and see whether you can still do that without code. Most likely, youâll need either an actual programming language, or something with the same power as a programming language but without any sort of actual design.
(You know, like PHP.)
I got this years ago from (as I recall) Sean Reifschneider and Evelyn Mitchell when their company (the now defunct) tummy.com had a table at an early Python Workshop (before things graduated to conferences). I think its sentiment is appropriate for the thread.
Comment of the year 2022.