Live data from Hacker News

Python 1.0.0 is out (1994)

groups.google.com

131–140 of 150 posts

Re: Python 1.0.0 is out (1994)

#131
post #40

Earlier quoted context omitted.

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.

My anecdata is exactly the opposite: I have worked for four companies in the last 12 years, 2 big multinationals, mining and defence. All four used git.

Lots of large companies use git internally but they do not necessarily use github for hosting.

Gitlab self hosted is just one of many options.

Re: Python 1.0.0 is out (1994)

#132
post #113
post #107

Earlier quoted context omitted.

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…

Those projects were done and ran in actual hardware.

I am making the counter point regarding OP statement that Python is suitable to fully replace Java ,regardless of the implementation. Lets not mix languages and implementations.

So given that even PyPy does not match the performance of most Java implementations, it seems a bit hard to consider the scenario of Python fully replacing Java's use cases.

Re: Python 1.0.0 is out (1994)

#133
post #132
post #113

Earlier quoted context omitted.

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

Those projects were done and ran in actual hardware. I am making the counter point regarding OP statement that Python is suitable to fully replace Java ,regardless of the implementation. Lets not mix languages and implementations. So given that even PyPy does not match the performance of most Java implementations, it seems a bit hard to consider the scenario of Python fully replacing Java's use cases.

Sure, in Java applications where performance is critical it might be hard. Is this all Java applications? Is this even most Java applications?

I'm not necessarily agreeing with the original point that you can rewrite any Java app in Python, because that's ridiculous as well. But your counterpoint that it can only happen "when a user-space could be written in it" is very poorly chosen.

Re: Python 1.0.0 is out (1994)

#134

Earlier quoted context omitted.

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.

Also to give more context: Back in the late 90s I remember I had a linuxmail.org web-mail account. It featured a whooping 4MB of space. 4MB! That's why when Google released GMail with 1GB of storage in 2004 ( https://slashdot.org/story/04/04/01/0038200/googles-gmail-to... ) it really blew everybody's mind.

In fact 1GB was so mind-blowing that people thought it was an April fools joke.

Re: Python 1.0.0 is out (1994)

#135
post #81

Earlier quoted context omitted.

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.

One nice thing about Julia is that you basically never have to think about the indices. One of the primary reasons for this is that people using julia like array types with all types of strange and wonderful index sets (e.g. skew lattices to slice through a higher-dimensional array which people in medical imaging like apparently). As such, there are easy and convenient abstractions that are independent of the index space and all of the standard libraries and most external packages use these (to be able to deal with non-standard arrays).

Re: Python 1.0.0 is out (1994)

#136

Earlier quoted context omitted.

Arguably, that would be Java, which was introduced in 1995. For whatever hey are worth, most language popularity indexes (TIOBE, LangPop) place Java above Python with quite a large margin. Java may not get much exposure here or in startups, but if you go out in the real world of 'boring' business applications, Java is pretty much the defacto language (together with C#).

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.

> fast enough for most use cases.

I take issue with this. In terms of speed, python can't even hold a candle to java. Even when using pypy, which isn't 100% compatible with cpython.

Re: Python 1.0.0 is out (1994)

#137

Earlier quoted context omitted.

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.

Python actually does have a kind of "anonymous function" feature, at least in a way that replaces most common use cases. It just happens to be bundled in a unique Python-like way. A lot of people don't seem to know about @contextmanager (contextlib.contextmanager) - it's what provides the functionality for "with" blocks. You've probably seen with() used with file operations (open file, run block of code, file is clos…

How do contextmanagers (which by the way, @contextmanager is sugar for manually defining an object with __enter__ and __exit__ methods) take the place of anonymous functions?

Re: Python 1.0.0 is out (1994)

#138
post #123

Earlier quoted context omitted.

Do you mean tooling in the sense of Debugging support? Or is it code generation, etc? Just curious. I use PyCharm for medium to fairly complex projects and with Python 3 type hinting, I have not faced any particularly difficult development situations, tooling wise.

Well, type hints are a relatively new addition to Python and while they are nice, not every code has them and you cannot rely on them 100%. Python in general is a cool language that you can build stuff fast in but is is also extremely dynamic which doesn't make it good for IDE support where you often want to know where stuff is coming from in one click. Large code bases can get very confusing and navigating in a modu…

>you cannot rely on them 100%

You can rely on them exactly the same amount as in Java though.

Re: Python 1.0.0 is out (1994)

#139

Interesting to read his description of the language, which sounds pretty much exactly like python is now. It’s a pretty good testament to why python gained and retained popularity. Though not without fault, python is certainly one of the best-designed languages ever created, in my opinion.

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…

That's funny: my python's experience is totally opposite from yours: I find that me and my colleague keep making mistakes that would have been caught by the compiler.. So we're replacing a Python based test system by a C++ one.

Re: Python 1.0.0 is out (1994)

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

Or pascal/delphi.

Python + pascal are by far the ones I enjoy the most. I do a lot of F# now, and I like it, except, is not a good pascal!

i.e: The thing that bother my most of F# is that by default it not force to anotate types. One thing good about pascal is that is VERY EASY to figure out almost any line you read (without IDE help. Infurate me that F# know, but hide the knowledge to me!). With python is easy to infer the operations but not the data (ie: easy to read "I'm iterating" but not "and is a array of ints")

I could anotate a lot on F#/Python but is not idiomatic. This mean, that a lot of times I'm lost with F# in the ways is with python, with the worse thing that the infered stuff get crazy hard.

But, IMHO, python and pascal are in the TOP of truly well designed languages, where the sum of all the small things match well

Post reply on HN