Jump to content

Learning Python - The advantages and uses

IndisciousWrath
2 hours ago, IndisciousWrath said:

1.What exactly do i learn in those "schools" (i want to go to a University)

 

My university diploma was the result of too many years without learning anything about development. (Three years of Java, one C++ class which wasn't even mandatory.)

 

Quote

2.Was Python the right choice ? (i heard that it's a good language 2 learn and by learning it i can adapt to others etc.)

 

No, you can't adapt much from Python. However, you can get really fast results with Python. A perfect language for quick prototypes. I randomly use it for web services and small scripts. Its main "advantage" is its main disadvantage: "Whitespace is syntax" makes things harder when you're coming from C-like languages, like I did. Also, refactoring is harder because you can't just add brackets and you're fine. (edit: And, most importantly, Python tries to convince you of the concept of wrapping everything in try..catch, e.g. to assume something was wrong and catching it instead of just fixing the problem. Yes, it's "forgiving" - because you learn early that errors don't matter. But they do.)

 

If I - after twenty years of learning programming languages and teaching some people how to start - may give you a hint: Start with Perl. It has all the Python goodies (a mighty package repository, a huge community, portability) without Python's quirks. The learning curve might be higher because of its historically grown syntax (Perl 5, not Perl 6; Perl 6 is not nearly good enough IMO), but it will pay off. Consider to read a Wikibook.

 

If you - for whatever reason - are unhappy with Perl, start with Common Lisp. If you like Python, you'll love Lisp. The only syntax you'll need to know is that every command is a list or a list of lists. There is a great online book about it. (Technically, there are quite a lot of online books and tutorials about it. Also consider to read a Wikibook.)

 

Of course, Lisp is not similar to other languages. If you want to start with a language which makes it damn easy to dig into other languages later, start with C++. Yes, really. C++ as in "plain C++ as defined in the new C++17 standard", not as in "camouflage C with a lot of asterisks and NULL pointers". Talking about learning curves... but once you managed to find your first way through C++, you can implicitly write Java, C#, C, (to a lesser extent) even Javascript code without spending more than a week on the particular differences.

 

Yes, Python is famous, Python is easy, Python is inviting because you can have your first working code amazingly fast. But Python can lead to laziness. Why would you learn something different later as Python can do anything (except providing a useful JIT compiler which makes a stripped binary application from your code)? No, really, even with all of my Python background: Give other languages a chance first.

 

Python will wait for you.

 

Good night from Germany. ;)

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×