Live data from Hacker News

Python 1.0.0 is out (1994)

groups.google.com

111–120 of 150 posts

Re: Python 1.0.0 is out (1994)

#111
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…

I think the closest to "python with types" really is typescript. I hope Python can one day get there. Typescript really gets how strong typing can be accessible yet optional.

It's also my understanding that the TS community wants to replicate the mypy model where typechecking and compilation are separate steps; by adding a typescript compiler with no type checking to Babel.

Re: Python 1.0.0 is out (1994)

#112
post #70
post #59

Earlier quoted context omitted.

There's a famous quote by Linus Torvalds: "Bad programmers worry about the code. Good programmers worry about data structures and their relationships." Even when prototyping, I find that nailing down the data structures from the get-go makes subsequent code-writing much easier. A lot of times, the code kind of falls out naturally when you've figured out the data structures you're working with. Strongly-typed language…

It has been my experience that “data-structures” in real world situations and especially within code directly facing consumers varies a lot more compared to what any pre-implementation data design process can predict (I’d even say that the structure of a lousy data-input form on a god-forsaken website has the potential to change a lot more often compared to the intrinsic structure of the Linux kernel). Dynamic langua…

They are very good at letting you make the quick easy change while providing no helping hand in ensuring all your code is utilizing the data structure's new schema correctly

They are "easy" in that sense which makes them popular with a subset if developers, while another subset loathes the terrible language services/tooling.

Incidentally many dynamic languages seem to have attempted to bolt on some faux type system; python type annotations, phpdoc, jsdoc, type specs, etc, etc.

Re: Python 1.0.0 is out (1994)

#113
post #107
post #98

Earlier quoted context omitted.

Ridiculous is thinking you could write a whole OS userspace in Java. Ridiculous is making that comment without realising Python is a core part of most modern *nix userspace. try uninstalling Python on a default Ubuntu/Fedora/Centos install and see what still works. I would suggest trying the same with Java, but nobody bundles that by default despite it's JIT. Ridiculous is pontificating about how useless Python is wi…

JNode, JX, JavaOS, Android are a fact. Let us know when there is an OS with Python userspace that can compare to any of them. Of course Python is a core component of any UNIX system, it is a perfectly good fit as scripting language. As a replacement for complex shell scripts, libraries written in C and C++, or scripting GUI applications.

> JNode, JX, JavaOS, Android are a fact.

I'm not sure if you're being intellectually dishonest or just willfully ignorant, but except Android all of those projects are long dead or discontinued. It seems Java wasn't a great choice. And while Android uses the same syntax as Java under the hood it's a completely different and doesn't share any code with, one very different from the JVM (Yes, Java != the JVM, but you're whining about the CPython implementation of Python rather than the syntactical differences compared to Java)

I mean this whole thread is ridiculous, you start out by saying "Python is bad because you can't write an OS user-space in it" which by itself is entirely ridiculous. You defend this by saying "Java is fast, therefore Python is bad".

You like to troll around these Python threads saying the same thing, "boo Python is bad because it's slow" and "boo where is the Python JIT". By all means make these points, but until you put some actual substance into your arguments they will continue to come across as very confused. And honestly it does seem like you are very confused.

> As a replacement for complex shell scripts, libraries written in C and C++, or scripting GUI applications.

https://en.wikipedia.org/wiki/User_space

Re: Python 1.0.0 is out (1994)

#116
post #68

Earlier quoted context omitted.

You mean dichotomy, and the war is pretty much over everything supports python3 now.

Thanks for the correction. Pretty much is not everything, for example Cocos2d-x scripts.

That's not a library, it's a platform. There are all kinds of platforms stuck on ancient Java versions (Android), for which libraries are not always compatible. Every package you'll use is compatible, unless you're Mozilla's build system.

Re: Python 1.0.0 is out (1994)

#117
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.

And it expands a bit with the mime encoding of the attachment, too.

Re: Python 1.0.0 is out (1994)

#118
A good automatic code formatter (like JavaScript’s/typescript’s prettier) really really breaks the arguments used by significant white space supporters ...

I use a code formatting tool in my python work flow as well but it’s nowhere near as nice/fun as with a non-significant white space language ...

Re: Python 1.0.0 is out (1994)

#119
post #22

Earlier quoted context omitted.

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,…

That works for single developers and tiny codebases, but for large teams and long term maintainence, Java's tooling is superior.

Re: Python 1.0.0 is out (1994)

#120
post #97

Earlier quoted context omitted.

While we fix bugs in our Linux packages so they work on USW/WSL this one appears to have problems (and I do not expect I will look into them any time soon): Python 1.0.1 (Mar 26 2014) Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam Segmentation fault (core dumped) .. I did capture the backtrace though; for what it's worth: (gdb) bt #0 0x00000000004212bb in do_mkvalue () #1 0x00000000004210a7 in do_mktup…

Do a 'bt full'?

There is no symbol table:

  bt full
  #0  0x00000000004212bb in do_mkvalue ()
  No symbol table info available.
  #1  0x00000000004210a7 in do_mktuple ()
  No symbol table info available.
  #2  0x00000000004211a8 in do_mkvalue ()
  No symbol table info available.
  #3  0x00000000004213f2 in vmkvalue ()
  No symbol table info available.
  #4  0x00000000004214a1 in mkvalue ()
  No symbol table info available.
  #5  0x0000000000422438 in err_input ()
  No symbol table info available.
  #6  0x000000000042258c in parse_file ()
  No symbol table info available.
  #7  0x00000000004226ae in run_file ()
  No symbol table info available.
  #8  0x0000000000422bf3 in run_script ()
  No symbol table info available.
  #9  0x000000000042232a in realmain ()
  No symbol table info available.
  #10 0x00000000004039f4 in main ()
  No symbol table info available.
Post reply on HN