Live data from Hacker News

Python 1.0.0 is out (1994)

groups.google.com

81–90 of 150 posts

Re: Python 1.0.0 is out (1994)

#81
post #33

Earlier quoted context omitted.

It may not be the most efficient one out there, but it certainly is the most productive, atleast for me. God I love the language. The only language, that allows my thoughts to flow alongside writing code that allows my thoughts to manifest. I am well experienced with C# as well, but something about statically typed stuff (I worked with C# before the dynamic stuff wasn't added to it) breaks the flow of thoughts. With…

C# does not in any way represent the best that static typing has to offer. Try F#, Haskell or OCaml seriously before discounting static typing. These functional languages offer much better safety (e.g. no nulls, no casts, case exhaustiveness) and are as succinct as Python. They also generalise a lot of features that are ad-hoc in C# and Python (e.g. async-await is a library in F# and Haskell). For me, using Haskell i…

I think the closest thing to "python with types" is probably Julia: https://julialang.org/

I think the efforts of adding type/type hints to python are interesting - but there's a tension between "weee! Look at me ducktyping, metaprogramming all the prototypes!!"-design and leveraging types as part of your design. Haskell/f#/ml are great languages, but they feel very different from python (ml maybe less so,but afaik there are no full featured implementations with areasonable standard lib...).

If Python is the starting point, I think there's probably four approaches that makes sense if python ends up being limited (in part due to lack of typing): move to a language like Julia, proto-type in python; re-employment in go, prototype in python; reimplement parts in cython and/or rust, add type hints on top of python.

[ed: almost forgot, secret option number five: use restricted-python and the pypy framework to implement a language suited to the problem domain..]

Re: Python 1.0.0 is out (1994)

#83
post #22

Earlier quoted context omitted.

I don't get why Python can't replace Java in almost all domains. It's exceptionally well structured and fast enough for most use cases.

Java's tooling support blows Python's tooling support right out of the water. The static type system of Java allows faster refactoring and IMHO makes development of large applications easier and less error prone. I use Python for simple scripts and often for data transformation. But e.g. at work we have a few million lines of C# that I would never ever want to manage if it was written in Python.

One might argue that Python doesnt need as much tooling. In java you need tools to autogenerate code, refactor, etc. Because its so strict. But with python, you can use the language itself to do things, such as adding a parameter to a function without actually modifying any existing references. In other words, in java, the language is the canvas and the ide is the paintbrush, but in Python, your editor is the canvas, and the language is the paintbrush.

Re: Python 1.0.0 is out (1994)

#84
post #24

Earlier quoted context omitted.

I don't get why Python can't replace Java in almost all domains. It's exceptionally well structured and fast enough for most use cases.

For one, the package management in Python sucks so bad it's not funny. This alone is a reason enough for me to never touch Python again.

Im curious what languages you use. Because while python's package management might not be great, I would definitely put it in the top 5. Most languages have bad package management, including go.

Re: Python 1.0.0 is out (1994)

#85

I think it's interesting to note the primary usecases / benefits mentioned: more readable than perl, better syntax than bash, easy to follow stacktraces. In short: an object-oriented scripting language. In that respect I think python has succeeded, probably beyond even the author's wildest dreams. And I love python, it's a language I use almost every day. The areas where it falls short are those which it was never de…

Also interesting that the first discussion is about the number tower, along with a reference to scheme...

Re: Python 1.0.0 is out (1994)

#86
post #6

> "Python has been used by hundreds of happy users" Hundreds! > "Please don't ask me to mail it to you -- at 1.76 Megabytes it is unwieldy at least..." I can not even figure out if this means email or snail mail.

You're probably joking but, just for kicks and to provide some historical context, my guess is email. I seem to recall that attachment sizes would have been limited to something less than that back then. Also, 1.76 MB could have fit onto two HD floppies which would have made it easy to snail mail. Although it wouldn't have been all that hard to download with a 14.4 modem.

Hold up! Didn’t the floppies I remember store 1.44MB for us?

Re: Python 1.0.0 is out (1994)

#87

Earlier quoted context omitted.

There's a lot I like about Python, but there are a couple of things that they've gotten so horribly wrong. 1. The KeyboardInterrupt exception for SIGINT. Whoever came up with that idea destroyed the credibility of the entire interpreter. Python falls flat on its face to me because of this one design choice. It's impossible to write a Python script that will not dump a full debug stack trace if you send SIGINT (ie: Ct…

As a minor nitpick it bugs me a lot that there are no truly anonymous functions. You either have to use a lambda which is limited to expressions, or name a function and use it as a first class object. Every other language in the same domain has this feature.

Why does it matter?

I suppose you could avoid the possibility of a name clash if the interpreter maintained a hidden, name-mangled reference for you...?

Personally I think it's a bigger problem that python isn't all that well suited to functional programming because of lack of tco etc (see slackness python etc). But I understand the design decision.

Re: Python 1.0.0 is out (1994)

#88
post #40

Earlier quoted context omitted.

Not so sure about that. Most company repos are private though, like the one I work for.

I am yet to work for any customer that cares about git for example, so not even private repos. So far my use of git has been on personal projects.

I guess you just work for a poor quality of customer?

Re: Python 1.0.0 is out (1994)

#89
post #39

Earlier quoted context omitted.

Isn't multiprocessing + caching like Redis a good enough workaround? I know that it works well for web applications. Not sure about other domains.

The day Python performance gets good enough for companies to even think about doing a complete OS userspace on it, maybe. Until then, no.

That's.... Ridiculous.

Re: Python 1.0.0 is out (1994)

#90
post #81
post #33

Earlier quoted context omitted.

C# does not in any way represent the best that static typing has to offer. Try F#, Haskell or OCaml seriously before discounting static typing. These functional languages offer much better safety (e.g. no nulls, no casts, case exhaustiveness) and are as succinct as Python. They also generalise a lot of features that are ad-hoc in C# and Python (e.g. async-await is a library in F# and Haskell). For me, using Haskell i…

I think the closest thing to "python with types" is probably Julia: https://julialang.org/ I think the efforts of adding type/type hints to python are interesting - but there's a tension between "weee! Look at me ducktyping, metaprogramming all the prototypes!!"-design and leveraging types as part of your design . Haskell/f#/ml are great languages, but they feel very different from python (ml maybe less so,but afaik…

Every time I look at Julia, I like it a lot, right up to the point where I remember that indexing is 1-based and I loose the will to go on.
Post reply on HN