Jump to content

Python?


aloehart

Recommended Posts

It has been several years since I have done anything with Python. When I first started toying with it I found nothing particularly special and never put a lot of effort into extensive study. Recently though, I have been looking for a new development position and have seen a staggering amount of positions calling for a knowledge of Python. I was wondering if there was something I've missed in the last 8 years or so that has made this language more desirable. When I first played with it it seemed like another version of BASIC with some ability to work with the web.

edit:

and in the interest of learning, if something has really changes or new applications of the language have arisen, does anyone have any suggestsion on reading material to study?

Edited by aloehart
Link to comment
Share on other sites

Python is a strong language. I have only scratched the surface and I'm amazed of what you can do with it.

One of it's strentgh is that it is popular, it has a huge community and you can find plenty of modules and documentation to suit your needs.

I can recommend a book called "violent python". It's focused at pentesting, but it is a inspiring book none the less.

Link to comment
Share on other sites

Python is a language that can be used for basic applications as well as doing more advanced applications. Also python is a multi platform language which is particularly beneficial for today since a lot of companies now have mixed eco systems and want there applications to work on what ever it is they are going to end up running it on.

Edited by newbi3
Link to comment
Share on other sites

  • 2 weeks later...

Python is a useful language it is easy and fast and I believe that it is embedded in a variety of languages. Another great aspect of the language (as mentioned by newbi3) is the fact that it's multi platform.

Link to comment
Share on other sites

  • 2 months later...

Aside from being an easy to understand high level language, it also comes with a large number of modules that will do a lot of heavy lifting for you. Less time spent re-inventing the wheel or coding tool libraries that you need to get a different job done. Most of them also come without a massive dependency headache.

Some reasons why Python is becoming more popular (IMHO):

  • Computer have gotten faster so the overhead of an interpreted language is less of a problem
  • The people who grew up with the language are getting jobs and exposing it to others
  • Lots more modules have been written and web development with python is getting more popular
  • The scientific community love it for its simplicity, speed and that it allows for quick iteration during development (numpy, scipy etc)
  • Guido is a charmer :)

With things like Cython and JIT coming along in leaps and bounds, the speed gap between compiled and interpreted languages is narrowing. I guess *coughperlcough* was once the Python but it wasn't as approachable as Python, which probably sealed its fate.

The only big new thing you might want to look at it Python3 and what's different with that. People are still divided over whether 3 is better than 2 or not, but it depends on what you are doing with it I guess.

Link to comment
Share on other sites

I've only just started learning Python, I'm mainly C++, but it is very easy to learn. Since you have previous knowledge of Python you'll need to know that there is some differences between Python2 and Python3. I'm learning python now because I'm going to develop some Android apps and I refuse to learn/use Java. I know I can write some of it in C++, but I think python is going to be a better fit for it.

Link to comment
Share on other sites

I have programmed in Python for just over two years now, and I use about 10 other programming languages. The functions that Python bring with simple string concatenation and mathematics is fantastic, and I love the simplicity involved. However, python is an interpreted language which is slow as hell compared to something that is compiled, like C or C++. Because of this, I would say link the two languages if you need to do any projects that are very complex, but remain with something that is quick and compiled.

MB60893 out.

Link to comment
Share on other sites

  • 3 weeks later...

To me, one of the most compelling reasons to use Python is that is has one of the easiest FFI (foreign function interface) implementations of any popular language I've seen. Using the 'ctypes' module you can load and execute nearly any shared library. You can even write Python functions and pass them to a native library as a callback.

It may seem like just a novelty, but that ability to seamlessly tie together shared libraries with a simple and readable scripting language is pretty powerful.

Now Python is not going to be the right tool for EVERY job, but it's a useful multitool to keep in your bag.

Edited by Sitwon
Link to comment
Share on other sites

meh too many people use python where perl or bash would surfice ;)

That's not Python's fault, that's just people using the wrong tool for the job.

I'm probably going over old material, but coding is more than just knowing how to code. Part of it is knowing what to use when. Much like a worksman knows which specific screwdriver, plane or chisel is right for the current task, a programmer knows what language is the right one for the job.

Although I am curious why you say perl is simpler than python? You state that "perl would suffice", but I'd say that perl/python aren't as far apart as python/bash. Are you talking about things like regex handling in perl which don't require a separate module?

Edited by Elk
Link to comment
Share on other sites

I agree with Elk, perl is in the same class (in terms of features and performance) to languages like Python or Ruby rather than Bash or other Bourne shell derivatives. In fact, Python started as a replacement for Perl, and has pretty much succeeded at displacing it. On a typical *nix system these day you will find far more Python than Perl, even for the type of scripts that would have been Perl's domain a decade or two ago.

Personally, I tend to prefer Python over Perl. The performance is similar, but the grammar is simpler and the syntax is cleaner. Between Python and Ruby it's a toss up these days. Ruby has generally close the performance gap, and it offers some powerful language features which Python lacks, but still hasn't caught fire with sysadmins the way Python has.

Despite its limitations, I think Bash is still a beautiful language. It's a lot more sophisticated and capable than most people give it credit for.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...