Reddit Reddit reviews Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides)

We found 9 Reddit comments about Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Programming
Apple Programming
Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides)
Big Nerd Ranch Guides
Check price on Amazon

9 Reddit comments about Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides):

u/zshakked · 33 pointsr/IAmA

At the time, I used the Obj-C Big Nerd Ranch Book and then the iOS Programming in Obj-C book. Nowadays, I'd recommend the BNR Swift Book and then the BNR iOS Development Book. These are excellent books and there is a nice community of people on their website who talk about solutions to the exercises and challenges.

u/cbkeur · 8 pointsr/iOSProgramming

A lot of people have had success with the book I write for the company I work for:

iOS Programming: The Big Nerd Ranch Guide (6th edition)

https://www.amazon.com/dp/0134682335/ref=cm_sw_r_cp_api_i_XL35Ab39GGVNW

We also have a Swift book:

Swift Programming: The Big Nerd Ranch Guide (2nd Edition)

https://www.amazon.com/dp/013461061X/ref=cm_sw_r_cp_api_i_NM35AbQ45T962

If you have questions about either, let me know.

u/lanzaio · 6 pointsr/swift

Read this while also reading this and then watch these lectures (note: the iOS 10 version should be starting by the time you finish the two books).

Every single line of code you see you should also be writing. Every project built in both books and the lectures you should also build. You should regularly use what you've learned to make your own dumb little practice projects. If you learn how to make a UIButton in chapter x then you should go and make your own project after reading chapter x that screws around and explores creating UIButtons.

Come up with some actual app that you'd want to make for your own usage. As you learn features that you want your app to have, implement them in your app. Every now and then restart it from scratch as you learn how to code better. (IE your implementation of a trio of UIButtons after reading chapter 3 will be coded rather poorly compared to your implementation of the same trio of buttons after reading chapter 22.)

This is how I did it and I taught myself how to be a professional iOS developer from not knowing what a variable was in less than a year.

u/42657536 · 3 pointsr/swift

Sorry for the really late reply. I started out with the intro book in late May since I had very little programming experience (I know how to use Scratch, and I did a little bit of Java programming in a class I took two years ago but I forgot all of the Java). I went through all of those lessons in the intro to app development curriculum first and did all of the exercises. I also made sure I understood everything in each lesson before moving on. It took me a little over a month to finish them all, but I know I could have finished them a lot faster. It took me so much longer because there were some days where I didn't do anything with Swift (and there was even a week where I didn't work on it).

After that, I started to read The Swift Programming Language to build on what I learned from the intro book, and I also started reading the Big Nerd Ranch book on Swift (I didn't buy it, but I read it sometimes at a Barnes and Noble near me. I really want to purchase it because it's a fantastic book, but I'm waiting on them to release a new one on Swift 4 in the coming months before I purchase it.). More recently, I started reading the App Development with Swift book, and I really love how that book separates things into lessons and explains everything. I also recently started going through the Hacking with Swift lessons, and they are really great at explaining everything and teaching you more about XCode.

During all of this, I also have been developing a simple password generator app to practice what I've learned, and I just recently finished it. All I need to do is figure out how to get auto layout and the constraints to work in order to have it work on all of the different iOS devices (I'm still very confused about how to get it to work). I have an idea for a macOS menu bar app, but I still need to figure out how to make it.

If you're a complete beginner at programming (no experience or very little experience), I would recommend that you go through the intro book first. It teaches you some important concepts in a simple way, and you can finish it pretty quickly. Then, I would recommend going through the App Development with Swift and The Swift Programming language to really build on what the intro book teaches. You should check out the Big Nerd Ranch's Swift Programming book, too, but if you're going to buy it, you should probably wait a couple of months for them to release a new edition on Swift 4 (if you buy this one on Swift 3, some of the syntax may be outdated when Swift 4 releases). Hacking with Swift is also a fantastic resource. While you're learning how to program in Swift, you also need to make sure that you work on some kind of project/app so that you can practice what you're learning, so you should think of an idea for a simple app that you can make.

I hope that you find this helpful. If you have any more questions, feel free to ask! Good luck with learning how to program in Swift! I've only been doing it for 3 months now, but I feel like I learned a lot in the last 3 months and that I've become pretty decent at programming in Swift (I still need to learn a lot more, but I'm definitely much better than I was 3 months ago.).

u/tgregoryknox · 3 pointsr/swift

I first went through the Swift and iOS programming books by Big Nerd Ranch, and then I went through one of their bootcamps in Atlanta. I highly recommend this company. Apple, Spotify, Square, etc... send their employees to Big Nerd Ranch.

u/flexdevio · 3 pointsr/swift

I did these guys front-end web book. It was really goo, however they are know for their Swift Book:

https://www.amazon.com/Swift-Programming-Ranch-Guide-Guides/dp/013461061X

The owner (original instructor) worked with Steve Jobs at Next.

u/jzed · 1 pointr/swift

Just updated and released. Takes you from total beginner. (Updated with better link)
Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides) https://www.amazon.com/dp/013461061X/ref=cm_sw_r_cp_api_NwPxybFV60FA9

u/FrontpageWatch · 1 pointr/longtail

>Why is it so hard to figure out where to start?
>
>It's no secret that software development has exploded in the past 20 years. New software startups pop up like dandelions in the spring. It then follows that a lot of people think software development is a good career choice and are afraid of missing out on a lot of great opportunities.
>
>Software developers are, in general, pretty opinionated. I doubt this is unique to developers, but it gets tiresome when you've dealt with it for years. If we're not fighting over what operating system is better, then it's what language is better. If it's not that, then it's code editors, or databases, or frameworks, or bug trackers, or development processes, or...or...or. It's like we enjoy fighting.
>
>In a time where more and more people are becoming developers, it's not enough to be just "a developer" anymore. No, to feel superior now, developers need to somehow differentiate themselves from both the non-developer “rabble” and their fellow developers.
>
>This mentality has lead to more coding languages being developed that purport to "fix" issues with other languages. New frameworks are built to "fix" issues with previous frameworks. And on and on.
>
>All this leads to a huge amount of choices, opinions, and resources. Naturally, that makes starting to learn, daunting.
>
>Since I'm a developer too, I'm susceptible to the same opinions and biases that I just railed against. The difference is, I'm right. I'm kidding, seriously, calm down everybody. Here are my suggestions.
>
>Choose your weapon language
>
>As someone once said: “the weapon doesn’t make the man.” It’s probably a quote from some B martial arts movie or Dragonball Z, but the philosophy holds true for programming languages. A good developer is a good developer regardless of language. However, you need to start someplace, and if you pick your first language wisely, you’ll drastically shorten the time to hit your goal.
>
>Picking a language boils down to what you want to do. This is a quick list of general development goals and what language(s) are your best options to get there:
>
>1. Front-end web development (user interface and interaction): Javascript, HTML & CSS
>1. Back-end web development (services that front-end web apps and mobile apps call out to): Ruby, Python or Javascript
>1. Mobile development: Swift (iOS) or Java (Android)
>1. Windows development: C#
>1. MacOS development: Swift or Objective-C
>1. Operating systems, file systems, embedded systems, etc: C/C++
>
>Naturally, there are other options for each of these. Javascript is useful for items 1-5, for instance. But the list is a good starting place as-is.
>
>How to find good resources to start learning
>
>There are a ton of resources to learn to code out on the web. How do you sift through the chaff and find the real gems?
>
>Most resources fall into the following categories:
>
> Books
>
Videos
> Blogs/tutorials
>
Courses
>
>Books are the traditional go-to resource. Search Amazon.com for your topic and read reviews. Make sure that any books you're considering are new. Languages change and older books could slow your progress.
>
>A lot of people have gravitated to videos to learn coding and other topics. YouTube is the first place most people look. Fair warning, this is going to turn up a bunch of crap. Look at how many subscribers a given instructor has, and watch some videos to see if their style and method works for you. Another possible issue is that because video is more difficult to update for new versions of a language (or corresponding tools), some videos might be outdated.
>
>For blogs and tutorials, a simple google search like "best python tutorial" or "best swift tutorial for beginners" is a great place to start. As with videos, you'll have to try a few to see how they work with your learning style.
>
>Online courses are the newest resource on the scene. Codecademy is one that a lot of people find immediately. However, after I talked to a lot of people who tried it, none really thought it did a good job. Free Code Camp or The Odin Project are both highly regarded for web development. Udacity, Coursera, Udemy all have courses in different genres. Each has reviews so you can compare and only look at ones that helped others. My specific examples follow in the next section.
>
>Where you should start, specifically
>
>Each development goal in the above list is different enough to require different starting points. I’ll list the place that I’d recommend you start for each one. I have not personally tried all of them, but have come across them when doing research. There also might be better ones, and so if you know of any, let me know and I’ll update this list.
>
>1. Front-end web development: Free Code Camp
>1. Back-end web development: Ruby (for Rails), Python (for Django), Javascript (for Node)
>1. Mobile development: Swift Lynda’s Swift Essentials (check your local library to see if you get a free Lynda account with a library card) or Flatiron school’s free Swift course, Swift Programming book or Java Head First Java, University of Helsinki’s MOOC
>1. Windows development: Head First C#, Pluralsight’s C# course
>1. MacOS development: Cocoa programming for OS X, or the same courses for mobile Swift
>1. Operating systems, filesystems, embedded systems: C++ How to Program book, C++ Tutorial for Complete Beginners
>
>Once you pick your language and starting point and you start learning, some things will be obvious, but others will be difficult to understand. You’re going to run into trouble and with concepts and code errors. That’s normal. We’ve all been there. Getting unstuck takes practice too.
>
>How to get unstuck once you’ve started
>
>Once you start learning to code, you're going to run into problems that you don't know how to solve. This is normal and part of the process. You don't really learn unless you struggle through it. That said, you won't always be able to move forward without some help. So how do you find that help?
>
>First off, forget books. They aren't a great place to start here, because the number and types of errors they can cover is so small.
>
>Online is the easiest place to find help. Most devs look for solutions on StackOverflow or just google the error message (if they have one). Other solutions are to find newsgroups or forums dedicated to the language you're using.
>
>How to use Google to get unstuck
>
>When you first try to google an answer to your problem, you're going to run into the issue of what to search for. Experienced developers are really good at this part, but unfortunately, it's hard for beginners, who need it the most. So here I'll give you some expert hints on how to improve your search results.
>
>1. Always include the name of the language you're using. If you're using a specific tool, database, or framework, include that as well. Don't include all of them, just the ones that you believe are relevant. This will take practice.
>1. If you're getting an error message, include that in quotes. Edit the message to contain only the core of the message so it doesn't reference any files, classes, path or filenames that are specific to your program or computer. The trick here is to make the error message as specific as possible while still being general enough to apply to others who are using the same language/tool/etc. but in a different context.
>1. If you're working through a publicly-published problem from a book or course, add that information to the search.
>1. Explain what you're trying to do, with the fewest words. This is tough for developers of all levels. For a beginner, you may have trouble coming up with the right terminology. This is where the books, tutorials, and course materials come in handy. They should use the right language if you're doing something similar to what's covered in them. If not, you're going to need to try some different wording. Remember, other beginners are going to be having problems too and might explain the problem the same way.
>
>Here are a few examples I’ve used (minus the quotes):
>