Newell: Win8 is a catastrophe; Pardo: I don't disagree.

Status
Not open for further replies.
whilst youre gonna find a few zealots that prefer obj-c to c++ or c# or whatever (apple user's to a man I expect), but I doubt youre find anyone objectively ;) say so. BTW Its quite a bit slower than c++ or C to boot.

I was just using objc n hour ago concating 2 strings

NSString *fileandtype = [file stringByAppendingString:mad:".xml"];
vs something like
string fileandtype = file + ".xml";

Objective C is, of course, pretty old. However, speed wise it's probably still faster than C# or Java in most case. C++, on the other hand, is not a dynamic OOP language, so it's nature to be faster.

Operator overloading is an important feature of C++ and also controversial for its complexity. I don't think Objective C will ever have operator overloading, but some synthetic sugar is still possible. For example, in Xcode 4.4 it's now support easier use for NSArray, NSDictionary, etc. For example, instead of writing:

Code:
[array objectAtIndex:i]

Now you can write:

Code:
array[i]

Or to initialize an array like this:

Code:
array = @[a, b, c];

instead of

Code:
[NSArray arrayWithObjects:a, b, c, nil];

Personally I still like C++ more, but C++ is really a very complex language.
 
Really? In my perception it has became the norm for hardware manufacturers to print installation manuals, in which they carefully instruct user to ignore Windows warnings about unsigned drivers. I'm basing this mostly on my encounters with USB peripherials (medical equipment, usb ADSL modem, TV tuner, etc.).

Really ? I'd return the hardware as defunct if it didn't come with a signed driver.

64bit Windows doesn't even allow installation of unsigned drivers unless you jump through hoops (set it up for developer testing).

Posing as a system driver has historically been one of the most common means for installing rootkits.

Cheers
 
Objective C is, of course, pretty old. However, speed wise it's probably still faster than C# or Java in most case. C++, on the other hand, is not a dynamic OOP language, so it's nature to be faster.

IMO, The biggest difference, apart from the syntax, is the fact that objects pass messages between each other rather than invoke methods, - and callees might not respond.

In all other programming languages I have ever used a function/method description is a contract between the caller and callee.

Cheers
 
what do u mean? One thing I would like is like linux, select text & then middle click to paste, is this possible in mac?

This works on OSX Lion, *but* only between terminal windows :(
When I discovered it I was customizing a Tiny Core Linux install so that's why I happened upon it. Doesn't seem to work for other apps.
 
IMO, The biggest difference, apart from the syntax, is the fact that objects pass messages between each other rather than invoke methods, - and callees might not respond.

In all other programming languages I have ever used a function/method description is a contract between the caller and callee.

Yeah, Objective C is largely influenced by Smalltalk. C++, on the other hand, is influenced by Modula and Simula. (Of course, C++ is now more like a giant chimera with different paradigms mixed together)

One Objective C design mistake is that an object will simply ignore an unknown message. This is fixed in 2.0 (IIRC) and now an object raises an exception when received an unknown message.

Almost all dynamic OOP languages handle message passing more or less the same way. It's just some of them requires an explicit declaration (such as Java and C#).

Explicit declaration is good that the compiler can find mistakes early (also the IDE through code analysis). However, in OOP it's not always possible. Even static OOP languages like C++ can raise exception at runtime through dynamic_cast.

Back to the topic, Apple tried to introduce Java into Cocoa, but it didn't end up very well. I can't imagine how Cocoa could be ported into C++ though.
 
I think I could learn to live with the grammar of Objective C ... eventually. But I'm not 100% I want to. ;)

I also really don't like the reference counting. They've tried to automate it a little I think in the previous update, but from what I read, it was still not automatic, and garbage collection really isn't good yet?
 
I also really don't like the reference counting. They've tried to automate it a little I think in the previous update, but from what I read, it was still not automatic, and garbage collection really isn't good yet?

The new "automatic reference counting" is basically still a reference counting, it's just, well, generated by the compilers. So, basically you don't need to retain, release, or autorelease anything anymore. Actually you can't use them because they result in compile error. It also has a reverse reference tracking where it allows a weak reference to clear itself when the object it points to is released. This requires runtime support so only iOS 5.0 or later support this.

However, since it's still reference counting, the limitation is still there, that is, you can't do a circular reference. This problem can only be solved with garbage collection.

Also, this only covers Objective C objects. C/C++ memory allocations (malloc or new operator) are still manually managed.

Personally I think ARC is good enough for normal use. I certainly don't worry about memory management when using it. However, there are still some small quirky parts needs to be taken care of, although compilers always give warnings in these situation.
 
This works on OSX Lion, *but* only between terminal windows
youre right, I tried it just now & works in bash. But really needs to be system wide, windows mac linux should 'borrow' off each other the best ideas. The end users will benifit (they still will each have their own flavors to be unique enuf)
A related thing that is superior on mac compared to win/linux is using the 'super'/alt key for keyboard shortcuts. eg alt-c alt-v (copy paste) far better than ctrl c ctrl v. though I expect they'll never change this in windows since its so ingrained now.

but C++ is really a very complex language.
Sure I agree, thats why I keep it as basic as possible, I dont do anything complex with it in my own code, I dont use templates, multiple inherence etc
 
why would alt-c be superior to ctrl-c ?

ctrl-c has very specific uses in a shell (break specifically).
What I do (I use "windows" keyboards usually) is remap that lower left corner so that shell use makes more sense...reverse command (windows) and control usually fixes it nicely for my use.
 
alt-anything also has a specific meaning such as triggering window management or menu bar fonctions, so using it in the area of interest of your program feels wrong.
you forgot the other mac function : "what the hell is that cloverleaf thing? well, let's pretend it's alt or something.." :)

my last encounter with the mac was the cross between an iron and a small CRT TV set, one blue, working and one orange not working. it had the old windows 3.1 like OS, with Internet Explorer for the Mac. despite reading good things about this browser (which was amazingly available on Unix back then) it was sadly unusable. I don't mind crappy layouts but it's stuff like being unable to login to forums and the like.

so, let's try yellow dog linux and debian! even if this computer sucks I know I can put it to use, even with 192MB ram (up from 128), there's ethernet, sound with integrated speakers, display so I can do things and browse with a remote browser if needed.
but the firmware appeared to be unable to boot CDs. Apple expected me to hack a firmware and maybe solder it, apparently.

in the end I scrapped the lame memory and HDD from it, threw it and kicked and dragged it on the floor, to punish it from being a useless computer that gives false hopes!
 
I can't believe Metro will be locked up on PC. limited APIs and sandboxing, sure but requiesting permission from microsoft? I expected it to be so in the app store, but on a PC you don't need the app store (unless you're on linux and you don't want to compile things, "install" them and have no seemingly way of uninstalling. assuming you could compile the damn thing in the first place)

I thought you could even write some javascript and html/css garbage in notepad and end up with your own custom tile. something like Active Desktop, but stable and less dangerous.
 
why would alt-c be superior to ctrl-c ?
well on windows ctrl is the more often used key right? (alt is the equivalent on the mac)
2 reasons why its better

1. its more central (less stretching)
2. more importantly u use your thumb to press it (ctrl with little finger)
- much better for the hands since the thumb operates seperately from the fingers, place thumb on the key and then independantly move your other fingers is easier than little finger on the key and using other fingers, if youre doing hundreds of ctrl-c ctrl-v after each other your hand is gonna be much more strained than 100s of alt-c alt-v
 
one hand - like so ;)
mhgplRQ.jpg

user-1196581_1175327326a.jpg
 
It bugs me how much FUD there's floating around.

You can not publish Metro applications independently.
Yes you can. VS has a self-signing tool and App verification tools are available for both in-Store and independently deployed applications.

This whole thing about Windows 8 being closed platform is such an unbelievable FUD, it's not even funny. :S The only "closed" platform is Win8 on ARM which Newell, Pardo, Notch have no solutions for anyway. Did Valve develop anything for ARM? No. Does Steam run on ARM? No. Does Blizzard develop for ARM? No. Does Notch develop for ARM? Not yet, no. Their statements are something like "I read somewhere on the Internet that Windows 8 is a closed platform, so FU Microsoft!" And the only thing Gabe probably really dislikes is the new Store. But Steam still works just fine on Win8, so what's the problem?

As for the Windows RT - it's kinda locked, but only kinda. You can easily deploy applications (written in both managed and/or unmanaged code) from VS2012 (there's MSDN blog post on that) and there most likely will be a simple way to unlock the device. AFAIK this should be something like the deal is today with unsigned drivers on a 64-bit windows: you've got to enable KD via msconfig or bcdedit to be able to run unsigned code. It shouldn't be much more difficult than that.

I was hating on Win8 before I started using it. But it does everything I want Windows to do, it's slightly more performant and looks cooler IMO (I hate rounded edges in UI). From the POV of how I use OS there are very few changes that'd make me rush to the store and get one but there's absolutely no reason to avoid using it.
 
Their statements are something like "I read somewhere on the Internet that Windows 8 is a closed platform, so FU Microsoft!"
That's not how I read it. I'm sure these guys are smart and well-informed enough to know what they're talking about. I believe they've identified win8 correctly for the slippery slope that it is - the big push towards a closed ecosystem isn't in this release; Win8 just bars the way for what is to come later.
 
That's not how I read it. I'm sure these guys are smart and well-informed enough to know what they're talking about. I believe they've identified win8 correctly for the slippery slope that it is - the big push towards a closed ecosystem isn't in this release; Win8 just bars the way for what is to come later.
Sure, because MS doesn't have a huge ecosystem around development tools and rich history of applications that people use and love. It's also run by people who, unlike Newell and Pardo, have little understanding of what Windows 8 is, how the ecosystem works and so on. ;)

Seriously. Occam's razor anyone? This slippery slope argument bets on the notion that some people gathered in a room full of cigar smoke and plotted how to screw everyone over. This idea even spits in the face of reality: Windows 8 on x86/amd64 is as open as it used to be. Period. Windows RT did not exist in the past. Yes, it's more locked than its Intel counterpart but there has been no product like this from MS before. It is closer to iPad, sure, but that's still a platform that has to prove itself and it's arguably still more open than iPad is.

It is pretty hard for me to imagine that Sinofsky is so out of touch with reality that he already plans 2-3 releases in advance with a notion that WinRT will dominate the market and the best way to milk it will be to close Windows platform altogether once and for all. This idea is so far fetched it's absurd. And I'm not the biggest Sinofsky fanboy, believe me. ;)

And on top of that: changes from Windows Phone 7 to WP8 show the exact opposite tendency to what people claim is happening with Windows 8. I mean... What is this i don't even.

Objective C is, of course, pretty old. However, speed wise it's probably still faster than C# or Java in most case.
Very unlikely. Both Objective-C and MonoTouch (Mono for iOS) use LLVM as their backend. Performance will be very, very close for both.
 
Status
Not open for further replies.
Back
Top