> How did you get started with iOS development?
I really liked the idea of being able to build something that you could like go on the bus and look over someone's shoulder (non-creepily) and see them potentially using something you made, an iOS development/mobile development in general really appealed to that side of me.
So back in high school I bought a book on Objective-C for beginners (I had absolutely no programming experience) and just read it through some boring classes. Eventually I felt confident enough to start building some small apps which is when it got really fun.
> And is Apollo codebase mostly Swift now?
It is! I was lucky enough to be at Apple when they unveiled Swift (like literally in the next room) so I was super jazzed about it and got a lot of initial experience with it and I loved it, so Apollo's been 100% Swift from the get-go. It's an awesome language and quite beginner friendly once you get past the optional stuff which is only slightly difficult to get your head around.
My best advice is to avoid "It's easy to write an app" tutorials. They put you in way over your head and when there's something wrong with the tutorial (or you mistype something) you flounder.
Instead focus on "the basics" of programming. For loops. If statements. Basic control flow. Variable assignment.
Next focus on understanding Object Oriented Programming. It'll take a while to wrap your head around it, but it's the foundation of everything Apple provides you to write apps.
For these two steps I used this book but you might want to find something based on Swift, since that's the new hip thing.
Then you start learning Apple's frameworks. Do a bunch of tutorials. Write your own app. When you realize it sucks and you'd be embarrassed to share it with anyone dump it and start over. Write lots of apps that do stupid little things. Make them bigger. After a few times you may have something cool, but more importantly you'll have learned a bunch of stuff you can't learn by doing tutorials.
Try to remember when it's late at night and you're crying with your head down on the desk because you can't get it to work that programming is fun. (That's sarcasm, but you need to know that even expert programmers went through it too. If you keep plugging you'll get better.)
> Browsing the surface web i can't find any truly "beginner guides"
https://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658
I'd also recommend the learning bash book:
https://www.amazon.com/Learning-bash-Shell-Programming-Nutshell/dp/0596009658
and/or The pocket ref:
https://www.amazon.com/Bash-Pocket-Reference-Power-Admins/dp/1491941596/
Are you more interested in making a game, or the tech behind games?
Game Programming Patterns is a great reference when you have problems to solve or a system to design. It's a relatively light and easy read and definitely very helpful.
Game Engine Architecture gives a broad view of technologies behind a game but it doesn't actually go into the nuts and bolts on how to develop one. I recommend it as a way to see how things work, and a gateway to learning about the different technical specializations in a game engine. The reference list is very useful for further study.
Neither of them are of much help when it comes to using Unreal or Unity though. I've actually found that "learn to make game with engine X" books serve as a guided walkthrough of engine features and workflows and give you a solid base on which to continue exploring the engine. I've also found that working through a book has a much lower mental barrier than searching for tutorials on the Internet, since all the info is available on hand and (hopefully) presented in an easy-to-follow manner.
Start with the extensive tutorials Unreal and Unity offer on their official websites. If you find those hard to follow, or when you're done and think you need more guidance, just hit Amazon and look for books like this which are relatively well-reviewed.
I used this book when i started learning objective c:
https://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X/ref=dp_ob_title_bk
>!Also available as pdf for free if you search hard enough... !<
I really liked it and learnt a lot. I read their book on iOS programming after that one (latest edition uses swift, earlier editions uses obj-c).
Hey man, just a heads up but you can preview Head First Android Development [here](https://books.google.ca/books?id=qkzrCQAAQBAJ&pg=PR4&lpg=PR4&dq=Head+First+Android+Development+\(Dawn+Griffiths,+David+Griffiths\)&source=bl&ots=AywWMdsY6s&sig=ASAmpg8ixuX5rvMzoz2ioUj5mw8&hl=en&sa=X&ved=0CEYQ6AE... and the other one can be previewed here just click on the image of the book to your left and you can preview it from there.
You can use Amazon/Google books for A LOT of books out there before deciding to buy.
Since you're learning about Unity, you should checkout my book Unity in Action. It's very highly rated on Amazon: https://www.amazon.com/gp/product/161729232X/
Note that it's designed for people who already know how to program and doesn't teach programming basics, but it sounds like you have that covered.
My book Unity in Action is designed for people who already know how to program but are new to Unity: https://www.amazon.com/Unity-Action-Multiplatform-Game-Development/dp/161729232X/
(objectively, it's got a high rating on Amazon)
So this might be a little out of date but I had the same desire and during that time Android/iOS game development was still very new.
I read this book https://www.amazon.com/Beginning-Android-Games-Robert-Green/dp/1430246774 which I still recommend as it does walk through creating a whole game engine from scratch. Which then turned into this multiplatform game framework https://libgdx.badlogicgames.com/
It's all in Java but it was an interesting project and the book really goes into detail for a simple game framework which you build as you read.
I wouldn't say it's mainstream but it helped me out and I learned a lot.
If you have a computer science background it should be easy to pickup C#.
I haven’t read it personally but that heard good things about this book.
https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363
Cartea de care zic este aceasta: https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363 O găsești pe libgen sau alte siteuri de "specialitate" ca ăsta :)
Probabil este bună și cea de care zici tu, dar n-am avut experiență cu autorii respectivi.
I strongly recommend this book: https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363
I've found it's a fantastic reference for making the jump from Framework to .NET 6. I'm making the same transition in a similar place (small company, proficient at Framework). We already use MVC, and the transition isn't conceptually that bad.
I've been enjoying this book, not Unity based but good for C#.
Look on youtube for Nick Chapsas and if you like his style you can buy his course on unit and/or integration testing here: https://nickchapsas.com/p/from-zero-to-hero-testing-essential .
I can not say if the courses are worth it or not because I dont have them yet, but I am going to buy them soon.
And for a quick start in csharp i found this book really interesting https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363/ref=mp_s_a_1_1?qid=1654734930&refinements=p_lbr_one_browse-bin%3AMark+J.+Price&s=books&sr=1-1
C# 10 and .NET 6 – Modern Cross-Platform Development: Build apps, websites, and services with ASP.NET Core 6, Blazor, and EF Core 6 using Visual Studio 2022 and Visual Studio Code, 6th Edition https://www.amazon.com/dp/1801077363/ref=cm_sw_r_apan_i_5TCC8T34FW6X42AM3HW3?_encoding=UTF8&psc=1
it’s never old but if you want a new book then i will recommend https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363/ref=zg_bs_697342_1/143-8140820-4858813?pd_rd_i=1801077363&psc=1
These books are excellent and walk you through from the very beginning. I have one from a couple of years ago and it's still valid so you could find a used copy if you don't want to pay full price.
C# 10 and .NET 6 – Modern Cross-Platform Development: Build apps, websites, and services with ASP.NET Core 6, Blazor, and EF Core 6 using Visual Studio 2022 and Visual Studio Code, 6th Edition https://smile.amazon.co.uk/dp/1801077363/ref=cm_sw_r_apan_glt_i_M630B3MG29RGRZMQXPC9
I just started powering through this: C# 10 and .Net 6
I’m not up to that content yet though so someone else will need to vouch for the quality of that section - but it looks like this book comes out every year!
I’m using it to get across the language and prepared to do some .NET MAUI stuff later this year.
I am in the process of learning C# and .NET, too, and I bought this book https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363/ref=sr_1_1
I was recommended this book a lot and it's updated to the latest version of .NET, C# and Visual Studio 2022.
It's well written and covers a lot of areas.
I'd always go with Big Nerd Ranch books regarding Obj-C. The language didn't have any large changes lately, so dated is no problem. As soon as you know the basics, Swift is easily translatable to Obj-C (or the other way round).
Here is one Big Nerd Ranch book, but maybe there is a more current:
https://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/032194206X
I checked it on Amazaon and a best review is saying that its somehow stuck in .NET5 ways.
Is that true?
https://www.amazon.com/gp/product/1801077363/ref=ox\_sc\_act\_title\_1?smid=ATVPDKIKX0DER&psc=1
Ooh! I was just looking online for this. I'm looking at:
This. It also doesn't help that Microsoft keeps changing the names of things. The original .NET is now called .NET Framework, and will be something in the 4.x range. .NET Core is now just called .NET (for max confusion) and has its own numbering system that started at 1 and is now at 6.
Under the hood they're similar-ish technologies. The language is the same, you'll be writing C# either way. What's different is some of the details of the underlying framework. You can learn either/or or both and be marketable. Most books and such end up covering a bit of both, so honestly I'd say just start by learning .NET 6 and backfill any knowledge you end up needing. MVC exists in both, that's a development pattern not a specific technology.
The Packt book is really good, and goes over a lot of this stuff starting with fundamentals. https://www.amazon.com/10-NET-Cross-Platform-Development-websites/dp/1801077363
> Functional Programming is a paradigm. To that, we can add states to create imperative and message passing to create OOP. Each has its own use. But why teach them separately?
https://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695
Concepts, Techniques, and Models of Computer Programming by van Roy and Haridi really leveled me up as a programmer in general. I had the same experience with this as I have seen people have with SICP. Not necessarily for game programming specifically, but it helped me with programming in general.