TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What Python Fixes

67 pointsby garretalmost 15 years ago

12 comments

RyanMcGrealalmost 15 years ago
Python is like a piano: anyone can sit down and tap out Three Blind Mice within a few minutes, but a virtuoso can play Rachmaninoff's Symphony No. 2.<p>The language is well designed; the barrier to entry is low; the language allows for progressive discovery of its advanced features; it is powerful and flexible enough to allow an arbitrary combination of imperative, object oriented and functional programming; and the large, mature ecosystem of third party libraries means it can already do about 80% of just about any problem you can think to throw at it.
评论 #1399156 未加载
parfealmost 15 years ago
Python is not static<p>Python is not monkey-patched<p>Python is not multiple coding styles<p>Python is not enterprise<p>Python is not overly verbose<p>Python is not overly concise<p>Python is not lacking in libraries<p>Python is not a dialect<p>Python is not manual memory management<p>Python is not hard to learn<p>Python is not a roadblock to writing code quickly<p>And really the only important issue: Python is not a pain to use.
评论 #1399389 未加载
评论 #1399490 未加载
jacobianalmost 15 years ago
Python fixes maintenance.<p>You know that sinking feeling when you crack open 3-year-old code written by your predecessor's predecessor and realize it's a load of garbage and that you'll never be able to fix the bug?<p>Yeah, well, with Python that doesn't happen. At least, not at all frequently.<p>Python forces you to spend a bit more time up-front and then saves you time each and every time you need to read, edit, or improve your code. People choose Python for the same reasons they choose good testing practices. Python's a mature language for mature developers who want to produce mature software.
评论 #1399352 未加载
评论 #1399308 未加载
评论 #1399254 未加载
评论 #1399248 未加载
评论 #1399437 未加载
iainduncanalmost 15 years ago
For me, Python is the only language that addresses the <i>human</i> side of programming well. You just plain make fewer mistakes with Python, and it's way easier to reload code into your brain after not looking at it for a while. The readability and obvious syntax has vastly more far reaching effects than one thinks it will when first learning it. It's amazing how much more productive one is in a language that is easy to read, easy to type, and easy to figure out what the most likely way to do something is. I reach for pdb more than a manual because most of the time I can guess what an api will be, and if not, 5 seconds of introspection reveals it. Ruby is well designed for computers, but Python is better designed for us fallible humans who have to type into computers. ;-)
评论 #1399188 未加载
j_bakeralmost 15 years ago
I think that Python "fixes" reliance on language features. Sure, Python has a lot of neat features compared to say C# or Java, but as a dynamic language it really isn't anything <i>that</i> great.<p>But Python is probably the best example in recent history of a language that made it big not because it was anything radically new or innovative, but because it has a great standard library and a solid, mature implementation.
评论 #1399082 未加载
评论 #1399484 未加载
samratjpalmost 15 years ago
Obligatory: <a href="http://norvig.com/python-lisp.html" rel="nofollow">http://norvig.com/python-lisp.html</a><p>Python to me is the new world where any immigrant has a niche for whatever he seeks.
jayruyalmost 15 years ago
SciPy+NumPy+MatplotLib == Matlab ($2k+) returns true for most applications<p>That's good enough for me to not bother with any other scripting language.
评论 #1398986 未加载
tumultalmost 15 years ago
Python is a Lisp where the interface to everything is a domain-specific language that visually resembles simple imperative programming.<p>If Python has fixed anything, it has been because of its roots as a teaching language, with a culture for treating the structure of the language as a tool. Blur the lines between syntax and semantics, and your only option is to create things that can be expressed in both realms at the same time.
评论 #1399286 未加载
评论 #1400335 未加载
mkramlichalmost 15 years ago
Simple things are simple. Hard things are doable and still easy to read and maintain. Concise but not so much that it looks like line noise later. An application often has about as many characters as the pseudo-code used when designing it. The language syntax is so minimal and flexible that, unlike Ruby, you do not want to create a true DSL but rather plain old modules, functions and classes in order that you keep the readability &#38; extensibility high by having a common language syntax.
评论 #1399795 未加载
Kilimanjaroalmost 15 years ago
Python could be improved a bit, just remove the damn underscore from it.<p>Everything else is love.
jpralmost 15 years ago
To me as a Lisp user, Python breaks more than it fixes. Lexical scoping? Nope, can't have it. Code as data, data as code? Not really. Literals for data? Compilation to native code? Compiler/interpreter warnings? Warnings for name collisions when importing? Standard for the language? Nope.<p>And I don't really buy the argument that Python is simple and clean. It has multiple inheritance, metaclasses, operator overloading, decorators and whatnot. Also the type system is broken, a deriving class can define an overriding method that has incompatible signature, rendering isinstance powerless (yes, I know you probably shouldn't use isinstance much anyway, but dammit, it should at least mean something).
评论 #1399347 未加载
评论 #1399781 未加载
评论 #1399938 未加载
hackermomalmost 15 years ago
Wholeheartedly without trolling, but admittedly with some bitterness, and with much experience in Python, Perl, PHP, Java, C/++ and more, another thing that Python will fix for you is the problem of having a too fast processor on your deployment platform: Python effectively eliminates this problem in most cases, way better than most other languages will. There's always another side of every coin, and it shouldn't ever be ignored.
评论 #1399129 未加载
评论 #1399166 未加载
评论 #1399112 未加载
评论 #1399104 未加载