Imperative To Switch To Swift?!?

Discussion in 'iOS Programming' started by loon3y, Aug 11, 2015.

  1. loon3y macrumors 65816


    Oct 21, 2011
    I've been fighting tooth and nail with the senior developer/owner of our company.

    He developed with swift, which i advised against because it was a new language and unstable and constantly changing and getting updated.

    He brushed my concerns aside and said "if we don't go swift no we never will, it so much better and easier to code"

    But i really so no REAL need besides it being simpler to code.

    The fact is now, we always been over swamped with work, we don't even have time to take care of deprecated crap on our old versions of our source code for all of our apps.

    Now we have to update the swift everytime, nobody in our company knows swift besides this senior developer, who isn't experienced with swift anyways. As in he has a lot of experience in programming but when he's coding in swift he doesn't know what he's doing (memory leaks, problems in the future regarding core data migration, i mean a whole bunch of things)

    The only person who knows even a little bit of swift is a junior programmer who was a power builder programmer that was forced to learn swift. I do not trust this guy with anything.

    Right now its making a 1 min job of changing a logo and recompiling and uploading to the App Store or installing it on a device to a 2-4 day job.

    Because of extensive testing, We do E-Commerce/Order taking apps. So numbers have to be perfect, can't lose orders because of crashes, SHOULDN'T be crashing because OUR customers use this to take orders for THEIR customers, so if it crashes not only is it embarrassing for us, but its embarrassing for OUR customers.

    My question is is there any REAL benefit to swift. I suggested why not save swift for version 2.0, i really don't see the need and really worried about that stability of the app if we implemented swift.

    Common sense tells me NO from day one, Why are we implementing swift into our already existing source code that is stable that we are selling to our customers.

    Sometimes i need to do on field emergency installations, or maybe i have to test with a customers database that i haven't seen for 1 year.

    This delays everything, and when we update coding I'm afraid its gonna mess it up. Especially when

    1. we don't know swift.

    2. we don't have time to do a full test everytime swift gets updated

    3. there is just NOT enough HELP with swift i can find online. Its just extremely difficult. I was trying to find out and issue with Lightweight Core Data Migration with swift

    If we just sticked with OBJ-C it would never would of happened, no extreme need to update code (i can still compile)

    My Question is, is there a real need to go to swift? What the Senior developer says is "if we don't go to swift now, we never will"

    But if we do it on version 2, we eventually will. But right now we don't have the skills to program in swift nor the time to really learn it because of pending projects, modifications, bug fixing, and basic maintenance.

    It drives me crazy, because there are multiple versions of this ONE app because of the database differences between each customer.

    and to update each customer with the latest source code of our app is also as tedious because of the different databases they use (they have an older database and main system program (ERP))

    Regardless, i hate a huge discussion/argument and pointed out all these faults and he agreed to convert version 1 back to OBJ-C hesitantly.

    Am I wrong? Is there real use for swift right now? Because its just an extreme burden since we don't even have the time or man power to update swift.

    and things go wrong on the field like at the trade shows or showrooms, so we need to be able to make emergency fixes and installations and compile.

    Appstore uploads as well if theres a copyright issue with the logo. None of them we can address immediately because of this problem.

    I'm just really sick and tired of telling our customers "sorry" "this is going to take a week" "we can't do this right now"

    When its basic support that they SHOULD receive but we can't give it to them because of this swift issue. Its literally something in our control, because if we didnt go with OBJ-C we wouldn't have this issue in the first place and we can just have more time to allocate to more important tasks.
  2. 1458279 Suspended


    May 1, 2010
    There seems to be two camps on this issue and they seem to be digging in pretty quickly for such a new language.

    The facts are (as I understand them) that there is nothing that Swift does that ObjC can't do.

    The "easier" language part is overrated (IMO). All languages take an amount of time, but most everyone that's already in the process, has already gone thru the learning process, so the benefit (if any) is only for the NEW PROGRAMMERS.

    If you take spoken languages as an example. The US uses English (mostly). It's not without fault, but it's nearly a standard. We could switch to a new language and someone could argue that it would be better. Everyone could drop English and someday, the new language would have a benefit.

    However, this ignores the work to learn the language vs the benefit of the same work used to create more product.

    Another point is that the end used doesn't know the difference and attributes no value to what the product is written in. So the company invests in learning a new language that adds no value to the product.

    What I've found over the many years is that there is the science of programming and the business of programming. The business of programming will win in the end.

    If Swift were never developed, would apps today be better or worse in the eyes of the end user? Does anyone care what iOS, Android OS, Office, are written in? End users don't care.

    If you understand marketing, you would always have concern for your customers... if you don't, someone else will.

    Also, notice how the new language doesn't address cross platform issues. Notice how MS is trying to address cross platform issues. Maybe Apple is more concerned about directing developers AWAY from cross platform development than they are about improving things for the customer.

    Just like making the batteries hard to replace, it doesn't help the customer, it costs the customer more to replace the battery and make Apple more money.

    Ignoring the concerns of the customer is never a good thing in the long run.
  3. xStep macrumors 68000

    Jan 28, 2003
    Less lost in L.A.
    No, it is not imperative to move to Swift. At least not yet. I know of two L.A. companies with different attitudes about moving to Swift. The first one has been taking a wait and see approach. They are not in any rush to move to Swift and have considered the upstart time required for their developers. The second company has taken the approach that any new code will be done with Swift unless there is a good reason to stick with Objective-C. Their developers have fully bought in to the benefits of Swift.

    I have no idea why changing a logo should be a big deal for any app. It's just an asset that should be easily swapped out for a new one. The language used shouldn't have any affect on it.

    I can appreciate your concern of trying to edit a language you do not know. There are enough differences in the language and practices of using it that can throw you for a spin. It can be arduous trying to learn a new language while being pressured to get a quick fix for bugs. Being pulled out of your daily comfort zone under time constraints can be strenuous.

    My personal take has been to wait to dive into Swift. I didn't want to muck around with language changes that Apple announced would happen. I've watched all of Apples Swift videos, been attending the local Swift meetups and listening in on the Swift discussions at NSCoder nights. Sometimes I think the benefits are over hyped. Were developers really having huge bug issues that Swift helps resolve. Swift isn't a magic bullet.

    Last week I started a new small iOS project that uses 100% Swift. I'm tripping up of course but the idea for this phase is to simply learn the basics of Swift and it's version of the Cocoa calls. I'll dive deeper after the first pass of this project is completed. I need to learn about functional programming for instance and I'm sure that could change how I would structure this code.

    The reason I decided to now spend time on Swift is because I'm seeing more job ads requesting it. I also think with version 2.0 on the release horizon and Apple open sourcing it, we may be seeing a more stable language. Not that Apple won't change the language yet again, but perhaps those changes will be less dramatic. It will be nice to learn something new.

    Your post/rant suggests to me that you don't find the time to breath long enough to enjoy your accomplishments and pride in your work. That can't last long term. Perhaps you should look for a new company to work at.

    Since your company owner has bought into Swift, he should come up with a work schedule, or other means, that allows the rest of the team to use some work time to learn it. That will certainly cut into work that needs to be done, but somehow you'll need to catch up to his aspirations.

Share This Page