Next Generation Emulation banner
61 - 80 of 187 Posts
I'm specificaly talking about mobile else i wouldn't say i dislike there OS ;)
You can't use Java on Windows RT either, so... I can see where this is leading us. ;)

Meanwhile, if you use a third-party IDE, you can still use something other than Obj-C.

For instance, if you write games, use Unity. It's fast, it's C# (well, same syntax at least), and... oh wait, that's all YOU need. :p

Unity is crossplatform, and it's quite an awesome game engine to use. Plus... you don't necessarily have to write just "games".
 
I know there are alternatives but i was talking about the tools itself which do not force coders to use a certain language. For instance MS doesn't force C# which is the language they are trying to push since many years but instead they allow C++ which is almost the default language today. Have you ever tried Visual Studio 2012 Express for Windows Phone or Windows RT/8? when you work with those tools you will know that if there is one thing MS do right then is write development tools. Apple comes very close tho. but there tools for mobile focus too much in Objective-C. Sure there are alternatives but without alternatives you're pretty lost while in the MS side you still have common languages and not just one everyone rejects or hate except Apple lovers. Android in the other hands is even a bigger trouble and have horrible tools even those made for Visual Studio or similar.
 
If you need C++, there's Objective-C++ (ya, really!) that allows you to mix the two. ;)

It's not like I'm not familiar with Windows, but... would you agree that the documentation is mostly focused on C++ or C#?

If I were writing a Windows application in Java, and I want to hook it to a system process or service... hm... :p

That's the sort of "integration" I'm talking about. The "official" list of supported languages is long, but the "official" documentation and libraries only allow for very specific languages. That's just true for every platform IMO.
 
I do agree that it focus more on those two but if we put C# aside C++ is a very common language and as mentioned almost the default language on every system so everyone is able to do something. Forcing a certain language that is only used on that enviroment is silly in my eyes... also i'm not talking about Windows Applications here but again.... Mobile ones :p

I know you're probably familiar with Windows tools but i highly doubt you and many developers here have tested some of there core technologies outside of the standard ones provided with Visual Studio and the long overrated Windows forms hence why many are missing the beauties they have to offer which is what i'm talking about. Microsoft tools are by far the best ones when it comes to development on mobile applications(and even desktop) and i really wish that team would be the one designing Windows as we would have an awesome OS by now. Sadly that doesn't seem to be the case.
 
If it was that popular, Google would be using it for their Android platform instead.

But we know how that turned out. :p

And I know there are things that you can discover deep within the tool, but the same can be said of other platforms.

What I'm trying to say here... is that aside from C# and C++, other languages (Java, Python, Perl, what have you) don't have official documentations from Microsoft that would allow them to directly hook into system events and messages.

And that's exactly the same thing that Google is doing to Android. It's also the same thing Apple is doing to iOS. No platform is truly "more restricted" than the other.

I think the only restriction is the one you bind on yourself as a developer. ;)
 
I think by restriction he was talking about is how deeply the system/hardware can be accessed outside of the OS with any language. And also how many languages are understood by the OS.
 
Yeah, and I mean exactly that, too. :p

Aside from C++ and C#, which have APIs that support the functionalities provided by Microsoft, any other language would have to "hack" the system in order to achieve what those languages can. And even then, it's impossible for certain languages to achieve that level of root (Java being a prime example).

It's not any different from mobile OSes where you have a ton of different IDEs, but the official documentations and APIs/libraries that allow direct hardware access are still limited to certain languages.

Linux is about the only platform that supports most programming languages, and all of them have supporting libraries and APIs that allow some level of direct hardware access. IMO, that's truly what "open" should mean. Windows by definition is still a "restricted" or "limited" system.

Not that I have a bias against Windows (hell, I have Windows on both of my work machines, which I use daily), but just to say... it's not the holy grail, and it doesn't support everything. ;)
 
No that's still not quite I mean. I meant the limits of how far a 3rd party programmer can obtain root access and what he's still locked out of.
And I know windows is still restricted...but it's less retricted than OSX or iOS or Android are.

I agree Linux is the only fully open one, but it's restricted by compatibility if you like. When it comes to access it's great and free and open...when it comes to doing everything I do on my Windows comp with the same ease and flair...well then it's like being in Jail with only dry old bread and water for nourishment.

So if that's your priority then Windows is infinitely more open than Linux. And Windows also understands the greatest variety of languages with ease, all you need is an SDK.

Mobile OSs and OSX however seem to specifically choose non-conformity, in other words Obj-C exists purely because they don't want an "open" language like regular C. And they limit the languages they'll be able to understand based on whether they are happy being influenced by any other system using that language (and whether they want to pay MS .NET Licensing). And Linux just doesn't understand much else.
 
Well, I'll concede, as I don't want to open this can of worms again. I know the general attitude around here regarding this matter. (not you, by the way, but I think you know who I'm talking about)

But on a side note, Objective-C is C. It actually exists because they don't like C++. You can use C along with Objective-C just fine, since Objective-C is an extension of C.

So in that regards, you can use C to code on iOS and OSX just fine. OSX even supports C++ outright.
 
I agree Linux is the only fully open one, but it's restricted by compatibility if you like. When it comes to access it's great and free and open...when it comes to doing everything I do on my Windows comp with the same ease and flair...well then it's like being in Jail with only dry old bread and water for nourishment.

So if that's your priority then Windows is infinitely more open than Linux. And Windows also understands the greatest variety of languages with ease, all you need is an SDK.
This is why I'm a Windows over Linux guy for my regular workstations. Most tasks are just smoother on Windows. There's generally less hassle to be productive. I love the freedom of Linux, but Windows is more practical for the majority of desktop tasks that I do. I'm not saying it's right for everybody, but it is for me.

Now when it comes to servers, I'm the other way around. Linux can't be beat for for most server tasks. Web servers, NAS, etc... I played around with Windows Server 2003 on my web server box for a few months, but ended up going back to Linux. IIS is nasty. I'll admit the way you can tie the web server virtual hosts to FTP accounts easily is nice, but the httpd backend is crap compared to apache or nginx.
 
Well, I'll concede, as I don't want to open this can of worms again. I know the general attitude around here regarding this matter. (not you, by the way, but I think you know who I'm talking about)

But on a side note, Objective-C is C. It actually exists because they don't like C++. You can use C along with Objective-C just fine, since Objective-C is an extension of C.

So in that regards, you can use C to code on iOS and OSX just fine. OSX even supports C++ outright.
Hope you don't mean me.... :rolleyes:

Anyways i agree with you so far but i guess we both agree that Objective-C is less accepted than C++ hence why it makes 0 sense to force a language... anyways is there decision.
 
Hope you don't mean me.... :rolleyes:

Anyways i agree with you so far but i guess we both agree that Objective-C is less accepted than C++ hence why it makes 0 sense to force a language... anyways is there decision.
Nope. Not you. You're one of the more level-headed discussions I have had. Look back at the Windows 8 thread and you'll see I've had people confront me all the way throughout for some of the silliest reasons ever. :p

Anyway, I agree. It's less popular elsewhere. But then... it's a popular language on their platform (Mac and so on, you get the drill).

Now, the surprising part is... the open-source component. Both Mac OS and iOS are based on Darwin. It's akin to how Ubuntu, Fedora, Arch, Mint, etc... are "based" on Linux.

And Darwin is entirely written in C++.

That's why it's possible for Hackintosh to happen. It's not because some people are godly enough to reverse-engineer the whole OS, but because the kernel and the OS core (except for drivers and GUI) are already open-source, and written in one of the most popular languages.

All they have to do is recompile a new kernel with the proper modifications, write some new drivers (code can be "borrowed" from other open-source projects from Linux), and... voila.

That's a gross oversimplification, but... the principle remains the same.
 
Doesn't that all support @ruantec's point though? That technically OSX and iOS have artificial compatibility restrictions where without such "meddling" there wouldn't be any or at least far less.

So it's the software equal of Apple taking all the parts I'd need to build a PC and then making it all exclusive and unable to understand anything I'd run on my PC just cuz *&%$ MS.
 
And I may have good news for those looking for a PlayStation emulator written in Java... by the end of the week.

Ah... the beauty of crossplatform support... :p



I gave up on trying to make JPSX work, and instead am trying to use its approach. Looks like that's working out well... Hmm... ;)
Sounds exciting! looking forward to it :D
 
Doesn't that all support @ruantec's point though? That technically OSX and iOS have artificial compatibility restrictions where without such "meddling" there wouldn't be any or at least far less.

So it's the software equal of Apple taking all the parts I'd need to build a PC and then making it all exclusive and unable to understand anything I'd run on my PC just cuz *&%$ MS.
The Windows side is worse than you think.

I mean... even as a developer, there is actually no way for you to know about the inner working of the OS enough to write your own drivers. The kernel is completely proprietary, and while the driver model is open, you honestly can't do much to the OS to make it support more hardware. Most people wanting to write custom drivers for their hardware have to rely on hooking to system drivers that are already there.

In other words, good luck getting Windows 7 drivers for some hardwares made in 1998. Or conversely, good luck getting something that only has Windows 7 drivers to work on Windows XP. I'm sure you know how that situation feels like.

Meanwhile, it's actually possible to write legacy drivers that support hardwares that Apple doesn't support on Mac OS. That's how Hackintosh thrives. The only limitation is with which instruction set the actual kernel supports, but you can modify the kernel so that it works differently.

Now, as a disclaimer before someone puts words in my mouth again (well, not you, but I'm starting to see that I have to be extra careful what I'm saying here) I'm not saying that iOS and Mac OS don't have restrictions, but that Windows have far more of it than you'd think. The only reason why Windows feels less restricted is because it has a broader range of hardware support, thanks to having more OEM on board. If Apple allowed OEMs to use their OS, they would have been far more successful and popular. Their pride was (and still is) their downfall in this race.

Without OEMs, Windows would be nothing. That's why there was that time when OEMs reacted strongly toward Microsoft for "undercutting" them with the Surface.

Language support is not really an OS thing, you just need a compiler/interpreter that supports the right calling convention...
Yeah. And that's exactly what I'm trying to say, but I couldn't sum it up. Thanks. ;)

But all that stuffs aside...

--------------------------------



Sounds exciting! looking forward to it :D
Sorry, I was distracted. :( (this is my own fault, not anyone else's)

It may have to wait until next week.

Just a few things to work out to make sure the experience is seamless before I release... whatever it is I'm working on.
 
The Windows side is worse than you think.

I mean... even as a developer, there is actually no way for you to know about the inner working of the OS enough to write your own drivers. The kernel is completely proprietary, and while the driver model is open, you honestly can't do much to the OS to make it support more hardware. Most people wanting to write custom drivers for their hardware have to rely on hooking to system drivers that are already there.

In other words, good luck getting Windows 7 drivers for some hardwares made in 1998. Or conversely, good luck getting something that only has Windows 7 drivers to work on Windows XP. I'm sure you know how that situation feels like.

Meanwhile, it's actually possible to write legacy drivers that support hardwares that Apple doesn't support on Mac OS. That's how Hackintosh thrives. The only limitation is with which instruction set the actual kernel supports, but you can modify the kernel so that it works differently.

Now, as a disclaimer before someone puts words in my mouth again (well, not you, but I'm starting to see that I have to be extra careful what I'm saying here) I'm not saying that iOS and Mac OS don't have restrictions, but that Windows have far more of it than you'd think. The only reason why Windows feels less restricted is because it has a broader range of hardware support, thanks to having more OEM on board. If Apple allowed OEMs to use their OS, they would have been far more successful and popular. Their pride was (and still is) their downfall in this race.

Without OEMs, Windows would be nothing. That's why there was that time when OEMs reacted strongly toward Microsoft for "undercutting" them with the Surface.
Hmm, you do have a point there. I assume that's for security though, well at least partly since I also know WHQL signing on drivers costs a bit of moola, and as such technically not a bad thing. What I mean is it's one of those "Damned if you do. Damned if you don't" scenarios.

Either way, I'd been originally trying to explain @ruantec's view in his absence since at the time it seemed like he and you had suddenly started talking about different things. I don't really have the knowledge required to intelligently continue this myself since I'm just an end-user so I reckon we'll leave it there.
 
Thank you for taking care in my absence Schumi since i've been very busy lately with family matters and coding @ruanTuber. However it seems like RAP and i have been talking about two different kind of things as he keep talking about Windows 7, OSX, drivers and all the stuff i wasn't even mentioning since i meant something different. I refered to mobile and how absurd it is to force a language not everyone except them use where only alternatives add more but that is a different story.
 
But it's not "forced" per se. ;)

Saying that iOS forces Objective-C or that Android forces Java is just as silly as saying Windows forces C++ or C#.

All of these OSes can support some other languages as long as there are SDKs and compilers for them.

For instance, if you want C# on iOS or Android, there's always MonoTouch... which has recently converted itself into Xamarin.
http://xamarin.com/monotouch

It won't perform on par with applications written in native Java or Objective-C, but then C# on Windows is not comparable performance-wise to properly optimized C++ either. :p
 
61 - 80 of 187 Posts