#303 in Computers & technology books
Use arrows to jump to the previous/next product

Reddit mentions of Learn to Program, Second Edition (The Facets of Ruby Series)

Sentiment score: 8
Reddit mentions: 13

We found 13 Reddit mentions of Learn to Program, Second Edition (The Facets of Ruby Series). Here are the top ones.

Learn to Program, Second Edition (The Facets of Ruby Series)
Buying options
View on Amazon.com
or
    Features:
  • ISBN13: 9781934356364
  • Condition: New
  • Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!
Specs:
Height9.25 Inches
Length7.5 Inches
Number of items1
Weight0.79 Pounds
Width0.5 Inches

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Found 13 comments on Learn to Program, Second Edition (The Facets of Ruby Series):

u/riot- · 3 pointsr/learnprogramming

This one comes to mind: Learn to Program by Chris Pine

I had the same question, and through my own research I arrived at this book. I never did get round to reading it, maybe someone else here can recommend it.

u/chrisledet · 3 pointsr/battlestations

That's a tough one. I don't recommend starting with Objective-C when learning to program. It's not that the language is complicated, it's the Apple libraries (Foundation, AppKit, UIKit, etc). They use a lot of complex patterns.

You should start with the book Learn to Program or Learn C the Hard Way.

The latter is an excellent book and best of all, it's free!

u/shinigamiyuk · 3 pointsr/learnprogramming

learn to program pretty short book.

u/ryanlue · 3 pointsr/ruby

Personally, I did not find the Ruby Koans helpful as a complete beginner. They cover a lot of ground without giving you an opportunity to put the lessons into practice, which is the surest way to forget the things you've studied.

To start, an exercise-oriented book or online tutorial series is best, IMO (I used Learn to Program by Chris Pine, and personally enjoyed it very much). Once you have that under your belt, it will behoove you to develop an interest in various facets of computing beyond the practice of programming itself (learning a powerful text editor, learning the command line and some of the more indispensable utilities for it) as you tackle various collections of programming challenges (e.g., Ruby Quiz, /r/dailyprogrammer, HackerRank) with the help of Google/StackOverflow/the official Ruby docs.

At that point, you'll have your feet wet, and will have a better foundation for deciding (or even just asking) where to go next.

u/freakyDaz · 3 pointsr/ruby

Learn basic ruby first. It's simple you can install it on your computer and then run your own scripts from the command line like so:

rb /path/to/ruby/script.rb

There are some really nice introductory books on Ruby and they can teach you some very useful techniques that can be used in a variety of languages.

I started with Learn to Program and it helped loads towards understanding the language and ultimately understanding rails.

u/hammer-head · 3 pointsr/webdev

The comments so far appear to include a lot of descriptions of how programmers think or what a programmer's style of thinking is all about, but little in the way of practical, actionable advice to get you on your way, so let me take a shot at it. But first, a little background:

HTML and CSS are not programming languages. HTML is a markup language and CSS is a stylesheet language. Javascript is a programming language (and in fact the de facto programming language of the client-side Internet – although not the best one to start learning programming with, IMO).

What's the difference? As I'm sure you know, HTML describes the content and structure of a page; CSS describes the visual presentation of that content. Combining these two, you basically have Microsoft Word on steroids. How is that different from programming? What is programming, anyway?

Algorithms + Data Structures = Programs


(This is actually the title of a seminal ca. 1970s book on computer science.) Programming is devising instructions for a computer to follow about what to do with a given set of data (or inputs and outputs). Take this arrangement of pixels and manipulate them like so (Photoshop); take this address and show me where it is on a highly detailed, satellite map (Google Maps); take signals from a controller and use them to move this little Italian plumber around a TV screen (Super Mario Bros.). This formal logic and data orientation is precisely what HTML and CSS lack, and what Javascript has increasingly provided in the last decade to make the Internet interactive. (Remember, HTTP was not originally designed to be interactive; its main goal – and innovation – was to show text documents that could link to other text documents, hence hypertext transfer protocol.)

So where does that leave us? Where does the programming happen on the Internet? Certainly, tons of it is done in Javascript, but that only accounts for client-side processing. The other half of the picture is server-side, which is really where web applications (like Twitter, Dropbox, facebook, and Gmail) are built. For these, the best place to start is to learn a language like Ruby or Python, and once you are familiar with it on a rudimentary level, to learn a web framework built on top of it (Rails for Ruby, Django for Python).

Now obviously, you don't have to do backend development. There's certainly a market for front-end development as well, and while I wouldn't condescend to people who are good enough at CSS to do it full-time, it simply doesn't fit the classical definition of programming as described above, and involves a very different kind of mental gymnastics.

The first thing to accept is that you will never master everything. But if you're disciplined, determined, and lucky, you can get very good at the handful of things required for the job you want. The challenge is to decide what you're going to get good at, and so it will behoove you to get an abstract, high-level view of how all the pieces fit together (what is frontend v. backend? what is a web framework? what is MVC? and so on forever until your head asplode) and then evaluate what you're good at and what you enjoy doing (making things look the way you intend them to? building things that laypeople can play with? building tools that make other programmers' lives easier?) to identify your niche. The other challenge is to stop worrying about that decision and just start learning.

The Upshot


If you want to go down the rabbit hole that is computer science and programming, Learn to Program by Chris Pine is as good a place as any to start. Google things extensively; if the answers are on StackOverflow, you're on the right track.

Also prepare to spend a ton of time learning your tools. (This is probably the biggest stumbling block for those trapped in the world of online courses and videos – as long as they provide you with your development environment, you will always feel like a visitor in Programming Land.) Learn the shell. Learn vim or emacs. Learn git. Soon you will understand why students of technical majors have a reputation for having no life. Stick with it, and you will feel like a fucking wizard by the end of the year.

Or stick to CSS, and don't worry about not thinking like a programmer. Wrap your head around the DOM, then make it your bitch. Design is important, too.

u/The_Vork · 2 pointsr/programing

I started by learning Ruby it's a nice language to start with because it isn't syntax heavy, but it introduces you to the basics of getting a computer to do something. The book I got was Learn to Program. It's well written and a bit funny in places a nice place to start. Since then I've used Lynda.com($) and Code Academy (free). I'm 16 now and am building websites through my parents company for $20 an hour. Good luck.

u/33virtues · 2 pointsr/ethtrader

My answer would not be universal, and it would depend on your background. for example if I was dealing with someone that had a strong background in math I would reach for SICP, an MIT classic https://mitpress.mit.edu/sicp/full-text/book/book.html. It's probably only a good choice for someone who's comfortable thinking abstractly though, and would be super frustrating to most beginners that need to see some immediate progress to feel encouraged to keep progressing. Recently some schools have shed Scheme and teach this course with Python. I think that's probably fine, especially if the student is likely to be checking out job postings and learning Python would be a positive instead of wondering why we're slinging parenthesis. There are some big advantages to manipulating lisp programs though, both mechanically in the text editor but also when you learn that your program can manipulate its own code as data.

If I was dealing with a teenager I would probably try to get them interested in Unity 3D if they like video games (https://unity3d.com/learn/tutorials/topics/scripting/coding-unity-absolute-beginner), or processing sketches with arduino if they like building things (http://forefront.io/a/beginners-guide-to-arduino/). It can be really powerful to show a beginner that they can build something that they would have never thought they were capable of, even if small.

If I was dealing with my Mom (easily distracted, not much experience in any of the sciences) and she had a specific goal in mind for a server-based web app, I would probably start her with https://www.amazon.com/Learn-Program-Second-Facets-Ruby/dp/1934356360 and then roll her into Ruby on Rails.

This is always kind of a tough question because anyone working in the field long enough to provide good insight probably doesn't remember clearly what it was like as a beginner, myself included. My first languages were QBasic and Turbo Pascal, and the first program I was excited about filled the screen with random pixels in random locations and colors. You have a huge leg up, because my best resource at the time was the library, and getting stuck on something could mean days or weeks of confusion.

Probably the main thing we have in common now is that when you build something and reach the next level of enlightenment, you'll get a feeling of pure bliss, but when you scream out in joy and your SO or family member comes running in to see what you're excited about, they're still going to look at you like your crazy. That may go on for years. Enjoy the journey! =]

u/lord_jizzus · 2 pointsr/learnprogramming

> Ruby, Java, C#, C++

Considering your main interests, you'll need them all.

> Can you give me a brief review of each language?

Yes but it's useless now because you wouldn't understand the differences (like interpreted vs compiled, dynamic vs static and so on).

> Is there any books I should read to better understand programming before learning a language?

Yes. Check out Learn to program.

u/eksaurus · 1 pointr/learnprogramming

Most collegiate textbooks offer a lot of exercises like the ones you're talking about. When I taught at the university we used the Deitel How to Program Java (Early Objects) textbook, which has a variety of textbooks.

Where I teach now (a code school), we use Chris Pine's Learn to Program, which also has a bunch of exercises. Unfortunately, this book is a little bit out of date (though most of its contents are still relevant and applicable).

We also use a home-grown set of practice problems (these are all Ruby-focused, and also not quite current with what we're doing now, but certainly good enough to get started).