git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How do get a specific version of a particular file?

From
Linus Torvalds <torvalds@linux-foundation.org>
Date
Feb 28, 2007, 01:24 UTC
Message-ID
<Pine.LNX.4.64.0702271719300.12485@woody.linux-foundation.org>
In-Reply-To
<alpine.LRH.0.82.0702272004370.29426@xanadu.home>
On Tue, 27 Feb 2007, Nicolas Pitre wrote:
> 
> /me wonders why Linux wasn't written in C++ with overloaded operators...
Actually, there was a short while that we tried it.

In the end, we ended up using the C pre-processor (and some gcc hackery) instead, since it's just superior to the mess that is C++.

See "<asm/uaccess.h>" and various other header files, and realize that we have overloaded operations for things like "get_user()" and "xchg()" and friends.

Overloading of operators wouldn't be very useful, though: it really only pays in either real math (where having "+" etc do the right thing for complex numbers/vectors/matrices/whatever is totally unambiguous and just makes code a lot more readable) or with really trivial stuff (ie "+" for string concatenation).

Outside of math and really trivial stuff, it's just a horribly bad idea, because it just makes for subtle and hard to understand code.

Same largely goes for overloading of functions too, for that matter, except for the cases where you really can pretty much do it by argument size (and then the C preprocessor and few gcc extensions actually generate better and more readable code than C++ ever did - which is admittedly not saying a whole lot).

		Linus
Previous: Nicolas PitreNext: Nicolas Pitre
Message 17 of 32 in “How do get a specific version of a particular file?”
  1. Theodore Ts'oFeb 27, 2007
  2. Christian MICHONFeb 27, 2007
  3. Peter BaumannFeb 27, 2007
  4. Alex RiesenFeb 27, 2007
  5. Alex RiesenFeb 27, 2007
  6. Johannes SchindelinFeb 27, 2007
  7. Theodore TsoFeb 27, 2007
  8. Johannes SchindelinFeb 27, 2007
  9. Theodore TsoFeb 27, 2007
  10. Randal L. SchwartzFeb 27, 2007
  11. Junio C HamanoFeb 27, 2007
  12. Linus TorvaldsFeb 28, 2007
  13. Junio C HamanoFeb 28, 2007
  14. Johannes SchindelinFeb 28, 2007
  15. Linus TorvaldsFeb 28, 2007
  16. Nicolas PitreFeb 28, 2007
  17. Linus TorvaldsFeb 28, 2007
  18. Nicolas PitreFeb 28, 2007
  19. Theodore TsoFeb 28, 2007
  20. Junio C HamanoFeb 28, 2007
  21. Theodore TsoFeb 28, 2007
  22. Junio C HamanoFeb 28, 2007
  23. Nicolas PitreFeb 28, 2007
  24. Johannes SchindelinFeb 28, 2007
  25. Linus TorvaldsFeb 28, 2007
  26. Junio C HamanoFeb 28, 2007
  27. Johannes SchindelinFeb 28, 2007
  28. Fix git-show man page formatting in the EXAMPLES sectionTheodore Tso, Feb 27, 2007
  29. Linus TorvaldsFeb 27, 2007
  30. Bill LearFeb 27, 2007
  31. Theodore TsoFeb 27, 2007
  32. Linus TorvaldsFeb 27, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.