What are the pros and cons of learning Python as a first programming language?
-
As Python is often recommended as a first programming language, as in:
-
Answer:
Python has a very tight "write/test/revise" cycle. It's very easy and fast for the programmer learner to conduct tests and thought experiments in order to prove concepts to oneself. I believe a prime risk to the success of the learner are the non-programming tasks associated with many programming languages. These tasks consume time and effort and subtract from the ultimate task of the learner: learning programming fundamentals. Concretely, tasks such as compilation and compiler error interpretation inflate the write/test/revise cycle. Python developers are able to prototype ideas and trial language features with extremely small time and effort. In my experience, this allows the learner (as well as the experienced developer) to assimilate understanding quicker, as I believe the speed of learning is a function of the speed of one being able to conduct mini-experiments". There are many other languages which promote an advantageous so-called write/test/revise cycle. Ruby, and JavaScript come to mind. In my experience, Python has going for it many attributes which make it a language that provides utility that evolves along with the programmer's level of skill. To enumerate: Python is imbued with several powerful language paradigms: imperative, object-oriented, functional Python's standard library is enormous and packed with friendly, non-pedantic tools and functionality that are truly present to ease the job of the developer Python is graced with an astronomical number of high-quality third party libraries across myriad important programming domains iPython - a third party interactive Python session, and much more The cons (from my perspective) Python is dynamically typed - the Python interpreter will not do type checking on function/method signatures. This can often be a good thing. Python's threading model precludes it from enjoying SMP-style parallelism. This is a limitation of many interpreted languages. It can be sidestepped through the use of multiprocessing. Also, this is not an important consideration for the learner. Python does not expose the programmer to low-level operating systems concerns such as memory management. This is mostly a good thing, however, at a certain stage in a programmer's career, low level concerns are important.
Michael Wilson at Quora Visit the source
Other answers
PROS OF PYTHON It requires less time to develop than, for instance, in Java, as programs are shorter. So faster development and also deeper prototyping would give you a competitive advantage. Python has quite simple syntax and easy-to-use data structures. It performs well across different platforms. The language has good scalability. Apps powered or supported by Python include Instagram, Pinterest, Django, Google, NASA, Yahoo, etc. You can also check out more https://wiki.python.org/moin/OrganizationsUsingPython#Web_Development CONS OF PYTHON Performance could be better. Programs in Python are slower than in Java, for example. This is obviously because it is one of the interpreted languages, which are normally slower than compiled languages. Also Infographics describes cases in which Python should be used: http://letzgro.net/blog/how-to-choose-the-right-programming-language-for-a-web-app-infographic/.
Charlie Kellner
Related Q & A:
- What are the pros and cons of having a pet rabbit?Best solution by Yahoo! Answers
- What are the pros and cons of a pharmacist?Best solution by Yahoo! Answers
- What are the pros and cons of buying a house using an FHA loan?Best solution by Personal Finance and Money
- What are the pros and cons of a career in marketing?Best solution by Quora
- What are the pros and cons of being a Corporate or International Lawyer?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.