This is blasphemy, this is madness!

Gabor Ratky
CTO at Secret Sauce Partners

This is PYTHON!

Secret Sauce Partners

What have I learned this summer?

I've learned Python

Why?

  • Provide guidance and better code review feedback to our Data team
  • Python is the de facto standard language for data*
  • Languages unlock the whole ecosystem around them, including documentation, frameworks, tooling
  • For fun and profit

*wrangling, munging, analytics, science

How?

  • Read the amazing Python documentation (Library Reference, Language Reference)
  • Read Fluent Python by Luciano Ramalho
  • Installed PyCharm
  • Started writing code that uses frameworks (luigi, pyspark)
  • Started a pet project (CLI using prompt-toolkit)

What do I think?

Python is pragmatic

  • Python sacrifices language purity for practicality
  • There is an agreed upon convention for everything in the form of PEPs
  • From PEP 20 - The Zen of Python:
    • There should be one- and preferably only one -obvious way to do it
    • Explicit is better than implicit
    • Simple is better than complex
    • Complex is better than complicated
    • Readability counts
  • ​Conventions and good practices take away the guesswork around how to do things

Python ecosystem is great

  • Python documentation is amazing (both stdlib and libraries)
  • There is a library for EVERYTHING
  • PyPI, pip & setuptools, virtualenv is more complicated than Rubygems and Bundler (but well documented)
  • Integration with Java through Py4J (Spark), Jython (OpenRefine)

How about Ruby?

  • Ruby's killer framework was Rails (later rack, rspec)
  • Python's killer frameworks are NumPy, Pandas, Scikit (but also Django, Flask)
  • The languages are not that different
  • Python(ic code) is explicit, Ruby is more magic
  • Python innovates slower, Ruby moves faster
  • Python is rooted in academia, Ruby is web focused

 "I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language."

Thanks!

Questions?

 

We're looking for Backend Engineers:

https://sspinc.workable.com/jobs/19703

@rgabo

gabor@secretsaucepartners.com

This is blasphemy, this is madness! This is Python!

By Secret Sauce Partners, Inc.

This is blasphemy, this is madness! This is Python!

I believe in using the right tool for the right job and thus we use a handful of programming languages at Secret Sauce. Python is the de facto standard among dynamic languages when it comes to working with data so I spent a considerable amount of time beefing up my Python skills over the summer. I'll talk about how I did it and what has been my experience with Python in contrast with Ruby so far.

  • 1,699