Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Which Dev Environment?

Which Dev Environment?
Thread Tools
Fresh-Faced Recruit
Join Date: Feb 2003
Location: CA
Status: Offline
Reply With Quote
Feb 8, 2003, 08:11 PM
 
Hi, I'm new to Mac development.
Which development environment is the most popular for professionals? Any suggestions? I'm a Windows app developer and trying to get into Mac development.

Thanks
     
Mac Elite
Join Date: Jan 2003
Location: Evansville, IN
Status: Offline
Reply With Quote
Feb 8, 2003, 10:23 PM
 
Cocoa + Project Builder.

www.apple.com/developer/

work: maczealots blog: carpeaqua
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Feb 8, 2003, 10:24 PM
 
Welcome from out the darkness you have come.

Their is such a huge choice of development tools used by all kinds of "professionals" on the OSX.

All depends on your language of choice. Being a windows developers I would suspect you are VB orientated. But here is my short list of IDE's for OSX.

ANSI-C
- Command Line Compliers
- Code Warrior
- Project Builder
- Emacs
- Eclipse Platform

C++
- Command Line Compliers
- Code Warrior
- Project Builder
- Emacs
- Eclipse Platform

Carbon
- Code Warrior
- Project Builder

Objective-C
- Command Line Compliers
- Project Builder

Java
- Project Builder
- Emacs
- NetBeans
- JJedit
- Jedit
- BlueJ
- Sun Studio ONE
- IBM Jikes Compiler
- GNU Java Compiler
- And many more then I could ever use
- Eclipse Platform

Real Basic - VB for the Mac
- Real Software ?? Not exactly sure

Shell programming
- Emacs
- BBedit

C#
- Command Line compiler from MS
- their is also a OSS Linux project that should work fine on OSX - Love UNIX.

Lets not forget with access to X86 applications many other UNIX IDE's must also avaible to use.

Their are no clear big single IDE's for the Mac people work differently and have different needs.

But the most Popular are Project Builder for Cocoa-Objective-C - Java - Carbon. NetBeans for Java. The Eclipse Platform is also becoming popular I believe. Basic is not very popular on the Mac for assorted reasons. The Darling Languages are Cocoa Objective-C, followed by Java, I am not sure about the rest.

If any one else has more IDE's - Compilers - Languages to add please enlighten.
     
Fresh-Faced Recruit
Join Date: Feb 2003
Location: CA
Status: Offline
Reply With Quote
Feb 8, 2003, 10:47 PM
 
I'm curious that you mentioned C#. So MS actually has a compiler for Mac OS X ready? Did you ever try that? I know C#, so if I can code in C#, it would be a great advantage for me.
     
Dedicated MacNNer
Join Date: Nov 2000
Status: Offline
Reply With Quote
Feb 8, 2003, 11:53 PM
 
Shared Source CLI 1.0
It doesn't support winforms for GUI creation though. It should be possible to write native GUI applications if you wrap the Carbon APIs by using PInvoke.
     
Fresh-Faced Recruit
Join Date: Feb 2003
Location: CA
Status: Offline
Reply With Quote
Feb 9, 2003, 12:28 AM
 
Originally posted by int69h:
Shared Source CLI 1.0
It doesn't support winforms for GUI creation though. It should be possible to write native GUI applications if you wrap the Carbon APIs by using PInvoke.
Huh, that's interesting. Well, I guess it's got a long way to go. Well then for now, which is the best development environment? One of the replies says it's Carbon + Project Builder. I would like to hear more opinions.

Thanks!
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Feb 9, 2003, 01:40 AM
 
Well then for now, which is the best development environment
Their is NO BEST development environment, was my core point. But if you were to ask most People on this board. Most will go with Objective-C and Project Builder. Fun Simple, and quick to make some cool OSX only apps.

I prefer Java and what ever IDE you like to go with it, I would fall into the second largest number of developers on these boards. Java you either love or loath, the loathing for Java comes from those who do not understand, the genius of the beast called Java. Yes Java has its warts. javascript:smilie('')

I think the third largest group would be Carbon, which is mostly only use for legacy OS9 application porting, very view new apps are being written in Carbon, Might be wrong but I think I am on the ball.

If you know C# better go to Java syntax is almost the same, Objective-C is however easer to learn people say, but syntax is a little different from C# and Java.

C# on anything but Window is frankly delusional, it will never have full MS support, porting it was a token gesture. So I feel.
     
Senior User
Join Date: Nov 2001
Location: State of Denial
Status: Offline
Reply With Quote
Feb 9, 2003, 02:15 AM
 
It depends on what you're trying to write, really...You're not going to want to use C# or Java, for example, if you want to write native Mac OS X-only apps...
[Wevah setPostCount:[Wevah postCount] + 1];
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Feb 9, 2003, 02:44 AM
 
write native Mac OS X-only apps
Why write native if you can port, portability is very important for many developers. Also the Java is not native argument is tiresome. Yes it run's in a VM, but VM's are the way of the future their will come a day when ever language will only run in a VM.

Who want's to mess with allocation and de-allocation of memory. Why do you think Java is the most popular language in the world today, and why MS used a VM for C#.

Java is a Framework in OSX, that means that Apple values it enough to integrate it into the OS, currently no other OS does this with Java.

Also before you bring up the GUI speed issue in Java this has been completely addresses by Apple in its upcoming Java 1.4.1 implementation. Join the ADC and take it for a spin, you will have to really ask yourself if Java is slow.

Languages are tools, each has their strength and drawbacks.

The question you should ask what are you objectives, and what kind of Application do you want to build?

Language choice boil down to politics, not absolute facts.
     
Mac Elite
Join Date: May 2002
Status: Offline
Reply With Quote
Feb 9, 2003, 03:35 AM
 
Cocoa + Project Builder is my favourite environment, but I'm using pure Java for my current project, mainly for portability. It runs fine under OS X, using the 1.4.1 VM.
[vash:~] banana% killall killall
Terminated
     
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Feb 9, 2003, 04:22 AM
 
Originally posted by depolitic:
Why write native if you can port, portability is very important for many developers.
A "native" feel is very important to many Mac users. And I'm not just talking speed. This is why you see so many Cocoa worshippers who are convinced that everything written in Carbon is just a dirty hack. Granted, these folks are going overboard, but they do reflect real concerns people have--they want applications to feel native and to have an easily recognizable interface.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Feb 9, 2003, 05:22 AM
 
A native feel is I will agree missing from many Java applications. This is not the fault of Java, well maybe the complexity of Swing has contributed, however, it is possible to write attractive Java applications. It is a matter of having common sense, following some user interface guide lines.

It was once noted that Java had some great developers just not many great designers.

The problems I see with Java interfaces are as follows.

1- Overly complex logic in layout and functionality. 5 radio button instead of one pull down menu. 30 tabs all one on top of the others.
2- Objects are usually bunched up with no space - that why interface builder gives you those space guides. Empty space is good for an interface.
3- Developers tend to use flow layout, thus the interface just look silly as thing flow and bend around the place.
4- Icons - Sun give away these OK 32-bit icons java developers can use for their applications but on OSX with its 128 bit icons they just look like crap.
5- Java Developers are always trying to copy Windows interface. Now that an OS that I will not be taking GUI tips from.
6- Java developers set the default Look and feel to Metal or some other specific Java feel.
7- The bloody menu bar, always attached to the rest of the application window.
8- Really silly design ideas that do not work, like were people have radio buttons in a pulldown menus - did any one say stuppied.

All these points make make Mac users complain rightly about Java Look and Feel.

Thus I am currently working on developing a Pure Java application that will abide by the Apple interface guidelines. I have so far duplicated the ToolBar, in part, with many of the functionality that Cocoa applications have like small and large icon size, and view icon or icon with text or text only in the tool bar.

As I am learning as go, it will take time but I am making progress. If any one is willing to contribute, it would be most welcome

The rest will come in time, I hope in time release the GUI code so that others may improve, and use it in their own applications.

In short Look and Feel problems are not Java's doing it is shoddy developers, who do not bother to follow the standards.

We never know maybe us Java Mac developers can show those PC users a thing or two about interfaces.

Having said all that it is still possible to build really bad interface in Cocoa, it is harder you have to try, but it can by done.
     
Senior User
Join Date: Nov 2001
Location: State of Denial
Status: Offline
Reply With Quote
Feb 9, 2003, 07:33 AM
 
Originally posted by depolitic:
Why write native if you can port, portability is very important for many developers. Also the Java is not native argument is tiresome. Yes it run's in a VM, but VM's are the way of the future their will come a day when ever language will only run in a VM.
I disagree. It may be "the way of the future", but that doesn't stop it from being slow and wasting my resources.
[Wevah setPostCount:[Wevah postCount] + 1];
     
Senior User
Join Date: Nov 2001
Location: State of Denial
Status: Offline
Reply With Quote
Feb 9, 2003, 07:39 AM
 
Originally posted by depolitic:
Who want's to mess with allocation and de-allocation of memory. Why do you think Java is the most popular language in the world today, and why MS used a VM for C#.
I do. I am willing to make that sacrifice in return for the gains in performance. Also, memory management in Objective-C is very easy.

Originally posted by depolitic:
Java is a Framework in OSX, that means that Apple values it enough to integrate it into the OS, currently no other OS does this with Java.
Everything I read points to the fact that Apple only did this to appease Java developers considering moving over to OS X.

Originally posted by depolitic:
Also before you bring up the GUI speed issue in Java this has been completely addresses by Apple in its upcoming Java 1.4.1 implementation. Join the ADC and take it for a spin, you will have to really ask yourself if Java is slow.
When run in a VM bridged to cocoa, it will be slower than Objective-C or C++ or whatever that's compiled into native code, like it or not.

Originally posted by depolitic:
Languages are tools, each has their strength and drawbacks.

The question you should ask what are you objectives, and what kind of Application do you want to build?
No argument here. I thought that was what I said up there? I don't recall ever saying "porting is bad" or anything of the sort.

Originally posted by depolitic:
Language choice boil down to politics, not absolute facts.
That kind of contradicts your previous paragraph, but whatever. Granted, politics are a major factor. But they aren't the only one.

(Sorry about breaking this into two posts.)
[Wevah setPostCount:[Wevah postCount] + 1];
     
Fresh-Faced Recruit
Join Date: Nov 2002
Location: Sydney Australia
Status: Offline
Reply With Quote
Feb 9, 2003, 10:00 AM
 
I do. I am willing to make that sacrifice in return for the gains in performance
Most developers are however not willing - Low lever programming has its place. However as IT projects get more complex one of the major objectives of programming is to engage in safe programming VM's give you that safety. Most C++ and C projects fail because of memory leaks, I once read.

Everything I read points to the fact that Apple only did this to appease Java developers considering moving over to OS X.
If that is true it is working. OSX is becoming the darling platform of java Developers. Making it a framework also showed commitment to java by Apple and it improves performance. So it is also a practical point having it as a framework.

it will be slower than Objective-C or C++
Yes it will be slower, but by what fraction slower? We are talking microsecond here and their. Not Hours or days slower. The other benefits are worth this small and YES diminishing price, of any VM language.

That kind of contradicts your previous paragraph
True, it does, programming languages are tools at the end of the day. However our choice of tools are as fickle as our tastes in Music or brand clothing. Is Mozart better then the Beetles? I think we must just be aware of why and how our what I call politics shape our choices.

In all honesty my politics, is based on greed. I choose Java not because it was a "Better Language", I choose it because it was not by Microsoft, it is in fact diametrically opposed to the MS way in terms of its developer culture. But back to the point of greed, Java is huge, it is going to stay huge, and maybe even get bigger, its slowly eating away at C++, and VB in many places, all this means that their is going to be lots of project's developed in Java, and employers who will pay fat sum of money for good Java developers. Show me the money. I made the mistake once of backing a low appeal language, I will not say which one. But in a country as IT small as Australia, their is just not enough work for boutique languages. In the US it may different, you could make a good living from say doing RUBY but not here in OZ.

Ask yourself, is Mozart better then the Beetles?
     
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Feb 9, 2003, 10:02 AM
 
Originally posted by Wevah:
I disagree. It may be "the way of the future", but that doesn't stop it from being slow and wasting my resources.
*cough* What about OS X? *cough*
     
Fresh-Faced Recruit
Join Date: Feb 2003
Location: CA
Status: Offline
Reply With Quote
Feb 9, 2003, 03:11 PM
 
C++
- Command Line Compliers
- Code Warrior
- Project Builder
- Emacs
- Eclipse Platform

I'm interested in C++ or Java. As far as the native look and feel, Windows has the same problem. In that sense, I would either use C++, C# or VB. I can see that Metrowerks (codeworrior) is having a promotion sale for $99. Is anyone using it? Or is it even worth buying it??
     
Fresh-Faced Recruit
Join Date: Nov 2002
Location: Sydney Australia
Status: Offline
Reply With Quote
Feb 9, 2003, 05:33 PM
 
CoderWarrior was the TOP IDE in OS9 for Macintosh development, and it still has allot of followers, I think its top selling point is that it is capable of cross-platform compiling, a new compile for every new platform. Plus support for C, C++, Carbon, and Java.

Used it under OS9, little more complex then I like, but I think you can get demo version, to try it out.

Since OSX however Apples project builder, has become more popular, because of its support for Cocoa, and because its free. But I would suspect that CoderWarrior was still better.

As a note, CoderWarrior was one of the first, or maybe the first 3rd part application to run on OSX natively.

You can write Objective-C++, I am told it is really good. I think that is how Safari is doen, using KTML written in C++. Then wrapping it in Objective-C++.
     
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Feb 9, 2003, 05:49 PM
 
Originally posted by mrburri:
You can write Objective-C++, I am told it is really good. I think that is how Safari is doen, using KTML written in C++. Then wrapping it in Objective-C++.
If you mean in CodeWarrior, you can do that with Project Builder/gcc too.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Mac Elite
Join Date: May 2002
Status: Offline
Reply With Quote
Feb 9, 2003, 09:02 PM
 
One good thing about CodeWarrior is that its compiler is very fast indeed - much faster than gcc.
[vash:~] banana% killall killall
Terminated
     
Fresh-Faced Recruit
Join Date: Feb 2003
Location: CA
Status: Offline
Reply With Quote
Feb 10, 2003, 12:53 AM
 
Originally posted by Gul Banana:
One good thing about CodeWarrior is that its compiler is very fast indeed - much faster than gcc.
Do you think it's worth going for CodeWorrior right now while they have $99 deal?

http://www.metrowerks.com/mw/default.htm
     
Fresh-Faced Recruit
Join Date: Jan 2003
Status: Offline
Reply With Quote
Feb 10, 2003, 10:06 PM
 
Originally posted by depolitic:
C++
- Command Line Compliers
- Code Warrior
- Project Builder
- Emacs
- Eclipse Platform

Java
- Project Builder
- Emacs
- NetBeans
- JJedit
- Jedit
- BlueJ
- Sun Studio ONE
- IBM Jikes Compiler
- GNU Java Compiler
- And many more then I could ever use
- Eclipse Platform
Which Emacs version is good? GNU Emacs or XEmac?
     
Dedicated MacNNer
Join Date: Nov 2000
Status: Offline
Reply With Quote
Feb 10, 2003, 10:43 PM
 
Originally posted by pnz999:
Which Emacs version is good? GNU Emacs or XEmac?
That question is almost like asking VI or Emacs?, SVR4 or BSD?, Protestant or Catholic?

FSF Emacs has Carbon and Cocoa based GUIs. I believe XEmacs only has an X11 based GUI at the moment.
     
Senior User
Join Date: Nov 2001
Location: State of Denial
Status: Offline
Reply With Quote
Feb 10, 2003, 11:19 PM
 
I want to make one thing clear: I never said that Java was a terrible language. All I am saying is that if I had to choose between Java and Objective-C for writing native OS X applications from scratch (or near scratch), I would choose Objective-C (see the chapter "Using Java with Cocoa" in Cocoa Programming for Mac OS X for some of my reasons and make your own decision...). Obviously, if you are building upon anothers work (or your own older work) and it is written in a particular language, it makes sense to continue using that language.

If what you're worried about is memory management as I was when I started (not that you are, though it was brought up), trust me, it is much nicer in Objective-C than C.

Edit: I also agree with the statement that debates about languages are like religious wars...though I am trying my best to not get evangelical about it. ;]
[Wevah setPostCount:[Wevah postCount] + 1];
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 08:46 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2