Most active commenters
  • nikofeyn(4)
  • Keyframe(3)

←back to thread

2024 points randlet | 18 comments | | HN request time: 1.622s | source | bottom
Show context
krylon ◴[] No.17516259[source]
I haven't used Python in many years, but it was the first programming language I really could say I loved. Everything was was either completely in tune with my intuition or well-documented.

I had a lot of fun with Python, and I learned a lot about programming by (ab)using it. I am very grateful to Guido van Rossum and the work he has done, and I wish him all the best for his future.

replies(1): >>17517063 #
1. jessaustin ◴[] No.17517063[source]
I totally agree with this. In 1999 I had only used C and shell (well lisp a little bit in college), and python was such a breath of fresh air...
replies(1): >>17517922 #
2. Keyframe ◴[] No.17517922[source]
Even though I am hardwired to C and 'thinking like a machine would/prefers', python was probably the first and only language I didn't feel like it was a programming language at all. Always when I write something in it, it's always 'huh, and that's it? I'm... done?'. Sure, it's equal part due to language and 'batteries', but neither would happen without GvR and awesome community that built around his project and him. Python, to me, is like lisp without parens and with libraries - the future we were promised. Only thing I, personally, can't do is write large(er/ish) codebases with it. I tend to get lost, but that's probably due to my C-like brain. In any case, thanks for everything!
replies(1): >>17518946 #
3. nikofeyn ◴[] No.17518946[source]
how is python like lisp?
replies(4): >>17519043 #>>17519518 #>>17519845 #>>17519925 #
4. Keyframe ◴[] No.17519043{3}[source]
The future we were promised when we bought into what lisp would/could be, with all the practicality we see now in python. Norvig wrote about it more here: http://www.norvig.com/python-lisp.html It was from that article when I gave python a serious try and it stuck with me as a go to language for all the small things one does often, but also exploratory programming as well (with iPython/jupyter).
replies(1): >>17519714 #
5. wrmsr ◴[] No.17519518{3}[source]
It's lisp without the curse. You have an arbitrarily dynamic runtime but enough structure and cultural idiom against abusing it that it has flourished. Compare for example type annotations in python versus those in clojure - clojure's expressivity and the culture's tendency to use it pervasively make meaningful annotations much more difficult than in python, even with python's crazy calling convention. Additionally a lot of my data processing python code winds up feeling very lispy - arbitrarily deeply nested iterator pipelines transforming dumb and often immutable data. We largely do this in python because smart objects are slow not out of any pursuit of purity, we have a thriving ecosystem of these kinds of libraries, but the end result feels vaguely similar either way.
replies(2): >>17539569 #>>17539884 #
6. nikofeyn ◴[] No.17519714{4}[source]
have you ever tried f#? if you think python is what lisp could be (a little confused by that...see racket...but...), then i am curious what you think about something like f#. it’s like python in a way, in that it has oop and uses indentation and not brackets, but it is so much more. and it’s more regular in its semantics. everything returns a value.
replies(1): >>17520308 #
7. cutler ◴[] No.17519845{3}[source]
See Hy - a lisp written in Python (http://hylang.org).
replies(1): >>17520345 #
8. emmelaich ◴[] No.17519925{3}[source]
'Basically, Python can be seen as a dialect of Lisp with "traditional" syntax'

-- To quote Peter Norvig, Director of Research at Google and author of multiple books on AI and Lisp.

replies(1): >>17520366 #
9. civilitty ◴[] No.17520308{5}[source]
"The future we were promised" sounds like he's talking more about a combination of ergonomics and productivity that were promised by Lisp but it never got there because the community just didn't expand to the same size. Python is so widely used that the combination of adoption and design decisions is in the sweet spot we were "promised" by Lisp advocates.

F# could also play that role since it can access the rest of the .Net ecosystem but for Python is more approachable as an OOP-ish language.

replies(2): >>17520340 #>>17523817 #
10. nikofeyn ◴[] No.17520340{6}[source]
you can program f# fully as an oop language, where i think it is still more approachable than python for that. add in async, first class events, tasks, observables, etc., and you have a very approachable but high ceiling with f#. and the syntax is still cleaner than python.
replies(1): >>17531271 #
11. ◴[] No.17520345{4}[source]
12. nikofeyn ◴[] No.17520366{4}[source]
norvig is the only one anyone ever quotes for python vs lisp. he is beyond my knowledge, but i just cannot see what he says in this quote. python doesn’t feel like lisp at all when programming in it. the mindset is completely different.

edit: i thought this quote was much more recent. it was from around when he first joined google or even before.

replies(1): >>17520430 #
13. emmelaich ◴[] No.17520430{5}[source]
That wasn't his motivation for using Python.

His motivation was much like many others -- it's the language that looks closer to pseudocode than any other.

His first attempt at doing the AI book using Java was a failure because it's verbosity and lack of features. Students found the Python version much easier to comprehend than the Lisp one.

replies(1): >>17525964 #
14. Keyframe ◴[] No.17523817{6}[source]
You're exactly right about what I've meant. It's not only about the language. In fact, I'd argue it has the least weight of all of the variables. There are various nice languages (to use) which just aren't there regarding publicly available knowledge, libraries, tools, manpower, etc. (lisp', scheme, d1, Ada even...). Python, while not perfect, sits quite comfortably where you could say it has it all.
15. justbaker ◴[] No.17525964{6}[source]
> His first attempt at doing the AI book using Java was a failure because it's verbosity and lack of features. Students found the Python version much easier to comprehend than the Lisp one.

Sigh. Is that the nature of the beast in lisp? To me, it has always been a difficult language to sell to more "traditional" minded devs.

16. hannofcart ◴[] No.17531271{7}[source]
If you like F# but wish you could leverage the Python ecosystem, then try http://coconut-lang.org
17. armitron ◴[] No.17539569{4}[source]
Python is nothing like Lisp, please stop with the generalizations. When it comes to stupid comparisons, Ruby is more Lisp than Python, at least it's got Symbols.

Python is not homoiconic, it doesn't have {reader/compiler/normal}macros, it doesn't have symbols, it doesn't have proper lexical scope, it doesn't have dynamic scope, it doesn't have conditions and restarts, not every statement is an expression, it's full of special cases and is monstrously complicated if you look beneath the surface [thus all the hacks in PEP form].

How is it Lisp when it doesn't have the special magic that makes Lisp so powerful?

18. lispm ◴[] No.17539884{4}[source]
Python is an object-oriented BASIC.