Most languages
(other than the deliberately low-level "C") have more-or-less built in features which can be used by a programmer without further programming.
Languages such as "C
++" provide a variety of "container classes," "mix-ins" and so-forth which allow you to construct data structures, which your program perceives to be "objects," with already-debugged "methods" that allow you to manipulate them.
Even "C" has standard or readily-available libraries which implement data structures, although the nature of the language means that you have much more of a burden upon yourself to "use them 'correctly.'" (Such that, if you don't, the code which you write and which 'compiles correctly' does not run as you anticipated.)
Finally, high level scripting languages
(e.g. PHP, Perl, Python, Ruby, etc.) routinely provide "built-in" features, such as "hashes" and even "arrays," which are implemented using very sophisticated data structures under the hood. You get the
benefits of them, (almost ...

) without the
pain. You focus on the results you need
(and with an awareness of how the language will respond), and

The Implementors™

of the language "cover your
butt back."
Certainly, there is always this maxim:
Quote:
Actum Ne Agas: Do Not Do A Thing Already Done.™
|
No matter what you are doing, and in what language, you almost never have to "start from scratch." You should always begin any project with
research over "prior art." Why

against something if someone
else has already

'd about the selfsame thing
and has shared their work with you, or has built it into a tool that you can readily use?
- - -
And also: "None of these things are particular to
Linux." You can even find and use them in "The OS That Must Not Be Named."
