Live data from Hacker News

Python past, present, and future with Guido van Rossum [audio]

talkpython.fm

61–70 of 151 posts

Re: Python past, present, and future with Guido van Rossum [audio]

#61
post #5

I've recently had to start writing python professionally and I'm not super impressed. My previous python experience was writing small services and fixing others code. Now that I'm working on larger "apps" it feels like a 90's language with all the rough edges and warts. I'd rather being working in a language with better language services and tooling, but python has numpy and all these data viz libraries so whatcha go…

It IS a 90s language! ;-) My main issue with Python is distribution. Oh, you're using it on Windows? No worries, just install matplotlib using pip. Oh wait, you need to install cygwin and a C compiler and for some weird reason it won't compile but no worries there is a website with Unofficial Windows Binaries for Python Extension Packages but it's still not working.... Numerical computations and plotting are also my…

Have you not discovered the Anaconda distribution yet? Conda makes a lot of this pain go away.

Re: Python past, present, and future with Guido van Rossum [audio]

#62
post #5

I've recently had to start writing python professionally and I'm not super impressed. My previous python experience was writing small services and fixing others code. Now that I'm working on larger "apps" it feels like a 90's language with all the rough edges and warts. I'd rather being working in a language with better language services and tooling, but python has numpy and all these data viz libraries so whatcha go…

Try PyCharm if you need that kind of support. I'm usually happy with just pyflakes and linters.

Pycharm tries really hard to paper over the lack of static typing in Python. Variable/function refactoring works mostly, code completion is acceptable (especially if you're inside a specially supported-framework like Django) and sometimes it'll show up a type error before your tests fail, saving you the time it takes up setup the test db, run the tests etc...

I love Pycharm, and I think people who go without IDE support are masochists (I did it for a few years with Python, and I'm not going back) but it's not like the kind of tooling support you get from a proper statically typed language, where the IDE can do so much to help you.

And I say this as someone who's been full time in Python for years. It's a fun language to write, with a wonderful ecosystem, but it's not good enough when your codebase gets big or you need to do major refactoring.

Re: Python past, present, and future with Guido van Rossum [audio]

#63
post #5

I've recently had to start writing python professionally and I'm not super impressed. My previous python experience was writing small services and fixing others code. Now that I'm working on larger "apps" it feels like a 90's language with all the rough edges and warts. I'd rather being working in a language with better language services and tooling, but python has numpy and all these data viz libraries so whatcha go…

I'd absolutely love to hear what language you're using that's superior and not a "90s language" then. Pretty sure most of the popular languages date back to then if not a decade or two earlier.

I find it especially amusing you cite typescript and the node ecosystem as superior. I've never seen such an unreliable and constantly changing ecosystem with dozens of frameworks and libraries ever in recent history.

Re: Python past, present, and future with Guido van Rossum [audio]

#64
post #31

Earlier quoted context omitted.

It IS a 90s language! ;-) My main issue with Python is distribution. Oh, you're using it on Windows? No worries, just install matplotlib using pip. Oh wait, you need to install cygwin and a C compiler and for some weird reason it won't compile but no worries there is a website with Unofficial Windows Binaries for Python Extension Packages but it's still not working.... Numerical computations and plotting are also my…

> Numerical computations and plotting are also my prime use cases for Python. IMO it's the only real competition to Matlab in this area. What about Julia and R? I have never worked with them, I am just wondering that they are not mentioned.

There has been tension between the Python and R community, but not at all with the developers, i.e. feather development by both R's Hadley Wickham and Wes McKinley. Python and R are great tools, but the Python community tends to call R garbage and believes that Python has over taken R which is actually not true. R has really grown and is still the number one Open Source language in the domain and I think R has more resources behind it than Python.

http://r4stats.com/articles/popularity/

R has actually already surpassed Matlab. Now R has some funky sides to it (Which you don't need to use) and R also has many people who were not good at programming making horrible examples. It surprised me how functional R is and there is a lot of Scheme in the under belly. The tools and libraries are just getting better and better.

R in the past 4 years has really become amazing. I left Python for R and it has been an amazing ride for me with the Hadleyverse of libraries. Millions has been invested into R with Microsoft even making it a part of SQL Server and Azure after buying R Revolutions. The tools that have been coming out are amazing.

Julia has been a promise on the horizon which I haven't had need of. For my workflow R has been dead on pleasure to use and my data sets are not so large that I need it. I also could use R with Spark if that ever becomes an issue.

Re: Python past, present, and future with Guido van Rossum [audio]

#65

Earlier quoted context omitted.

Windows still doesn't come with a C compiler? At least it finally comes with ssh, right?

Might be an off-topic, but recently I learned that Windows does come with a C# compiler. It's included in the .NET runtime, which is installed by default nowadays. This might be useful if you're extremely lazy to install any language implementation. It is quite amazing since even Ubuntu doesn't ship a C/C++ compiler by default.

I learned this when my boss was wringing his hands over an Excel job that was too complicated to do comfortably in VBA. I'm not allowed to install anything on the computers because I'm a flunky technician.

I started poking around the C:\Windows directory to see if there was something that I could use, and I found C:\Windows\Windows.NET\

"Wait a second - C# is .NET, right?"

A hundred lines of C# later, I had a solution for my boss where you drag the CSV onto the program and it spits out another CSV. I would've liked to have the ability to grab an Excel file, but that requires installing another library... can't do it.

Re: Python past, present, and future with Guido van Rossum [audio]

#66
post #60
post #44

Earlier quoted context omitted.

Or you could offer something in 3 which will make switching enticing enough for people to do so of their own free will.

Proper unicode handling, list comprehensions, generators, await & async, TSL 1.1 & 1.2 support, better namespace handling, better string interpolation, and better argument parsing are just a few of the things that you get. Is there a feature that could entice these people? Or have they made up their minds?

List (and set,dict and generator) comprehensions and generators are available in python2. Await & async and unicode handling are nice improvements, but you could do both in python2 well enough if it was important to you. TSL support I don't use in python so I cannot comment on it. And I've honestly never found namespace handling or string interpolation a problem.

Is there a feature that could entice these people? Or have they made up their minds?

A working, stable, version of http://pyparallel.org/ would entice the hell out of me.

Re: Python past, present, and future with Guido van Rossum [audio]

#67
post #53
post #42

Earlier quoted context omitted.

Haskell and OCaml are also 90's languages. The rise of Python at the expense of safer, typed, faster, more principled languages makes me very sad for the state of our industry. I do not even believe it is the best choice for teaching programming to children. It heavily mixes and conflates higher-level ideas like lambdas and list comprehensions with imperative programming and mutation (the assignment syntax "x=x+1" mu…

>x=x+1 I've always heard this explained along the lines of "adds 1 to whatever x is, then puts that value into x, so x is one more than it was before".

I first came across that as a school kid (in BASIC) and didn't find it confusing at all. I still find functional computing confusing - I mean to do something for the numbers 1 to 100 instead of for x = 1 to 100 you have to do some weird tail call recursion which if you are lucky the compiler then converts back to for x = 1 to 100 because that's how processors work efficiently.

Re: Python past, present, and future with Guido van Rossum [audio]

#68
post #56

Earlier quoted context omitted.

On most OSes, open a terminal and type 'python', and you get a python2 REPL. That's reason enough to write a lot of scripty admin / automation stuff in python2. And then if you need to extend that, it's easy to just continue on in python2. It's there, it works, it's stable, you don't have to maintain versions in case of security issues, the OS package does it for you.

It's high time to change that default. I'm glad django will not support Python2 after 2020, making clear it's legacy.

Oh absolutely. There's a few linux distros starting to ship python3 by default, which is great. It's happening far too slowly.

Speaking of speed, I hear 3.7 should finally be able to beat 2.7 for most benchmarks, which is pretty sweet.

Re: Python past, present, and future with Guido van Rossum [audio]

#69
post #53
post #42

Earlier quoted context omitted.

Haskell and OCaml are also 90's languages. The rise of Python at the expense of safer, typed, faster, more principled languages makes me very sad for the state of our industry. I do not even believe it is the best choice for teaching programming to children. It heavily mixes and conflates higher-level ideas like lambdas and list comprehensions with imperative programming and mutation (the assignment syntax "x=x+1" mu…

>x=x+1 I've always heard this explained along the lines of "adds 1 to whatever x is, then puts that value into x, so x is one more than it was before".

The syntax is trying to look friendly and familiar, but ultimately it's an abuse of a standard mathematical notation that has meant something else for hundreds of years. The original meaning, an equality relation, is still being taught to high-school children today, typically before python is forced upon them.

Re: Python past, present, and future with Guido van Rossum [audio]

#70

Earlier quoted context omitted.

It IS a 90s language! ;-) My main issue with Python is distribution. Oh, you're using it on Windows? No worries, just install matplotlib using pip. Oh wait, you need to install cygwin and a C compiler and for some weird reason it won't compile but no worries there is a website with Unofficial Windows Binaries for Python Extension Packages but it's still not working.... Numerical computations and plotting are also my…

Have you not discovered the Anaconda distribution yet? Conda makes a lot of this pain go away.

Conda people really understand how to distribute code. It is great except that it doesn't always come with the latest package versions. Some packages are a few years old, which sometimes troubles.
Post reply on HN