Actually, a properly implemented scheme would NOT require the user to be intelligent. You might want to show the user, hey this is a Microsoft word file, but what's the point in making the user say deal with the whole.doc vs.docx distinction? Case in point, we check files out of share point as doc, we upgrade them to docx format, but guess what, it doesn't work because I can't change the file extension in SharePoint. All because of the stupidity of assuming that file name should be welded permanently to file type. Crazy stuff.
There is nothing wrong with file extensions to hold this information, or at least there wouldn't be if the computing universe was more geared up towards preserving it in various copy scenarios. In fact is say file extensions are definitely the RIGHT spot for it, it's just that the rest of the universe needs to catch up with it so they are preserved in all cases.
3 characters is an awful, error prone, non user friendly hint. Better the OS analyses the file on a more reliable criteria to tell you the file type in a different column.
That assumes a lot. It assumes the user has knowledge of the thousands of extensions in use and what they mean, and that he knows what app they are mapped to.
"Apple has not shipped a single API on Mac or iOS written in Swift. "
Apple has specifically designed Swift so that if the day comes that they are writing APIs in Swift instead of Objective-C, YOU WON'T EVEN KNOW. They have the same internal object model and memory layout. They are basically the same language with a different syntax. (Not quite, but it's not too far off).
And while Apple might not have declared Objective-C dead, people who've seen how Apple operate before can clearly see the writing on the wall.
To some extent it's true you can learn syntax in a few days. HOWEVER, learning to think in a paradigm is a different matter. How long to pick up Scheme syntax? An hour. How long to change your brain to think in Scheme, and not in C/Java/C++/C# ? Well that's a whole different matter.
I might add that well designed programs don't generally open and close resources in lots of places in the code. They will abstract that out and have it done in only a few places.
Yes, as has been pointed out, Java since V7 now has try with resources to auto-close stuff. It's not like you can be totally oblivious in C++ either, you can easily lose resources too if you're pathologically stupid.
Errm, I probably would say Java IS the Swiss army knife of programming languages. Jack of all trades, but master of none. Java might not give you the best result, but it will probably give you less aggravation getting there than most anything else, simply because it is easy to get working and running everywhere, there are a ton of libraries existing, and the compile and link model is simply easier to work with.
You _can_ write very efficient code, and you _can_ write very concise code, but the mental effort required to make all that happen means that few people think it is worth the effort.
Err, well you've got to write the core code in _something_, and why not Objective-C? You can compile it for any platform you like, and I'm a big proponent of sticking to one programming language for everything. You lose a lot by shifting between paradigms and being unable to pass objects around between different layers. Most likely Apple's iTunes for Windows is written in Objective-C and it works for them. Objective-C is a pretty thin layer around C, and at least in the old days, just preprocessed it into C, so it isn't inherently less portable than C.
As someone who did some programming in Sather, which explicitly split up interface and implementation inheritance, I don't know how you justify the claim that implementation inheritance is "a broken concept".
That's a little bit prejudiced. There's absolutely nothing wrong with using Objective-C for general purpose programming. Whether it has enough to offer to make it one's first choice is another thing, but its perfectly serviceable, and in so far as being object oriented, is a decent platform for object development.
Microsoft needs to grow a pair and lay down the law to any company that wants to be an OEM for their products. Apple wouldn't let the carriers pull this stunt on their phones.
That was my first thought too on reading this story. They've made it hard to see the program instructions, so just go back a step and reverse engineer the decrypting algorithm.
Yes all OSes need a mechanism where you can tell the file type. The argument is, file extension is not that right place for it.
Actually, a properly implemented scheme would NOT require the user to be intelligent. You might want to show the user, hey this is a Microsoft word file, but what's the point in making the user say deal with the whole .doc vs .docx distinction? Case in point, we check files out of share point as doc, we upgrade them to docx format, but guess what, it doesn't work because I can't change the file extension in SharePoint. All because of the stupidity of assuming that file name should be welded permanently to file type. Crazy stuff.
There is nothing wrong with file extensions to hold this information, or at least there wouldn't be if the computing universe was more geared up towards preserving it in various copy scenarios. In fact is say file extensions are definitely the RIGHT spot for it, it's just that the rest of the universe needs to catch up with it so they are preserved in all cases.
3 characters is an awful, error prone, non user friendly hint. Better the OS analyses the file on a more reliable criteria to tell you the file type in a different column.
That assumes a lot. It assumes the user has knowledge of the thousands of extensions in use and what they mean, and that he knows what app they are mapped to.
"Apple has not shipped a single API on Mac or iOS written in Swift. "
Apple has specifically designed Swift so that if the day comes that they are writing APIs in Swift instead of Objective-C, YOU WON'T EVEN KNOW. They have the same internal object model and memory layout. They are basically the same language with a different syntax. (Not quite, but it's not too far off).
And while Apple might not have declared Objective-C dead, people who've seen how Apple operate before can clearly see the writing on the wall.
To some extent it's true you can learn syntax in a few days. HOWEVER, learning to think in a paradigm is a different matter. How long to pick up Scheme syntax? An hour. How long to change your brain to think in Scheme, and not in C/Java/C++/C# ? Well that's a whole different matter.
The [[[][]]][] in Objective-C are an extremely simple concept to grasp. The same can't be said for all the >< in C++.
LOL, you just gave me deja-vu about my previous life as a C++ programmer.
Is Sather still alive and kicking? I thought it was dead. Come to that I thought Eiffel was dead.
Hmm, in my experience few people use C++ any more.
I might add that well designed programs don't generally open and close resources in lots of places in the code. They will abstract that out and have it done in only a few places.
Yes, as has been pointed out, Java since V7 now has try with resources to auto-close stuff. It's not like you can be totally oblivious in C++ either, you can easily lose resources too if you're pathologically stupid.
Errm, I probably would say Java IS the Swiss army knife of programming languages. Jack of all trades, but master of none. Java might not give you the best result, but it will probably give you less aggravation getting there than most anything else, simply because it is easy to get working and running everywhere, there are a ton of libraries existing, and the compile and link model is simply easier to work with.
You've probably got more chance in OS-X than most anything else. What do you advocate, CICS mainframe?
You _can_ write very efficient code, and you _can_ write very concise code, but the mental effort required to make all that happen means that few people think it is worth the effort.
Err, well you've got to write the core code in _something_, and why not Objective-C? You can compile it for any platform you like, and I'm a big proponent of sticking to one programming language for everything. You lose a lot by shifting between paradigms and being unable to pass objects around between different layers. Most likely Apple's iTunes for Windows is written in Objective-C and it works for them. Objective-C is a pretty thin layer around C, and at least in the old days, just preprocessed it into C, so it isn't inherently less portable than C.
As someone who did some programming in Sather, which explicitly split up interface and implementation inheritance, I don't know how you justify the claim that implementation inheritance is "a broken concept".
That's a little bit prejudiced. There's absolutely nothing wrong with using Objective-C for general purpose programming. Whether it has enough to offer to make it one's first choice is another thing, but its perfectly serviceable, and in so far as being object oriented, is a decent platform for object development.
Errm, what does Objective-C have OTHER than an object system? That's all there is in the Objective part of Objective-C.
I find it very odd the claim that OO is not the natural way of using C++. I mean, what is the natural way then?
Microsoft needs to grow a pair and lay down the law to any company that wants to be an OEM for their products. Apple wouldn't let the carriers pull this stunt on their phones.
So they're breeding mice with the genes of a human brain? As Kramer said in that episode, there is a secret plan for pig men, or rather rat men.
That was my first thought too on reading this story. They've made it hard to see the program instructions, so just go back a step and reverse engineer the decrypting algorithm.
Like many coders, I too have written code to upload files, but I'm damned if I know what files were uploaded or what their copyright status is.
Je Suis Kim Dotcom.