←back to thread

2024 points randlet | 5 comments | | HN request time: 0s | source
Show context
theandrewbailey ◴[] No.17516370[source]
Python was my first programming language, ~15 years ago. The bracket- and semicolon-free syntax is beautiful and approachable to this day. Python is my go-to for writing data format conversion scripts. I wrote a random sentence generator in Python 10 years ago that gave me and my friends hours of entertainment.

Thanks, Guido, for the good times!

replies(1): >>17517645 #
fit2rule ◴[] No.17517645[source]
I can never get into Python and end up with as much passion as you. For me, its a very powerful and useful language - no doubt about it.

But the aesthetics of a whitespace language just don't jive with my 30+ years of experience writing code. No matter how many times I try over the past few decades, I just can't get passionate about writing Python code. I know its power, and I totally grok its value to our industry - but for me, Lua is just far more elegant, even if it doesn't ship with all of Pythons' goosebridles. Lua is my go-to scripting language; I only ever use Python if I have to - i.e. its enforced on me by others.

I really do try to get over this personal handicap, often enough, but the moment I have to start thinking about indentation I just lose all the passion and it starts feeling like a drag. What a dilemma, because I know it has been used for many, many great things .. I just wish I could get over my aversion to white-space'ing things all the time. I've tried editor after editor (well, expect the Python-specific things), but it just doesn't click.

Ah well.

replies(6): >>17517931 #>>17519165 #>>17519828 #>>17521140 #>>17521516 #>>17535913 #
1. cutler ◴[] No.17519828[source]
I found Python's indentation style more appealing after working with Clojure for a while. Python is a bit like lisp without the parentheses. In fact you can Clojurify Python with Hy (http://hylang.org) which solves both the indentation problem and the crippled lambdas problem.
replies(1): >>17539554 #
2. armitron ◴[] No.17539554[source]
Python is nothing like Lisp, where did you come up with that?

Three things that are key in Lisp: Symbols, environments and lexical scope. Python has none of these.

replies(2): >>17539891 #>>17541719 #
3. lispm ◴[] No.17539891[source]
Python reminds me more of an object-oriented BASIC. Mostly imperative control flow. Lots of assignments. Lots of state manipulation.
replies(1): >>17541802 #
4. kazinator ◴[] No.17541719[source]
Most of the examples of Python program design that are held up as "Pythonic" can be described as Fortran with dynamic typing.
5. kazinator ◴[] No.17541802{3}[source]
Perhaps the biggest computer science cluster-fuck in Python is that there is no syntactic distinction between instantiating/binding a variable and assigning to it.

Python 3 makes it worse by adding some declarative stupidies nonlocal and global:

https://en.wikipedia.org/wiki/Variable_shadowing#Python