What Kind of Books do You Want?
ctrimble asks: "I'm the acquisitions editor for a technical publishing company (not the one with the animals, but we have had six of our books reviewed favourably, here on Slashdot) and part of my job is to determine what books my company should publish. This consists, mainly, of me sitting in my apartment eating peanut butter sandwiches, reading Slashdot,
and writing perl scripts that generate titles in a Madlibs type fashion: "Hacking Ruby for Midgets" (forthcoming in July). Unfortunately, there's a bit of an impedance mismatch between my methodology and filling the needs of the programming community. Market research is tough to do in tech books since you need to forcast about a year in advance. So, let me pose the question to you -- what kind of books do you want? What spots do you see as needing to be filled? For that matter, do you even want dead-tree books, or are eBooks and/or online documentation sufficient?"
Anything that's well written is better than anything that's not, no matter what languages they cover and what ones you're using. As long as you have a decent function reference for your language, the rest is all programming theory anyway.
Nope, no sig
For you comment on us wanting dead tree books, I vote yes. I like being able to make notes in the margins, highlight, etc., and taking a book places is usually easier than a laptop or pc.
On a side note, ancedotes are good. Most topics are usually pretty dry, so adding in a little humor can make the books more fun.
thanks
Sent from your iPad.
Programming KDE
Programming Gnome
Perl 6, it's not your father's Perl
Ruby, for exceptionally tall people
Linux kernel, line by line
Programming C#
Programming for Mono
AtheOS, line by line
Embedded systems in C
And so on and so on.
Dancin Santa
Moderators: That is a joke.
Sig (appended to the end of comments you post, 120 chars)
a nice Linux book which covers administering OpenLDAP would be great. and please, dead tree, dead tree. when the server is down, you need a dead tree to read. when the server is up, you don't need a book.
-rp
I would like something like a text book: 50 java problems. Each chapter a short problem that requires some java hacking to do, and then at the end each problem coded out. So you could hack through it and then read good reference code about a problem with which your are familiar.
I use java as an example, but I really would like it in all languages.
Personally, I rather like reading books on my Palm Pilot. It's much smaller, I can hold 5-10 books at a time, and I never lose my place.
I'd like a book on how to forecast the needs of the technology sector about a year in advance. ; )
Mr. Ska
I'm getting tired of having to choose between a $75 book with 1200 pages and a $70 book with 1150 pages. Whatever happened to concise text? Doesn't anyone at the publisher actually try to carry these monsters around any more? Let's get back to basics and not have any more of these 2 kilogram wonders with 18 faces on the cover....
A book on how to configure management would be useful. By "configure management", I mean:
-describe typical management structures
-explore how decisions are made
-attempt to aggregate and parametrize hierarchical processes, such that one can start referring to them by their "Pattern"-name shorthand.
-discuss what the managed can and cannot do to influence these decision-making structures.
Remain calm! All is well!
1. Teach yourself ANSI Common LISP in 24 hours.
2. The Complete Idiot's Guide to the Linux Kernel Internals.
3. Assembly language for Dummies
4. Giving yourself a Enterprise Java Enema.
And I know it's not easy. First off, Dead Tree is good. sometimes just a break for the eyes, sometimes just the security of knowing it won't go down.
What I want is the Linux Application Guide. Basically, a book that says "Here are the major Word Processors. These are the key features of each. We suggest you decide based on whether you need to do this, that or the other." Ditto browsers, Desktops, mail clients, DVD players, Instant Messaging, p2p.
Basically, I use Linux. I use KDE because I tried it and I like it. pine because I tried it and liked it. Ditto Konq, Kword, mplayer, and others. They may or may not be the best there is. They're just the first I tried that was good enough. So... help me pick my applications.
I know you don't write the books... but I've been waiting for that book, and haven't heard anything about it. I know there are problems -- time frame, distro, etc. Just try to make it distro-independent, maybe list easy distros for each app. Also, it would need a brief bit about configuration. I'm thinking two to three pages per app plus a couple screen shots. Order of five to ten apps in less than a dozen categories.
What *I* want are "pocket" ie small books with clear-cut examples of useable code. I switch between Perl, C, C++, Java, etc all the time, and it get frustrating when you forget a certain syntax or way of doing something. Either ONE book with lots of basic syntax examples, or many small books for each language!
I know LOTS of CS students who would buy them.
Moderation: Put your hand inside the puppet head!
Short, specific, inexpensive, and if it claims to teach me anything in 24 hours, 1 week, 1 month, or even in 10 easy steps I'm not going to buy it.
If it claims to be a "Bible". I'm not going to buy it.
If it has source code it had better come with a CD or a link to a well-designed and fast web site.
If it doesn't have source code, I'd rather save $5 and not get a CD instead of getting a CD with demo software that is already 6 monthes out-of-date by the time the book is published.
Also, any book that begins with a "history of the computer" introduction goes back on the shelf down at Borders.
Waltz, nymph, for quick jigs vex Bud.
called Teach Yourself Teaching Yourself In 21 Days In 21 Days
please, dear god, offer RING BOUND versions of your books! I really don't understand why this isn't a common thing, especially among technical references. Standard bindings do not hold up to the abuse that my books take, and are especially annoying if I am trying to work on a piece of code while keeping a reference book open at the same time. Ring bindings allow for books to lie flat on a desk, instead of flopping closed. To get the same effect from a normally bound book, you practically have to break the binding.
Just a thought. I'd probably own more books if they were just easier to use while doing actual work.
-[Blaine]- "'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a puff of logic."
I can just imagine what a doubly linked list would look like. I'm afraid. Very, very afraid.
I am an avid consumer of tech books. I buy about 1 a month or more, at $50+ a pop.
Whatever subject I am currently interested in gets my money. Lately it's been OpenGL and game programming (especially math). In the last 3 months I've purchased or recieved for X-mas (by request):
OpenGL Game Programming
Programming Linux Games
3D Math For Game Programmers
Physics For Game Programmers
Tk/TCL For Real Programmers
3D Game Engine Design
DNS and BIND
SSH (the O'Reilly one)
Game Programming Gems 2
and a few more.
So, what am I looking for?
It depends what I am interested in today. Right now I need a really good C++ STL reference book.
I also need a math primer. I haven't thought about math since my aborted attempt at college 12 years ago. While I did get an A in Calculus, that was 12 years ago and I remember nothing. The 3D Math book I mentioned above pretty much assumes you already know Calc.
It seems to me that there are alot of beginning programming books, especially about game design and C++, but few advanced books.
Also, there are few game AI books out there, but I see on Amazon that there are 2 promising titles to be released in the next few months.
One of my favorite programming books of all time is The Perl Cookbook. Now, I make my living programming Perl on Linux, and this book gets cracked open by me at least once a week. I've even seem comments in other people's code that said "If you don't understand this next bit, see the Cookbook page xxx". A Cookbook type thing for C++ would really be cool.
Alright. Lunchtime. Off to Fry's.
-geekd
The Java Cookbook sounds like what you are looking for. I own it and really enjoy it.
-- Solaris Central - http://w
I'm a Lisp programmer (Allegro CL mostly), so naturally I would like to see more books covering Lisp. I'd specifically like to see the following topics covered:
I'd really like to find more practical Lisp examples on bookstore shelves.
Oh, and before I hear "Lisp can't do that", here's a short list of Lisp success stories:
Essential C++ by Herb Sutter.
The comp.lang.c++.moderated newsgroup ran a series of problems from the moderately thoughtful to the downright fugly, entitled "Guru of the Week" and contributed to by the best of the online C++ community. About 50 of the GotW article were then pulled into a book and published.
For C++ in general, get everything (right now, about 8 books) from the new "C++ In-Depth" series. Stroustrup is the series editor; Essential is one of the titles. The idea behind the series is to get away from the massive 1200-page MFC tomes meant solely to generate revenue for the publisher; all books in the In-Depth series must be less than 300 pages long (main body). Short, clear, and to the point.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I think that paper books are the way to go. Screen real-estate is always at a premium, especially when programming. And no one would want to clutter that with yet-another-window.
With that said, it's also useful to make the content available online if possible, as an abridged reference if nothing else. It's really handy for when you don't have the book handy and just want to look up "hey, how did they do that trick again?"
As for subjects I'd like to see? I prefer books that don't neccesarily focus on a single library (everything you ever needed to know about gtk!). While useful as reference manuals, the same thing is generally online. Focus instead on using some combination of libraries to come up with a useful working environment for whatever it is you're aiming for, be that quick apps, huge apps, games, or what have you.
Random and weird software I've written.
Personally I'd like to have hemp paper books. Hemp paper is of exceptional quality and a tonne of hemp will make much more paper then a tonne of dead trees.
That and I'd love to see some idiot try to smoke a book.
Personally, I would really like to see a J2EE book that isn't written like a doctoral thesis nor like a primer for manager's who don't code. The ideal J2EE book would have install guides for setting up Tomcat, Jboss and Postgresql. These are tools anyone can freely obtain and use. The books I've seen thus far have left me dizzy, not entirely sure how to apply the knowledge, and I've been programming in Java for over 7 years. Go figure?
-- Solaris Central - http://w
- No color pages unless they are absolutely, unquestionably necessary
- No CD-ROMs full of code when a Web site would do the job better
If I must spend oodles of money on a computer-programming book, I'd prefer it be the smallest quantity of oodles possible.
- No power source needed.
- Less fragile.
- Less chance of data loss through accident or negligence.
- Losing one physical book denies access to that book; losing your eBook reader denies access to all eBooks.
- They smell nice.
- They look pretty lining bookshelves.
Disadvantages?Maybe it's just me, but my biggest complaint is most computer books out there are concentrating on how to use the newest coolest language instead of the underlying principles. I'd rather have pseudo-code cover how to pattern a peer-to-peer network, an mp3 codec, a nearest word match spell checker, a regular expression engine, or a typical Civ-like AI. These days I hunger for books to explain how the hell Divx works without trudging me with specifics like how to fashion an if statement in Java or an STL in C++. I want material with reasonable amounts of math and code snippets, not a rehashed programming lesson.
One of these days I'll write that encyclopedia.
-- Making computers see, hear, and think... http://www.componica.com/
I would love to see a book on practical Content Management. Maybe covering the ZOPE CMF, but also looking at the issues invloved, workflow, edititing models, etc etc.
Maybe looking at some of the more established systems (Story server, Spectra), but also looking at Jakarta, Tomcat, Velocity, Jetspeed and Turbine.
I'm up to my ears with books detailing how to write in a specific language. Structure and syntax is easy.. you learn how to use an if statement in one language, you know how they work in all languages. API's are about the same, references documenting joe random library are a dime a dozen.
My problem whenever I involve myself with coding something is getting knowledge about all the other vital pieces to programming, various algorithms, methods of structuring a program, stuff like that.
See, for those kids who managed to push themselves through college all think this is easy stuff.. linked lists, random numbers, event based programming, hashing, and so on (have a firm grasp of these concepts, just using them as examples). That's what they paid to go to school for. But for the rest of us who're trying to cut a living and can't easily do the school thing anymore, a "teach yourself" book or books educating the more abstract parts of programming would be a major help.
Some of this is documented, slightly, on the web or in existing open sourced projects. But most of it reads like class notes at best, and I have yet to find good books that go over these sorts of things. The information is there, but it's not presented in a manner that's easy to absorb.
As an example, oreilly did a book a while back called 'Practical Programming in C'. That was a step in the right direction. It was an easy read, but taught a lot of really useful C concepts that most people take for granted. As far as it went, it was immensely valuable to me both as a reference and a tutor.
Basically, there's a niche between API references and language syntax books that seems horribly unfilled. I'd buy books immediatley if they seemed to fall in that category.
I would like to see an entire book based on "Cool Things with X"
Most of what I've seen written about X is a short overview in a "Learning Linux" book or 7 volume programming manuals. There doesn't seem to be anything in between. The book should explain, in detail, the X config files, the startup files, stuff to do with the client and server. Maybe touch on window managers.
Answer questions such as "Can I just run one X server on my network instead of on every host to save disk space?" or "Can I display a window running on one host on another host?".
_.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._
ASCII art?? I thought it was a REGULAR expression
I think it's safe to say that we don't want (or need) any more "How to Be An Unleashed Dummy In 21 Days" books.
Rather than Yet Another Computer Book that simply cats the "--help" into a book, I'd like to see a revolution in the computer book template. Oh, sure, a book that explains what each and every function in PHP does is helpful, but I can get that online.
How about a case study book? A series of case study books?
I'd like to see a section in every book titled, "These things will likely shaft you".
Fictionalize a manual. The Adventures of Nerd Man. (okay, this one is reachy)
Best yet, I'd like to read a book that doesn't have this damn phrase in it: "... but that is beyond the scope of this book..." Usually, that's the part that I'm stuck on.
You can probably get a thousand concepts from just reading HOWTOs and grepping for that phrase. Those are the parts where the medium-level people (most of the population) are stuck.
Potato chips are a by-yourself food.
O'Reilly books are so loved. They're concise. Although the Python Libraries book is a monster. May be their thickest ever.
Best Slashdot Co
Dead Tree books. Possibly in smaller volumes, at reasonable prices. I'm getting annoyed at having to shell out $50 for a book every week, for a huge linux bible sized book. I want smaller books in tighter topics. One of the reasons I've always liked the animal covers; they're small, to the topic, and inexpensive.
I'd also like to see more in the way of method books, rather than subject books. ie, something that teaches how to program rather than how to program in a specific language. possibly case books, that show how to get around certain problems. I'd like to see books less revolved around programs, and more to the topic of methods and strategies. It might not require a person to buy a new $50 book every week for every different program, but it will make a better book.
Meh
Ebooks suck, I do not like them, especially when I'm working on a downed server and have 4 Terminal.app's open, and I have to find a spot for Acrobat to fit.
I'd like to see:
- More books with the flexible bindings (ala Oreilly). Books that don't lay flat suck.
- More "Cookbook" style books, as long as they are truly thorough and diverse (see Perl Cookbook for a good example).
Essentially, system engineers like to see short code snippets of how to accomplish odd tasks in a quick, easy manner. Again, when stuff's broken, or data needs to be pulled pronto, I'm not going to wade through man pages, etc.
- I don't favor the Nutshell style books, they're usually poorly organized and don't comprise enough of the "right" information.
- More quality assurance. Too many books these days are rushed out to market way too quickly. I'd rather buy a book that's good quality, rather than "quickest out". Most of us customers read Amazon.com reviews to get an idea of what books to buy on a particular subject. Keep that in mind.
- Topics I'd like to see? more advanced-level BSD stuff, more kernel hacking stuff, LDAP, you can never have too many Perl books. Think about stuff your target audience would love to see. Oreilly is great for doing this, see: "CGI Programming with Perl", "Perl for System Administration", etc
Sybex already has a book that covers Linux written for Win Admins. It's 'Linux for Windows NT/2000 Administrators', ISBN 0-7821-2730-4.
It's very well reviewed at Amazon.
-C
I would like to go a little further in clarifying this request. KDE3, QT3, and the most relevant versions of gnome from a C/C++ perspective.
I like to see books with a lot of meat and less fluff. There needs to be more books with good examples, and not just books where the examples are taken from the online text. I want the code examples to demostrate the concept(s) being learned. I am sick of reading a book only to learn the program examples to demonstrate the concept(s) were taken from online text provided with the code and/or libraries. These examples tend to be out of date and/or very simple examples that a monkey could figure out.
Another topic would be ODBC 3.x on Unix platforms. I have a general book on ODBC, but it isn't a good resource for programming ODBC on Unix platforms.
At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
How about a book going the other way? I usually try to stay far, far away from Windows admin tasks, but the generally low quality of Windows admins means that I'm often left on my own since the problems I'm solving rarely fit into the point-and-click world they live in.
/etc/init.d, but what's the details?
There are books that attempt to explain simple Linux tasks to Windows users, but don't seem to be any books that discuss advanced Windows topics to Linux/Unix users. E.g., I know that the "system tray" is similar to our
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
Let me explain what I mean. I'd love to see a book on 3D game programming they way it ought to be done--by talented, dedicated, game developers at actual game development companies, not hacks who've been doing it for a while in the basement who believe they have enough skills to write a book on it.
Tradeoffs, design choices, speed enhancements, math optimizations, etc., that sort of thing. A book where the writer sits in with a game development team on a project and shows the code along with the thought process behind the code itself. Giving formulas for physics equations is great, but showing how developers in the real world use them and how they use them to animate their objects would be even better.
Karma: Excellent Birds (mostly as a result of listening to Laurie Anderson)
GCC Internals: How it works/How to modify it. - Have you ever looked at this heaping mess of code? I would love to play around with it, but the learning curve is too high to just jump in.
Linux/Unix Lowlevel Programming: Ok there are bunchs of crappy assembly programming books out there... by chapter 12 they have covered what a register is. I don't want the most basic stuff I wanna know exactly how the linker works, I wanna know how stack frames are setup. How ELF binaries are loaded. What assembly code is needed to bind it all together. Sure I can piece most of it together from web sites, the kernel and other sites, but it is hard to put it all together.
Programming KDE 3: QT and KDE are awsome, I do a little bit of development with QT/KDE now, but there is just some documentation that cannot be found...
Architectures of Popular Linux Apps: A book that does an overview of the architectures behind popular linux applications, with a little bit of discussion about thier architecture and implementation, maybe mixed with a little theroy. For instance an chapter on apache, X11, SSH, postfix, php, konqueror, mozilla... This would be really good at helping linux developers dive into existing projects. You could even solicit open-source authors to provide an overview of thier project architecture and ask them to discuss how what thier biggest challenges where, why the did so and so.. This could really boost participation in certain projects.
Using GNU Development Tools: A book that details how to use GDB, gprof, gcov, ld, ar, and etc. effectively with all the options and do-dads. Maybe cover other tools like DDD, Electric Fence, etc.
Oh yeah! These need to be in paper form! Screw electronic form, it sucks to read.
celer
Until my company switched to Linux/Apache for our web and application server needs, I was forced to run Win2k/IIS.
While it runs just fine and dandy, quite a bit of the documentation is geared toward users running Linux/Apache/MySQL
It was a very pleasant experience to see, down below the 'approved' text, a series of users who had already solved problems of how to get PHP to talk to MS SQL over ODBC, which dll's you needed, how to edit your php.ini so that it works *just* right, etc...
Shared user annotation is a very wonderful thing for technical manuals of any kind. All online resources should at least consider doing things like PHP.Net has done.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
Hear! Hear! Paper is:
Electronic formats are okay when you need to provide documentation to a whole bunch of people but most people I know still like having a paper copy and cite the reasons above as why.
CUR ALLOC 20195.....5804M
I'd very much like to see...
Unix Hackers Guide to Mac OS X
Written for the experienced Unix user who is unfamiliar with the mac life. Various topics might include things like:
- How the Aqua configuration dialogs interface with basic system configuration files.
- Where configuration information is stored.
- Where to find mounted volumes in the filesystem.
- Command line alternatives to GUI-level actions (specifically configuration type things, not just file manipulation)
- use of the 'defaults' command
- enabling the root account
- "Where is gcc/cc?!"
- How network interfaces are managed (including how this interracts with the 'Locations' dialog and autoconfigure functions. What process mantains this? (i'm still looking for an answer to this one))
- Modifying bootup scripts in a 'safe' way that will survive an OS update.
There are countless other possible topics. Basically everything the experienced unix hacker needs to know in order to quickly become comfortable with Mac OS X.
-acet
I think that the Histroy of computing is one of the coolest subjects out there. I wish that more books would be written on the history of computing, and the history of different fields of computing because it really is so facinating. The more technical the better, because it is interesting the techniques that are laughable and the techniques that we still use.
Books on genuises are cool. I did an essay once, and it was facinating. The public thinks that genuises are born with some 'gift' (thanks Good Will Hunting, thanks A Beautiful Mind). The truth is that most genuises have a very interesting history of focus, drive, and luck. I would love to spend a few hours reading about Bill Joy, what an ass kicker.
This Wiki Feeds You TV and Anime - vidwiki.org
Think Like a Programmer: Wrapping your mind around code and other computer conundrums
This book teaches a non-programmer with no experience what sorts of questions to think in terms of when trying to write software. It shows how to think of things in a modular, abstracted way. It also shows how to make simple data structures. I am imagine it as a companion to a nutshell book for a intro CS course or a person trying to learn on their own.
Concise Sexy C
A book that impresses tons of C idioms that make code smaller, simpler to read, self-documenting, and usually faster. From ugly to elegant. Gives good questions to ask yourself to pare down code to a more simple, elegant form.
Developing Beauty-Sense
How to gain the experiences necessary in a craft to tell what's "beautiful" in that sphere of creation. How to watch a pratictioner of the field to tell what is beautiful in your design and what is an ugly hack. That is the stage where you know that you really have a skill down to the point where you are respectable, or at least on the road to being so. This book could be on a paticular skill, or general. Either way I would kill for it.
Coding Standards: The Good, The Bad, The Ugly
Have you ever spent days going through "updating code documention" after a project because there was too much to change while you went along? Have you ever just plain ignored the standard becuase it didn't tell anyone anything important? Have you ever seen standards where there were often 3 times as many MANDATED boilerplate lines of comments above functions as there were lines of code in the function? Have you ever seen standards for Java and C++ written by C programmers with no understanding of OO principles? This book is for you. It goes over what adds to programmer productivity and what takes away. It shows how to write tools to make documentation of functions and classes painless. It shows how to use existing tools like "indent" to also help documentation efforts. There are special sections near the end that have full bodied examples of good, bad and ugly coding standards from the real world. In these sections there is commentary about why these standards are bad or good, and what goals they are trying to accomplish. Bomus material on explaining the implications of a coding standard to your boss.
Want to see every step I took to start my company? http://www.rowdylabs.com/blogs/pitchtothegods
The 1500 page reference tome is fine. I don't carry those around, they sit on my shelf and look pretty. However, I only buy those that include an e-book version so I can use it on laptop (copied to hard drive, not carry around the cdrom); it's much easier to do a search for something in the e-book than to dig through the tome.
As for "learning" books, if it has to be 1200 pages, I'd rather it was broken up into smaller books in a boxed set. That way I only have to carry around a 1lb book instead of a 8lb one.
You don't need to include pictures of everything- we're smart enough that if we're not at a computer and we can't picture it in our heads, we'll come back to it when we are near a computer.
And those "HINTS", "SECRETS", "WARNINGS"- yeah, yeah, they're important, but we're not idiots- you don't need to waste so much space with fancy borders and colors and icons so it attracts our attention.
-- If god wanted me to have a sig, he'd have given me a sense of humor.
Debian's got a lot of (nifty) quirks, few of which are well-documented. Many tasks are automated by Debian-specific tools; but good luck discovering those tools on your own. Many configuration files have been modularized or otherwise tweaked as compared to their Red Hat counterparts. It would be nice to have a system admin book that focused on the Debian Way of doing things.
--
CPAN rules. - Guido van Rossum
I'm talking about a book that takes you through the fundamentals of running a huge software project. Reasonable examples on how to use autoconf and automake. Descriptions of how to set up a CVS repository. How to get the most of out the gcc compiler. How to handle templates. There are plenty of books on how to program, and plenty on high level software management, but very few on using modern gnu tools to get the job done. That is what I want to see.
The middle mind speaks!
SELECT first_name,phone_number FROM women WHERE easy='very' AND looks='good'
---If you can't trust a nerd, who can you trust?
I agree with this 100%. I realize that the price of the book will probably rise an extra 5-10% for this feature, but the ability to lay a book flat as you're typing/eating/making love to your (very) understanding wife is a huge feature in technical books.
52 Weeks, 52 Religions with John Hummel
I'd like to see a book about using OCaml, or Lisp, or Scheme, or some other functional language with a free implementation, to address real-world programming problems. (OCaml would be nice; it's widely recognized as a great language, but there's no English-language text.)
While the audience may be limited, I think there's a screaming need for such a book within that audience; almost all existing FP texts are way off in theory-land, and most predate the huge boom of the web, which is a natural environment for functional languages.
An added benefit for a publisher is that this particular technology landscape changes slowly, so the book will have a long shelf life, and is at no risk of being obsolete before it's released.
What I'd like is a series of books about computer languages that do not try to teach me programming and do not assume I am a moron. Oh yes, and are not bulky references to every single function call possible.
When I pick a new language (especially if it's just YAPL -- Yet Another Procedural Language -- of the C/C++/Perl/Java/etc. variety) I don't want to wade through pages and pages explaing basics of syntax -- I can pick it up quicky on my own. I also don't want to have if..then..else construct explained to me for the nth time, unless there is something fancy about it.
What I want is a conscise explanation of the mode of thinking that the language was designed to go with. I want to know which idioms people who write in that language use, and why *this* way of doing things is cooler/neater/a win. I want to get a feel for the language.
For example, in Perl the camel book, besides reference stuff, provides a lot of advice and examples of Ways Things Are Usually Done In Perl, along with explanations or at least hints why this is generally accepted to be The Right Thing. The camel book (and writings by Larry Wall in general) provide a wonderful feel for the flavor of Perl and why it's not just interpreted C with a loose syntax (we'll leave the fine distinction between Perl and line noise for another time).
I've been looking for a similar book about Java with utter lack of success. Either it's introduction to programming for novices, or a libraries' reference guide. The closest I've found was a book by Bruce Eckel -- Thinking in Java, I think it was called -- but even that wasn't all that good.
Lisp people understand perfectly that thinking while coding in Lisp is radically different from thinking while coding in C/C++/etc. I want these differences in thinking, in flavor, in idiom, to be shown to me for many different languages, starting from Java and Python and Eiffel, and ending with Haskell and Oberon and Intercal.
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
What I would have called the company up to say if it hadn't been based in Taiwan: Hello? I DON'T HAVE A DAMN COMPUTER! HOW THE HELL AM I SUPPOSED TO READ THIS MANUAL?!?
It's just a good thing that I had no trouble whatsoever installing the board. (It was a Shuttle 555A, still going after 5 or 6 years. It's now my wife's, who uses it for nothing but word processing and websurfing.)
And the brethren went away edified.
I swear, the technical publishing community must assume that programmers were born with C++ knowledge, because every book in creation assumes that one has that.
Two decades ago, computer user and programmer were pretty much synonmous. But today, things are different. Believe it or not, there are a lot newbies that are just now getting interested in software development after being computer users for quite a while. Looking for a book on Java programming that assumes no programming experience? You can probably find it, but it's not exactly easy.
Want a book to learn Mac OS X Cocoa programming? You better hope you have C++ or Java experience, otherwise you're simply out of luck. There are no entry-level Cocoa books. Same for WebObjects. Developers themselves aren't at all concerned about this, of course. They expect everyone to follow the same path they did.
Believe it or not, a lot of people do not want to read a *full* book before even cracking the book actually pertains to Mac OS X development. Additionally, not everyone is interested in become career software developers. They may just want to try it out as a hobby first. I hear from all sorts of people that just got Mac OS X and want to learn how to use those free development tools that Apple provides. There's no well-suited path for that. Why should you have to learn all sorts of general C theory when all you want to do is learn the stuff that pertains to Mac OS X development? This turns potential developers off, which is sad.
The Visual QuickStart series by Peachpit Press is the only series that I have seen that is consistently good at addressing this problem. As far as I can tell, the series is rapidly expanding.
Here's a crazy idea: how about a book that teaches you Java or C with the intention of writing Mac OS X apps? How about a Java servlet book that doesn't assume you're transitioning from C++? How about making this books readible and more practical than theory-oriented?
Lower the barrier to entry.
- Scott
Scott Stevenson
Tree House Ideas