 |
 |
c# available for OSX
|
 |
|
 |
|
Mac Elite
Join Date: Mar 2001
Status:
Offline
|
|
|
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Nov 2002
Location: Sydney Australia
Status:
Offline
|
|
Be warned, that if we allow Microsoft, and its .NET solutions, to stick its head into the tent. Then you will never ever get rid of them.
I feel that we must all make a moral stand, and draw a line in the sand. That says enough is enough. If we all as individuals, all say a moral NO to Microsoft we as individuals may do that which our governments have failed to do for us, and to stop the infestation that has besieged our lives.
So say know to .NET and say no to all of Uncle Bill's poisoned bag of goodies.
Say Yes to:
- Open Standards
- Truly Cross-Platform Portability
- The right to say NO
- Vender Indipendant's
- Open Source
- and no to MS FUD
Open Pandoras Box, and we will never be able to close it.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2001
Status:
Offline
|
|
No need to overreact. It's just another language, so cool down. It isn't evil by definition just because it resides on a microsoft.com server.
And just in case you didn't notice, C# is an ECMA standardized language, and since implementations of the runtime are available on Windows, MacOS X and FreeBSD, this is cross-platform. Just by using the basic C# language and the basic .NET framework as available for MacOS X, you don't make yourself dependant on Microsoft in any way. Especially since GPL implementations of C# compilers and the runtime ara available too.
|
Stink different.
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Nov 2000
Status:
Offline
|
|
What do you guys think of that?
Move over, Cocoa. See ya later Java.
I don't think much of it, actually...
C#, from what I've heard anyway, is "ok". I see no reason (at least not yet) to learn C#. Cocoa and Java will still be used for a good time to come - regardless of how cool/useful/whatever C# is.
Obj-C(Cocoa is the API/Framework) and Java are proven languages. C# is still a youngin'. Give her a bit more time to mature and get back to me on what I think. As-is, she's jail-bait!
For me, personally, I'll use the tool that gets the job done. If that happens to be C# at some point, I don't much care. Bring it on, my belt has plenty of loops for new tools. 
|
|
|
| |
|
|
|
 |
|
 |
|
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status:
Offline
|
|
Originally posted by stew:
And just in case you didn't notice, C# is an ECMA standardized language, and since implementations of the runtime are available on Windows, MacOS X and FreeBSD, this is cross-platform. Just by using the basic C# language and the basic .NET framework as available for MacOS X, you don't make yourself dependant on Microsoft in any way. Especially since GPL implementations of C# compilers and the runtime ara available too.
Correct me if I'm wrong, but wouldn't "the basic .NET framework" be a Microsoft product, thus rendering you dependent on Microsoft?
|
|
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status:
Offline
|
|
Originally posted by Raman:
See ya later Java.
Riiiiight.... 
|
|
signatures are a waste of bandwidth
especially ones with political tripe in them.
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Sep 1999
Location: Ottawa, ON, Canada
Status:
Offline
|
|
C# was only released because MS discovered they couldn't get away with proprietizing Java - no thanks. I'm sticking with Java and Obj-C/Cocoa.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status:
Offline
|
|
Originally posted by mrburri:
Be warned, that if we allow Microsoft, and its .NET solutions, to stick its head into the tent. Then you will never ever get rid of them.
I feel that we must all make a moral stand, and draw a line in the sand. That says enough is enough. If we all as individuals, all say a moral NO to Microsoft we as individuals may do that which our governments have failed to do for us, and to stop the infestation that has besieged our lives.
So say know to .NET and say no to all of Uncle Bill's poisoned bag of goodies.
Say Yes to:
- Open Standards
- Truly Cross-Platform Portability
- The right to say NO
- Vender Indipendant's
- Open Source
- and no to MS FUD
Open Pandoras Box, and we will never be able to close it.
That's not a very productive position since your abstention only causes you pain - I assure you that Microsoft does not feel the affect of .0001% of their potential customers boycotting.
While we're on the topic - here's something to say "Yes" to: Proper Grammar/Spelling.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Sep 1999
Location: Ottawa, ON, Canada
Status:
Offline
|
|
Originally posted by absmiths:
That's not a very productive position since your abstention only causes you pain - I assure you that Microsoft does not feel the affect of .0001% of their potential customers boycotting.
While we're on the topic - here's something to say "Yes" to: Proper Grammar/Spelling.
True, but if you can influence other budding programmers, it can make a difference. If you, or someone you convince to stick with Java or Cocoa become the developer of the next killer app, you may decide to proudly proclaim "I made this in Cocoa on MacOS X", or "I made this in Java, because .NET is a big sham". Your statement could carry a lot of weight.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Norfolk, Va
Status:
Offline
|
|
Does C# and .NET have the incredible base of free functionality that Cocoa has? Cocoa has so many classes built in I almost never create anything...just recombine them. And with Apple integrating their apps into cocoa (Address Book, iSync), it's only getting better.
|
|
you are not your signature
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Jul 2002
Status:
Offline
|
|
Originally posted by Gametes:
Does C# and .NET have the incredible base of free functionality that Cocoa has? Cocoa has so many classes built in I almost never create anything...just recombine them. And with Apple integrating their apps into cocoa (Address Book, iSync), it's only getting better.
I programmed a few applications in C# for Windows before I bought my first Mac and switched to Cocoa. From my experiences, I can say that C# definitely has the same, if not more, "free functionality" as Cocoa has.
In fact, some of the APIs in C# simply have no counterpart in Cocoa. For instance, have you ever tried to do any serious XML processing with Cocoa? While there is a very obscure and hard to tame Carbon API available, C# comes with an excellent XML API with full support for the XML DOM.
Unfortunately, I'm not really happy with Mac OSX C#'s reliance on X and TCL/TK for creating graphical user interfaces. Has anyone compiled and installed it yet?
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by Gametes:
Does C# and .NET have the incredible base of free functionality that Cocoa has? Cocoa has so many classes built in I almost never create anything...just recombine them.
I make a living programming in C# (but only use Macs at home, I LOVE the MAC OS, especially OS X !!!). And trust me, what Microsoft has done with C# and the .NET framework is phenomenal. It is much more robust and extensible than the Cocoa Framework. Like or not, Objective-C is much more difficult to program in than C# is. And the Visual Studio.NET IDE is generations above Project Builder and Interface Builder. If you've done any serious programming in Visual Studio.NET you won't even begin to argue against it. Only those who have not experienced VS.NET will slam it out right. I wish you could simply "double-click" on a button in IB and have the skeleton code automatically generated for you in PB. The only thing I should have to code is the button's actions. I know some of you are going to say that you already do this, but you are wrong. It is MUCH simpler in VS.NET with C#.
One of the reasons you have so many people working on the Microsoft platform is because of the development tools. They rock! Microsoft steals all of the interface ideas from Apple and then makes it pretty darn easy for people to code them.
Apple has to give away PB and IB for free, for no one that has used this generation's development tools available in the WinTel world would pay the amount of money they used to pay for MPW and then receive a set of products like PB and IB. Sure they are good tools, but they are NOT GREAT or AWESOME. Use VS.NET for a day and you will see the difference. I love the Mac OS, just wish the development tools were a little more robust.
If I had ONE feature that I'd like to see implemented in Project Builder that would have the biggest impact, it would be INTELLI-SENSE with CODE COMPLETION. You should not have to commit every obscure spelling of every method for every NS object to memory. Programming in VS.NET is a breeze thanks to this feature. It even recognizes you own methods, functions, and events that you code into your applications (or from custom class libraries) and will auto complete the text for you if you like. It is all very natural and cuts coding time by 75% to 90%. No kidding. And when your typing out a method all of the parameters and their types are highlighted for you via popup help while you type. You don't have to commit so much to memory this way. Maybe this will make it's way into PB 3.0.
Later!
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status:
Offline
|
|
Originally posted by yeslekmc:
I make a living programming in C# (but only use Macs at home, I LOVE the MAC OS, especially OS X !!!). And trust me, what Microsoft has done with C# and the .NET framework is phenomenal. It is much more robust and extensible than the Cocoa Framework. Like or not, Objective-C is much more difficult to program in than C# is. And the Visual Studio.NET IDE is generations above Project Builder and Interface Builder. If you've done any serious programming in Visual Studio.NET you won't even begin to argue against it. Only those who have not experienced VS.NET will slam it out right. I wish you could simply "double-click" on a button in IB and have the skeleton code automatically generated for you in PB. The only thing I should have to code is the button's actions. I know some of you are going to say that you already do this, but you are wrong. It is MUCH simpler in VS.NET with C#.
One of the reasons you have so many people working on the Microsoft platform is because of the development tools. They rock! Microsoft steals all of the interface ideas from Apple and then makes it pretty darn easy for people to code them.
Apple has to give away PB and IB for free, for no one that has used this generation's development tools available in the WinTel world would pay the amount of money they used to pay for MPW and then receive a set of products like PB and IB. Sure they are good tools, but they are NOT GREAT or AWESOME. Use VS.NET for a day and you will see the difference. I love the Mac OS, just wish the development tools were a little more robust.
If I had ONE feature that I'd like to see implemented in Project Builder that would have the biggest impact, it would be INTELLI-SENSE with CODE COMPLETION. You should not have to commit every obscure spelling of every method for every NS object to memory. Programming in VS.NET is a breeze thanks to this feature. It even recognizes you own methods, functions, and events that you code into your applications (or from custom class libraries) and will auto complete the text for you if you like. It is all very natural and cuts coding time by 75% to 90%. No kidding. And when your typing out a method all of the parameters and their types are highlighted for you via popup help while you type. You don't have to commit so much to memory this way. Maybe this will make it's way into PB 3.0.
Later!
First of all, you apparently haven't sampled a large enough pool of those familiar with Microsoft tools - I have used Visual Studio for several years, and I can't stand it, in any incarnation. It is too invasive. Not everybody wants point-and-click application development, and for commercial uses it is generally lacking.
Secondly, I think your metrics are a bit skewed - 75-90% faster with code-completion? If you spent all of your time furiously typing method names then I could believe that - but there is thinking involved (or should be). And what do you do when many methods are close to what you want, and you can't remember exactly which one you want? You look at the code, that's what you do. I would realistically expect code completion to boost production by 10-15% for developers that really want it - most of the time it gets in my way and inserts crap that I didn't intend. (Very similar in effect to the auto-formatting 'feature' of Word.)
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Norfolk, Va
Status:
Offline
|
|
Well, as a beginner I'll have to side with code completion. It is a huge pain to deal with remembering all the billions of APIs whenever I code. And I want point and click design, where I do as much graphically as possible and as little in code as possible. And having PB automatically create as much as possible would be nice.
Now, PB vs VS.NET may lose, but is there anything like IB in VS.NET? IB is totally awesome, imo, and when I was learning C++, programming was a miserable experience because, other than completion, "visual studio" was a misnomer: it was just a text editor. It sucked bad.
What is C# itself like? Java, or C++? Because C++ is THE WORST LANGUAGE ever. Every single construction has its own syntax and everything is generic and alien. It's as though every new strategy was written by a newbie with no knowledge of what others were doing. But if it's like Java or Obj-C, which is great, then maybe it'll be ok.
Native support for XML would be nice. The other day I spent all day trying to fix an app...turns out there was an uncaught spelling error in an xml file. That's it.
|
|
you are not your signature
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Location: Malaysia
Status:
Offline
|
|
Originally posted by yeslekmc:
I make a living programming in C# (but only use Macs at home, I LOVE the MAC OS, especially OS X !!!). And trust me, what Microsoft has done with C# and the .NET framework is phenomenal. It is much more robust and extensible than the Cocoa Framework. Like or not, Objective-C is much more difficult to program in than C# is.
[...stuff deleted...]
It is all very natural and cuts coding time by 75% to 90%. No kidding. And when your typing out a method all of the parameters and their types are highlighted for you via popup help while you type. You don't have to commit so much to memory this way. Maybe this will make it's way into PB 3.0.
Later!
Thank you for that well thought comment. You work for which department at Microsoft? You're most likely not a programmer, so it's either Marketing or Evangelism? If you work for another dept, you are typing in from a list that someone at microsoft evangelism gave you.
So golly-gee! Visual Studio *ROCKS*--yes! But this thread is about developing C# on OSX. So what does Visual Studio have to do with OSX? What does C# being an open development environment have to do with Visual Studio? I'm making no comment on the comparison of PB to VS--I'm just saying that VS should have nothing to do with this discussion of C#.
As a matter of fact, Visual Studio is probably the number one reason why C# will fail. Why would you choose an open development platform that (effectively) FORCES you to use VS to develop in. Why not then program with C++ and MFC? I do not see a difference. And from witihin VS there is no compelling reason to code in C#, when C++/VB has access to all .NET frameworks.
Bye-bye C#
---gralem
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by absmiths:
Secondly, I think your metrics are a bit skewed - 75-90% faster with code-completion? If you spent all of your time furiously typing method names then I could believe that - but there is thinking involved (or should be). And what do you do when many methods are close to what you want, and you can't remember exactly which one you want? You look at the code, that's what you do. I would realistically expect code completion to boost production by 10-15% for developers that really want it - most of the time it gets in my way and inserts crap that I didn't intend. (Very similar in effect to the auto-formatting 'feature' of Word.)
OK... Maybe 90% is a bit high... But it is definitely OVER or NEAR the 75% range. I'm talking about the coding portion of your project, not the conceptual phase. No IDE is going to help you design or think your application logic through for you (at least not yet in 2002). But when it gets right down to the coding end of things, yes it does. Especially if you use and define RE-USABLE classes to handle most of your programming needs. There is no need to type the same methods over and over from one project or application to the next. This is an absolute waste of time and resources, not to mention having to remember every arcane way each function is spelled (including the Case of the letters). I mean look at the amount of time that can be lost on a large project correcting miss-spelled method and function names that are not caught until you comile? With intelligent code insertion you are assured that the method that pops up (while you type!) and you choose to insert is spelled correctly and contains the correct number (and type) of arguments from the get go. (AND FYI, it doesn't auto-insert anything for you without you hitting return or tab from the popup list. AND if you want the list to go away, just hit ESC. For a touch-typist this is instinct.)
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by gralem:Thank you for that well thought comment. You work for which department at Microsoft? You're most likely not a programmer, so it's either Marketing or Evangelism? If you work for another dept, you are typing in from a list that someone at microsoft evangelism gave you.
NO, I do not work for stinking Microsoft. I do work for a large Fotune 500 company though that uses a lot of UNIX and Microsoft (Windows) technologies. And YES I am a programmer and have been for about 20 years now. I've seen and been through it all. Much too much to list here... I've also been a Mac User since purchasing my first MAC in 1989 (an SE with 2M RAM/ 40MB HD). I make a living (a good living) programming, mostly in the Microsoft environment these days. But at home I've always used Macs. I've never used my own hard-earned cash to purchase a Microsoft item. EVER!
So golly-gee! Visual Studio *ROCKS*--yes! But this thread is about developing C# on OSX. So what does Visual Studio have to do with OSX? What does C# being an open development environment have to do with Visual Studio? I'm making no comment on the comparison of PB to VS--I'm just saying that VS should have nothing to do with this discussion of C#.
My whole point about C# is how easy it is to develop in it BECAUSE of Visual Studio.NET. C# is a wonderful thought out language that is easy to grasp and consistent in it's use of objects and classes throughout. Like it or not, C# is here to stay and will be an OPEN standard sooner or later, unlike JAVA. C# also has automatic garbage collection that works and works well. I've been coding applications and web services in C# for about two years now (Yes, even back in Beta 1 and Beta 2 of VS.Net) and have had no problems with it's speed or effeciency. Mac OS X could benefit by being able to write applications in C#, especially if the Windows.Forms classes of the .Net framework was extended to hook into the Cocoa Framework. What Microsoft has done with C# and Windows Forms is made applications that run from web servers just like you had double-clicked the application from your desktop. C# is what JAVA should have been, but never quite made it to. (NOTE! I blame Microsoft for this, for their crippling of JAVA and even failure to include it with the Windows XP OS. --JAVA as a language is great too! It is just the performance of web-deployed JAVA apps that I don't like). Objective C is a good language too but without a good IDE to use it in it is more cumbersome than neccessary when working on large projects.
As a matter of fact, Visual Studio is probably the number one reason why C# will fail. Why would you choose an open development platform that (effectively) FORCES you to use VS to develop in. Why not then program with C++ and MFC? I do not see a difference. And from witihin VS there is no compelling reason to code in C#, when C++/VB has access to all .NET frameworks.
Bye-bye C# 
---gralem
FYI: VB.Net sucks. The language shouldn't even exist. That's part of the reason so many VB developers just made the jump over to C#. Syntactically there is not a whole lot of difference between the two languages. It's almost like someone at Microsoft tried to change the Basic language into C++.
As for using C++ with .NET, this is sort of absurb and not really practiced. C++ generates unsafe and unmannaged code. Errant C pointers and a whole slew of other problems that can cause problems that the .Net Framework was designed to avoid (or at least minimize.) You use C++ to code against MFC and Win32. Use C# to go against the .Net Framework. They are two different (but similar in appearance) animals.
C# is an awesome language. I'd love to be able to code in it on Mac OS X against the Cocoa Framework in a first-rate IDE with an integrated interface designer and intelligent automatic code completion.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Sep 1999
Location: Ottawa, ON, Canada
Status:
Offline
|
|
Originally posted by yeslekmc:
If I had ONE feature that I'd like to see implemented in Project Builder that would have the biggest impact, it would be INTELLI-SENSE with CODE COMPLETION. You should not have to commit every obscure spelling of every method for every NS object to memory.
So VB.NET is a boon to sloppy developers. Is that why there is so much crappy software for Windows?  (just kidding, sort of)
Any experienced programmer will follow a single style when it comes to naming methods, variables, etc. For example, do you name one method GetVar1 and another getvaR2? Probably not. I, like many others, capitalize letters that separate "words" like getVar1 and getVar2. Committing to memory is easy when you develop a style.
However, yes, it can be a boon to some. That's why Sun has it in their Forte (no called SunOne) tools. Should PB have it? I guess, I wouldn't use it though - I find auto-complete very disruptive.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by hayesk:
Any experienced programmer will follow a single style when it comes to naming methods, variables, etc. For example, do you name one method GetVar1 and another getvaR2? Probably not. I, like many others, capitalize letters that separate "words" like getVar1 and getVar2. Committing to memory is easy when you develop a style.
I totally agree and try to follow consistent naming conventions myself. But when you work on large projects with multiple developers you do not have complete control over this. There can be hundreds of classes with who knows how many hundreds (or even thousands) of methods, functions and properties. It's impossible to commit them all to memory and unfortuneately not every developer will define everything the same. This is where intelli-sense really shines at it's best.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by hayesk:
So VB.NET is a boon to sloppy developers. Is that why there is so much crappy software for Windows? (just kidding, sort of)
I am in COMPLETE agreement with this! VB's biggest problem was that by default, every variable you created was a VARIANT object. This introduced all sorts of unexpected mayhem in your code. A property of the VARIANT attempted to identify it's type upon assignment. Usually it was successful, but many times it wasn't. For example if you were assigning a string of "123" to a variant and it contained only numeric digits it would often treat those characters as a number instead of a string from then on out. This would sometimes result in run-time errors when doing comparisons of variables for the types would not be the same. You can't check to see if integer 123 is equal to string "123". They just are the same type. You could get avoid this by using strict typecasting when defining your variables, but even then there were problems. For example, in VB 6.0 you could have the following line:
int iNum1, iNum2
Now at a glance you'd expect both of these to be declared as integers, right? But the answer is wrong! The first variable iNum1 would be an integer, but the second variable iNum2 would be a VARIANT. This would lead to all sorts of problems. Like say you were expecting iNum2 to only hold integer values and you performed some arithmetic and mathmatical functions against it and those returned non-integer values. That's right, your variable would instantly transform itself from a VARIANT of type int to a VARIANT of type float (or double or real or decimal --you pick!)
But C# has none of this nonsense. C# treats everything as an object including basic types like int and double and so on... There are even lots of methods associated with those objects that let you do many slick things. (JAVA is similar in this aspect.)
For example, in C# say you have the following code:
Code:
[STAThread]
static void Main(string[] args)
{
double dWeight = 3933.2401;
string sBlurb = "That pile of crap over there weighs "
+ dWeight.ToString("#,##0.00") + " lbs.";
Console.WriteLine(sBlurb);
}
At run-time, your terminal will display the following (note the formatted number):
That pile of crap over there weighs 3,933.24 lbs.
C# is very powerful. You can do all sorts of cool things with the language. Sure you can do this with in Objective-C with NSNumber and the Foundation framework, but it sure as heck is not as easy as this (C# example above) and requires a little more coding. Plus to do it correctly you have to worry about memory management to boot. C# has automatic garbage collection that works. The above program is 100% memory leak-free. (OK, I'll give you that for something this simple you wouldn't have to worry about memory leaks either in Objective-C for upon termination of the program it would release all memory anyhow.)
Frameworks asside, C# it is also great for writing web services and command line applications as well. C# and JAVA will be fighting it out for years to come I'm sure. But Objective C is a bit behind the times when put up against these two languages. I'm not saying Objective-C sucks, just that it takes a little more effort to use properly than C# or JAVA.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by Raman:
What do you guys think of that?
Move over, Cocoa. See ya later Java.
Actually this should be " Move over Objective-C...", not Cocoa. C# is a language, not a framework. You would still retain the awesome Cocoa framework but instead of writing Objective-C code you would employ C#. This would rule!
OK... I realize that a large part (if not all) of the Cocoa framework is implemented in Objective-C. But if you can use JAVA against it, why not C#?
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Norfolk, Va
Status:
Offline
|
|
Is automatic garbage collection in the cards for the Obj-C runtime? I don't know about C#, but I feel OC is a very clean and logical language. I revel in its minimalism, and so if it and Cocoa are efficient and thorough I'd just as soon stay with them.
But agc is an important factor in this regard, memory management being a technical throwback to the inner workings of computers a high-level programmer shouldn't have to interact with.
|
|
you are not your signature
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Apr 2001
Status:
Offline
|
|
Originally posted by Gametes:
Is automatic garbage collection in the cards for the Obj-C runtime
I do not know if automatic garbage collection is in the cards, but I understand that the GNUStep project has a way to easily add automatic garbage collection. It would be nice if Apple could figure out a way to have automatic garbage collection developer specifiable, so that those that wanted performance could turn it off.
I agree that Apple should have a robust XML implementation to Cocoa.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Sep 1999
Location: Ottawa, ON, Canada
Status:
Offline
|
|
Originally posted by lfrog2:
I agree that Apple should have a robust XML implementation to Cocoa.
Seems to be an excellent third-party developer opportunity here. If I knew the first thing about XML, I'd probably give it a go.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Tempe, AZ
Status:
Offline
|
|
Originally posted by lfrog2:
I agree that Apple should have a robust XML implementation to Cocoa.
Someone at cocoadev is working on toll-free-bridging the CoreFoundation XML classes to a new Cocoa class. He claims the only reason it's not already done is that Apple's lazy.
Last I checked, he had something workable, but subclassing it was problematic.
|
Geekspiff - generating spiffdiddlee software since before you began paying attention.
|
| |
|
|
|
 |
|
 |
|
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status:
Offline
|
|
Originally posted by Gametes:
But agc is an important factor in this regard, memory management being a technical throwback to the inner workings of computers a high-level programmer shouldn't have to interact with.
Objective-C's reference counting is hardly low-level memory management, and it doesn't relate to the inner workings of computers. It's basically the same idea as automatic garbage collection, except with reference counting you tell an object when you're done with it rather than the computer guessing for you. Granted, it does leave more room for you to screw up, but it's hardly some antiquated technology that needs replacing.
|
|
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Tempe, AZ
Status:
Offline
|
|
Originally posted by Chuckit:
Objective-C's reference counting is hardly low-level memory management, and it doesn't relate to the inner workings of computers. It's basically the same idea as automatic garbage collection, except with reference counting you tell an object when you're done with it rather than the computer guessing for you. Granted, it does leave more room for you to screw up, but it's hardly some antiquated technology that needs replacing.
I agree. Objective-C's memory management is pretty easy. If you 'retain' an object or 'alloc' an object, make sure that there is a guaranteed codepath that will 'release' or 'autorelease' it.
Of course, every once in a while you write yourself into that cool scenario where object A retains object B, which retains object A, and both release the other from their respective 'dealloc' methods. Great fun. 
|
Geekspiff - generating spiffdiddlee software since before you began paying attention.
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Apr 2001
Status:
Offline
|
|
Originally posted by smeger:
Of course, every once in a while you write yourself into that cool scenario where object A retains object B, which retains object A, and both release the other from their respective 'dealloc' methods. Great fun.
I believe this is still a problem with languages that do automatic garbage collection. I do not know about C#, but in Java you still have to make sure you do not get into a retain cycle.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by lfrog2:
I believe this is still a problem with languages that do automatic garbage collection. I do not know about C#, but in Java you still have to make sure you do not get into a retain cycle.
C# does not have this problem. It was designed from the ground up to detect and appropriately release circular references that are no longer in use.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status:
Offline
|
|
Originally posted by yeslekmc:
C# does not have this problem. It was designed from the ground up to detect and appropriately release circular references that are no longer in use.
Riiiiight. C'mon....what algorithm does the garbage collector employ to accomplish this?
|
|
signatures are a waste of bandwidth
especially ones with political tripe in them.
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by Kristoff:
Riiiiight. C'mon....what algorithm does the garbage collector employ to accomplish this?
In a nutshell, C#'s (.NET in general) AGC is handled by a process running in an isolated thread. The process continually tables all objects that exist in the program and then checks to see what is in use. Items not in use are moved around in a memory heap until they end up at the bottom of the stack and can be released. Circular references eventually end up at the bottom as well, because nothing except the two reference each other (or an object could just be referencing itself). Eventually circular references end up at the bottom with other unreferenced items and it can be determined that they are no longer in use either and thus purged. This is my quick and dirty explanation of a rather complex process.
For the complete details, check out the following two articles on the MSDN site. They are a long read but will tell you in detail (with diagrams) how the .NET CLR manages memory and performs AGC.
Article 1: Garbage Collection: Automatic Memory Management in the Microsoft .NET Framework - by Jeffrey Richter (See http://msdn.microsoft.com/msdnmag/is...i/default.aspx)
Article 2: Garbage Collection—Part 2: Automatic Memory Management in the Microsoft .NET Framework (See http://msdn.microsoft.com/msdnmag/is...2/default.aspx )
To put it simply, C#'s AGC works and works well. I've been using it for a couple of years now and have never had any memory leaks in my programs. Not having to worry about memory management is great with large programs. I can spend more time focusing on writing and testing the functionality of the program and don't have to worry about coding for memory management. I even have written system services (in C#) that run on Windows 2000 servers 24x7. Microsoft's development team has done a good job with this. (Even evil empires have at least some good decent people working for them.) It's really amazing considering the fact that the applications I write run on MS Windows' OS's, which in general do not handle memory as well as they could.
|
|
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Feb 2000
Status:
Offline
|
|
VS is not that bad. As a matter of fact, I think it is the best IDE available on windoze.
I never cared much for extensive use of pregenerated code. MS code is pretty kludgey to begin with, and some of the things they do... Their compiler is nice, but then, they didn't write it. heh heh heh.
C# v. Java: I really don't think that Java has much to worry about unless M$ pulls their usual trick of buying developers/companies, distributing massive quantities of FUD, etc. in the guise of "innovation" (which they wouldn't know if it hit them with a 2x4.)
|
|
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Nov 2002
Location: Guernsey, UK
Status:
Offline
|
|
Not addressing all of the points but;
> Say Yes to:
> - Open Standards
c# is now controlled by the ECMA. Conversely JAVA is still controlled by sun.
> Truly Cross-Platform Portability
c# and JAVA are both capable of cross-platform portability - providing a capable VM is available.
> - Open Source
The announcement was of an open-source package...
[)amien
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: May 2002
Status:
Offline
|
|
The essential problem is that people want GUIs. And GUIs for C# applications are going to be written using Windows.Forms. So unless the entire .NET framework is ported to OS X and Aqua (not just the common language infrastructure), the portability of C# to and from OS X is severely limited. Actually, most C# code will use aforesaid framework whether for GUI purposes or not, simply because they're so tied together in Microsoft's tools.
|
|
[vash:~] banana% killall killall
Terminated
|
| |
|
|
|
 |
|
 |
|
Fresh-Faced Recruit
Join Date: Nov 2002
Location: Sydney Australia
Status:
Offline
|
|
Open Source
Sun is currently working with the Apache foundation to turn over the control of Java to the Open Source Community.
See this link:
http://www.theregister.co.uk/content/4/28337.html
The "c# is now controlled by the ECMA" is just a stunt by MS, the bulk of the language is still under the control of MS.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by Gul Banana:
The essential problem is that people want GUIs. And GUIs for C# applications are going to be written using Windows.Forms. So unless the entire .NET framework is ported to OS X and Aqua (not just the common language infrastructure), the portability of C# to and from OS X is severely limited. Actually, most C# code will use aforesaid framework whether for GUI purposes or not, simply because they're so tied together in Microsoft's tools.
There are still a few useful applications that you can program using C# without a GUI interface. One of those (and it's a big one!) is Web Services. Writing web services in C# is a breeze, and they're very powerful too. I've written an entire suite of Web Services (at work) that fetch and retrieve data from Oracle. The beauty of it is that I have written .NET applications that can be deployed nearly anywhere in the organization that talk to Oracle, WITHOUT installing any Oracle libraries on the client machines. It's slick and performance is outstanding. All of the calls to/from the Web Services return data to the client application in ready to use form. Such as a string, string array, dataset, or more... Web Services will become increasingly useful in the next few years, you just wait and see.
But I agree with regarding GUI applications. Before wide spread development could be done on MAC OS X (in C#) the bulk of Windows.Forms would need to be ported.
-OR-
Some smart enterprising group or person could write a C# to Cocoa bridge. I'd be happy with this, but worry that there may be memory leaks and a few other problems resulting from such a beast...
|
|
|
| |
|
|
|
 |
|
 |
|
Forum Regular
Join Date: Mar 2001
Status:
Offline
|
|
Gakkkkk!
C#/VS is SOOOO Microsoft. Microsoft's idea of "user friendly" is to try to guess what you are going to do, then pop up a wizard to do it for you. That's what happens in VS, and the automatic memory management is a similar idea. There is no way Microsoft's algorithm(s) can handle memory better than a skilled programmer.
Apple's interfaces have always put Microsoft's to shame because they don't insult the user's intelligence. Certainly PB/IB could use some improvement, but I have confidence that Apple will not turn them into a VS clone.
...And if they do, PB/IB will immediately be deleted from my machine, and I will go back to my good old text editor + terminal (which works just peachy on my Linux machines, thanks very much).
Oh and FYI, you should check out http://developer.apple.com/techpubs/...g/WebServices/ which details how to write web services in Cocoa.
|
|
Is this rock and roll, or
a form of state control?
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: May 2002
Status:
Offline
|
|
Originally posted by yeslekmc:
There are still a few useful applications that you can program using C# without a GUI interface. One of those (and it's a big one!) is Web Services. Writing web services in C# is a breeze, and they're very powerful too. I've written an entire suite of Web Services (at work) that fetch and retrieve data from Oracle. The beauty of it is that I have written .NET applications that can be deployed nearly anywhere in the organization that talk to Oracle, WITHOUT installing any Oracle libraries on the client machines. It's slick and performance is outstanding. All of the calls to/from the Web Services return data to the client application in ready to use form. Such as a string, string array, dataset, or more... Web Services will become increasingly useful in the next few years, you just wait and see.
Here's the thing - you still used the .NET framework, yes? That, not just Windows.Forms, is not and probably never will be available for OS X:/ Usefulness of C#: limited. I'll still learn it; I'm a pragmatist, but I don't think much good will come of just the availability of the CLI.
|
|
[vash:~] banana% killall killall
Terminated
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Feb 2001
Location: Rochester, uk
Status:
Offline
|
|
Wow. It seems microsoft isn't the only one guilty of spreading fear, uncertainty and doubt. Let's clear up a few elements of misunderstandings.
I'm no friend of Microsoft, but several aspects of C# are annoyingly good from a Java point of view. A few will, I'm glad to say, be patched up by Java versions 1.4 and 1.5, but there are several left over.
Java has virtually the same memory management as C#, including the ability to catch circular references. It's not astonishingly good yet, having a tendency to leave things indefinitely uncollected (not leaked, just left till later). I don't yet know how efficient C#'s garbage collection is in real terms, but I suspect it's just slightly better than Java's.
Manual reference counting in Objective-C may not be as primitive as explicit malloc/free, but it is extra effort. The reason garbage collection hasn't taken over the world is simply that it hasn't yet had a good enough implementation.
Neither Java nor C# will ever be open source in anything but name. There's far too much money involved.
However, Microsoft probably will port much of their propriety libraries to OS X. Why? Well, they have to write the next version of Office for the Mac in something, and it's probably easier to port the libs than rewrite the entire app in a different language with different libraries. Don't forget, Apple did exactly that with Carbon when writing Quicktime for Windows.
What i don't know is whether they'll port the Windows UI libs or create a Cocoa bridge. Knowing how microsoft works, probably both. Neither will officially see the light of day, but that doesn't mean you couldn't extract them for use in your own apps, or that MS would object if you did.
|
|
All words are lies. Including these ones.
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Sep 1999
Location: Ottawa, ON, Canada
Status:
Offline
|
|
Originally posted by sadie:
Manual reference counting in Objective-C may not be as primitive as explicit malloc/free, but it is extra effort. The reason garbage collection hasn't taken over the world is simply that it hasn't yet had a good enough implementation.
Agreed. However, if a language can only cater to experts or novices, I'd rather it cater to experts. If it caters to novices, which is what garbage collection does, then when your programming skills improve and you become an expert, you are stuck with a language that is a hinderance rather than something helpful.
Unless garbage collection improves enough to be just as good as explicitly retaining and releasing, then Java or C# are worthwhile in my book. But until then, I'll stick with Obj-C and C where I have the opportunity to write clean, efficient code. Sure, it's harder and takes more effort to get to that state, but it's worth it in the end.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by hayesk:
Agreed. However, if a language can only cater to experts or novices, I'd rather it cater to experts. If it caters to novices, which is what garbage collection does, then when your programming skills improve and you become an expert, you are stuck with a language that is a hinderance rather than something helpful.
Unless garbage collection improves enough to be just as good as explicitly retaining and releasing, then Java or C# are worthwhile in my book. But until then, I'll stick with Obj-C and C where I have the opportunity to write clean, efficient code. Sure, it's harder and takes more effort to get to that state, but it's worth it in the end.
Memory management is but a small part of programming, and it really is not worth it. (NOTE: That is UNLESS, you're writing a high-performance graphics application or device-driver where memory management is critical, but for most real-world data applications it is NOT worth it at all.) Once you've gotten used to using a clean and efficient language like C# you'll grow annoyed at having to worry about retaining and releasing at the proper times. I'd rather spend time focusing on the functionality of my application than whether or not I'm still needing to retain NSData at a particular point in time. You may disagree now, but after you've programmed for a while in an AGC capable language you'll completely understand what a nuisance it truly is.
AGC doesn't cater to novices at all, it's just the next evolution of high-level programming languages. Novices will still make plenty of coding mistakes without the burdensome task of manual memory management. They'll still make syntax errors, overwrite array bounds, try to assign the wrong data type to an object, misplace semi-colons at the end of a for or while clause, and so on. Memory management does not make for a good programmer. Good (and great and exceptional ones too!) programmers work with people, understand their needs, and write applications that deliver working solutions in a bug-free intuitive manner.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status:
Offline
|
|
Originally posted by yeslekmc:
Memory management is but a small part of programming, and it really is not worth it. (NOTE: That is UNLESS, you're writing a high-performance graphics application or device-driver where memory management is critical, but for most real-world data applications it is NOT worth it at all.) Once you've gotten used to using a clean and efficient language like C# you'll grow annoyed at having to worry about retaining and releasing at the proper times. I'd rather spend time focusing on the functionality of my application than whether or not I'm still needing to retain NSData at a particular point in time. You may disagree now, but after you've programmed for a while in an AGC capable language you'll completely understand what a nuisance it truly is.
Not to mention that in a high performance application like a driver or a graphics app, you sidestep garbage collection by simply not throwing away so many objects. In that situation (especially in a driver) you manage memory by creating exactly what you need and reusing it. Most of the time when GC is an issue it is because the programmer brought it upon himself by being ireesponsible about how he handled objects.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status:
Offline
|
|
Originally posted by yeslekmc:
In a nutshell, C#'s (.NET in general) AGC is handled by a process running in an isolated thread. The process continually tables all objects that exist in the program and then checks to see what is in use. Items not in use are moved around in a memory heap until they end up at the bottom of the stack and can be released.
--SNIP--
That's the SAME LRU as Java's GC. It's no better.
|
|
signatures are a waste of bandwidth
especially ones with political tripe in them.
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status:
Offline
|
|
Originally posted by sadie:
Neither Java nor C# will ever be open source in anything but name. There's far too much money involved.
What is /Library/Java/Home/src.jar ?
When was the last time you were able to see the source to mfc42.dll?
Java is a language and a platform. The Java Community Process turns out Open Specifications that can have Commercial Implementations and Open Source Implementations. WebLogic and JBoss are two examples of products that implement certain JSRs. One is commercial and the other is free as in beer.
Where are the open specifications for the .NET framework again? How can I implement a clean-room version of .NET without massive reverse engineering and violating the DMCA?
The differences between the two philosophies are like night and day.
|
|
signatures are a waste of bandwidth
especially ones with political tripe in them.
|
| |
|
|
|
 |
|
 |
|
Addicted to MacNN
Join Date: Feb 2001
Location: zurich, switzerland
Status:
Offline
|
|
I know some Java (there are plenty of Java IDE's that do what VS does in terms of code completion etc, such as JEdit for www.jedit.org or forte for Java etc) as well as some C and some ObjC. I am a back switcher that switched back to winXP for my work and am now wishing I had the cash to get my new TiG4 now, instead of next year.
I have had a dream for a number of years now, wanting to write an mTropolis type of application i.e. a visual tree of intelligent objects that you just drag and drop and configure their messages to one another. There are already about two Java applications that do this kind of thing- Application Compaoser from webgain and Magik from tekadence. The problem with Java is, in one word, Swing. It's slow and ungainly. This led me to think about learning another language to have a go on this. I thought about C++, which exists on every platform, is the speed king on all those platforms and will not go away for many, many years (even though some c# and Java fundis wish it would) because nearly all the major client applications are written in it (Photoshop, Illustrator, Fireworks, Flash, Quicken, Mozilla's core, Explorer etc). It will take a long time before C# makes itself felt in the public world away from closed corporate programming. The problem with C++, for me and my dream application is that it is very difficult to do well and lends itself to errors. So, I thought about C#. Nice language, simple drawing routines (not a real mess like Java's object creation nightmare) good future with the MS greed machine behind it. But, for the simple reason that MS will never, ever port their windowing toolkits to OSX (that takes away a lot of the incentive to use the MSplatform and if you can do c# GUI stuff or db and webservices on Linux, then you can bet that many will do just that to save costs) I would be locked into the windows platform. I didn't want that.
So I decided to carry on learning ObjC and to do it on the Mac. It would lock me to the Mac (GNUStep would be a possibility to a lesser extent) unless MS decided to port ObjC to .NET. ObjC is fairly easy, even if Apple's documentation is much less comprehensive than MS', and has some exceptional strengths that make up for the lack of automatic garbage collection, such as dynamic binding. But I like OSX and I like ObjC and a lot of the code can be plain straight C as well. MS will not have any power over me, and that gives me a good feeling.
C# will have some difficulty in entering the market of enterprise and financial software where Java is King at the moment due to a number of factors:
1.Java is mature and it's strengths and weaknesses are known. This is a big factor in todays economy where enterprises are switching to Linux on OpenSource in order to get out of the MS pricing hammerlock.
2.Java is truly crossplatform. This means that banks, such as the banco do Brasil which recently switched a few thousand machines over to Linux, can develop a Java application in java on a Linux x86 machine and then run it with few changes on an IBM z-series mainframe. The enterprise part of .NET will defintely not be ported over to Linux or anywhere else since MS sees this as where they can make money with it. It means that companies are tied to MS server systems, which can be a very painfully expensive ordeal.
3.Java has proved to be flexible enough to add webservices itself. Webservices are not something that belongs to MS alone and Java has the above mentioned advantages.
4.There is a huge investment in Java in the enterprise. Those large companies will definitely not switch to MS in a hurry in these difficult economic times. Rewriting applications in C# and buying expensive MS server licences is not an attractiev economic proposition.
5.Also in webservices, languages such as PHP are becoming very very strong. Yahoo didn't switch there for nothing. PHP can be compiled and accelerated with Zend's proprietry acclererator, which gives companies comfort in that their code won't be available for everyone to see, and Zend provides a pretty good IDE and dev environment.
IN short I see those companies that have always used MS technologies benefitting from C# and .NET, but I don't see it becoming a major force outside that world any time soon.
|
|
weird wabbit
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Aug 2002
Location: Northeastern NV, USA
Status:
Offline
|
|
Originally posted by theolein:
IN short I see those companies that have always used MS technologies benefitting from C# and .NET, but I don't see it becoming a major force outside that world any time soon.
The problem is that "That World" is largely, "The World". Our world is but a fraction of that world. Instead of simply avoiding the world as a whole we should be looking at ways to better interact and operate with "That World" or else our world will become extinct.
One of the ways to do this is by learning all you can about Web Services, XML, and languages that make using these technologies fast and easy. Languages like C# (and perhaps Java, but I don't know how easy it is to read/write XML with Java).
C# is just a language. It is NOT an Operating System, application or framework. Yes there is a .NET framework, but it is a runtime engine and set of libraries for programs written in C# to take advantage of. OR you can write your .NET apps in Java, COBOL, Fortran or Visual Basic to run against the .NET framework. You pick. It's no different than using Objective-C or JAVA to write apps against the Cocoa Framework. Objective-C isn't tied specifically to Mac OS X just as C# isn't tied to any one operating system either. Someday (soon I hope) we'll be able to choose "Cocoa-C# Application" or "Cocoa-C# Document-based Application" in Project Builder from the new project list just as you can for Objective-C and Java.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Status:
Offline
|
|
I can't believe no one has mentioned that you can BYPASS the garbage collector in C# if need be.
That's the SAME LRU as Java's GC. It's no better.
That's odd, the last time I looked at the JVM spec, it only specified that there must be a garbage collected heap, not what algorithm must be used. Whose implementation are you referring to?
Two of the nice capabilies C#/.NET provides are Attributes and Properties. Neither of these exist in the Java world. Attributes allow you to decorate your classes w/ metadata. Properties are like getters and setters in Java.
Instead of this java code:
Code:
foo.setBar("baz");
String s = foo.getBar();
you get this in C#:
Code:
foo.Bar = "baz";
string s = foo.Bar;
Actually when the C# is compiled down to MSIL, it creates foo.getBar() and foo.setBar(), but I'd much rather rely on a compiler handling this instead of a mere coding convention.
Two other nice features are the abiliy to allocate memory off the stack in the form of structs (everything in Java is allocated from the heap), and pass by reference.
As far as cross-platform capabalities, does Sun provide a JVM for every platform ever conceived? Why should MS be expected to provide a C# compiler and .NET environment for all these platforms then? Ximian aims to do just that with the Mono project, and they seem to be making excellent progress. I predict by this time next year, you will be able to run C# applications that avoid the use of PInvoke(akin to JNI) on more platforms than equivalent Java programs.
Despite coming from the bowels of the evil empire, C# and the .NET framework are excellent technologies.
I am not a .NET developer yet, but I've done my homework. If you want to judge a technology based soley on its creator, go ahead and hide your head in the sand. I'll be happy to collect your paycheck.
FWIW this post was composed during a break from J2EE development on OSX.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Nov 2000
Status:
Offline
|
|
The problem is that "That World" is largely, "The World". Our world is but a fraction of that world. Instead of simply avoiding the world as a whole we should be looking at ways to better interact and operate with "That World" or else our world will become extinct.
If only more zealots could appreciate that wisdom, our world would be a much better place. It only took AAPL 20 years and a brush with death to come around.
I don't know how easy it is to read/write XML with Java
It's trivial. J2SE 1.4.1 ships with an XML parser, and several technologies like JAXB rely on it.
Someday (soon I hope) we'll be able to choose "Cocoa-C# Application" or "Cocoa-C# Document-based Application" in Project Builder from the new project list just as you can for Objective-C and Java.
I hope they manage to pull it off better than Cocoa/Java. Why should I have to use instances of NSDictionary, NSArray, etc. when I already have the superior Collection classes. Can anyone guarantee big O times when using the Cocoa classes?
Personally I'd rather see the ability to target the .NET runtime w/ ObjC. Then any language that can target the runtime could use "native" components with minimum hassle.
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|