Objective c or Swift - Page 1
Forum section: electronics / general

author: Karamel
author_rank: Regular Contributor
timestamp: July 01, 2017, 11:18:26 pm
content: Hi,My question is not directly about electronics. I have, therefore, asked here.I must make an IOS software for iPhone. I am currently seeking and searching development platforms and languages. I found XCODE platform which is made by Apple and there are two languages option. Swift and Objective C.Someone says, swift is good, objective c is bad or vice versa.Someone says, Apple greatly supports swift.Someone says, Objective c old but good.Someone says, Almost all software companies switched to swift because of its future.Someone says, Objective c is detailed, swift is basic..........I am really confused about it. What should I do? Which language is better for me?I am asking it for someone who experimented both. Which one would you choose?Best Regards,Karamel

author: amspire
author_rank: Super Contributor
timestamp: July 02, 2017, 02:21:19 am
content: Probably an impossible question to answer. Both are good choices, Swift is definitely not basic in any way - it is a powerful language.It comes down to exactly what you want to program.If you write for IOS only, it will be very hard to port to Android in the future if app becomes successful, and you can instead look at some of the many cross platform options.Also if the app is mostly web based, it may be you can develop in HTML5/Javascript using one of the compatible development tools.Do you need to use 3rd party libraries or code solutions that you can find on the Internet? That may affect your choice.If you pick Swift, it will be good future-proof choice. It will be very capable and probably easier to learn. If you want to learn either Swift or Objective C, then it has to be something that you are prepared to invest a huge number of hours for probably at least a few years.If it is just a single app and you do not plan on becoming a regular programmer, look for the easiest way to solve that particular problem. It may even be that you can come up with a solution using a Python/Ruby/Lua interpreter running on IOS.

author: sokoloff
author_rank: Super Contributor
timestamp: July 02, 2017, 02:40:31 am
content: If you're only considering Swift vs Objective-C and you are new to the platform, start with Swift and don't look back.What amspire is suggesting is important to consider. Even within the Swift vs Obj-C debate, there's also a decision to make how much should be native iOS and how much should be web content (where the main logic of your app is on your servers, with a web-timed release for new features, rather than going through the App Store release process for everything).If you only need one app and don't expect/desire to become an iOS programmer, there are many outsourcing firms (both in high and low cost locations) that can do it much more quickly than you could possibly learn the platform.

author: Karamel
author_rank: Regular Contributor
timestamp: July 02, 2017, 02:23:40 pm
content: I understood that from your answers, you suggest to me swift.In industry or companies, what is percentage of using swift? Is it acceptable language? or bad lagnguge?

author: amspire
author_rank: Super Contributor
timestamp: July 02, 2017, 03:27:12 pm
content: Quote from: Karamel on July 02, 2017, 02:23:40 pmThere is no problem using Swift, but what we are saying is that it may not be the right solution. It may be the application does not need either - that is why I mentioned the HTML5/Javascript apps.Only learn Swift or Objective C if you really want to become a fairly full time IOS programmer.From my experience, you can learn enough in a month to program simple apps, but if you take a break from programming for 6 months, you may feel like you have to start learning again.Are you intending to be IOS programming almost every week for the foreseeable future?sokolof mentioned that it is not hard to get contractors to do the job, and quite often at a fraction of the cost that your time is worth. A job that may take you 3 months or more might be one weeks work for a good IOS programmer for a professional result. There are online sites where you post a job and programmers bid on them.

author: Karamel
author_rank: Regular Contributor
timestamp: July 02, 2017, 06:39:17 pm
content: I am just a student now and this is about my graduation project. Actually, I am at the side of IOS programming of project. I just wanted to learn better way because after graduation, maybe I can use this skill. Also, I am electric - electronics engineering guy.

author: brucehoult
author_rank: Super Contributor
timestamp: July 02, 2017, 08:00:11 pm
content: If you don't know either now, then learn Swift. They are both equally powerful, both are technically possible to run somewhere other than OSX/iOS (Apple open-sourced Swift) but practically not very useful elsewhere. But Swift is far newer, has learned many lessons from 30 years of experience with Objective C, and has far fewer annoying bodges to learn your way around. It's just a much much smoother, easier, and more logical experience to learn.

author: Karamel
author_rank: Regular Contributor
timestamp: July 02, 2017, 08:26:27 pm
content: You say that future is swift?

author: sokoloff
author_rank: Super Contributor
timestamp: July 02, 2017, 09:06:47 pm
content: Basically, yes.For a school project, 100% Swift (it's not even close, IMO).For industry work, still Swift in 99+% of the cases, but with an eye towards considering making part of your app web-based (so it updates automatically when you release new code on your web server).Objective-C is going to die off in prominence in the iOS world (/ already is).

author: Dan666
author_rank: Contributor
timestamp: July 02, 2017, 10:09:07 pm
content: Hi,I've never developed anything for iOS, but I am a developer myself (PHP mainly, with all the stuff that revolve around a website, SOLR, mysql, etc) and as you are doing a school project I'd say: go for the language that is used in the industry, at least you'll learn some of the pitfalls and tricks that can be reused once you enter the real world.It seems it is swift, then go for it. Maybe your question should have been: "is there any other language/framework which is more used in the industry and which it makes sense to learn". Still I don't know the answer to that question, I'll let people in that industry answer....

author: amspire
author_rank: Super Contributor
timestamp: July 03, 2017, 12:22:05 am
content: As a student, definitely go for Swift. It is an excellent crossplatform language. You can even do Android apps in Swift, but don't expect to take an IOS app code and have it run on Android without a lot of extra work.