Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 12 submissions in the queue.
posted by Fnord666 on Sunday January 21 2018, @01:59PM   Printer-friendly
from the free-stuff dept.

Here is an excellent collection of 45 free books in PDF format which I found here — "Programming Notes for Professionals" books.

The PDFs contain this on one of their very first pages:

Please feel free to share this PDF with anyone for free

This ${insert title here} Notes for Professionals book is compiled from Stack
Overflow Documentation, the content is written by the beautiful people at Stack
Overflow. Text content is released under Creative Commons BY-SA, see credits at
the end of this book whom contributed to the various chapters. Images may be
copyright of their respective owners unless otherwise specified.

Because of the range of software development related topics covered, I thought this might be of interest to a large fraction of people on SN.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: -1, Spam) by Anonymous Coward on Sunday January 21 2018, @03:06PM (2 children)

    by Anonymous Coward on Sunday January 21 2018, @03:06PM (#625650)

    Yeah, zip & zoom into his bare snappyhole! My pocket shit racers are going to invade every nook and cranny of your asshole! Zippin' & zoomin'! There they go!

    • (Score: 2, Insightful) by Ethanol-fueled on Sunday January 21 2018, @10:42PM (1 child)

      by Ethanol-fueled (2792) on Sunday January 21 2018, @10:42PM (#625850) Homepage

      A SPAM first post of the most obvious idiocy is preferable to a non-spam first post which is intellectually dubious but puts its dick in the mashed potatoes of the entire discussion, with the first-shitpoast having the added bonus of drawing the fire of other morons with ill intent and short attention-spans.

      • (Score: 0) by Anonymous Coward on Monday January 22 2018, @10:27PM

        by Anonymous Coward on Monday January 22 2018, @10:27PM (#626284)

        ..... with the first-shitpoast having the added bonus of drawing the fire of other morons with ill intent and short attention-spans.

        Don't forget a lack of self-awareness... :)

  • (Score: 3, Interesting) by turgid on Sunday January 21 2018, @03:40PM (13 children)

    by turgid (4318) Subscriber Badge on Sunday January 21 2018, @03:40PM (#625664) Journal

    Thanks for those links. I went to the hacker news story and found the link to the zip file containing all the books and downloaded it. What a valuable resource. I've flicked through the the C programming one, the Algorithms one and the bash one (since they're my main interests). I wish something like this had been available 20 years ago.

    • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @03:57PM (3 children)

      by Anonymous Coward on Sunday January 21 2018, @03:57PM (#625674)

      Just notice their disclaimer on content correctness. I browsed quickly through the Linux one and found a few errors there.

      • (Score: 3, Insightful) by turgid on Sunday January 21 2018, @04:10PM (1 child)

        by turgid (4318) Subscriber Badge on Sunday January 21 2018, @04:10PM (#625683) Journal

        Critical thinking skills should always be applied, and experiment to confirm what you think you've learned. This stuff is free, new, and it has bound to have some errors. Community feedback will fix this (as it does with code).

        • (Score: 2) by edIII on Monday January 22 2018, @10:33PM

          by edIII (791) on Monday January 22 2018, @10:33PM (#626290)

          If it's Stack Overflow, nothing stops you from commenting on it to update something, or correct it. I've seen many authors of both questions and answers edit their own content for correctness. Community Participation does indeed fix this.

          I agree, a lot of people poo-poo Stack Overflow and deride copy-paste coding, but forget that 85% of the answer was correct. Minor syntax errors, or missing flags, are something you should find out on your own when testing the code. I've not found many copy-paste snippets of code that were good to go as is, but I've found the direction to the answer an at least, and often a good amount of help to implement the answer.

          What I really appreciate are the answers that have questions with the reference material quoted, and then explained. Some contributors really need to be thanked for that, so I'm not surprised you could make a book of notes from the good content.

          --
          Technically, lunchtime is at any moment. It's just a wave function.
      • (Score: 0) by Anonymous Coward on Monday January 22 2018, @04:57PM

        by Anonymous Coward on Monday January 22 2018, @04:57PM (#626130)

        Just notice their disclaimer on content correctness. I browsed quickly through the Linux one and found a few errors there.

        Yep. That's the main problem with Stack Overflow. I do sometimes consult SO for solutions to notty computer programming problems. Many times there is at least one person who has a good answer to my problem, but there are several that are talking out of their asses. It's a game of sifting to separate the wheat from the chaff. Remember, you get what you pay for.

    • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @04:04PM (6 children)

      by Anonymous Coward on Sunday January 21 2018, @04:04PM (#625677)

      Sometimes they are a bit dry, but all the information is there, and has been since more than 20 years ago.

      • (Score: 2) by turgid on Sunday January 21 2018, @04:08PM (4 children)

        by turgid (4318) Subscriber Badge on Sunday January 21 2018, @04:08PM (#625680) Journal

        20 years ago I didn't have any money so I couldn't afford the books. Now I can, I've amassed a collection. This will be helpful to young enthusiastic people who are self motivated but might not have the money to spend on a big pile of books, Yes, the man pages are there, and yes there are blogs here and there but sometimes it's nice to be able to read through a book to find out what you don't know that you don't know.

        • (Score: 2, Insightful) by Anonymous Coward on Sunday January 21 2018, @05:00PM (3 children)

          by Anonymous Coward on Sunday January 21 2018, @05:00PM (#625698)

          Today, the C standard, and the C++ standard, are pretty much available for free as PDFs or even LaTeX source for the adventurous.

          POSIX publishes its info, including its definition of the Shell Language.

          The GNU bash manual has always been around and is quite extensive.

          There are only a few concepts in algorithms that most programmers ever need; if you understand linked lists and hashtables, then you're pretty much set.

          It's all there, my friend, and it always has been.

          Indeed, with FOSS, once you learn some these languages, you can literally read what you need to learn from all of the code in the world.

          • (Score: 3, Insightful) by turgid on Sunday January 21 2018, @05:08PM (1 child)

            by turgid (4318) Subscriber Badge on Sunday January 21 2018, @05:08PM (#625702) Journal

            Yes, and if you have someone to introduce you to those concepts, you'll be fine. If you don't, and you don't know that you don't know you need a reference book, and preferably a tutorial in addition to the manual.

            • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @09:34PM

              by Anonymous Coward on Sunday January 21 2018, @09:34PM (#625812)

              The kind who brings knowledge to himself, and the kind to which knowledge must be brought.

          • (Score: 0) by Anonymous Coward on Monday January 22 2018, @01:40PM

            by Anonymous Coward on Monday January 22 2018, @01:40PM (#626058)

            The C++ standard is great to determine how a given construct should behave. It is not that useful if you want to find out which construct you should use to achieve a certain result. That's because it is not written to be a tutorial or even a reference manual, but to be a specification.

      • (Score: 3, Insightful) by requerdanos on Sunday January 21 2018, @11:44PM

        by requerdanos (5997) on Sunday January 21 2018, @11:44PM (#625876) Journal

        But why not just read the official manuals/stds? Sometimes they are a bit dry, but all the information is there, and has been since more than 20 years ago.

        This is answered further down...

        Because often the information in a reference manual is just that: A reference for someone who already knows something, but wants to clear up points of syntax, usage, or whatever.

        The light, helpful material [in things like stack overflow articles] is written on a level that is much more tutorial in nature, easier to grasp for someone who doesn't already intimately know something, and furthers knowledge.

        The difference is approximately comparable to a tutorial on a command vs. its man page: The tutorial is less complete and more comprehensible and useful, while the man page is densely more complete, and comprehensible, and frequently less useful.

        Sometimes you need the dense reference information[, but sometimes you just need] the practical, useful information.

    • (Score: 4, Informative) by tibman on Sunday January 21 2018, @04:30PM

      by tibman (134) Subscriber Badge on Sunday January 21 2018, @04:30PM (#625688)

      Did the same as you. Here's the link for anyone interested: books.goalkicker.com/all.zip
      The two books i paged through were really good. Written more like a reference book than a "learn programming" book. Which is fantastic, imo.

      --
      SN won't survive on lurkers alone. Write comments.
    • (Score: 3, Informative) by stretch611 on Sunday January 21 2018, @06:05PM

      by stretch611 (6199) on Sunday January 21 2018, @06:05PM (#625729)
      --
      Now with 5 covid vaccine shots/boosters altering my DNA :P
  • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @05:36PM (3 children)

    by Anonymous Coward on Sunday January 21 2018, @05:36PM (#625713)

    Do any books exist that are not about teaching programming? Also, is any job not a "tech job"? I'm seeing different answers, depending on whether I am online.

    • (Score: 4, Funny) by turgid on Sunday January 21 2018, @05:37PM (2 children)

      by turgid (4318) Subscriber Badge on Sunday January 21 2018, @05:37PM (#625716) Journal

      I once read a book about this bloke from Guildford who ends up in outerspace just as his house is being demolished.

      • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @05:47PM (1 child)

        by Anonymous Coward on Sunday January 21 2018, @05:47PM (#625723)

        Cool. It doesn't appear to teach programming. It doesn't appear to teach how to get interviewed as a programmer. Thanks!

  • (Score: -1, Troll) by Anonymous Coward on Sunday January 21 2018, @06:41PM (8 children)

    by Anonymous Coward on Sunday January 21 2018, @06:41PM (#625736)

    Whenever I search for any programming documentation, I find two kinds of results:

    [1] Actual documentation from actual reference manuals.
    [2] Idiots on Stack Overflow who ask stupid questions about shitty code and get stupid answers which ultimately link to the actual documentation.

    Now why the fuck would I ever want to wade through shit to find the same information I could find by simply reading the goddamned reference manuals in the first place?

    The sooner Stack Overflow ceases to exist, the better.

    • (Score: 3, Touché) by Anonymous Coward on Sunday January 21 2018, @06:53PM

      by Anonymous Coward on Sunday January 21 2018, @06:53PM (#625738)

      -site:stackoverflow.com

    • (Score: 5, Interesting) by tibman on Sunday January 21 2018, @07:35PM (1 child)

      by tibman (134) Subscriber Badge on Sunday January 21 2018, @07:35PM (#625753)

      A lot of "manuals" are terrible. Most of MSDN is terrible. W3C, PHP.net, and MDN are good for web technologies. If you are doing some microsoft stack stuff then you already know the official documentation is really bottom barrel trash. Older and more established languages have the benefit of a lot of time to distill developer knowledge into something readable. For those languages most people own dead-tree manuals that are a decade old and still "up to date" : P

      I like stack overflow for the really esoteric stuff. Edge cases and technology quirks are rarely documented. Saved my bacon a few times.

      --
      SN won't survive on lurkers alone. Write comments.
      • (Score: 4, Interesting) by bzipitidoo on Sunday January 21 2018, @08:58PM

        by bzipitidoo (4388) on Sunday January 21 2018, @08:58PM (#625799) Journal

        I find Stack Overflow useful. They have perhaps done too much SEO, drowning out other resources, but other than that, I like it.

        I agree that there are plenty of bad manuals. Lots of bad programming textbooks too. And, yeah, MSDN is one of the worst. Some of their "documentation" is totally content free sales points that were probably written by non-technical marketing drones. What is package X? X is a very powerful package that "sparks the imagination" and "increases your productivity" and "reduces errors"! It's Easy To Learn, and you will love it!

        I could use more cheat sheets. Upon coming back to a language I haven't used in a while, I need memory joggers. Also, could do with more examples showing how to use new features. Like, in C++, I'm still more familiar with string.h and stdio.h than Standard Template Library strings and iostream. I'd heard for years that stdio had better performance than iostream, so didn't bother much with the latter. Never knew, until recently, it was because the default is to make iostream backward compatible with stdio, and if that backward compatibility is disabled, then iostream's performance is on par with stdio.

    • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @08:07PM

      by Anonymous Coward on Sunday January 21 2018, @08:07PM (#625770)

      perhaps to encounter the brilliance of other people? never mind the current prejudice, which, if luck is with you, you'll survive. with less brain devoted to prejudice, there's more available to learn and discover. give that a try when you're not in the grip of some emo reaction!

    • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @08:46PM (2 children)

      by Anonymous Coward on Sunday January 21 2018, @08:46PM (#625794)

      I know. It allows commies and other poor people to educate themselves and to take away jobs from decent Americans.

      • (Score: 1) by Ethanol-fueled on Sunday January 21 2018, @10:48PM (1 child)

        by Ethanol-fueled (2792) on Sunday January 21 2018, @10:48PM (#625851) Homepage

        I know that you are being facetious, but the truth is that even with the connectivity of the internet and the relative low barrier of entry, people are still too lazy to learn on their own. Well, sometimes people can make it work for themselves, but unless you're the best of the best or have otherwise carved out a nice niche for yourself, larger corporations require a piece of paper. Even the cafeteria workers are H1-B employees nowadays.

        • (Score: 0) by Anonymous Coward on Monday January 22 2018, @11:09AM

          by Anonymous Coward on Monday January 22 2018, @11:09AM (#626026)

          I know that you are being facetious, but the truth is that even with the connectivity of the internet and the relative low barrier of entry, people are still too lazy to learn on their own.

          Much of this likely has to do with the propaganda that you can't do anything without schooling, and that you can only be an intellectual if you have a degree. Why would they put much stock into self-education if they barely believe it's possible?

          Lack of motivation is a big factor as well, but schooling isn't going to fix that; such people will always be mediocre, or even worse.

          people are still too lazy to learn on their own.

          Then those people won't ever learn anything, because learning is something you do yourself. A teacher can try to guide you in the right direction, but if you're not willing to learn, then it's all for nothing.

          These corporations requiring pieces of paper are going to pass up perfectly good autodidacts who don't have degrees and get uneducated trash who have degrees but can't even right FizzBuzz programs. So it goes. You don't have to be able to think in the long-term to get rich, despite the fallacious logic used by some.

    • (Score: 4, Insightful) by requerdanos on Sunday January 21 2018, @10:06PM

      by requerdanos (5997) on Sunday January 21 2018, @10:06PM (#625833) Journal

      Now why the fuck would I ever want to wade through shit to find the same information I could find by simply reading the goddamned reference manuals in the first place?

      Not sure the question isn't intended to be rhetorical, but here goes.

      Because often the information in a reference manual is just that: A reference for someone who already knows something, but wants to clear up points of syntax, usage, or whatever.

      The light, helpful material that you "Wade Through" is written on a level that is much more tutorial in nature, easier to grasp for someone who doesn't already intimately know something, and furthers knowledge.

      The difference is approximately comparable to a tutorial on a command vs. its man page: The tutorial is less complete and more comprehensible and useful, while the man page is densely more complete, and comprehensible, and frequently less useful.

      Sometimes you need the dense reference information. And sometimes you need the practical, useful information.

      Really, a friendly tutorial is something you "breeze" through. Dense reference materials are what you "wade" through.

  • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @08:34PM

    by Anonymous Coward on Sunday January 21 2018, @08:34PM (#625786)

    ...and download the books most of this info was originally copypasted from.

  • (Score: 3, Interesting) by requerdanos on Sunday January 21 2018, @09:57PM (10 children)

    by requerdanos (5997) on Sunday January 21 2018, @09:57PM (#625830) Journal

    content is written by the beautiful people at Stack Overflow

    That's been a really helpful resource, where the best (or at least better) answers rise to the top. When you see someone taking Stack Overflow or other free content and editing it into a book, website, etc., you have to wonder whether the quality of the editing is closer to stellar- or sewage-level (because either is possible, and everything in between).

    This... Notes for Professionals book is compiled from Stack
    Overflow Documentation, the content is written by the beautiful people at Stack
    Overflow. Text content is released under Creative Commons BY-SA, see credits at
    the end of this book whom contributed to the various chapters. Images may be
    copyright of their respective owners unless otherwise specified.

    Three sentences quoted from the books, yielding two comma splices* and "whom" shoehorned into a place where "who" belongs*, stilted wording aside. Average of one editing mistake per sentence.

    So, not stellar-level. If the above is an indication of the editing quality--and I hope it isn't--then the editing is about on the level of something you'd scrape off the bottom of your shoe while holding your nose and making a face.

    I have trouble sometimes trying to understand how someone with programming as a skill, who can tell you, for example, every nuance of difference between y=x++ and y=++x with disdain, but who can't even grasp, much less recite or follow simple rules of grammar.

    ------
    * Two sentences may be joined by a semicolon or a comma plus a conjunction and retain lexical sense. Two sentences can't be just stuck together with a comma because neither is a clause dependent upon the other. "Who" is subjective, while "whom" is objective. "Who contributed" is fine, "contributed by whom" is fine, but "whom contributed" is a syntax error. The rules aren't trivial, and are often dependent on sometimes arbitrary style choices, but being able to at least operate them is kind of a prerequisite to editing a book. Otherwise you've just edited some nice word salad, which can also be helpful, but don't go believing you're the editor of a book.

    • (Score: 0) by Anonymous Coward on Sunday January 21 2018, @10:30PM (8 children)

      by Anonymous Coward on Sunday January 21 2018, @10:30PM (#625842)

      I know a lot of programmers who are dyslexic. The areas of the brain responsible for programming are not necessarily the same as the ones that deal with spoken and written languages and their peculiarities. Grammar rules are often arbitrary and illogical.

      • (Score: 2) by requerdanos on Sunday January 21 2018, @10:41PM

        by requerdanos (5997) on Sunday January 21 2018, @10:41PM (#625849) Journal

        The areas of the brain responsible for programming are not necessarily the same

        No, of course not, but there's overlap between the disciplines with things like "what function does this reserved word serve" and "what style or syntax is needed here to convey the following instruction." This overlap is why, from assembler on up, programming languages are, almost without exception, metaphors for written communicative language.

        Grammar rules are often arbitrary and illogical.

        This statement describes programming languages in the same way as written ones.

        Programmers transitioning Perl <—> Php, for example, might notice such a thing.

      • (Score: 4, Insightful) by Ethanol-fueled on Sunday January 21 2018, @10:54PM (3 children)

        by Ethanol-fueled (2792) on Sunday January 21 2018, @10:54PM (#625853) Homepage

        I think you're full of shit. I've worked with a lot of dyslexic people. They understand language and rules just fine, maybe even better than you do, the worst you're gonna get from them is a pair of transposed numbers during manual data entry, whoop-de-goddamn do, you've never done that before?

        The real travesty is that they're treated like retards in grade school.

        • (Score: 3, Funny) by requerdanos on Sunday January 21 2018, @11:47PM (1 child)

          by requerdanos (5997) on Sunday January 21 2018, @11:47PM (#625880) Journal

          This is the second of your posts that I have been tempted to mod up--not down, up--today. You feeling okay?

          • (Score: 2) by VanessaE on Monday January 22 2018, @02:56AM

            by VanessaE (3396) <vanessa.e.dannenberg@gmail.com> on Monday January 22 2018, @02:56AM (#625929) Journal

            I don't get it.... no racial epithets, no minority references, genuinely insightful content. Gotta be the first time I've ever modded-up something E-F wrote.

            Are we in the mirror universe or something?

        • (Score: -1, Troll) by Anonymous Coward on Sunday January 21 2018, @11:58PM

          by Anonymous Coward on Sunday January 21 2018, @11:58PM (#625885)

          Hit a nerve huh?

      • (Score: 2) by requerdanos on Sunday January 21 2018, @11:52PM (2 children)

        by requerdanos (5997) on Sunday January 21 2018, @11:52PM (#625883) Journal

        In fact, "Two statements may be joined by a semicolon, but not a comma" literally applies equally to English and to programming contexts such as C, SQL, and PHP... It is also one of the most "not that hard" things that could possibly apply here.

        • (Score: 2, Informative) by jb on Monday January 22 2018, @02:31AM (1 child)

          by jb (338) on Monday January 22 2018, @02:31AM (#625921)

          In fact, "Two statements may be joined by a semicolon, but not a comma" literally applies equally to English and to programming contexts such as C, SQL, and PHP...

          Not quite. At least in C it is perfectly legal to join two statements with a comma. This is most commonly seen when initialising a loop, as in:

                  for (i = 0, j = 0; i < k - j; i++)
                      a[i] = foo(i, &j);

          • (Score: 1, Interesting) by Anonymous Coward on Monday January 22 2018, @02:46PM

            by Anonymous Coward on Monday January 22 2018, @02:46PM (#626077)

            At least in C it is perfectly legal to join two statements with a comma.

            No, it isn't. It is legal (in contexts where the comma isn't interpreted as argument separator) to join expressions with a comma, forming another expression. Now in C, a statement may (and often does) consist only of an expression, but not all statements are of that form. For example, the following is a valid sequence of two statements:

            a += b;
            if (a > 10) do_something();

            If it were legal to join statements with a comma, then the following would be legal code, too:

            a += b, if (a > 10) do_something();

            Your compiler will tell you otherwise.

    • (Score: 0) by Anonymous Coward on Monday January 22 2018, @07:29AM

      by Anonymous Coward on Monday January 22 2018, @07:29AM (#625981)

      who can tell you, for example, every nuance of difference between y=x++ and y=++x with disdain, but who can't even grasp, much less recite or follow simple rules of grammar.

      The problem is not with grammar. The problem is between the brain and the keyboard - fingers and eyes. How often do you type something and then after re-reading it you notice you typed something completely different simply because you corrected your sentence a few times?

      You can find the same problems even literature. There is a reason why editors exist and why proofreading is mandatory before submission.

  • (Score: 1, Insightful) by Anonymous Coward on Sunday January 21 2018, @11:18PM (2 children)

    by Anonymous Coward on Sunday January 21 2018, @11:18PM (#625867)

    Too bad they didn't publish these on Wikibooks.

    • (Score: 0) by Anonymous Coward on Monday January 22 2018, @01:18AM

      by Anonymous Coward on Monday January 22 2018, @01:18AM (#625904)

      They're available in 7zipped JSON as well: https://archive.org/details/documentation-dump.7z [archive.org]

    • (Score: 0) by Anonymous Coward on Monday January 22 2018, @08:23AM

      by Anonymous Coward on Monday January 22 2018, @08:23AM (#625993)

      And what format is that? Note that the CC BY-SA license allows you to change formats.

  • (Score: -1, Troll) by Anonymous Coward on Monday January 22 2018, @08:39AM (1 child)

    by Anonymous Coward on Monday January 22 2018, @08:39AM (#625997)

    I guess a lot of people will be printing these out and putting them in their coding guidelines in the section "what not to do". Every time Google is being useless and points me to stack overflow, the results are the same:

    Most of the answers are not related to the question.
    Most of the remaining posters answer the parts of the question the person who asks already said he knows about, but isn't interested in using. E.g. jquery answers to a CSS question.
    Usually a few answers that it cannot be done.

    Once in a while there is one person who both understood the question and had an solution to the problem. In this case there is always someone who comes in later and states that it cannot be done, even though the answer right above his contains the solution.

    • (Score: 2) by rob_on_earth on Monday January 22 2018, @10:59AM

      by rob_on_earth (5485) on Monday January 22 2018, @10:59AM (#626024) Homepage

      and you forgot the;
      Poster has added an answer "I fixed it" and left no details.
      and
      Poster has detailed their entire life story giving anyone all the information required to fix this issue but only has 23 views
      meanwhile another poster's question "It dont work" got 4096 views, has 18 answers, most asking for log files.

(1)