Slashdot Mirror


How Much Python Do You Need To Know To Be Useful?

Nerval's Lobster writes: Since Python is a general-purpose language, it finds its way into a whole lot of different uses and industries. That means the industry in which you work has a way of determining what you actually need to know in terms of the language, as developer Jeff Cogswell explains in a new Dice piece. For example, if you're hired to write apps that interact with operating systems and monitor devices, you might not need to know how to use the Python modules for scientific and numerical programming. In a similar fashion, if you're hired to write Python code that interacts with a MySQL database, then you won't need to master how it works with CouchDB. The question is, how much do you need to know about Python's basics? Cogswell suggests there are three basic levels to learning Python: Learn the core language itself, such as the syntax and basic types (and the difference between Python 2 and Python 3); learn the commonly used modules, and familiarize yourself with other modules; learn the bigger picture of software development with Python, such as including Python in a build process, using the pip package manager, and so on. But is that enough?

17 of 263 comments (clear)

  1. How Much? by MagickalMyst · · Score: 5, Insightful

    None, if you use Perl :) I write code to monitor hardware devices, interact with SQL, and output to HTML pages. Perl does it all!

    That said, I think learning the basics of any language is important no matter what type of software you will be coding.

    Programming languages are like tools; use the best tool to get the job done.

    Assembly is a wonderful language if you are writing low level system software; not too useful for SQL databases. C++ is great for system interaction and fast apps - but I probably wouldn't use it for front end UI. Javascript is great for web pages but not for device drivers.

    Visual Basic is good for.. um.. nothing.

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
  2. A Similar Question by raftpeople · · Score: 5, Insightful

    How much of a summary do you need to read to know you should skip that one?

  3. Re:I'm already useful by ADRA · · Score: 4, Insightful

    Spoken by a true pragmatist. I'm glad you're not my hiring manager (though sadly there are many who work under the same broken assumptions). I hate programming languages as much as the next zealot, sure. To assume a systemic bias against those with a specific set of language skills (disregarding experience/domain knowledge/people management/customer interaction/raw productivity/hipster hat collections) may be a little short-sided to the extreme.

    --
    Bye!
  4. How much crap before Slashdot becomes useless? by Anonymous Coward · · Score: 5, Insightful

    We've seen this same thing over and over with a different language. Does anyone care by now?

    Next week:

    How much Swift ... useful?

  5. Re:trick question by Anonymous Coward · · Score: 0, Insightful

    Yeah, fuck python. I never touch the stuff. A colleague was doing some python and I learned that they make you indent four spaces or a tab and you can't mix it in your file. This is done instead of using braces to control the scope of code. All I can say is fuck that, the author was trying to be sneaky to get people to write properly formatted code. If you can't properly format your code to begin with you shouldn't be coding, it's like consistency 101. Python is a 'nanny language'.

  6. The Article Asks, "Is it enough?" by Anonymous Coward · · Score: 1, Insightful

    The answer is no.

    Guido van Rossum himself isn't qualified for an entry-level Python position.

    That's why we need more H1-Bs!

  7. Re:trick question by Anonymous Coward · · Score: 0, Insightful

    The answer has to be 0 right?

    Close: you just need to know about Hy. Get the good parts of Python without the whitespace bullshit. You have to be willing to use a lisp dialect, but I'd rather do that than use pure Python any day.

  8. Scope of question by lq_x_pl · · Score: 4, Insightful

    It is difficult to identify how much of [anything] one needs to know without knowing what the [job] responsibilities are.
    I use Python for day-to-day automation of things I'd rather not do by hand. I'm not master, and most of what I write looks like c++ (not very pythonesque) - so someone who is exceptionally proficient with Python would cringe at what I produce.
    However, what Python I do know allows me to be more productive throughout my day.
    Just spend time with the language trying to do things that [job] requires, and you will discover how much Python you need to know to do [job].

    --
    An internal system operation returned the error "The operation completed successfully.".
  9. Re:trick question by RoccamOccam · · Score: 4, Insightful

    No, you're missing the point. It's not acting as a nanny, it's merely removing the redundancy of having both reasonably-indented code and start/stop tokens. That's it.

    One of the interesting things about Python is that very few new programming languages use required-indentation, probably due to fear of backlash by the narrow-minded. I suspect that this tends to help keep the Python community (for whom this is a great feature) from dribbling away to the "new hotness" and may be why Python keeps getting stronger and stronger (in contrast to old competitors like Ruby and Perl).

  10. Did I call it or did I call it? by Verloc · · Score: 5, Insightful

    Comment: Ahh Dice (Score 4, Funny)
    by Verloc on Thursday June 04, 2015 @10:08PM (#49844935) Attached to: How Much JavaScript Do You Need To Know For an Entry-Level Job?

    Last week it was "How much C++ do you need to know for an entry level job"

    next week it'll be "How much Python do you need for an entry level job"

    Must be nice crowd sourcing your job requirements from Slashdot.
    ---

    It was even Python. Amazing. I predict next week: Ruby.

    1. Re:Did I call it or did I call it? by Dogtanian · · Score: 5, Insightful

      Er.... yeah. Indeed you did. I missed those, but this is utterly, utterly blatant now that it's been pointed out; this should have been posted higher- it's one of the few cases I'd forgive posting as an offtopic "reply" to an early comment in order to increase its prominence.

      Here are the stories in question:-

      How Much C++ Should You Know For an Entry-Level C++ Job? (May 27 2015)

      How Much JavaScript Do You Need To Know For an Entry-Level Job? (4 June 2015)

      Note the a gap of eight days between the stories in both cases. Note that the three stories were submitted respectively by Nerval's Lobster, Nerval's Lobster and, er... Nerval's Lobster. Who happens to work for Slashdot.

      Not that I'm suggesting that the fact Slashdot is now owned by the IT and engineering careers website Dice has anything to do with it being used to push out formulaic and self-serving "submissions" like this. *cough*

      Seriously, this makes even the old Slashdot "whoops, a stupid editor 'accidentally' posted the same good-for-attracting-pageviews-and-discussion story twice just as it fell off the front page" cynicism look good.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  11. Re:Almost by h4ck7h3p14n37 · · Score: 4, Insightful

    Have you actually written code in Python and found the whitespace handling to be an issue? When I first heard about whitespace being significant I didn't like it, but I've never had a problem in practice.

  12. Re:I'm already useful by Anonymous Coward · · Score: 2, Insightful

    But the assumptions aren't necessarily broken.

    There are some very important concepts that are handled "under the covers" by languages such as Java and VB. (Garbage collection is one such concept.) I strongly believe that thoroughly understanding those concepts helps promote more disciplined code.

    If you "only" know VB and cannot write competent C++ code without significant (re)education, then I will not be confident that the VB code you write is worth much in the first place. (Sure, maybe it is quite good code, but it's not unreasonable of me to assume otherwise.)

    However, if you can write thoroughly competent C++ code, then I'm willing to bet that only a minimal amount of additional education will be necessary for you to write competent Java or VB code.

    I do believe that a programmer should use the "right tool for the job" and I don't believe in language zealotry, but I do believe that competence in certain languages is a good measure of overall programming competency. VB alone does not carry that weight. Don't pretend otherwise.

  13. Re:Almost by Dogtanian · · Score: 5, Insightful

    Please excuse this off-topic queue-jumping reply to your comment, but there are times when someone makes a very insightful observation that really, really should have gone in a more prominent position.

    Sneak preview; three virtually identical questions of the form "How Much [language x] Should You Know For an Entry-Level [language x] Job?" going to the Dice website and "submitted" by the same Slashdot employee in just over two weeks.

    Bonus; OP linked above correctly predicted this week's story and even got the language right.

    That's almost funny, except that it isn't. Admittedly, Slashdot has been "going down the tubes" almost since it launched, but this is particularly crap.

    --
    "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
  14. Re:Almost by Zero__Kelvin · · Score: 2, Insightful

    To write python, you cannot do without a python-aware editor.

    What kind of idiot writes code in an environment that isn't language / syntax aware in 2015?

    " It's such a weird design decision, when we've getting by with curly braces for so many decades in so many languages, that to just decide to do things differently to *everything* seems .. Well.. Kind of pig-headed."

    Seriously? You are arguing against change adamantly, and citing pig-headedness on the Python developers part? Now that is hilarious.

    'Fact is, python would be less irritating if they hadn't gone for the whitespace thing. Therefore it was a bad call.

    Since it isn't even remotely irritating to myself and (likely) hundreds of thousand of others it wasn't a bad call for us. If it was a "bad call" for you, I suggest you can chalk that up to your pig-headedness combined with your lack of understanding the important of using decent code development tools.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  15. Re:Almost by narcc · · Score: 3, Insightful

    Would you rather I complain about the compatibility problems between minor versions? It's abysmal performance? Or do I need to expound on the original point and poke fun at how anonymous functions are crippled because of the absurd whitespace rules, point out how they often hurt readability, explain how they lead to bugs that are literally invisible, or about how they make refactoring code difficult?

    The whitespace rules are reason enough to avoid learning it, just as it's serious compatibility issues are reason enough to avoid using it in any professional context. Why bother with further explanation? It's far more economical to move on to any one of countless alternatives far more suitable for any given application.

  16. Re:Almost by ArmoredDragon · · Score: 2, Insightful

    I actually think that's kind of genius. It makes everybody's code more legible. I'm not that much of a programmer, mostly dealing with interpreted scripting languages like TCL, Bash, and Powershell, and I can't tell you how many times I've hated reading somebody else's script because they didn't indent for shit, and they put their curly braces in such weird places that it was hard to tell what was encapsulated inside of what. And then they somehow expect somebody else to be able to debug it later.