Visual Studio Mac is a mobile-first, cloud-first IDE. Everything you need for mobile, cloud and Mac development. Download Visual Studio for Mac today. These package can be used to run such applications on a computer even if it does not have Visual Studio 2015 installed. These packages install run-time components of these libraries: C Runtime (CRT), Standard C++, MFC, C++ AMP, and OpenMP.
Chris, as an old NeXT developer who has been using Obj-C since 1989, I can count the number of times I actually needed to go traipsing through the runtime on one hand, so the limited support for reflection in Swift is really a red herring. As for handling pointers in Swift, it's really not that tricky. Examples of wrapping C pointers in Swift classes abound on StackOverflow and GitHub.
![Language Language](/uploads/1/2/5/4/125499222/164350666.png)
neither myself nor my colleagues consider ObjC 'legacy'. Heard that before. Does the word 'Carbon' mean anything to you? @John Randolph: Objective-C isn't legacy because Swift is considered to many to not yet be stable— the current release, 1.2, adjusted the syntax further in a not-fully-backwards compatible manner.
Apple's approach looks to be similar to Ruby's— a lot of things shifted around throughout 1.0-1.9, and have settled since 2.0. Regardless of what Apple intends to do, Apple's holding no bars regarding the still-changing nature of Swift. This is probably one main reason why Microsoft isn't jumping to implement it. However, Swift is just a language— the API remains the same, and the runtime is (almost) the same as Objective-C's. There's little reason why a Swift-to-Objective-C intermediate compiler couldn't be written. And there's little reason for companies settled in Objective-C to use Swift for anything but brand-new projects. It's a nice, simpler syntax (IMHO), with a bunch of coding productivity enhancements that look a lot like Boost C's extensions (Boost smart pointers especially), but it's not a game-changer.
![For For](/uploads/1/2/5/4/125499222/900940335.png)
Every Obj-C programmer should be able to jump into Swift quickly, and Swift-only programmers wouldn't have too much trouble with Obj-C (assuming they also know the nuances of plain-C). What I am going to say is surely provocative but I am going to say it anyway because I don't like dishonest people. In engineering like in science, I consider that it is important to properly and clearly acknowledge someone else work when taking and using the work done by other people.
And obviously the two speakers in this session can't or don't want to do that. This happens two times during the presentation for each speaker respectively, that is: - The first speaker mentions the use of Clang for compiling Objective C and C without nowhere in its slide a mention indicating where Clang comes from or even a link to Clang/LLVM project web site. I know that most people have at least heard about Clang but you can't just say that you use the product even being open source without any mention or acknowledgement of the work done that came to produce Clang. The speaker even while confusingly speaking about compiler technologies almost makes sound that Microsoft has anything do with Clang. Now I suspect that Microsoft is not really comfortable in acknowledging that it's using a compiler originally designed by Apple in order to save its mobile operating system but this is then just a childish and immature attitude. The same attitude prevails with the second speaker which at some point is speaking about providing support for Objective C blocks and ARC. Without again any indication on where this comes from.
Of course that they can provide blocks and ARC support, Clang gives them for free. And in fact blocks and ARC being designed and implemented by Apple, the speaker must have mentioned that they use Apple implementation because this is what they are doing. I really don't understand this attitude of not properly acknowledging the source of what they are using. One must be fair, Apple developed it, made it open source, and Microsfot is using it now. That's ok, just acklongedge the people who have done the work that you are using. Then concerning the API support, again the second speaker was also not clear.
What Microsoft is doing here is really implementing copyrighted APIs and that brings the question on whether Apple will like that (I guess they are not really happy seeing Microsoft messing up with their APIs) but also the question on why? Is Microsdoft so desesperate to attract developers (and users) to its mobile platform that it ended up using large resources to reverse engineer iOS APIs instead of trying to develop an attractive solution on its own? Concerning Swift, I don't really agree about some above comments about the language, the language is of course very young but calling it only useful to warp web services is laughable at best. In fact it really departs from Obective C in so many good ways, and this is a big fan of Ojective C telling you that.
But when it comes to the support of swift by Microsoft, th really question is how. Microsoft had basically nothing to do to support Objctive C, they got everything for free by using Clang as the front end compiler. Apple has not yet I believe made available the source code of Clang that compiles swift so will Mcrosoft wait for that to happen? Or will they implement their own support of Swift in Clang knowing that an implementation already exists (and I believe that Apple will open source it at some point)? I don't really see Microsoft implementing itself support for Swift given that the language is still in moving shape and that Objective C is still heavily used by iOS developers. While you may be honest Hakime, your complaints just got rightly. Without nowhere in its slide a mention indicating where Clang comes from or even a link to Clang/LLVM project web site They didn't because everyone in that room are professional developers who don't need ( or want) LLVM to be defined to them.
Just as they don't want or have the remotest need for them to post a link to the LLVM site (?!). Nobody there would need this, this is silly, and besides, it's a google search away. Anyways, the main thing is your mistaken judgements in the first place, see Bright's response.