Link to home
Start Free TrialLog in
Avatar of jskfan
jskfanFlag for Cyprus

asked on

Does Python Programmer requies only Python Knowledge.

Does Python Programmer requies only Python Knowledge.

I have heard a lot about the importance of learning Python. So I checked the area of Web Development using Python, however I noticed they mostly use Django and some use Flask. It sounds like to me  that Python is just like an Envelope , what is inside is not Python, it is DJango, Flask and probably other Frameworks.

I am Planning to learn Python for Web Development and Network programming ( as I have Network Background) , I believe in Network Programming you can use Python alone, no need for other Frameworks, but in Web Development someone needs to learn other Frameworks especially Django. Hopefullly Python+Django can make me Web Developer too ...

Any opinions, suggestions, orientations about  this topic are very welcome

Thank you
ASKER CERTIFIED SOLUTION
Avatar of Jim Riddles
Jim Riddles
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of noci
noci

Python is the language where flask/django (and other frameworks) have been written with.

So highlevel is a kind of webservice (yours), based on a framework(Flask, Django), based on a progamming language (Python).

The framework could have been Meteor, Derby. in that case you cannot use python, you would need nodejs as the language.

So if you create a webservice using Django, then to understand / extend Django you would need to learn Python.
If you currently know Javascript, NodeJS might be more familiar,Meteor or one of the other NodeJS framworks might be a better fit.

A similar case can be made for perl, php, ... as bottom level language.
In fact after learning some programming languages you will notice, that learning a programming language is always only the first step.

What is almost more important than the language is to learn about the 'eco system' of a language. To learn about its libraries  and its frameworks.

If you'd learn php for web development of bigger web applications you had probably to learn symphony as well.

Additionally to knowing the language, the libraries / framworks in the domain, that you want to work on it is of course also important to know about your domain. (know/understand what is done by a web client, what is done by a server, what is an http request, what's the difference between server side and client side code, when, whether and how to use web sockets, . . .
Avatar of jskfan

ASKER

so if someone wants to be Web Developper. Python and Django will be enough ?
I think you definitely need at least knowledge about html and css.

Depending on your project you might have to know about javascript or even about javascript libraries like jquery or even about javascript frameworks like angularjs / reactjs or vuejs.

Web developper is a rather fuzzy 'job description'.
Some web developpers know neither php, nor java, nor python, nor .net but they master a CMS like wordpress / joomla / drupal.

Others focus mostly on the back end and on almost 100% server side code. Others  use the backend to just implement some REST APIs (use python django + a library django rest framework for example) and do the rest with javascript on the front end.

All depends on the complexity of your project and on the specification.

In any case you have to start somewhere with django you will be be able to create web pages, but the more you work the more you want to learn to use the best architecture depending on the project and this can involve on the back end and on the front end different languages / libraries / frame works
To start a list:... (which can be extended)....
Domain knowledge on the business where you want to develop for?
Layout & Design
Ajax?
Rest?
Browsers behaviour? (not all browsers are equated equal)
Security: Attack & defence?

So just Python & Django enough?.... hardly..  Those are just means to express an implementation.  It still needs to be designed and it needs to be secured & deployed.

Design starts the process. There you need to divide tasks where to do what, database needed? if so what type (SQL, No SQL, KVP) ,  behind LB, Rev. Prozies, which web servers, ...  etc. etc  
When a design exist it needs to be built.
One thing which is of course important is whether you talk about a web developer working in a team or a web developer being self employed and trying to serve customer needs or being a web developer who's starts learning, wants to do the first project and continue learning.
As the others have stated, it is all about what you are specifically looking to become.  Some people are strictly back-end developers, some people are strictly front-end developers, and some are full-stack developers.  At the least I would add HTML, CSS, and JavaScript.
@Jim: Including how the various browsers (FireFox, Chrome, Vivalde, IE, ....) work with those. (IMHO also understand the ACID test).
HTML in all it's versions.
Avatar of jskfan

ASKER

Thank you