Live data from Hacker News

Learn C The Hard Way by Zed Shaw

udemy.com

81–90 of 100 posts

Re: Learn C The Hard Way by Zed Shaw

#81
post #57
post #41

Earlier quoted context omitted.

Well I explain all the many reasons this is the wrong way to think about it in the end.

Your argument with permutations of inputs is wrong IMO - this argument can be used to claim that any functionality which calls user code (through callbacks, inheritance, whatever, functors) is also defective. Strictly it may be so, but the defectiveness is massively outweighed by the convenience - the most obvious example is calling a late-binding function - but it extends to easier to grasp examples like the C qsort…

Your argument does not follow and is an illogical extension. I simply prove that it has a while-loop that won't terminate and use permutations to prove that. The logic proof is valid because I found an instance of the input that would cause it to not terminate.

You can't then extend my argument to mean that all functions should not be called. All functions with unterminated while-loops shouldn't be called, but not all functions.

Re: Learn C The Hard Way by Zed Shaw

#82
post #66

It's funny how, I started getting annoyed seeing people still learning to code on books while free tutorials were starting to pop up everywhere on internet. And now people are starting to charge for those tutorials. And I know people here in HN love Zed Shaw. But come on, there are hundreds of free great tutorials to learn C on internet.

My HTML version is still free, and if you tell me of the free C books I'll link to them here:

http://programming-motherfucker.com/become.html

Re: Learn C The Hard Way by Zed Shaw

#83
post #80
post #68

I disagree with your disdain for IDEs... I hope that you are not totally misleading the people who will learn from your book because learning how to use the capabilities of Visual Studio or any decent IDE is very valuable. How are they going to debug complex graph data structures in their CS class if they don't have a great debugger? How are they going to understand the power of intellisense in modern programming? Ho…

IDEs are bad for you. It's much better to simply use a real programmer's editor that you can craft into being what you need. In fact, I can usually take vim plus cscope, exuberant ctags, and ack and demolish any code base you throw at me. Similar with emacs and other power editors. IDEs are usually useful if you're stuck using them to build GUIs or use specialized build tools they require.

How can IDE be bad for me? It's like saying a hammer is bad for me (Sure it is if I don't use it responsibly or correctly). And on C front I'd agree. There are no really good IDEs for C/C++ and the way they work/are used wouldn't benefit much from an IDE.

If you are more productive in IDE over text, what is the benefit of using text editor?

Re: Learn C The Hard Way by Zed Shaw

#84
post #48
post #31

Just a warning to everyone, like the book this course is in development as I write the book. It's covering a lot of the chapters, but I have to go back and clean up some videos and do the final ones. That's why the price is low for now.

What's your method for making the ePub version of your books? I'm considering writing a custom program for my own stuff, but I'd love to be able to use something off the shelf.

Sigil is open source.

Re: Learn C The Hard Way by Zed Shaw

#85
post #4

Earlier quoted context omitted.

It amazes me that people invest 20 hours in reading a book and complain about the price. If we assume roughly $40/hr for a $80k programmer, this is about $800 worth of time you're investing. Does a "hard" investment of $29 (4%) really make that big of a difference?

I always use “let's assume roughly X/hour” as a joke. You don't get paid for your spare time, except in opportunity cost. If someone applies 20 hours of their time at work, then yes, that's pocket change. If they apply 20 hours of their time at home, that's not time that they'd get paid for anyway, so the analogy is as foolish as the claim that every pirated copy of a movie would have been bought were it not for pira…

>You don't get paid for your spare time, except in opportunity cost.

Your free time is clearly worth more than your wage/salary. If your free time were worth nothing, it would make no sense to have it. You have extra time you could get another job possibly paying up to your existing rate.

Don't like the thought of taking a second job doing what you're doing now? That's because your time is worth more to you than that cash, by definition.

Re: Learn C The Hard Way by Zed Shaw

#86
post #80
post #68

I disagree with your disdain for IDEs... I hope that you are not totally misleading the people who will learn from your book because learning how to use the capabilities of Visual Studio or any decent IDE is very valuable. How are they going to debug complex graph data structures in their CS class if they don't have a great debugger? How are they going to understand the power of intellisense in modern programming? Ho…

IDEs are bad for you. It's much better to simply use a real programmer's editor that you can craft into being what you need. In fact, I can usually take vim plus cscope, exuberant ctags, and ack and demolish any code base you throw at me. Similar with emacs and other power editors. IDEs are usually useful if you're stuck using them to build GUIs or use specialized build tools they require.

Please dear wizard, here's a list of requirements for a fellow programmer that he can currently do with Visual Studio and wants to do the same with vim:

- find in files (in vim, not in bash)

- replace in files

- rename symbol (uh-oh...)

- quick open file in project (visual assist feature)

- list of files in project (not in directory)

- build system (something easy to use, not that make bullshit)

- go to declaration/definition ( sometimes I get a list of 30 matches from ctags, so I would like something that actually works )

- view call hierarchy (callers, callees)

- code completion (something that works and is easy to use, like in visual assist)

- watches

- breakpoints in disassembly

- step into disassembly

- memory view while debugging

- edit & continue

- memory (data) breakpoints

We're talking about large C/C++ codebases, obviously. You might get 50% of the features above after tinkering for a few days/weeks/months with your vim with (probably) much worse usability, when you could have used Visual C++ from the get-go and enjoyed a "real programmer's editor", as you put it.

This bullshit religion you are introducing only hurts potential programmers because instead of focusing on getting their job done they have to reinvent the wheel every time they have to write a line of code. I'm not saying it's a bad thing for a young mind to experience the horror of having to debug a 500.000 LOC codebase with a stone-age debugger, just for the kicks ("that's how your old man was programming back in the day, son"), but when you have to meet deadlines and release something going vim-only can quickly become a liability.

Re: Learn C The Hard Way by Zed Shaw

#87
post #86
post #80

Earlier quoted context omitted.

IDEs are bad for you. It's much better to simply use a real programmer's editor that you can craft into being what you need. In fact, I can usually take vim plus cscope, exuberant ctags, and ack and demolish any code base you throw at me. Similar with emacs and other power editors. IDEs are usually useful if you're stuck using them to build GUIs or use specialized build tools they require.

Please dear wizard, here's a list of requirements for a fellow programmer that he can currently do with Visual Studio and wants to do the same with vim: - find in files (in vim, not in bash) - replace in files - rename symbol (uh-oh...) - quick open file in project (visual assist feature) - list of files in project (not in directory) - build system (something easy to use, not that make bullshit) - go to declaration/d…

Sadly in Linux you don't have the luxury of Visual Studio and I've tried doing portable C/C++ in Windows (with cygwin and various make programs). It just doesn't work right.

But I agree with overall sentiment. We shouldn't try to make programming hard. It is hard already.

Re: Learn C The Hard Way by Zed Shaw

#88
post #76
post #48

Earlier quoted context omitted.

What's your method for making the ePub version of your books? I'm considering writing a custom program for my own stuff, but I'd love to be able to use something off the shelf.

I'm ditching ePub. It's a crap format that has a bewildering number of options and it seems every viewer wants to implement some different subset of them. From now on, it's PDF and HTML only.

In that case, consider making an ~A5 version of the PDF or viewing it on e-readers will be a hassle.

Re: Learn C The Hard Way by Zed Shaw

#89
post #76
post #48

Earlier quoted context omitted.

What's your method for making the ePub version of your books? I'm considering writing a custom program for my own stuff, but I'd love to be able to use something off the shelf.

I'm ditching ePub. It's a crap format that has a bewildering number of options and it seems every viewer wants to implement some different subset of them. From now on, it's PDF and HTML only.

Glad to hear it. When people ask me about ePub/Mobi, I tell them that both formats are broken and that if I ever produce them it'll only be as a stupid marketing gimmick.

What we really need is a format that works across different devices. If only there were a portable document format that solved this problem...

Re: Learn C The Hard Way by Zed Shaw

#90
post #89
post #76

Earlier quoted context omitted.

I'm ditching ePub. It's a crap format that has a bewildering number of options and it seems every viewer wants to implement some different subset of them. From now on, it's PDF and HTML only.

Glad to hear it. When people ask me about ePub/Mobi, I tell them that both formats are broken and that if I ever produce them it'll only be as a stupid marketing gimmick. What we really need is a format that works across different devices. If only there were a portable document format that solved this problem...

Yeah, because PDFs work really great on devices of different screen sizes.

Also, the author should stop promote the epub version if he won't do it.

Post reply on HN