Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

A question about learning coding/development - A or B method

  • 12-07-2017 9:24am
    #1
    Registered Users, Registered Users 2 Posts: 792 ✭✭✭


    Talking about Swift here, and granted a mixture of both is best, but which do you think it's better to dedicate more time to;

    A - focus on building as many apps as possible, repeating steps over and over again - eg simple games, messaging apps etc. 
    B -  focus on learning the concepts first - eg learn about Delegates, Closures, functions etc before building apps.  

    Benefit of A - you actually build stuff, keeps it interesting. Although you may not know how everything works, you have a product, and over time the coding process should filter in and stick. One drawback is obviously you don't know 100% how the block of code works, just a rough idea.

    Benefit of B - you get in depth knowledge of the coding process and learn the language. Drawbacks are this is slow, you don't actually make any products/apps, and you can lose interest. 

    When you're first building an app, is there more of a focus on just getting the chunk of code that does the job  and copying and pasting it? (eg a function that brings up a menu when a button is tapped),

    Or do you write it from scratch and understand all the different parts. 

    A lot of the courses I'm doing online, focus on the B route; learning intricacies of the block of code or concept (eg Delegates). This is great, I feel like I need a walk though. However, this is quite slow and can be mentally exhausting.


Comments

  • Registered Users, Registered Users 2 Posts: 18,272 ✭✭✭✭Atomic Pineapple


    B, always B, if you find it boring then just create something a bit more substantial in your own time using the recent concepts you learned recently.


  • Registered Users, Registered Users 2 Posts: 792 ✭✭✭parc


    Thanks! I've been pretty much going the B route so far


  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    A mix of both is best. B on it's own is useless, how would it give you "in depth knowledge of coding process" without doing any coding!?


  • Registered Users, Registered Users 2 Posts: 792 ✭✭✭parc


    What I mean is

    B - this way trundles through the concepts - eg Udacity courses on Swift Syntax, and UIKit. You do build apps in these courses but it's a slow process. Maybe three courses to start with - like outlets/actions, functions, delegates - before making an app that uses these concepts.  

    Whereas...

    A - this way guides you through an app, from start to finish. So you build it, and the tutor might say "here's a delegate, you don't need to know how this works, just know that it allows you to change the functionality of a button" for example. 

    I find the A method way more enjoyable tbh


  • Registered Users, Registered Users 2 Posts: 792 ✭✭✭parc


    I had another question...so when building an app, is it normal for you guys to say...hmm I forget/don't know the block of code that brings up that data table, let me just go and copy and paste it from the internet.

    Or would you look to type it out from scratch?

    (This is probably a weird question, but I'm just wondering if you take shortcuts or do you make yourself type it out to learn it?)


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    Always shortcuts for real work. Only unproductive people/noobs would write from scratch. If you are doing something to learn then sure write it yourself, otherwise use a library.

    #1 rule = don't reinvent the wheel

    There is too much to learn in modern technology, no way someone can learn it all. Are you gonna go learn advanced mathematics or will you just call a function out of LAPACK?


  • Registered Users, Registered Users 2 Posts: 792 ✭✭✭parc


    Good to know thanks

    I'm doing a few courses at the minute. I'm onto UIKit fundamentals on Udacity, and I hate it. It was going pretty well, but the course has reached a stage where the instructor basically tells you to read the documentation to build an app

    ie
    "You need to make the keyboard disappear, so read the documentation here and do that"

    I understand that a big part of developing is reading documentation, but it's a horrible way to teach. They don't even give a walk through explanation afterwards.


  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    Yeah noone likes reading docs. Much easier when there is someone around to give you tips, or an example to copy/paste.

    A running joke in industry is that noone ever reads the docs :)


  • Registered Users, Registered Users 2 Posts: 11,264 ✭✭✭✭jester77


    Do both in parallel. As you learn something new just refactor it into the app.

    Just doing A you will not learn how to do something properly. Just doing B will result in your forgetting most of what you learned. By doing both, you will see where you can improve your app and can apply your learnings right away.


  • Registered Users, Registered Users 2 Posts: 10,746 ✭✭✭✭maccored


    depends on the personality. Personally, I'd go for A primarily, with a bit of B thrown in for good measure - but I'd find A more interesting. Obviously other people like to learn as much first before trying anything practical so I'd focus first on the option you are first drawn to and work from there, incorporating as much as of the other as you see fit as you go on.


  • Advertisement
Advertisement