Linked by Thom Holwerda on Wed 2nd Dec 2015 23:50 UTC
General Development

If you are an iOS developer, the Windows ecosystem can appear a strange and frightening place. Writing an app for Windows requires an investment in all kinds of new things: new tools (Visual Studio), new languages (C#), new APIs and Controls (Win32, XAML), new graphics engines (DirectX) and before you know it, life seems too short and wouldn't another Flappy Birds clone be more fun anyway?

Fear not, brave adventurer, for Project Islandwood is here.

Order by: Score:
please no
by l3v1 on Thu 3rd Dec 2015 06:41 UTC
l3v1
Member since:
2005-07-06

Writing an app for Windows requires an investment in all kinds of new things...


Dear iOS developers, please invest. The last thing anyone needs is extending the pool of 'wonderful' Windows apps with apps coming from converted obj-c magic.

Reply Score: 4

RE: please no
by MrHood on Thu 3rd Dec 2015 08:35 UTC in reply to "please no"
MrHood Member since:
2014-12-02

So what? What do you mean by "invest"?

If you mean writing a new, native Windows Universal App, then I'm all for it...

Reply Score: 0

RE[2]: please no
by Deviate_X on Thu 3rd Dec 2015 16:44 UTC in reply to "RE: please no"
Deviate_X Member since:
2005-07-11

So what? What do you mean by "invest"?

If you mean writing a new, native Windows Universal App, then I'm all for it...


99% of iOS developer's are not going to start making UWP apps, or port apps using the Islandwood bridge.

From reading, the MSDN article you can see that porting with Islandwood will require continuous maintenance work to keep the iOS and Windows app in sync.

With project Astoria, 99% of Android apps' would have just worked without any work required by the dev.

Reply Score: 3

RE[3]: please no
by glarepate on Thu 3rd Dec 2015 18:17 UTC in reply to "RE[2]: please no"
glarepate Member since:
2006-01-04

With project Astoria, 99% of Android apps' would have just worked without any work required by the dev.


Good reason to cancel it then: The existing developer community would have been wiped out by the ensuing near-instant tidal wave of ported apps from the Android platform coming over to the MSFT phone platform if Astoria were to be released.

Reply Score: 2

RE: please no
by Sidux on Thu 3rd Dec 2015 09:03 UTC in reply to "please no"
Sidux Member since:
2015-03-10

Have the feeling this will never happen, but it has to start from somewhere.
Just know something is broken when the scrolling is done backwards (osx style) in an app that is "designed" for Windows.

Reply Score: 2

Comment by Bill Shooter of Bul
by Bill Shooter of Bul on Thu 3rd Dec 2015 14:59 UTC
Bill Shooter of Bul
Member since:
2006-07-14

If you are an iOS developer, the Windows ecosystem can appear a strange and frightening place.


No, from those that I know, it looks like an abandoned warehouse on the wrong side of town with cartoon tumbleweeds blowing past.

But otherwise, those tools and technologies are pretty sweet. Microsoft's development stack is not terrible. c# is a much easier language to transition to than objective c. Its really nice.

Edited 2015-12-03 15:04 UTC

Reply Score: 3

RE: Comment by Bill Shooter of Bul
by Kochise on Thu 3rd Dec 2015 15:10 UTC in reply to "Comment by Bill Shooter of Bul"
Kochise Member since:
2006-03-03

Still far too much verbose even for the most obvious tasks.

Reply Score: 3

tylerdurden Member since:
2009-03-17

C# is easier to grasp if you understand C++. Objective-C is easier to grasp if you understand Object Orientation.

In any case, Apple is transitioning to Swift. Aren't they?

Reply Score: 2

Bill Shooter of Bul Member since:
2006-07-14

I've heard the "Object Orientation" line before in regards to objective-c being easy to learn. Which, I don't disagree with, except "Object Orientation" is a more abstract idea that people tend to learn in conjunction with a language. For me, that was c++, for younger kids, probably java. I'd submit that c# is closer to those than objective c in practice. If you were coming from a smalltalk background, I think objective c would be easier. But I don't think many people really ever got a chance to play with small talk.

Reply Score: 3

tylerdurden Member since:
2009-03-17

Indeed C# is basically C++++ after all (the # is 4 + stuck together). I'll give credit where credit is due, and MS did produce a much better evolution to the C++ paradigm than god awful Java. But still, C++ is deeply flawed, in the context of object orientation (OO), and it's descendants carry that sin.

My background is not in small talk, as much as I was fortunate (or cursed) to have attended several seminars by Alan Kay through my academic years. I highly recommend people watch some of his lectures on youtube.

Once you hear it straight from the horse's mouth what they intended regarding OO, there's no context between which language (C++ vs. Obj-C) got the OO paradigm better.

Edited 2015-12-03 21:33 UTC

Reply Score: 2

Bill Shooter of Bul Member since:
2006-07-14

My background is not in small talk, as much as I was fortunate (or cursed) to have attended several seminars by Alan Kay through my academic years. I highly recommend people watch some of his lectures on youtube.


Dang! That must have been fun. Never thought of finding him on youtube. I'll definitely check that out.

Reply Score: 2

tylerdurden Member since:
2009-03-17

The big "message" I got was that a lot of people (most?) in the field had completely missed the point of OO. Because they thought of OO being mostly about classes, when in reality it was mostly about messages.

Edited 2015-12-03 23:07 UTC

Reply Score: 2

dpJudas Member since:
2009-12-10

The big "message" I got was that a lot of people (most?) in the field had completely missed the point of OO. Because they thought of OO being mostly about classes, when in reality it was mostly about messages.

Actually the way I see it the corner stone of OO is the object (the instance itself) rather than messages. From that perspective I see the languages like this:

Objective-C: Dynamic communication. any message can be sent. Prototypes are just "hints" of what it accepts. All objects support a base of functionality.

C#: Static communication. Interfaces define a strict contract of what message (method call) can be sent. All objects support a base of functionality (like the COM IUnknown model).

C++: No shared base class. Objects can be made to act like C#, but the focus is all on the class being an improved struct. Any OO present is of your own making.

The C++ part is clearly what you are referring to. What I meant was that C#, and COM that came before it, does follow the OO concept far more closely. Because of that I think C# is more like Obj-C than C++.

Reply Score: 2

RobG Member since:
2012-10-17

Definitely recommended. Some of the talks are quite interesting, also his interview for Dr Dobb's Journal is recommended.

DDJ: "Still, you can't argue with the Web's success.".

AK: "I think you can."

DDJ: "Well, look at Wikipedia — it's a tremendous collaboration."

AK: "It is, but go to the article on Logo, can you write and execute Logo programs? Are there examples? No. The Wikipedia people didn't even imagine that, in spite of the fact that they're on a computer. That's why I never use PowerPoint. PowerPoint is just simulated acetate overhead slides, and to me, that is a kind of a moral crime. That's why I always do, not just dynamic stuff when I give a talk, but I do stuff that I'm interacting with on-the-fly. Because that is what the computer is for. People who don't do that either don't understand that or don't respect it."

http://www.drdobbs.com/architecture-and-design/interview-with-alan-...

Edited 2015-12-04 16:17 UTC

Reply Score: 2

Bill Shooter of Bul Member since:
2006-07-14

He kind of comes off as a jerk there. Wikipedia, like most organizations, is trying to do the most with the limited resources it has. Trying to devise an emulator in java script ( or some other technology) for every obscure (face it, logo is obscure these days) programming language would seem to distract from their goal of trying to focus on text to share as much of the worlds encyclopedic information as possible.

Reply Score: 2

dpJudas Member since:
2009-12-10

Indeed C# is basically C++++ after all (the # is 4 + stuck together). I'll give credit where credit is due, and MS did produce a much better evolution to the C++ paradigm than god awful Java. But still, C++ is deeply flawed, in the context of object orientation (OO), and it's descendants carry that sin.

I don't really think C# is much like C++ except for the similar looking syntax. Their OO in particular is far more COM than C++, and their garbage collector means their objects are about as far from RAII as you can get. Their similarity basically end at them both having base classes.

Once you hear it straight from the horse's mouth what they intended regarding OO, there's no contest between which language (C++ vs. Obj-C) got the OO paradigm better.

I actually find that C# and Objective-C are rather similar in many ways. The interfaces in C# and the prototypes in Obj-C are serving the same purpose. Where they differ is mainly that, in C#, the interfaces and objects are static, while in Obj-C they are dynamic.

Reply Score: 2

tylerdurden Member since:
2009-03-17

Well, syntax is one of the main defining characteristics of a language. In any case, C# being a component oriented evolution of C++ was something stated by the people who made the language.

Reply Score: 2

dpJudas Member since:
2009-12-10

Well, syntax is one of the main defining characteristics of a language. In any case, C# being a component oriented evolution of C++ was something stated by the people who made the language.

Ah yes there is no doubt that they were marketing it quite heavily for C++ devs and why it was better (same as Java did). I just think that in retrospect they differ quite a lot in how they approach OO.

Reply Score: 2

Moochman Member since:
2005-07-06

C# much better than that godawful Java? You do realize that C# is basically a copy of Java, right? Sure with time they added features like lamdas (which Java eventually added), LINQ, properties and async/await, which are all great. But at its core it is and was a Java clone. If you love C# so much it seems to me you shouldn't be so quick to disparage the language that more or less single-handedly gave birth to it...

Reply Score: 2

Why?
by pedlo on Thu 3rd Dec 2015 16:29 UTC
pedlo
Member since:
2011-04-30

Why? WHY? What's wrong with using Qt/Qml or Java or the wealth of cross platform tools we already have?? WHY???

Reply Score: 2

RE: Why?
by shotsman on Thu 3rd Dec 2015 17:18 UTC in reply to "Why?"
shotsman Member since:
2005-07-22

Simple really

N as in Not
I as in Invented
H as in Here

Reply Score: 2

RE[2]: Why?
by glarepate on Thu 3rd Dec 2015 18:21 UTC in reply to "RE: Why?"
glarepate Member since:
2006-01-04

To be fair to MSFT, a complete departure from my usual tendencies, the NIH attitude seems to have lost much of its underpinnings and support under Nadella.

Reply Score: 2

RE[3]: Why?
by tylerdurden on Thu 3rd Dec 2015 19:02 UTC in reply to "RE[2]: Why?"
tylerdurden Member since:
2009-03-17

Nah, the NIH is still pretty strong within MS.

NIH has produced fantastic returns to them, and it's too ingrained into the DNA of Microsoft's corporate culture, and their current CEO is a product of that culture.

Edited 2015-12-03 19:04 UTC

Reply Score: 2

RE: Why?
by moondevil on Thu 3rd Dec 2015 18:26 UTC in reply to "Why?"
moondevil Member since:
2005-07-08

Qt/QML still doesn't offer a proper support on mobile.

Oracle dropped the ball on mobile OS support and all available Java compilers are commercial.

Reply Score: 2

RE: Why?
by Bill Shooter of Bul on Thu 3rd Dec 2015 20:12 UTC in reply to "Why?"
Bill Shooter of Bul Member since:
2006-07-14

That's an easy question to answer:

What's wrong with using Qt/Qml
Not free for commercial use.

Java
MS isn't touching that again after the Sun lawsuit.

Reply Score: 2

RE[2]: Why?
by juzzlin on Fri 4th Dec 2015 14:43 UTC in reply to "RE: Why?"
juzzlin Member since:
2011-05-06

Not free for commercial use.


Qt is free for commercial use if you link to the libs dynamically. Just like all LGPL stuff.

Edited 2015-12-04 14:45 UTC

Reply Score: 2

RE[2]: Why?
by chithanh on Sat 5th Dec 2015 10:17 UTC in reply to "RE: Why?"
chithanh Member since:
2006-06-18

Not free for commercial use.
Only if you make any modification to Qt and want to ship the modified version, then you will be bound by the terms of the LGPL. Else there is no problem at all for commercial use.

Not sure about Microsoft's Terms and Conditions for their toolkits and libraries.

Reply Score: 2

RE: Why?
by juzzlin on Fri 4th Dec 2015 14:41 UTC in reply to "Why?"
juzzlin Member since:
2011-05-06

Why? WHY? What's wrong with using Qt/Qml or Java or the wealth of cross platform tools we already have?? WHY???


I share your pain ;)

Reply Score: 2

RE: Why?
by Moochman on Sat 5th Dec 2015 11:50 UTC in reply to "Why?"
Moochman Member since:
2005-07-06

Java is out, if you make a game for Android in Java that is the only place it will run (well, that and BlackBerry OS, but that's it).

Qt/QML - maybe, but it's not geared toward game development, and I have a feeling that is the main target audience for these tools. And for not-games Qt doesn't look native, which is a turn-off for a big swath of apps. On top of that Qt costs a lot more for commercial development ($350 / month) than comparable tools from Apple (free) and Microsoft (free, at least if you're "just" porting from iOS). To a big software house that may not seem like such a big deal, but to indies it's a deal-breaker.

Edited 2015-12-05 11:53 UTC

Reply Score: 2

RE[2]: Why?
by juzzlin on Sat 5th Dec 2015 20:53 UTC in reply to "RE: Why?"
juzzlin Member since:
2011-05-06

Qt/QML - maybe, but it's not geared toward game development, and I have a feeling that is the main target audience for these tools. And for not-games Qt doesn't look native, which is a turn-off for a big swath of apps.


That's funny because I'm currently writing OpenGL games for Android with Qt. It serves that purpose really well.

Reply Score: 2