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 > c# and mac os x

c# and mac os x
Thread Tools
zanyterp
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
May 17, 2004, 09:14 PM
 
i've checked the previous posts and i wasn't able to find an answer to this: is it possible to code using c# to make mac programs? or is it objective-c(++), c++, and c only? it would make sense, to me, that the language should work, but just thought i would check. thanks!!

nick
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
djohnson
Professional Poster
Join Date: Sep 2000
Location: Texas
Status: Offline
Reply With Quote
May 17, 2004, 09:28 PM
 
No C# Using Objective-C is very easy.
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
May 17, 2004, 10:28 PM
 
Originally posted by djohnson:
No C# Using Objective-C is very easy.
will the concepts and skills i learn in my c#/c++ classes in college help me learn/pick up objective-c? or are they too different?

thanks for the answer on being able to use it, or not.

nick
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
Catfish_Man
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
May 17, 2004, 10:28 PM
 
I believe someone is working on a Cocoa for C# binding, but currently it only supports Objective-C and Java. Carbon supports C++, and 3rd party APIs support whatever they support. C# is a bit tricky, since it's built on .NET which is a Microsoft technology.
     
johnMG
Registered User
Join Date: Oct 2003
Status: Offline
Reply With Quote
May 17, 2004, 10:47 PM
 
> will the concepts and skills i learn in my c#/c++ classes in college help me learn/pick up objective-c?

Learning Objective-C shouldn't give you much trouble. It's just C plus a few simple OO features bolted on. It's Cocoa that will take a while to learn (but only because it's big, like the Java API's).

Also, instead of C#, you *could* just use Java instead (I've never fooled around with C# but I hear that it's almost exactly equivalent to Java). That's my recommendation.
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
May 17, 2004, 11:07 PM
 
Originally posted by johnMG:
> will the concepts and skills i learn in my c#/c++ classes in college help me learn/pick up objective-c?

Learning Objective-C shouldn't give you much trouble. It's just C plus a few simple OO features bolted on. It's Cocoa that will take a while to learn (but only because it's big, like the Java API's).

Also, instead of C#, you *could* just use Java instead (I've never fooled around with C# but I hear that it's almost exactly equivalent to Java). That's my recommendation.
but that will be true of whatever i decide to program, right? that the API will be more difficult to learn (after a language is picked up) and how to use it to make the programs to play nicely with whatever my destination platform is?

i will be also learning java, c++, and, presumably, c# over the next couple years for my bachelors and just wondering if from those i should be able to pick up objective-c from them. . .not withstanding the API's req'd to program for the mac?

nick
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
sixer
Fresh-Faced Recruit
Join Date: Apr 2004
Location: Beantown
Status: Offline
Reply With Quote
May 17, 2004, 11:28 PM
 
Yes, picking up Objective-C is very easy once you understand general object oriented programming concepts. Essentially, you'll just need to learn how to express the same ideas using a different syntax.

Quick example:

Java: myobject.somemethod(variable);

Obj-C: [myobject somemethod:variable];

Digesting the Cocoa API takes a bit more time...
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
May 18, 2004, 02:27 AM
 
Originally posted by sixer:
Yes, picking up Objective-C is very easy once you understand general object oriented programming concepts. Essentially, you'll just need to learn how to express the same ideas using a different syntax.

Quick example:

Java: myobject.somemethod(variable);

Obj-C: [myobject somemethod:variable];

Digesting the Cocoa API takes a bit more time...
ok. thanks.

what's the difference in an API, like cocoa, and a framework, like .NET? don't they both allow access to services provided by the OS? or are they strictly controlled by what language is used?

thanks!

nick
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
May 18, 2004, 03:27 AM
 
What kind of school teaches C#???

I mean, even the AP test is in Java these days.
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
larkost
Mac Elite
Join Date: Oct 1999
Location: San Jose, Ca
Status: Offline
Reply With Quote
May 18, 2004, 08:35 AM
 
zanyterp: FrameWorks are sort of a form of API.

An API is the list of all of the routines that are exposed by a system for other programs to use.

A Framework is an API that comes wrapped up as a template (in broad strokes).

For example, the AppKit framework (part of Cocoa) is basically a ready-to-run application, just one that dose nothing truly useful. You then over-ride its methods to add your own code and create a (hopefully) useful app.

Now the real point is that at this point it is difficult to access the power of Apple's frameworks from C#. There is a project to make C# a second-tier language for MacOS X (along with Perl, Python, and AppleScript... languages that have bridges to Cocoa, as opposed to the first tier: Obj-C, C++, and Java... and the third tier... languages without bridges: bash, c-shell, Fortran, etc..), but it is still some ways off.

If you are looking at creating software for MacOS X, at the moment it would probably be best to write in one of the first tier languages, if for not other reason then to get a better understanding of the frameworks.
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
May 18, 2004, 01:47 PM
 
Originally posted by zanyterp:
ok. thanks.

what's the difference in an API, like cocoa, and a framework, like .NET? don't they both allow access to services provided by the OS? or are they strictly controlled by what language is used?

thanks!

nick
As the above poster said - a framework is usually a skeleton for making something (usually specific like a windows app or web service) whereas an API is just exposing the capabilities of the runtime. The biggest difference, however, is what each is specifically written for. Some frameworks contain various APIs and many APIs have frameworks within them . . .
     
johnMG
Registered User
Join Date: Oct 2003
Status: Offline
Reply With Quote
May 18, 2004, 03:14 PM
 
but that will be true of whatever i decide to program, right? that the API will be more difficult to learn (after a language is picked up) and how to use it to make the programs to play nicely with whatever my destination platform is?

Well, in the case of C++, there's a lot of special cases -- i.e. "Well, 'static' means file scope, unless it's in a class, then it means a class-method/variable, oh and unless it's in a function, then it means it only gets initialized once, wait, for file scope you use unnamed namespaces instead of static" -- that sort of thing. So, for C++, I'd say that learning all the ins and outs of the language are going to take you a long time to master and internalize. Once that's done, learning to use different API's is not *too* bad. Though, there's so many ways they can be designed, that it can be more difficult than necessary.

Learning the Java API is made easier (IMO) because Java tends to gently nudge you to do things in a OO Java-like way (and also, since the libs were all designed by the folks at Sun, there's a little continuity and consistency between them). Sorry for all the hand-waving arguments here, but you don't have to take my word for it -- give them a try.

Regarding the whole frameworks and API's thing, the words are pretty much interchangable -- they both mean a big collection of classes/functions that you use to write your application. Just remember that whatever high-level API you end up using (Java, .NET, Cocoa), they mostly all are wrappers in some way or another of the underlying C function calls and system calls of the OS.
( Last edited by johnMG; May 18, 2004 at 03:22 PM. )
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
May 18, 2004, 03:18 PM
 
I think the main point is that if you're getting a CS-related bachelor's, you should be able to pick up any programming language you want to use throughout your career. You aren't tied into using the languages you use in classes, those languages should just be used as instructive tools to help you learn and apply more abstract concepts. Unfortunately, I suspect that a school teaching C# might not emphasize that concept...

I like to think of frameworks as analogous to a paper form where you fill in the blanks. They're like a template containing some basic functionality that you can extend and customize to suit your needs. They can be difficult because they can force you into an inflexible structure, or they can bend over backwards to avoid doing so and thus take on increased complexity. Cocoa is a difficult framework to learn because of its size, but there are several tutorials and beginner books available that do a great job of teaching the basic concepts.
     
johnMG
Registered User
Join Date: Oct 2003
Status: Offline
Reply With Quote
May 18, 2004, 03:36 PM
 
I think the main point is that if you're getting a CS-related bachelor's, you should be able to pick up any programming language you want to use throughout your career.

Exactly -- though, I'd like to add, temper that with the fact that it will take a non-trivial amount of time to learn and become productive using a given API. Cocoa is nice because it's also (mostly) available on GNU/Linux as GNUstep. Java is nice because it's available on many platforms, and you can even compile it to machine code with GCJ. Whatever framework comes with C# is gonna be Windows-only, so that's a non-starter for many (including me).
     
larkost
Mac Elite
Join Date: Oct 1999
Location: San Jose, Ca
Status: Offline
Reply With Quote
May 19, 2004, 09:18 AM
 
johnMG: To be fair, there is the Mono project, which is working on an API for C# that is both cross-platform, and a section of it is dedicated to mirroring much of Microsoft's API on Windows. So far they have concentrated this effort on the non-GUI portions of the API (especially the web development API's).

There is even a rumor that Quark will be doing the next version of Express in Mono, and so they will be poring resources into developing Mono's GUI portion both on Windows, and MacOS X (with Linux coming along for the ride).

On the other side of that fence, Microsoft has been very odd about not making statements about whether they could at some time start making intellectual property claims, since this is where their recent spate of patents have all been...


Executive summery: it is not yet ready for work, but C# has the possibility of a future on MacOS X.
     
bygimis
Junior Member
Join Date: Sep 2000
Status: Offline
Reply With Quote
May 26, 2004, 03:58 AM
 
My understanding:

API is an older terms that originates from pre-OO days, where a library of function calls is presented to the (usually C) programmer. You might have a call to show a window, a call to paint a square on the screen etc.

Class Library is a term for a collection of classes providing some useful functionality, a bit like an 'old style' API but presented as classes. A graphics class library might have a square class, a triangle class, a pen class. You use these classes in your app.

A Framework is the reverse - rather than picking bits out of the library to use, you 'fill in the gaps' by added smaller amounts of custom code to the framework to produce your desired effect. Cocoa, Swing and .net forms are all frameworks.

Learning new frameworks/API's is the real pain of programming across platforms - MFC is very different from the Mac Toolbox, or Cocoa. Java is basically a single API that is the same on different platforms - a 'Virtual computer' to target. The language is fairly unimportant compared with the framework.

.Net is the new, modern framework for writing windows apps.
Cocoa is the new, modern way for writing Mac apps.
Nobody made a greater mistake than
he who did nothing because he could only
do a little. Edmund Burke
     
larkost
Mac Elite
Join Date: Oct 1999
Location: San Jose, Ca
Status: Offline
Reply With Quote
May 26, 2004, 08:34 AM
 
bygimis: Most of what you said is right on the money, but two small notes:

.Net is more of a marketing term than a real idea. It covers such a wide swath of things that it is tough to narrow it down like that. For most people's uses it is however a good definition.

The second point is that frameworks are still referred to as API's. Framework is being more specific, and thus is a better term, but both are valid for things such as Cocoa.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
May 26, 2004, 11:45 AM
 
Originally posted by bygimis:
My understanding:

API is an older terms that originates from pre-OO days, where a library of function calls is presented to the (usually C) programmer. You might have a call to show a window, a call to paint a square on the screen etc.

Class Library is a term for a collection of classes providing some useful functionality, a bit like an 'old style' API but presented as classes. A graphics class library might have a square class, a triangle class, a pen class. You use these classes in your app.


In my Java-centric world, I never hear, or use, the term "Class Library". If someone used that term, I might guess what they mean. But, everyone in the Java community and everyone with any company I have every worked on projects with uses the term API.

Look here: I see lots of APIs, but not one "Class Library"

Java APIs

Current JSRs
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
InvisibleTouch
Fresh-Faced Recruit
Join Date: Apr 2004
Status: Offline
Reply With Quote
May 26, 2004, 01:16 PM
 
Originally posted by itai195:
I think the main point is that if you're getting a CS-related bachelor's, you should be able to pick up any programming language you want to use throughout your career. You aren't tied into using the languages you use in classes, those languages should just be used as instructive tools to help you learn and apply more abstract concepts. Unfortunately, I suspect that a school teaching C# might not emphasize that concept...
Classes that teach or use C# are usually higher level courses that assume that the student has already taken basic courses like data structures, algorithms, object oriented design, etc in some other language like Java or C++. That's how it is in my school anyways.
     
Turias
Mac Elite
Join Date: Nov 2003
Location: Minnesota
Status: Offline
Reply With Quote
May 26, 2004, 01:21 PM
 
AppleInsider notes that Tiger might yield support for C# and .NET frameworks.

I'll believe it when I see it, though.
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
May 26, 2004, 01:36 PM
 
Originally posted by InvisibleTouch:
Classes that teach or use C# are usually higher level courses that assume that the student has already taken basic courses like data structures, algorithms, object oriented design, etc in some other language like Java or C++. That's how it is in my school anyways.
My school handled things differently I guess, we never really had classes that taught a language. Many classes expected us to use one or another language for all our projects, but learning the language was rarely a part of the course material.

I guess I can't see the value of teaching C# outside of a course about .NET, and a course about .NET seems a little too career oriented to be part of a CS curriculum, but that's just my opinion.
     
Graymalkin
Mac Elite
Join Date: May 2001
Location: ~/
Status: Offline
Reply With Quote
May 31, 2004, 01:10 AM
 
A decent college CS program will teach you how to program computers. Once you learn how to program the language you use to do so becomes trivial. There's basic concepts inherent in all high level programming languages. Programming is about solving problems. CS classes are supposed to teach you methodic and logical problem solving. Once you learn to solve problems in this way and know the science behind such problem solving learning particular languages is easy.

You'll find that most high level languages do the exact same thing with a different syntax. Some provide you with more "out of the box" capabilities. Perl for instance has a ton of built-in methods for text handling. You could do everything in C you could do with Perl, it is just takes less time to write in Perl because more heavy lifting work has been done for you. By the time you end up with a bachelor's degree in Computer Science you'll be able to program in a variety of languages both new and obsolete and you ought to have the capability to write your own programming language if you wanted to.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
May 31, 2004, 01:33 PM
 
I did just that! My language consists of 1's and 0's

here is a sample:

Code:
010010010110011000100000011110010110111101110101001000000110000101110010011001010010000001110010011001010110000101100100011010010110111001100111001000000111010001101000011010010111001100101100001000000111100101101111011101010010011101110010011001010010000001101110011011110111010000100000011000010111001100100000011001000111010101101101011000100010000001100001011100110010000001001001001000000111010001101000011011110111010101100111011010000111010000100001
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
asidrane
Junior Member
Join Date: Jun 2001
Status: Offline
Reply With Quote
Jun 2, 2004, 05:47 PM
 
.NET is not a framework for developing Windows applications. It is analagous to Java 2 Enterprise Edition (J2EE), meaning it is a framework for developing platform independent programs. However, currently, the .NET framework and the CRL (common runtime library) only exist for Windows. I recently concluded and independent study on .NET in school and I am sad to say that it is actually very good. C# is syntactiaclly very much like Java, but better. and VisualStudio.NET is one of the best IDEs I've ever had the privilage of using. Additionally, unlike Java's slow interpreter, .NET's "Just-in-time" compiler provides almost no overhead when exectuing. Meaning that .NET will become a viable platform. There is already a project underway developing the tools necessary for .NET to work on Linux and would not be surprised if Mac OS X were to include them as well. Whether you like it or not, what Microsoft does dictates what everyone else must do too.
     
Catfish_Man
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
Jun 2, 2004, 06:25 PM
 
Originally posted by asidrane:
.NET is not a framework for developing Windows applications. It is analagous to Java 2 Enterprise Edition (J2EE), meaning it is a framework for developing platform independent programs. However, currently, the .NET framework and the CRL (common runtime library) only exist for Windows. I recently concluded and independent study on .NET in school and I am sad to say that it is actually very good. C# is syntactiaclly very much like Java, but better. and VisualStudio.NET is one of the best IDEs I've ever had the privilage of using. Additionally, unlike Java's slow interpreter, .NET's "Just-in-time" compiler provides almost no overhead when exectuing. Meaning that .NET will become a viable platform. There is already a project underway developing the tools necessary for .NET to work on Linux and would not be surprised if Mac OS X were to include them as well. Whether you like it or not, what Microsoft does dictates what everyone else must do too.
Apparently your study missed the fact that Java has used a JIT compiler since about version 1.2. IMO Java and .NET are approximately equal. .NET is supposedly a little faster, has a bigger language choice, and a better API. Java is simpler, more open, and actually is cross platform rather than just claiming to be (does anyone really believe that MS will allow a 100% compatible .NET API to exist on other platforms? All they have to do is add features each time that happens and they can keep other platforms scrambling to keep up).
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Jun 2, 2004, 07:05 PM
 
I'd add that the belief C# is better than Java as a langauge is subjective -- I've seen counterarguments for every supposed enhancement in C#. That said, the enhancements do in general aid convenience, and I'm lazy... so I like C#

I also wouldn't hand over application development dominance to Microsoft, J2EE has a lot going for it (like the support of IBM, Sun, Oracle, BEA). I haven't seen a reputable analyst predict anything other than coexistence for the two. Additionally, I have to think J2EE will always be more attractive for anyone who values avoiding vendor lock-in. When you buy into .NET, you're locked into a pile of Microsoft products. In contrast, there is significant vendor competition in every aspect of the J2EE platform, from application servers to databases to IDEs and frameworks.

You're right that .NET isn't just a framework, it's an application development platform (Microsoft's bungled marketing would have us believe .NET is sunflowers and lollipops as well). I don't know about the cross platform applications part though, that's yet to be seen.
( Last edited by itai195; Jun 2, 2004 at 07:27 PM. )
     
asidrane
Junior Member
Join Date: Jun 2001
Status: Offline
Reply With Quote
Jun 2, 2004, 07:12 PM
 
Java compiles into java byte code which in turn is interpreted by the virtual machine during execution. This interpretation process is slow and leads to an execution time of O(log(n)) where as .NET compiles into microsoft intermediary language which is more or less assembly without register informatio. This results in execution of .NET programs having a run time of O(n).

Perhaps it's jsut a matter of the c# compiler being much better than the VM for windows. Who knows.
     
itai195
Addicted to MacNN
Join Date: May 2001
Location: Cupertino, CA
Status: Offline
Reply With Quote
Jun 2, 2004, 07:24 PM
 
I'm not sure where you got those bounds, but O(log(n)) is faster than O(n). Which Java VM were you using? Microsoft's is ancient.
     
asidrane
Junior Member
Join Date: Jun 2001
Status: Offline
Reply With Quote
Jun 2, 2004, 11:29 PM
 
I believe i meant O(nlog(n))

now that i think about it, not sure where my bounds came from
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Jun 3, 2004, 12:41 AM
 
that's because it's bull butter.

The fact is, C# is compiled to CLR bytecode, just like Java is compiled to JVM bytecode.
Any performance edge the .Net CLR has over the JVM would be due to secret hooks, OS boot time pre-loading of DLLs, and other such goodies that Microsoft shares only with itself.
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
barbro
Fresh-Faced Recruit
Join Date: Dec 2002
Status: Offline
Reply With Quote
Jun 4, 2004, 05:51 PM
 
No the c sharp speed advantages come from the CLR. Under windows a lot of these are wrappers around windows calls - so they go to native code pretty quickly.

Under java lots of code (e.g. swing) falls to java or code without the optomisation that the OS gets. It's the lightweight/heavyweight dispute which made swing so bad. Mono will be quite slow 'cos it goes to emulated win32 calls (thus the need for wine). MS went for speed over crossplatform.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Jun 4, 2004, 08:23 PM
 
Isn't that pretty much what I just said???
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
barbro
Fresh-Faced Recruit
Join Date: Dec 2002
Status: Offline
Reply With Quote
Jun 6, 2004, 10:51 AM
 
I thought you were suggesting that c# was faster cos microsoft use lots of nasty undocumented hooks... as far as i know they just use all the standard documented win32 calls. So if you wanted to reimplement c# for windows (in theory) you could make it as fast as the MS implementation. Not that microsoft is above such practices, but i don't think they use them here!
     
Theodour
Forum Regular
Join Date: Apr 2000
Location: A drip off Lake Michigan
Status: Offline
Reply With Quote
Jun 6, 2004, 05:10 PM
 
Originally posted by barbro:
I thought you were suggesting that c# was faster cos microsoft use lots of nasty undocumented hooks...
What, Microsoft use proprietary means to optimise their just-in-time compiler so that C# runs best with Microsoft Windows? NEVER!!!!
     
gatekeeper
Dedicated MacNNer
Join Date: May 2004
Status: Offline
Reply With Quote
Jun 13, 2004, 10:47 PM
 
Mac zealots spreading FUD about Microsoft? NEVER!!!!!
     
Angus_D
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jun 14, 2004, 06:42 AM
 
Apple doesn't use any nasty undocumented hooks at all ever! All their code is 100% perfect hack-free and their systems are not proprietary at all! Praise Alla^WSteve Jobs!
     
Catfish_Man
Mac Elite
Join Date: Aug 2001
Status: Offline
Reply With Quote
Jun 14, 2004, 01:38 PM
 
Originally posted by Angus_D:
Apple doesn't use any nasty undocumented hooks at all ever! All their code is 100% perfect hack-free and their systems are not proprietary at all! Praise Alla^WSteve Jobs!
Certainly they would never do something like make it so that only one app (Dock.app) can modify windows of other applications...

Or have the window transform matrix be accessed only by private APIs...

I would definitely expect both Apple and MS to be using any tricks they can find to make stuff run faster.
     
Kristoff
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Jun 14, 2004, 04:15 PM
 
Originally posted by gatekeeper:
Mac zealots spreading FUD about Microsoft? NEVER!!!!!

Are you retarded?

FUD == Fear Uncertainty Doubt


What part about any of this was FUD?

I am 100% certain that everything I said is 100% true.
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
gatekeeper
Dedicated MacNNer
Join Date: May 2004
Status: Offline
Reply With Quote
Jun 14, 2004, 09:01 PM
 
Originally posted by Angus_D:
Apple doesn't use any nasty undocumented hooks at all ever! All their code is 100% perfect hack-free and their systems are not proprietary at all! Praise Alla^WSteve Jobs!
     
Theodour
Forum Regular
Join Date: Apr 2000
Location: A drip off Lake Michigan
Status: Offline
Reply With Quote
Jun 14, 2004, 10:51 PM
 
Originally posted by Catfish_Man:
Certainly they would never do something like make it so that only one app (Dock.app) can modify windows of other applications...

Or have the window transform matrix be accessed only by private APIs...

I would definitely expect both Apple and MS to be using any tricks they can find to make stuff run faster.

Exactly. I'm being realistic ... I'm sure c# and .NET are just dandy, but SORRY--Microsoft isn't going leave themselves open to the kind of [business] attack that sharing .NET would provide.

Yeah, and whats this talk about FUD? Are you expecting a Windows bias on this forum?

Besides, it wans't even biased one way or the other.
Damn, I can't believe I'm pissed at you, Gatekeeper!

Time for a beer.
( Last edited by Theodour; Jun 14, 2004 at 10:57 PM. )
     
arhra
Fresh-Faced Recruit
Join Date: Nov 2001
Location: /(bb|[^b]{2})/
Status: Offline
Reply With Quote
Jun 16, 2004, 02:19 AM
 
*cough*


Oh, and check out some of the cvs commit logs.
     
Angus_D
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jun 16, 2004, 04:05 PM
 
Yeah, I noticed adhamh was doing some mono-related stuff. However I'm pretty sure he's doing it for his own reasons, not with the backings of Apple.
     
Theodour
Forum Regular
Join Date: Apr 2000
Location: A drip off Lake Michigan
Status: Offline
Reply With Quote
Jun 16, 2004, 04:12 PM
 
Originally posted by Angus_D:
Yeah, I noticed adhamh was doing some mono-related stuff. However I'm pretty sure he's doing it for his own reasons, not with the backings of Apple.

mono != microsoft
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Jun 21, 2004, 02:39 PM
 
Originally posted by Catfish_Man:
Certainly they would never do something like make it so that only one app (Dock.app) can modify windows of other applications...

Or have the window transform matrix be accessed only by private APIs...

I would definitely expect both Apple and MS to be using any tricks they can find to make stuff run faster.
All seriousness aside, you have to admit there is a difference between using undocumented/unstable APIs (as in IOKit, The Dock, etc) because they are not ready to be mainstream, versus MS using features that get documented only much later to achieve a feature gap between apps like Office/Explorer and third party counterparts.

I use products by both vendors - and am a zealot of neither - but Microsofts actions are more often dubious then Apples are.
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Jun 21, 2004, 02:51 PM
 
Originally posted by barbro:
I thought you were suggesting that c# was faster cos microsoft use lots of nasty undocumented hooks... as far as i know they just use all the standard documented win32 calls. So if you wanted to reimplement c# for windows (in theory) you could make it as fast as the MS implementation. Not that microsoft is above such practices, but i don't think they use them here!
SUN chose to design a VM that could perform well on any OS in nearly any environment (Desktop/Server/Palm/Cell/Smart Card/Ring), whereas MS, from what I have heard, designed their runtime specifically around the Win32 design. SUN made sacrifices for portability - MS was out to make a premium platform on top of Windows.
     
Angus_D
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jun 21, 2004, 03:05 PM
 
Originally posted by Theodour:
mono != microsoft
Yes, I am perfectly aware of that. What's your point?
     
Angus_D
Addicted to MacNN
Join Date: Mar 2000
Location: London, UK
Status: Offline
Reply With Quote
Jun 21, 2004, 03:06 PM
 
Originally posted by absmiths:
All seriousness aside, you have to admit there is a difference between using undocumented/unstable APIs (as in IOKit, The Dock, etc)
IOKit is perfectly documented and stable. I don't know what you mean by "the Dock API", as there are perfectly documented and stable APIs for interacting with the Dock (although the Dock does itself use private routines to do some of the things it does).
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Jun 22, 2004, 11:03 AM
 
Originally posted by Angus_D:
IOKit is perfectly documented and stable. I don't know what you mean by "the Dock API", as there are perfectly documented and stable APIs for interacting with the Dock (although the Dock does itself use private routines to do some of the things it does).
I was making a historical reference to when IOKit was being created by Apple back in the 10.0? days and everyone complained because CD-Rs didn't work, no Toast, etc. Apple didn't document the kit initially because it was too unstable (change-wise, not runtime) but then they published it when it was complete.

I didn't mention a "Dock API" - I was referring to the private API the Dock uses as mentioned above, not the Dock itself.
     
gatekeeper
Dedicated MacNNer
Join Date: May 2004
Status: Offline
Reply With Quote
Jul 1, 2004, 12:39 PM
 
Mono 1.0 released: MonoFramework-1.0.dmg
     
zanyterp  (op)
Mac Enthusiast
Join Date: Apr 2003
Location: manticore or people's republic of haven
Status: Offline
Reply With Quote
Jul 1, 2004, 10:59 PM
 
Originally posted by gatekeeper:
Mono 1.0 released: MonoFramework-1.0.dmg
so with this i can code at home (my mac) and school (pc) for c# and have it portable? minus GUI code of course?. . .unless i just want to code it and not compile/run on both platforms?

nick
some people are like slinkys: they don't do much, but are fun to push down stairs.
     
 
 
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
Top
Privacy Policy
All times are GMT -4. The time now is 10:27 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,