Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I can't believe that in 2025 it is still hard to find documentation for basic functionality in languages as ubiquitous as, say, Python.

If I google something simple I get 100 junk sites of garbage (GeeksForGeeks, W3Schools, etc), a bunch of AI-generated crap, a bunch of archaic out-of-date stuff, the official documentation which is a wall of dense text, some tutorials that mention the basics, a bunch of shitty bootcamp blogspam (they make you write blog posts about crap to get your brand out there, you know), some stackexchange posts with twenty different answers from 2010, etc. And I'm thinking of, like, Python here, cause that's what was pissing me off this week. God help you if what you're looking for is made by Apple.

Sure we're using AI to look up documentation now but that should never have been necessary. Just like now we use AI to google things because google is so shitty. It's not that AI is great, it's that search engines and documentation are more dogshit than ever and AI is a bandaid.

also it is amazing to me that shells still exist in more-or-less the same form. dear god can I just get a terminal that runs something like Python directly?



> I can't believe that in 2025 it is still hard to find documentation for basic functionality in languages as ubiquitous as, say, Python.

That’s why we get familiar with the documentation manual and bookmark the web version. Then there’s offline documentation browsers (dash, devdocs,…).

> it is amazing to me that shells still exist in more-or-less the same form

Bash and ZSH are quite good for their use cases (running command). and there are shell like fish that leans more towards interactive use instead of automation. Python’s primitive are not very good for launching commands.


In the case of python, it's all built-in. People just don't know their tools.

  $ python
  Python 3.13.2 (main, Mar  6 2025, 08:26:01) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import os
  >>> help(os)
Same thing happens with so many other things.


Not so great if you don't know the import or it's not intuitive (pathlib, shutil).


You can search in module names and summaries,

    $ python
    Python 3.13.2 (main, Mar  6 2025, 08:26:01) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> help()
    Welcome to Python 3.13's help utility! If this is your first time using
    Python, you should definitely check out the tutorial at
    https://docs.python.org/3.13/tutorial/.
    
    Enter the name of any module, keyword, or topic to get help on writing
    Python programs and using Python modules.  To get a list of available
    modules, keywords, symbols, or topics, enter "modules", "keywords",
    "symbols", or "topics".
    
    Each module also comes with a one-line summary of what it does; to list
    the modules whose name or summary contain a given string such as "spam",
    enter "modules spam".
    
    To quit this help utility and return to the interpreter,
    enter "q", "quit" or "exit".
    
    help> modules files
    
    Here is a list of modules whose name or summary contains 'files'.
    If there are any, enter a module name to get more help.
    
    compileall - Module/script to byte-compile all .py files to .pyc files.
    filecmp - Utilities for comparing files and directories.
    fileinput - Helper class to quickly write a loop over all standard input files.
    gzip - Functions that read and write gzipped files.
    idlelib.grep - Grep dialog for Find in Files functionality.
    linecache - Cache lines from Python source files.
    netrc - An object-oriented interface to .netrc files.
    pathlib - Object-oriented filesystem paths.
    plistlib - plistlib.py -- a tool to generate and parse MacOSX .plist files.
    shutil - Utility functions for copying and archiving files and directory trees.
    tempfile - Temporary files.
    ...
I know there's search engines and there's use cases. I'm just trying to highlight that some people that work in a language day in and out, don't even know how to get their documentation. I just want people to know their tools better to ask smarter questions. It won't remove questions and that's fine. Just help me help you.


Thanks, I never knew about that modules search.


I’ve found that as well

It’s a good idea to take some time to understand how the official language docs are organized so that you can just jump there straight away and bypass all the noise


> also it is amazing to me that shells still exist in more-or-less the same form. dear god can I just get a terminal that runs something like Python directly?

There's no reason why you can't set Python to be your shell. Here you go:

  sudo usermod -s /usr/bin/python $USER
  su $USER
You'll likely find that it's not that great as a shell language. Shell languages are made to be primarily used interactively. With Python, you'll have a lot of extra syntax to type all the time. They're also made to glue other programs together. I don't think you'll find it as convenient to use the output of one program as the input of another in Python. Job control will also not be as convenient.


Well I don't mean python, it is obviously not a shell. I just mean something like it.



Heh, glad to see it, was gonna post this. Now you have it, do you want to use it. (bluff call time LOL). Being a bit facetious, don't get too offended at the joke, people. But yeah, Xonsh is the "python(ish) shell" option if that's what you want.


oh yeah that looks cool


"also it is amazing to me that shells still exist in more-or-less the same form. dear god can I just get a terminal that runs something like Python directly?"

But what does this have to do with programming

Is this suggesting that operating a computer via a shell is "programming"

(It's possible to administer a computer running UNIX by using a shell, without knowing any programming languages^1)

"dear god, can i just get a terminal that runs soemthing like Python directly?"

Assuming "dear god" is a figure of speech, who would be the person(s) responsible for delivering on this request

Many years ago, during experimentation, I changed the program launched by init to a program other than a Bourne shell by editing one line of init.c

That "shells still exist in more-or-less the same form" is probably one of the reasons I like them so much

1. Assuming one believes the shell is not a programming language


of course operating a computer via a shell is programming...

you can also write shell programs in standalone files!


> also it is amazing to me that shells still exist in more-or-less the same form. dear god can I just get a terminal that runs something like Python directly?

i’ve been maining `nushell` for about 1.5 years now, and it’s basically this. a real programming language that is designed as a command runner and output parser. i have a ton of scripts that parse output from common commands like `git` and facilitate a ton of shell-based workflows: https://github.com/covercash2/dotfiles/tree/main/nuenv


Shells are much better than python at managing and orchestrating process execution. Also the pipes and filters model is simple and powerful when it fits your problem, which for me is many times a day.


Python has amazing documentation. Between the built-in help() function and the official documentation (which is hosted on their site) it's hard to find anything better.


What kind of Python information were you having trouble finding?

I do have this problem as well, I've just started a job with Ruby and it took too many searches until I could find the official docs for some kind of syntax.

For Python I feel it's easy to find stdlib docs, but can be hard to find some specific things about the language itself in the official docs - sometimes it's too technical and I wish there was a more pragmatic middle ground.


For ruby, you need a good book, and be good at reading references docs.


The first thing I bought at my last job was the Oreilly Ruby book. I can't remember what it's called.


fucking... all of it

the other day, the example that made this top-of-mind, was looking up the python string formatting options. Google found https://docs.python.org/3/library/string.html which is a giant wall of text that I should not have to read all of just to find a reference. Plus it has the fucking formal grammar--who cares!? I just want a lookup table. But this is my experience every time I try to do anything. I always end up going back to https://learnxinyminutes.com/python/ because at least it just lists all the information I want! Of course if I programmed Python every day, which I haven't in a while, then a lot of this would be preloaded in my mind... but seriously, just make a damn reference, it's not hard. Python seems to constantly conflate "full technical specification" with "quick reference materials". Which, fine, if time and energy were no limitations, would be equivalent. But sometimes you just want to know the answer to a simple question in less than 30 minutes.



PEPs are often great documentation. They definitely don't cover everything, but they can be helpful


I find a bit infuriating that the official docs for pattern matching are the PEPs. Maybe that will change at the next pattern matching lang change, and I think PEPs and language docs each have their separate purposes, but on the other hand it's nice that the PEP is good (and current) enough as usage documentation.


how sad it is that the documents that described the changes exist as the reference for them, though.


I understand why GeeksForGeeks is garbage but I don’t get why W3Schools is garbage. Anyone know why?


are you asking why it is bad as in "in what sense is it bad?" or as in "how did it end up being so bad"?

It's bad because it's missing most of the information it should have. look at https://www.w3schools.com/css/css3_flexbox.asp for instance, it has none of the reference materials it should have about flex, yet it is in the top 5 google results for "css flex". it's completely useless as a reference (or for learning, really). compare to https://developer.mozilla.org/en-US/docs/Learn_web_developme... which actually has the information on it, albeit in an annoying tutorial format.


   claude mcp add context7 -- npx -y @upstash/context7-mcp


unhelpful


Python is a funny one to include there, as you should be able to just `help(foo)` to get the documentation. You can flat out run `help()` to get an interactive help session.


be the change you wish to see


stop everything and focus on this completely altruistic goal because you had a mild inconvenience, what do you mean 'privilege', I'm just down to earth like that


The first step is complaining


anyway i am already working on other things i want to see changed. can't fix everything yourself


So that LLMs can be trained on it? I predict the return of the paid web just on the back of that.


what do you suggest?


Fix the copyright laws against AI, or I suggest creators go full Atlas Shrugged...




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: