Poll of the Day > Are any of these books good for learning to program/code?

Topic List
Page List: 1
AllstarSniper32
12/30/17 6:55:30 AM
#1:


https://www.humblebundle.com/books/be-a-coder-books

Just saw it in the store there and was curious.
---
If the people only understood the rank injustice of our money and banking systems, there would be a revolution before morning - Andrew Jackson
... Copied to Clipboard!
Lokarin
12/30/17 6:56:51 AM
#2:


The best way to learn to code is to... read the manuals
---
"Salt cures Everything!"
My YouTube: https://www.youtube.com/user/Nirakolov/videos
... Copied to Clipboard!
AllstarSniper32
12/30/17 7:00:13 AM
#3:


Lokarin posted...
The best way to learn to code is to... read the manuals

And that's not at all what I asked :P
---
If the people only understood the rank injustice of our money and banking systems, there would be a revolution before morning - Andrew Jackson
... Copied to Clipboard!
kind9
12/30/17 7:04:56 AM
#4:


At a glance I'd say... maybe. I mean the best way to learn is by doing so really you could just as easily read some tutorials online to get the hang of it, then practice and consult the documentation whenever you need to thereafter.

Like if I'm learning a new language I'll read a book or tutorials until I have a good grasp on the syntax and standard libs. Then whenever I want to do something specific I'll find a solution online.
---
... Copied to Clipboard!
Rimmer_Dall
12/30/17 7:10:46 AM
#5:


Some of them look like they might be good, though you really ought to check some reviews.

One I can heartily recommend is this one:
http://shop.oreilly.com/product/9780596802301.do

I read it before starting my introductory programming course at university and got comments from the assistants grading my code about how pleasant to read it was. It's a short and fun read too. Easy to finish in just a few hours. Part of the reason this book is so helpful is that it includes examples of code from real repositories before and after refactoring to show you exactly how much of a difference it makes.
... Copied to Clipboard!
Gumbotron
12/30/17 7:11:56 AM
#6:


what's the starting skill level? and what's the goal?
do you have a platform in mind?

there's a complete overabundance of resources out there for 'beginners'
... Copied to Clipboard!
kind9
12/30/17 7:20:17 AM
#7:


Those books are all over the place. I saw a C# book next to a Linux command line book, next to a programing for kids book.
---
... Copied to Clipboard!
Dikitain
12/30/17 8:08:51 AM
#8:


Honestly the best and fastest way to learn coding is to be given a fully working project, use it, study it, and mess around with it to change what it does. Sure books will help but there is no substitute for getting your hands dirty. My first programming book was basically just the source code for 100 or so games written in BASIC, and that taught me more about programming then my first 2 years of college.

That said, without looking at the content the books in my opinion don't even begin to get into useful territory until the $15 tier, and even then there are some HUGE omissions. No Java, Python, C++, etc. (I.E. The programming languages most people actually use)? I mean Ruby is nice but hasn't been relevant in at least 10 years. C# only really is useful if you are programming Windows apps, yet there is no book on Visual Studio. A Javascript book without a PHP/JSP or HTML5 book? Just seems like they are giving you a random selection of books but nothing to actually do something useful with.
---
I am a senior software engineer. If you see me post here, I am tired of writing TPS reports.
... Copied to Clipboard!
kukukupo
12/30/17 8:41:51 AM
#9:


AllstarSniper32 posted...
Lokarin posted...
The best way to learn to code is to... read the manuals

And that's not at all what I asked :P


But it is the truth.
... Copied to Clipboard!
kind9
12/30/17 10:28:11 AM
#10:


kukukupo posted...
AllstarSniper32 posted...
Lokarin posted...
The best way to learn to code is to... read the manuals

And that's not at all what I asked :P


But it is the truth.

I don't know about that. Most programming languages don't have "manuals", they have documentation, and that is hardly a good starting place to learn a language. Usually you consult documentation once you've already learned the language.
---
... Copied to Clipboard!
AllstarSniper32
12/30/17 11:23:03 AM
#11:


Gumbotron posted...
what's the starting skill level? and what's the goal?
do you have a platform in mind?

The only answer I'd have is someone who's never done coding before.

This topic was made because green dragon made that topic asking how long it'd take, earlier I saw this as a bundle sale and with both of those combined it made me wonder if this would be good for someone who wants to dive into coding or programming.
---
If the people only understood the rank injustice of our money and banking systems, there would be a revolution before morning - Andrew Jackson
... Copied to Clipboard!
#12
Post #12 was unavailable or deleted.
Sahuagin
12/30/17 12:12:26 PM
#13:


AllstarSniper32 posted...
The only answer I'd have is someone who's never done coding before.

This topic was made because green dragon made that topic asking how long it'd take, earlier I saw this as a bundle sale and with both of those combined it made me wonder if this would be good for someone who wants to dive into coding or programming.

IIRC he was looking to learn as fast as humanly possible. these books would probably not be a good way to do that, they would be more to casually learn some random programming.

the best way to learn IMO is to find projects to implement, and implement them. also, you should maintain a set of personal guidelines and conventions which you grow over time. learn about refactoring, clean code, design patterns, unit tests, and source/version control. I feel like these should be learned as soon as possible. for some reason they are mostly ignored even when getting a degree in CS. they should be taught as fundamental programming concepts right from the start.

Refactoring:
https://refactoring.com/catalog
https://www.amazon.com/dp/0201485672

Clean Code: (probably my favorite programming book)
https://www.amazon.com/dp/0132350882

Design Patterns:
the blue book is boring as heck and is only good as a reference unless you can somehow bear to read it
https://www.amazon.com/dp/0201633612

the other book is the complete opposite of boring and teaches good programming principles in general; highly recommended!
https://www.amazon.com/dp/0596007124

Unit tests
https://www.amazon.com/dp/0321146530

Version Control (specifically mercurial which I use; start with "ground up mercurial")
http://hginit.com/
---
... Copied to Clipboard!
AllstarSniper32
12/30/17 12:56:09 PM
#14:


Zangulus posted...
Personally, books are worthless unless youre in a situation where you dont have easy access to the internet. Then a reference guide is all Id want. There are so many free tutorial and learning sites on the internet...

Thats just me though.

but on that note, if someone didn't want to use free internet tutorials or learning sites, would these be good? Or even just OK?

Sahuagin posted...
IIRC he was looking to learn as fast as humanly possible. these books would probably not be a good way to do that, they would be more to casually learn some random programming.

Yeah, I remember. This wasn't made for him, it was just made because those two things made me curious about this bundle actually being worth it if someone wanted to learn the stuff.
---
If the people only understood the rank injustice of our money and banking systems, there would be a revolution before morning - Andrew Jackson
... Copied to Clipboard!
#15
Post #15 was unavailable or deleted.
Dikitain
12/30/17 2:37:42 PM
#16:


Sahuagin posted...
the best way to learn IMO is to find projects to implement, and implement them. also, you should maintain a set of personal guidelines and conventions which you grow over time. learn about refactoring, clean code, design patterns, unit tests, and source/version control. I feel like these should be learned as soon as possible. for some reason they are mostly ignored even when getting a degree in CS. they should be taught as fundamental programming concepts right from the start.

What you are thinking about there is a Software Engineering degree vs. a Computer Science degree. Computer Science is the degree program everyone associates with programming, but Software Engineering is the degree program where everything you mentioned actually get applied. The downside is that Software Engineering has less of a emphasis on low level technology and complex problems.

Plus if you think about the degrees, of course an Engineer is going to be concerned with those things while a Scientist is not. You don't see very many Scientists worrying about the re-usability of their penicillin, but the Engineers who put it into Pfizerpen do.
---
I am a senior software engineer. If you see me post here, I am tired of writing TPS reports.
... Copied to Clipboard!
Sahuagin
01/01/18 9:35:21 PM
#17:


Dikitain posted...
What you are thinking about there is a Software Engineering degree vs. a Computer Science degree. Computer Science is the degree program everyone associates with programming, but Software Engineering is the degree program where everything you mentioned actually get applied. The downside is that Software Engineering has less of a emphasis on low level technology and complex problems.

when I started, there was barely a such thing as a "software engineering" degree. CS and SE were technically different things, but CS was mainly all there was to take. though, in my CS program we did have to take 1 SE course, but you didn't learn any of this stuff.

I think maybe you're thinking of design patterns specifically though. they would probably be covered in SE, but the others (unit tests, source control, refactoring, and also reflection) were taught in a completely optional 4th year course called "advanced programming techniques". if it were up to me, advanced programming techniques would be a second year, if not first year, course, or even just incorporate them into the "intro to CS" courses.

unit tests, source control, and refactoring should all be taught basically immediately, in fact assignments in any course should expect units tests and a repository to be submitted and should be worth part of the grade on every assignment.
---
... Copied to Clipboard!
Dikitain
01/02/18 4:33:18 PM
#18:


Sahuagin posted...
Dikitain posted...
What you are thinking about there is a Software Engineering degree vs. a Computer Science degree. Computer Science is the degree program everyone associates with programming, but Software Engineering is the degree program where everything you mentioned actually get applied. The downside is that Software Engineering has less of a emphasis on low level technology and complex problems.

I think maybe you're thinking of design patterns specifically though. they would probably be covered in SE, but the others (unit tests, source control, refactoring, and also reflection) were taught in a completely optional 4th year course called "advanced programming techniques". if it were up to me, advanced programming techniques would be a second year, if not first year, course, or even just incorporate them into the "intro to CS" courses.

No, source control unit testing, and refactoring are all covered under SE (at least they were in my school). Design patterns are just one small part of coding.

Also, while I think it is useful to learn those things, putting them in year one is a bit early. Most people taking 1st year CS courses probably aren't getting degrees in CS. All math majors need to take CS, so do most other Science degrees. And like I said before, they aren't going to care about those things. Making it a 3rd year course makes sense because 3rd year was when we started having to go off and do our mandatory internships/co-ops.
---
I am a senior software engineer. If you see me post here, I am tired of writing TPS reports.
... Copied to Clipboard!
Yellow
01/02/18 4:44:43 PM
#19:


YouTube tutorials really did it for me. Depends on what kind of learner you are.

Back when I learned smilebasic, there were zero tutorials. Just a rough engrish manual.
---
... Copied to Clipboard!
Sahuagin
01/02/18 8:47:23 PM
#20:


Dikitain posted...
Most people taking 1st year CS courses probably aren't getting degrees in CS. All math majors need to take CS, so do most other Science degrees.

at my uni there are specific courses for comp sci majors, and specific other ones for non-CS majors.

I don't even know if it should be "taught" exactly. maybe run through the gist of what they are in the intro courses, and then just require them from then on, and relate back to them now and then in courses.

for example, things like makefiles, or using the linux server to submit assignments and that kind of thing. they don't really "teach" you those things (I guess they go over it loosely in the labs), they're just a necessary part of the process. they're in the background. should be the same for unit tests, it's just a part of your program. and source control even moreso "in the background". it's just how you write code, you commit it to a repo somewhere.

anything but the way it was: if you're lucky you happen to take this one random course and learn about all of this stuff, even though it's all pretty much essential knowledge and stuff you will use instantly and constantly in any real-world scenario.
---
... Copied to Clipboard!
Questionmarktarius
01/02/18 8:52:51 PM
#21:


You want practical or theoretical?
... Copied to Clipboard!
Topic List
Page List: 1