I've been working on an app for a whole year+! Over a year! Am I just stupid or is this stuff difficult... (don't answer that!)
Could be. But stupidity is chronic only as long as you don't discover the simple parts you thought you knew but didn't. It only SEEMS difficult as long as there are one or more of those undiscovered (on your part) concepts you don't fully understand.
Time Machine is based on Subversion? Is there any source for this? I checked Google and the only thing I could find was some guy in 2006 speculating that it uses Subversion.
Don't worry, this is NOT the case. Seeing as subversion is really for dealing with plain-text.
Ah, silly me. Here I was thinking the end-user was the chump who buys the apps.
I'm not sure if your comment is sincere, but the end user for a product relates to those who are its customers, not how the product can produce other products for other customers.
I'm not sure if your comment is sincere, but the end user for a product relates to those who are its customers, not how the product can produce other products for other customers.
No. I was being sincere. As a developer I just had stuck in my mindset my own end-users. I don't think it's a stretch to interpret the opening paragraph in such a way.
No. I was being sincere. As a developer I just had stuck in my mindset my own end-users. I don't think it's a stretch to interpret the opening paragraph in such a way.
Yeah, it's technically accurate, but I think changing "end users" to "developers" would make it more clear.
Any GUI editor in Eclipse can do that in a split-pane like view, it's not new at all.
They are doing something slightly different in Xcode 4, it looks like a traditional split pane view, but doesn't behave like one. Anyway, watch the videos.
Quote:
Originally Posted by Joe hs
do apple use Xcode to write their own apps? (OS X, iOS, Windows)
Yes for OS X and iOS (and they have done for years and years). No idea about Windows dev.
Xcode 4 is a HUGE update and has probably been long in development. Yes, everything has been unified into a single window, but it looks like Apple has really put key focus on navigating your project files and getting the info you need as easily as possible or automatically. I really can't wait to get my hands on it!
According to one of the developer videos LLVM compiled code executes significantly faster than GCC so for the person who asked, Xcode 4 highlighting, code completion, etc is all run by LLVM.
I'm not sure if these lines conflict with the NDA and I don't have much first hand experience yet.
Here my first impressions.
RAD is a double-edged sword. You are fast in initially creating major parts of our project, but you often have to spend much more time in refining it and eliminating bugs or performance issues. So RAD mainly addresses the initial project phases while pointing you to other mechanisms and tools when leaving the draft-phase.
Of course there are some welcome RAD features that help to create, edit, modify and review your code, but the biggest difference is that all code serves as "knowledge", as base for the following project-phases.
For every phase there is an optimized integration of tools for debugging, unit testing, performance and memory optimization (leaks), revision control, deployment etc. managed by seamless workflow integration.
This reminds me of best-practice phase based rapid prototyping in the automotive industry.
So it's not just better code-completion. The LLVM compiler and LLDB debugger are integrated in the process and are providing their information.
Because the compiler knows what is allocated, code-completion can not only suggest what's possible but that what's useful. If the object You want to use doesn't show up, you haven't implemented it properly.
Because the compiler knows what's going on and "telling" it to the debugger and other tools you get much more detailed information e.g. about the behavior of parallel threads, memory consumption etc.
I think the additional tools can do a much better and better integrated job while the new IDE provides a "live" code and project state, pointing to known problems and providing the tools in place to resolve them.
Coming from other IDE's I welcome the adjustments on XCode 4.
I don't think it's so much about replicating others features but those features are the result of a new approach on optimization the complete development, production and deployment cycles while LLVM representing the foundation.
I've been working on an app for a whole year+! Over a year! Am I just stupid or is this stuff difficult... (don't answer that!)
Probably neither.
You just aren't experienced with programming (or with that kind of programming).
You can make simple fart apps in a day (or a couple or hours) and you can make a full-featured but limited in scope app in half a year (say, a twitter client like Twitterific).
But there are also complicated apps that require many man-years (that is, a team of programmers) to complete. E.g. you can't just make a full-blown 3D game to compete with EA by yourself (except if you are John Carmack).
The code editor in XCode has always been fine, except that autocomplete doesn't work like you'd expect (hint: Bash, Eclipse and Visual Studio all use TAB).
Hint: no, it's not the keybinding for the autocomplete.
It's the selection, presentation and ordering or possible completions that lacks in XCode.
Quote:
Originally Posted by ascii
The confusing part has always been the build system. It doesn't use the standard concepts/terminology. For example it refers to a build script as a "target." Which is a little too nouny for a processy thing.
Builds have been called "Build targets" since, I dunno, the seventies...
Quote:
Originally Posted by ascii
And don't get me started on the search and replace. A hundred options no one cares about.
Oh, trust us, we do.
So, to recap, your gripes with a full blown IDE are:
1) does not use the keybinding you'd like for autocompletion.
2) Calls "builds" "targets".
3) Too many search and replace options.
4) Ugly preferences Window (ever seen Eclipse or NetBeans preference window?).
It must be a hell of a great program then, or you judge way too superficially.
Now the XCode editor finally catches up to Visual Studio, Eclipse, and Netbeans. The code completion and debugging was inferior to those IDEs. Now Apple is applying a formula that works, which is the single window view of the other IDEs.
Still, they managed to also come up with at least one brand-new idea. The code and GUI side-by-side view is something I haven't seen, but is a fantastic idea.
Not new at all. The Lotus Designer tool has this type of interface, and has for years. It's a very intuitive interface in a three pane view, with app events and objects in the left, the GUI in the top right pane, and the code in the bottom right. I'm VERY happy that they've done this. I was having a very hard time adapting to XCode as everything I seemed to need was somewhere else in the GUI. This is a very welcome change.
Although I find adapting to C very easy, I'm having a horrible time of it trying to figure out how to link GUI to code, where it was dead simple in the Lotus Designer. Hopefully this will make things easier. I can't stick in a command prompt for my code forever and now that I've branched out, I'm getting lost.
Comments
I've been working on an app for a whole year+! Over a year! Am I just stupid or is this stuff difficult... (don't answer that!)
Could be. But stupidity is chronic only as long as you don't discover the simple parts you thought you knew but didn't. It only SEEMS difficult as long as there are one or more of those undiscovered (on your part) concepts you don't fully understand.
Even in the current released version there is a "all in one" mode.
No there is not. Xcode has a single window view for itself, but that doesn't to the totally separate "Interface Builder".
Time Machine is based on Subversion? Is there any source for this? I checked Google and the only thing I could find was some guy in 2006 speculating that it uses Subversion.
Don't worry, this is NOT the case. Seeing as subversion is really for dealing with plain-text.
Is there a bit missing in the article about how it relates to end users? Interesting article nonetheless.
Seeing as how the "end users" of Xcode are going to be developers it relates entirely to them.
IB built into Xcode? Well it's about damn time it was rolled in.
Never liked the old instruments, so any change is for the better IMHO.
I use Subversion now and it works transparently and perfectly.
I can't wait to try it out, but not until I've done the next release...
As iOS is somewhat related to development on the iPhone family of devices. I thought this article about it might be of interest:
http://www.tipb.com/2010/06/14/ios-4-walkthrough/
Superb link. Thanks.
Seeing as how the "end users" of Xcode are going to be developers it relates entirely to them.
Ah, silly me. Here I was thinking the end-user was the chump who buys the apps.
Ah, silly me. Here I was thinking the end-user was the chump who buys the apps.
I'm not sure if your comment is sincere, but the end user for a product relates to those who are its customers, not how the product can produce other products for other customers.
I'm not sure if your comment is sincere, but the end user for a product relates to those who are its customers, not how the product can produce other products for other customers.
No. I was being sincere. As a developer I just had stuck in my mindset my own end-users. I don't think it's a stretch to interpret the opening paragraph in such a way.
No. I was being sincere. As a developer I just had stuck in my mindset my own end-users. I don't think it's a stretch to interpret the opening paragraph in such a way.
Yeah, it's technically accurate, but I think changing "end users" to "developers" would make it more clear.
Any GUI editor in Eclipse can do that in a split-pane like view, it's not new at all.
They are doing something slightly different in Xcode 4, it looks like a traditional split pane view, but doesn't behave like one. Anyway, watch the videos.
do apple use Xcode to write their own apps? (OS X, iOS, Windows)
Yes for OS X and iOS (and they have done for years and years). No idea about Windows dev.
According to one of the developer videos LLVM compiled code executes significantly faster than GCC so for the person who asked, Xcode 4 highlighting, code completion, etc is all run by LLVM.
Here my first impressions.
RAD is a double-edged sword. You are fast in initially creating major parts of our project, but you often have to spend much more time in refining it and eliminating bugs or performance issues. So RAD mainly addresses the initial project phases while pointing you to other mechanisms and tools when leaving the draft-phase.
Of course there are some welcome RAD features that help to create, edit, modify and review your code, but the biggest difference is that all code serves as "knowledge", as base for the following project-phases.
For every phase there is an optimized integration of tools for debugging, unit testing, performance and memory optimization (leaks), revision control, deployment etc. managed by seamless workflow integration.
This reminds me of best-practice phase based rapid prototyping in the automotive industry.
So it's not just better code-completion. The LLVM compiler and LLDB debugger are integrated in the process and are providing their information.
Because the compiler knows what is allocated, code-completion can not only suggest what's possible but that what's useful. If the object You want to use doesn't show up, you haven't implemented it properly.
Because the compiler knows what's going on and "telling" it to the debugger and other tools you get much more detailed information e.g. about the behavior of parallel threads, memory consumption etc.
I think the additional tools can do a much better and better integrated job while the new IDE provides a "live" code and project state, pointing to known problems and providing the tools in place to resolve them.
Coming from other IDE's I welcome the adjustments on XCode 4.
I don't think it's so much about replicating others features but those features are the result of a new approach on optimization the complete development, production and deployment cycles while LLVM representing the foundation.
I'm currently watching the dev videos.
Where are the videos located?
I've been working on an app for a whole year+! Over a year! Am I just stupid or is this stuff difficult... (don't answer that!)
Probably neither.
You just aren't experienced with programming (or with that kind of programming).
You can make simple fart apps in a day (or a couple or hours) and you can make a full-featured but limited in scope app in half a year (say, a twitter client like Twitterific).
But there are also complicated apps that require many man-years (that is, a team of programmers) to complete. E.g. you can't just make a full-blown 3D game to compete with EA by yourself (except if you are John Carmack).
The code editor in XCode has always been fine, except that autocomplete doesn't work like you'd expect (hint: Bash, Eclipse and Visual Studio all use TAB).
Hint: no, it's not the keybinding for the autocomplete.
It's the selection, presentation and ordering or possible completions that lacks in XCode.
The confusing part has always been the build system. It doesn't use the standard concepts/terminology. For example it refers to a build script as a "target." Which is a little too nouny for a processy thing.
Builds have been called "Build targets" since, I dunno, the seventies...
And don't get me started on the search and replace. A hundred options no one cares about.
Oh, trust us, we do.
So, to recap, your gripes with a full blown IDE are:
1) does not use the keybinding you'd like for autocompletion.
2) Calls "builds" "targets".
3) Too many search and replace options.
4) Ugly preferences Window (ever seen Eclipse or NetBeans preference window?).
It must be a hell of a great program then, or you judge way too superficially.
Now the XCode editor finally catches up to Visual Studio, Eclipse, and Netbeans. The code completion and debugging was inferior to those IDEs. Now Apple is applying a formula that works, which is the single window view of the other IDEs.
Still, they managed to also come up with at least one brand-new idea. The code and GUI side-by-side view is something I haven't seen, but is a fantastic idea.
Not new at all. The Lotus Designer tool has this type of interface, and has for years. It's a very intuitive interface in a three pane view, with app events and objects in the left, the GUI in the top right pane, and the code in the bottom right. I'm VERY happy that they've done this. I was having a very hard time adapting to XCode as everything I seemed to need was somewhere else in the GUI. This is a very welcome change.
Although I find adapting to C very easy, I'm having a horrible time of it trying to figure out how to link GUI to code, where it was dead simple in the Lotus Designer. Hopefully this will make things easier. I can't stick in a command prompt for my code forever and now that I've branched out, I'm getting lost.