22 ms·
Effective C: An Introduction to Professional C Programming
- dvfjsdhgfv 7y agoI'm sorry, $60? I'm all in favor of fair remuneration for an excellent piece of work, but this is really too much. $30 would be much more fair. (And it doesn't matter if it's a physical book or e-book, the cost of printing nowadays is ca. $1 for each 100 pages.)
- paedubucher 7y agoMaybe the others here in the forum can tell me, why I should risk buying the pre-order (30% off), when I have no chance of reading a sample chapter yet. (I'm actually thinking of doing this, because I'm looking for a good second book on C after having worked through K&R before.) When I see that Brian W. Kernighan releases a book, it's an instant buy for me.
- paedubucher 7y agoNah, fuqit, I'll just buy it ;-) NoStarch never let me down so far, and paying USD 60 (or 40, or whatever) is such a marginal difference for a book you're going to spends dozens of hours on.
- clarry 7y ago> for a book you're going to spends dozens of hours on. Is that a feature? I'm constantly frustrated by books that use many words to say little. Wasting hours on such books tends to be negative value, and I shouldn't buy them even for two cents..
- catilac 7y agoI have the same frustration, though in this case I think given the author's expertise I imagine all the words actually contain much wisdom. Hopefully!
- dvfjsdhgfv 7y agoThis is an interesting issue. I remember when I started studying discrete math, I actually bought two books. One was by Ross, and it's the one I prefer, but at places it was a bit terse. So when I had trouble understanding something right away, I looked at the same subject in Susanna Epp's book and usually I could find a relevant explanation or example straight away, but in the long term I couldn't stand this verbose style. (By the way, both books cost $80, but you can buy used copies at 1/10.)
- paedubucher 7y agoWorking through a technical book of any substance, as opposed to just reading or skimming it, will take dozens of hours, no matter how terse or verbose the style is. The book is supposed to be around 270 pages, so verbosity probably won't be an issue. I am right now working through "Python Crash Course" as an intermediate Python programmer. I very quickly read through chapters 1-8 so far and did all the exercises (rather simple ones), just to make sure that I'm not missing out anything on the basics. In the last couple of chapters, I actually picked up two or three pieces of knowledge I wasn't aware of. I spent around five to ten hours on this so far. This approach sounds terribly inefficient. However, working through a beginner's book as an intermediate Python programmer, and only getting half a dozen of really new information out of it, gives me the confidence I need at this stage. So I don't consider it as a waste, but rather as an exercise in patience and repetition. Why am I telling you all this? Because I think people overrate the monetary costs of books.
- clarry 7y agoI kind of agree with your point, with the caveat that I just don't want to spend much money if I'm not getting much out of it. I'd happily buy a book for 200 eur if I knew it's going to be worth my time. In the recent years, I've mostly regretted the time I spent on books. Life is short, free time is scarce, and there are so many other things I could be doing. In this case, I'm definitely curious about the book and would like to skim through it just to satisfy that curiosity, but I have my doubts as to whether I'll get much out of it (I've been writing C for 15 years and I do it professionally). Maybe there are gems of wisdom (or things I've overlooked) in it that would make it worthwhile, but it's possible I'd just regret the time and money spent :-(
- rcseacord 7y agoThis book has a very concise writing style. I really wanted to keep it small enough to carry on an airplane (when we are allowed to fly again). I'm really proud of the final product and very happy with the editing staff at No Starch who helped me produce a very polished product.
- paedubucher 7y agoThanks for the insight! I really appreciate when the authors interact with the community. Many books nowadays, also from NoStarch, are released as early access books. Your book does not run under the early access program, or at least not yet. Is this a decision made by you as an author? Or is the kind of book not really suited for early access? I could imagine that introductory books work well as early access books; readers could work through the first couple of chapters, while later chapters are still being written or refined. Just curious...
- rcseacord 7y agoNo, I usually defer decisions concerning the marketing and availability of the book to the publisher. I try to stick to the areas where I'm actually a knowledgeable expert.
- billpollock 7y agoWe're getting caught up on our Early Access titles. Our staff is very particular about what they release and they don't like to put chapters in until they feel like they're really final. Given the current world situation I'm making sure that we relax that policy a bit and you'll see more books moving into Early Access in the next 2 or 3 weeks. Just a little hectic around my company at the moment.
- paedubucher 7y agoMy intention was really not putting pressure on the publisher as a buyer of this book. I rather wonder why certain books have an early access option and others don't. I probably won't be able to read it before July, anyway, because I have to finish my bachelor's degree first. But I think it's not a bad time for a financial contribution to my favorite tech book publisher, so I already bought the book "blindly".
- wmwragg 7y agoI've recommended this on here before, but I’ve found "Understanding and Using C Pointers" by Richard Reese, a really wonderful modern book on C.
- throwaway17_17 7y agoIt is a risk to by the preorder sight unseen. If you are not familiar with author and his style you could end up feeling like you wasted that money. So until a preview chapter or similar is available I’ll through this link to Modern C, 2nd Ed by Gustedt. It has been well received and I thought Jens writing style was solid. I don’t know if it is the perfect second book to read on C, but it seems well paced and things are well explained. https://modernc.gforge.inria.fr/ https://modernc.gforge.inria.fr/
- rcseacord 7y agoI'm checking with No Starch if we have plans to release a sample chapter of this book. There is a list of previous articles I've written including sample chapters from my previous books on Secure Codign in C and C++ and the CERT C Coding Standard here https://www.informit.com/authors/bio/3312572e-d904-45d5-afcd-389361c0f5af https://www.informit.com/authors/bio/3312572e-d904-45d5-afcd... Here is a newer article on Uninitialized Reads published by ACM https://queue.acm.org/detail.cfm?id=3041020 https://queue.acm.org/detail.cfm?id=3041020 Jens and I are both on the C Standards committee. I would definitely say that our books serve different markets.
- throwaway17_17 7y agoI have your book on Secure Coding and I have the latest version of Jens’ book as well. I like both your style and his, in terms of writing style and presentation. If you think there is going to be a large difference in applicability and focus when comparing your ‘Effect C’ and Jens’ ‘Modern C’ I am kind of excited, not just to get your book, but also that even though some people would like to see C be relegated to the trash bin there is still some life left in a language I enjoy using.
- ponow 7y agoIt's as fair that you can refuse to pay $60 as it is for the author to ask for it. It strikes me that most people who would pay $30 would also be willing pay $60 in this instance, as it's not as if many new C books are coming out nowadays. So I'm guessing that the author will do better at $60. Medieval notions of profit and the physical costs are mostly irrelevant, but the effort and expertise of the author are not.
- tzjmetron 7y agoIt's not about the absolute cost. $60 in a developing country is a substantial sum of money.
- jfkebwjsbx 7y agoSo? Should we price everything according to developing countries? Then only those living there could produce things.
- petee 7y agoFor 272 pages written by probably the best person to be writing modern C books, from a small publisher who is known for quality books, sixty dollars doesn't sound unreasonable at all
- ghostpepper 7y agoNot to be rude to the author but what makes him the best person to be writing modern C books?
- rcseacord 7y agoSo it's hard to say that I'm the best person to write a modern C book. A slightly lower bar might be, am I the best person who has actually written a modern C Book? Resume-wise, I've been writing C code since 1985, and I've been an expert on the C Standards Committee (WG14) since 2004. I've written two prior books on C Programming including "Secure Coding in C and C++" and "The CERT C Coding Standard". I also teach Secure Coding in C for NCC Group https://www.nccgroup.trust/us/our-services/cyber-security/security-training/secure-coding/ https://www.nccgroup.trust/us/our-services/cyber-security/se... and I also taught these topics to Computer Science undergraduates and graduate students at CMU for over a decade. So I think I have a good balance of technical skills and communications skills, but you know, pick up a copy and judge for yourself.
- nrclark 7y agoIf I buy a copy of your book, will you abuse your position to get constexpr into C? It would be a big improvement over complex macro magic. I'll buy an extra copy if you can get 'defer' in there too! Those two features would really be the bee's knees :)
- rhexs 7y agoIf you're looking for a low-level performance targeted language where anyone can add anything whatsoever, I've got great news! C++ already exists!
- tzjmetron 7y agoYes, sadly unaffordable for people in developing countries such as myself.
- cjg_ 7y agoGet the ebook for $47 with a ebook 30% discount on their site? $33.
- billpollock 7y agoUse the coupon code PREORDER (posted on the book's page) and you get the print book + all DRM-free ebooks for US $42 (plus shipping costs)
- agumonkey 7y agoauthor had a few other books on secure programming maybe older books are cheaper
- bla3 7y agoIn case you're interested in the book but can't afford it: it's off 30% until Apr 1 with THANKU30, see their main page.
- beezle 7y agoI have a 295 page book in production. The print cost for paper bound is $5.46 for case laminate $10.02. Contrary to what you may think, print costs are not going to limit $0. Quite the other way, they have risen over the past seven years from $4.72 and $9.82 (roughly inflation for the paper bound).
- kevin_thibedeau 7y ago2x in seven years is not inflation. This is what has annoyed me about pulp paperback fiction. They skyrocketed from $5 to $15 in 15 years. Then you can buy the eBook for $12 and feel like you're getting a "deal" on a product with near zero production costs.
- deleted 7y ago[deleted]
- billpollock 7y agoWhen you buy print books from us you get the DRM-free ebooks too. Amazon may ultimately discount this from the list price as they usually do but they are currently deprioritizing books due to the pandemic.
- matvore 7y agoIs it possible you don't need the book as much as the book's target audience, and that's why it seems overpriced?
- readme 7y agoI agree, that book can be replaced by reading the classic K&R2 and reading the C standard, you can get your tips/tricks by reading stack overflow posts, and man pages for your API reference. It's a luxury item. For comparison K&R2 sells for $51.99 new on amazon. I think a fair price would be $49.99.
- yayana 7y agoIt's nice to see a good quality effort on a modern C book. Looking at the current language/job markets outside the center, I feel like we are hitting the same problems as in open source. People add C++ to every C job to have something with the same level of innovations going on as new languages, even if it is about Linux embedded and you wouldn't let a C++ construct near the system.
- jcelerier 7y ago> even if it is about Linux embedded and you wouldn't let a C++ construct near the system. I guess all these AVR, STM32 and ESP2866 devices running C++ are to be discarded too ?
- yayana 7y agoYes, and given that an Intel PC is a valid build target for almost every language and we pay were paying by the word in job classifieds, we almost went broke before we realized we had to throw them out too. But after initial turbulence, life has gotten much simpler (and dare I say quiet) for our HR since we moved to using the stock job profiles shipped with the platforms we buy.
- pjmlp 7y agoThankfully there is also Arduino, ESP32, mbed, AUTOSAR and plenty of other embedded places where Linux and C aren't that relevant.
- nottorp 7y agoWhat's with that captcha? Tried twice, couldn't solve it. If you're trying to sell something, make it easy to get my money.
- bogomipz 7y agoCould someone who purchased the early release say how any chapters are currently available? Usually Nostarch bolds the the currently available chapters in the table of contents and this looks like all of them.
- billpollock 7y agoThis book is just about to go to the printer. The book business has been turned upside down by COVID-19. We still offer free ebooks with print books purchased directly from our site but we don't know when we'll be able to ship to our customers directly again. We'll also be pushing out a promotional offer on this book, likely this coming week so you may want to wait for that. Just trying to keep things on track now that our company is completely remote and physical book stores are closing left and right.
- bogomipz 7y agoHi, thanks for the follow up. So all of the content listed in the table of content is currently available in the ebook then? I ask because there's 3 or 4 titles on your "coming soon" page that I'm very interested in but I have limited funds for a purchase. Cheers.
- billpollock 7y agoThe book is in its final stages. We're just making final corrections. I'm chatting with Robert about whether there's a chapter that he's comfortable releasing now. If not we should have something Monday or Tuesday and the entire book within a week or so. I need to confirm on Monday. The 30% off coupon listed on the books page is good on the print purchase, which also includes all the ebooks.
- billpollock 7y agoLooks like Monday for a sample chapter.
- sigzero 7y ago
- sramsay 7y agoWhat is going on with the sudden profusion of books on C? 21st century C, Modern C, Understanding and Using C Pointers? Okay, I realize "profusion" might seem a bit overblown, but honestly, in C world (and in comparison to other languages), this is practically a publishing boom. Not that I'm complaining; C was my first programming language (back some time in the mid-90s), and it's still my favorite. But I wonder why we're suddenly getting new books on it? The language itself hasn't undergone any substantial changes recently, and if anything, "memory safety" is all the rage -- a thing that C most assuredly is not.
- ThrowawayR2 7y agoMy guess would be the increasing interest in IoT and mobile non-phone devices.
- Koshkin 7y agoUndergone any changes or not, taking advantage of a market opportunity never gets old.
- matvore 7y agoIt may be because some people are starting to feel modern languages are bloated.
- bluetomcat 7y agoMastering C and systems programming on Unix-like systems might be the best long-term career effort, since the field is not moving as fast as other technology stacks and old knowledge is still valuable knowledge. C jobs might not be the most widespread, but once you land one, it is highly-likely that it would be a stable one and you wouldn't be easily replaced by koolaid-drinking youngsters.
- rramadass 7y agoExactly! To be blunt, knowledge of C gives you "programming cachet" like no other language.
- montalbano 7y agoCan any more experienced C developers give an opinion on the author/contents of this book? I'm a Python/Julia developer starting to learn C. I have K&R already, and Test Driven Development for Embedded C (Grenning). I did order 'Modern C' by Gustedt but the publisher never delivered to Waterstones so they had to cancel the order (about 6 months ago, book still unavailable from Waterstones as of today).
- throwaway17_17 7y agoGustedt’s book is distributes by the author for free as a pdf if you are having trouble getting your print copy the digital version could hold you over. https://modernc.gforge.inria.fr/ https://modernc.gforge.inria.fr/
- montalbano 7y agoThanks yes I have the ebook I just prefer paper and wanted to give the author a financial contribution also. I should have mentioned that.
- as-j 7y agoLooking over the contents, it seems expensive for what you get and what not might be the most practical day to day C issues. If you want to use C more effectively, I'd look at a systems programming book for what ever system you prefer. When hiring engineers knowing C isn't the issue, knowing how to code daemons in Unix, how to use sockets, pipes, io, handle signals, etc etc is the issue. Contents are: * How to identify and handle undefined behavior in a C program * The range and representations of integers and floating-point values * How integer promotions are performed and how they may affect portability I think it's incredibly important to understand how numbers on computers work, what are the limits of 32bit and 64bit values and how double/floats play into it. * The order of evaluation of expressions Most coding styles avoid ambiguity by just using (enough parentheses) around (important statements). * Dynamic memory allocation including the use of non-standard functions Non-standard worries me here. Memory allocation isn't particularly * The philosophy underlying the use of character types in C Character encodings and types I'm curious as to what this is covering? Is it system specific? * How to perform input/output (I/O) with terminals and file systems using C Standard Streams and POSIX file descriptors * The translation phases implemented by the C compiler and the role of the preprocessor * How to test, debug, and analyze C programs IO is an interesting topic, but I suspect best covered by a systems programming manual. There's several unix books, Stevens being the goto guide historically, and I would go straight to the source instead.
- sys_64738 7y agoif (!(K & R)) { perror("An internal error occurred.\n"); }
- maxioatic 7y agoI started learning C at the start of this year by going through K&R and Understanding and Using C Pointers. I will likely pick this is up, it looks good and I really like No Starch Press books. Does anyone have pointers on where to start with actual embedded programming? I have a couple Arduinos and RPis laying around, but I'm wondering if there are more 'real' ways to do it.
- huanwin 7y agoMuch of my job is embedded engineering, to establish a bit of credulity for the following recommendations. My employer is partial to ST Micro and Renesas, so keep that in mind. Others may suggest Silicon Labs, Microchip, or Texas Instruments. This will also be biased by my own education and work experience (e.g. no robotics, more sensors/lights stuff). I'd recommend getting a dev kit like the STM32F4DISCOVERY (https://www.st.com/en/evaluation-tools/stm32f4discovery.html https://www.st.com/en/evaluation-tools/stm32f4discovery.html). ST Micro's boards are often used for courses (https://www.udemy.com/course/cortex-m/ https://www.udemy.com/course/cortex-m/) so you may like to take some of those courses. You'll often hear about the TI MSP430 as another microcontroller but AFAIK it's beginning to be a bit dated. Although come to think of it, there's probably more educational material out there for it, if you're willing to search. Grab a kit like the Sparkfun Beginner's Kit (https://www.sparkfun.com/products/13973 https://www.sparkfun.com/products/13973) and read some of the tutorials on their website about creating circuits. Tutorials or courses for your dev kit should get you to a point where you can light an LED controlled by the micro. From there, you may like to do more advanced stuff like communicating with sensors over specific protocols (Sparkfun's Tinker Kit and associated guides may be of use https://www.sparkfun.com/products/14556 https://www.sparkfun.com/products/14556 though you will have to translate from Arduino to C code, which can be good practice for knowing how Arduino works under-the-hood). At this point, you'll probably know whether you want to keep learning more about sensors/lights/IoT type stuff, or want to branch out to other embedded-related topics. More advanced IoT material will be things like taking sensor measurements, storing measurements to memory, interfacing with displays, sending data via WiFi or Bluetooth. Edit: I skimmed over a lot to keep it short. There's a lot hiding behind how casually these recommendations are made, so feel free to reach out with any questions (email in profile).
- carapace 7y ago(That cover art really made me chuckle.)
- paedubucher 7y agoI think it would be a better fit for a C++ book.
- sitkack 7y agoEncouraging C use is at this point, bordering on malpractice. I understand that the author is a leading authority in "secure C coding". While the ABI doesn't have a lot of affordances, we don't have to keep using the language because of the ABI. Rather ZetZ -- Symbolic Verifier and Transpiler to C. https://github.com/aep/zz https://github.com/aep/zz and previous discussions, https://news.ycombinator.com/item?id=22245409 https://news.ycombinator.com/item?id=22245409 Zig, https://ziglang.org/ https://ziglang.org/ https://hn.algolia.com/?q=ziglang https://hn.algolia.com/?q=ziglang Rust is more of a C++ competitor, https://www.rust-lang.org/ https://www.rust-lang.org/ And Dlang has a regime where it can be used w/o a GC. https://dlang.org/spec/garbage.html https://dlang.org/spec/garbage.html I left out any language which forces the use of a garbage collector.
- jerzyt 7y agoObviously, there's the iconic K&R, which some people don't like for its terseness. I loved it - pure and to the point. However, the second book that made a huge impact on me was "Reusable Data Structures For C" by Roger Sessions. If you internalize these two books you'll be a highly competent C programmer. https://www.amazon.com/Reusable-Data-Structures-Prentice-hall-Software/dp/0137790341/ref=sr_1_3?dchild=1&keywords=roger+session&qid=1585637927&rnid=2941120011&s=books&sr=1-3 https://www.amazon.com/Reusable-Data-Structures-Prentice-hal...