Xcode is a nightmare!

Discussion in 'iOS Programming' started by moonman239, Mar 26, 2012.

  1. moonman239 macrumors 68000

    Joined:
    Mar 27, 2009
    #1
    I'm trying to develop an iPhone app, and let me tell you - to say it's a piece of cake is a HUGE overstatement. It's more like trying to assemble a big house with just a hammer, some wood, some nails and paint.

    Visual Basic is way easier. For example, in Visual Basic, writing an app where the user enters his name and gets a "Hello (name)" would basically be as easy as dragging a label object, a text field, and a button, naming them, then writing something along the lines of

    Code:
    Private Sub HelloButton_Tap()
    HelloLabel.Text = UserName.Text
    End Sub
    
    Compare that to Xcode, where you have to not only name the objects, but you have to create connections and designate the view as the delegate object and then write code that will display the user's name.

    This is exactly why I prefer not to learn Obj-C & Cocoa Touch. Yes, I know iOS programming is object-oriented, but Visual Basic is a heck of a lot more easy to develop programs in.

    Should I bother submitting my feedback to Apple? What do you think they would do?
     
  2. kayloh20 macrumors regular

    Joined:
    Apr 8, 2010
    Location:
    Chicago, IL
    #2
    Any object-oriented programming language is going to be the same...it's always going to be easier to make simpler applications in any of the basic languages than any of the higher ones.

    I'd actually challenge you to do the same thing only in Java...you'll find Xcode/Objective-C much easier.

    Actually, you don't have to set the UIView as a delegate...that's only if you want the return key to place the text, but from your code, it seems like you have a separate button. In this case, you just drag your text field, label, and button onto the screen. Drag the button twice into the code (one for property and one for action) then inside the method for your button, type in that one line of code you have and you're done.

    It's not really Xcode that's at fault. The requirements for naming and stuff is for every single object-oriented programming language. It's the whole point of objects, being organized and creating relationships. You sacrifice number of lines of code for that. (Just like how putting a pile of papers on your desk is easier and takes up less space than having to sort each of them into folders).

    You can submit your feedback, but I'm not sure what Apple can do to make it easier.
     
  3. KnightWRX macrumors Pentium

    KnightWRX

    Joined:
    Jan 28, 2009
    Location:
    Quebec, Canada
    #3
    Why are you comparing a 4GL environnement like Visual Basic to XCode/Objective-C exactly ?

    The fact that it is more "complicated" means it's also more flexible in what it allows you to do with it.
     
  4. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #4
    From the looks of it, you are comparing OLD VB to ObjC. Old VB is a procedural language. Newer versions of VB (VB.NET) are much more OO.

    So it might be a better compare if you'd compare the latest VB with ObjC.

    If you are comparing procedural to OO, basically procedural is not used any more for regular software. It might be used for embedded code devices / chips etc where code size is a huge limiting factor, but otherwise, OO is the new way of programming and it's here to stay.

    MS, Borland, Apple, Google, all the big guys have adopted OO. It's not going to change any time soon.

    You could go to MS and complain about .net ... not likely they'll change their direction.

    To quote Clinton... "I feel your pain..." I've been programming for decades, I've had to retool, relearn many times. It sucks, but it's the nature of the beast. It only really sucks at the beginning, after you get a good handle on things, it gets much better.

    Your feedback to Apple will not change anything.
     
  5. moonman239 thread starter macrumors 68000

    Joined:
    Mar 27, 2009
    #5
    Maybe I could get Apple to build an add-on API that can be used to build iPhone apps in the language a developer is most comfortable with. They just have to get used to building for a mobile device, i.e get used to Private Sub Button1_Tap() instead of Private Sub Button1_Click(). They would still be able to access everything a native Cocoa app would be able to access.

    Hopefully someday the iPhone will come to the point where anyone can develop a Webapp that is no different from a native app. Then a clever developer can take a computer programming language they're more comfortable with and build a toolkit so that others can build in app in that language.
     
  6. KnightWRX macrumors Pentium

    KnightWRX

    Joined:
    Jan 28, 2009
    Location:
    Quebec, Canada
    #6
    Yeah, really, there should be no learning curve to developing for a new OS with new frameworks. What you knew should apply straight away in an unmodified way. :rolleyes:

    Anyway, a lot of your commentary seems to stem from lack of knowledge about iOS. For example :

    http://developer.apple.com/library/...ry/GettingStarted/GS_iPhoneWebApp/_index.html

    http://xamarin.com/monotouch
    http://www.anscamobile.com/corona/
    http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html

    ----------

    Tons of open source software begs to differ. So does a lot of commercial stuff. Not everyone has embraced OO.
     
  7. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #7
    Actually there are programs out there that allow you to develop apps for the iPhone in .net or something else. Scripting, game engines, etc...

    Some of the downsides are that you are dependant on that product and them keeping up with the latest stuff, you are that much further from the machine.

    Right now, you can develop a website that works on the iPhone, depending on what you are looking to do, a website might suit your needs. But we are talking about two different things. Apps are different than websites.

    The system that Apple has setup works, it not without a few problems, app flooding, subjective review process... but it does work.

    I wouldn't count on Apple changing things just to make it backwards compatable with an older knowledge base.

    @Knight, you're 100% right, OO is not for everything or everyone.
     
  8. moonman239 thread starter macrumors 68000

    Joined:
    Mar 27, 2009
    #8
    I know about iPhone Webapps, and I also know that programs that allow iPhone app development in other languages do exist.

    What would be nice, however, is if those programs were listed in Xcode as extensions or as language interpreters. So if I installed VB.Net as an alternative language, Xcode could present me with a drop-down menu both when I create a new project and in the project settings that lets me choose what language to develop for. If I choose VB.Net, the programming interface might change to emulate the Visual Basic compiler's interface.
     
  9. KnightWRX macrumors Pentium

    KnightWRX

    Joined:
    Jan 28, 2009
    Location:
    Quebec, Canada
    #9
    Then ask your language/framework provider to integrate his templates into Xcode ? :confused:
     
  10. 1458279 Suspended

    1458279

    Joined:
    May 1, 2010
    Location:
    California
    #10
    I never like to get too far from the native lang or too far from the machine. About 2 years ago, I'd never even heard of ObjC. To me it's a bit awkward, but it's just a lang.
    If it keeps me close to the API and the machine, then that's what I'll use. The problem I see with using anything that's a go-between product, it that it could be dropped at any time, leaving you stuck.

    Right now, I'm learning Cocos2D, ObjC, and the API's as well as the tools to make apps. I know VB, C#, etc, but I choose to use what will be the most updated, supported products.

    It's really not that hard to get a working handle on a new lang or tool. I hated VB for a few months, back in 4.0 it was a sloppy lang. C++ was much better, but I dug in and got the job done.

    It's just a lang, nothing more. Why risk a slower app that might not be upgraded when a new API comes out, just to use VB? Not worth the risk. Stick with ObjC and you will be updated / supported.
     
  11. HannKett, Mar 26, 2012
    Last edited by a moderator: Mar 27, 2012

    HannKett macrumors member

    Joined:
    Feb 25, 2012
    Location:
    Europe
    #11
    I actually agree with you. Submit your feedback to Apple and maybe xcode 4.5 will move away from the MVC way of doing things to "auto-apps" press a button and shout at siri "name, right" "do something" and you will have created the next angrybirds.

    oh and by the way I find xcode to be the most awesome IDE ever to see the light of day (even if it is unstable and buggy ).
     
  12. kayloh20, Mar 27, 2012
    Last edited: Mar 27, 2012

    kayloh20 macrumors regular

    Joined:
    Apr 8, 2010
    Location:
    Chicago, IL
    #12
    I know that it's impossible to compare as everyone is different, but I think for the most part, it's easier and more beneficial for developers to learn the language rather than Apple to spend all that money and time developing and testing an extension to allow developers to use their own language to develop applications. After you learn an object-oriented language, the other OOP languages aren't that difficult to learn anymore. Much better than every single operating system with API building a VB plugin simply because developers don't want to move forward.

    Okay, it's one thing to stick to Java and prefer a Java to Objective-C plugin, given they're both OOP and essentially on the same "level". VB/Pascal/TrueBASIC/other aren't really the same as Java, Objective-C, and C++.
     
  13. dejo Moderator

    dejo

    Staff Member

    Joined:
    Sep 2, 2004
    Location:
    The Centennial State
    #13
    A good programmer must be able (and willing) to adapt to new ways of doing things. Heck, even within an API things can, and do, change and the ability to adjust to these changes only makes you stronger. If I had not learned to adapt, I would still be writing BASIC programs on a PET computer.
     
  14. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #14
    It's relative.

    Visual Basic and Visual Studio are a nightmare for anyone not knowing Windows and coming from Xcode or Linux and C.

    Apple would like to destroy Visual Basic.

    Try suggesting something more like Smalltalk instead.

    But you can check out NSBasic as a 3rd party solution for doing iOS HTML5 type apps in Basic.
     
  15. chrono1081 macrumors 604

    chrono1081

    Joined:
    Jan 26, 2008
    Location:
    Isla Nublar
    #15
    XCode a nightmare????

    No offense OP but honestly I think you just need to learn how to use it. Its a fantastic IDE and its very easy to set up (once you know what you are doing) iOS applications.

    I write my Maya plugins in XCode because it does a fantastic job of autocompleting the Maya API.
     
  16. elmo151 Guest

    Joined:
    Jul 3, 2007
    Location:
    NYC
    #16
    I agree. I gave it a try and gave up.:cool:
     
  17. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #17
    ... for those with weak minds and feeble persistance.

    OK maybe not weak minds. They could otherwise be great poets or composers or something.

    :)
     
  18. throAU macrumors 601

    throAU

    Joined:
    Feb 13, 2012
    Location:
    Perth, Western Australia
    #18
    Objective-C and xcode encourage/enforce the use of MVC. Model. View. Controller.

    It makes your code easier to re-use. Easier to port. Easier to interface with different languages.

    It means you give your code legible names, rather than "button1.onclick" or whatever crap the visual basic or VBA tools gives you.

    If you can't cope, maybe go back to writing crappy windows software? There's windows 8 mobile coming out, and plenty of windows machines out there.

    Yes it is more work up front. There are benefits. You don't end up with half your application logic residing in the user interface code, for example...
     
  19. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #19
    Objective C is a superset of ANSI C, and Xcode even allows even assembly language coding if desired. You don't have to use any models. You could even call Cocoa thru the runtime from procedural spaghetti C.

    Those who need to build their house out of individually placed atoms can do so. Objective C and Cocoa "allows" the use of some pretty cool prefab rooms for those who don't. Or anything in between.
     
  20. throAU macrumors 601

    throAU

    Joined:
    Feb 13, 2012
    Location:
    Perth, Western Australia
    #20
    You can write fortran-isms in any language too, but it doesn't mean that the tools encourage it.
     
  21. Sykte macrumors regular

    Joined:
    Aug 26, 2010
    #21
    No they will laugh then delete it.

    VB's inheritance based Polymorphism is horrendous. I challenge you to actually learn objective c and Xcode's interface then come back and make the same statement.
     
  22. samdev macrumors regular

    Joined:
    Sep 16, 2011
    #22
    You got to be kidding me.

    If you're unwilling to learn or accept new challenges, then no one in the real world will consider
    you for a job, even as a "Visual Basic" programmer. "Visual Basic" is something kids learn in grade school,
    so if you haven't even made it to college, then you have more important things to worry about.
     
  23. Zvon Eller macrumors newbie

    Joined:
    Oct 3, 2012
    #23
    Look for patterns in the code and development IDE. Development environments and OS quickly change, but the core concepts evolve. Once you learn more platforms and languages, the subsequent ones become easier. After a while you may be able to provide some useful feedback to Apple !
     
  24. lasash macrumors member

    Joined:
    Sep 15, 2012
    #24
    When I started to show interest in Mobile Apps, I started with the dumb jQuery Mobile framework, which was slow, buggy and amateur.

    Then, I advanced into Titanium Studio Framework, which I found to only give me JS API where I can't see where the objects are located graphically, so I ended up writing an app using WebViews only. It was still amateur.

    A month and a half ago, a friend of mine bought me iOS Programming: The Big Nerd Ranch Guide (3rd Edition) by Joe Conway & Aaron Hillegass.

    I started learning it and finished it by now. It was a huge struggle for me, coming from the environment of PHP, JS and MySQL, to learn the Objective C concept and state of mind.

    I almost gave up, and you can see that in my previous posts, where the great ppl in this forum encouraged me not to quit, so I didn't.

    I started reading online, in addition to reading the book, I watched YouTube tutorials (and let me tell you, there are tons of them), I googled everything, and then I recalled that this is how I learned PHP, jQuery etc.: by googling and asking questions.

    Now I am in the middle of my first app, and if you'd ask me two months ago, I wouldn't even image that I could create a native, pure app with a simple form that sends JSON data to a PHP code.

    Just don't give up. The alternatives out there don't even scratch the full potential of native apps.

    It can take you a month, a year or maybe two. But eventually, persistance is the key to success.

    Good luck!
     
  25. charlieegan3 macrumors 68020

    charlieegan3

    Joined:
    Feb 16, 2012
    Location:
    U.K
    #25
    Just thought i'd put my word in here too.

    I've used visual studio C# and C++ and find that they are much easier to get into than xCode is.

    I've not given up on xCode and there are things about it that are better but I still prefer Visual Studio.

    My favorite coding app is CodeRunner - wins my vote every time.
     

Share This Page