At work, we support a lot of platforms. We support iOS and Android, Windows, Linux, supermarket checkout scanners, Raspberry Pis, old Windows CE devices, and more. And all the devices run our same (large) core code, and all that code is written in C++. I’m not the biggest fan of C++. But there’s no doubt when we need to write something that works across a range of platforms, it’s a rich, commonly understood tool. It’s also been a massive blocker for Swift adoption for us.
For our mobile customers, we do provide both Java and Obj-C APIs. They’re both just wrappings around our C++ core, and they do the conversion from all the Obj-C or iOS native formats into the raw buffers we need to handle in our C++ core. Whenever I look at doing a Swift native SDK in the future, I’m still stuck on not having native C++ support from Swift code. In order to provide a pure native Swift API in the future, I’d have to wrap our ever growing C++ source base once in Obj-C, and then wrap it again in Swift. It just doesn’t make sense to wrap the same code twice over.
Even when I step back from our core algorithms and look at our application level code, I still see issues. We have a lot of OpenGL code written in C++ (again, for portability.) If I ever need to share common code with our Android application, it’ll be written in C++. And I’m not the only one stuck in this situation. Apple themselves use C++ in projects like WebKit, and have been major proponents of C++ in their compilers. There is a decent population of iOS and Android apps that share common C++ code, especially gaming applications.
I’m not saying that Swift is a bad language, or that people shouldn’t use it. But I’m bringing this up for two reasons.
Swift can never be the inevitable complete replacement to Obj-C without C++ support. Obj-C can not, and will not ever go away as long as Swift doesn’t support C++. And that’s totally ok. But the community needs to understand that this is a big shortcoming of Swift that will prevent Apple from sunsetting Obj-C. So unless Swift adds C++ support, the community needs to drop the idea that Obj-C will just disappear in the next 5-10 years. It can’t. I don’t think Apple internally can even get rid of it because of their support of C++ and cross platform projects. If Swift never gained C++ support, Swift only system frameworks in iOS or OS X do not seem like a possibility either. Neither does a major new platform that only supports Swift and not Obj-C.
Secondly, the community at large needs to understand that when you write a Swift API that does not bridge to Obj-C, a segment of users are being inconvenienced because they still have to write C++ code. You might think your tuple returning fancy modern non bridging Swift API is going to make everyone else’s lives easier, but to me it’s just a door to Obj-C bridging hell. In that case a pretty Swift interface isn’t saving me time, it may have just blown out my schedule.
Obj-C and Swift have been compared sometimes to Carbon and Cocoa. Two APIs that existed almost in competition, with only one surviving. As of right now, it’s hard to see that comparison as an accurate one. When Apple ended support for Carbon, they may have deprecated a few old technologies, but for the most part it was still possible to move any Carbon project into Cocoa. The same isn’t really true of Swift at this point. I have projects I can’t move in to Swift, even if I wanted to.
So my biggest wish for Swift this year at WWDC is C++ support. I don’t know if it will happen, I hope it will. If it does I could start laying out a transition to Swift possibly. But until it does, I’ll be continuing to write a lot of Obj-C code. And if it never happens, Obj-C definitely isn’t going anywhere.
Здесь вы найдете учреждение психологического здоровья, которая обеспечивает профессиональную помощь для людей, страдающих от депрессии и других психологических расстройств. Эта индивидуальный подход для восстановления психического здоровья. Врачи нашего центра готовы помочь вам справиться с психологические барьеры и вернуться к гармонии. Квалификация наших специалистов подтверждена множеством положительных рекомендаций. Запишитесь с нами уже сегодня, чтобы начать путь к восстановлению.
http://jasawaterltd.com/__media__/js/netsoltrademark.php?d=empathycenter.ru%2Fpreparations%2Ff%2Ffenibut%2F
На этом сайте вы найдете учреждение ментального здоровья, которая обеспечивает поддержку для людей, страдающих от стресса и других ментальных расстройств. Мы предлагаем комплексное лечение для восстановления психического здоровья. Врачи нашего центра готовы помочь вам справиться с психологические барьеры и вернуться к сбалансированной жизни. Квалификация наших специалистов подтверждена множеством положительных рекомендаций. Обратитесь с нами уже сегодня, чтобы начать путь к лучшей жизни.
http://lenntech.net/__media__/js/netsoltrademark.php?d=empathycenter.ru%2Fpreparations%2Fl%2Flamotridzhin%2F
GameAthlon is a popular entertainment platform offering exciting casino experiences for gamblers of all levels.
The site offers a diverse collection of slots, live dealer games, card games, and sportsbook.
Players are offered smooth navigation, stunning animations, and user-friendly interfaces on both desktop and smartphones.
http://www.gameathlon.gr
GameAthlon prioritizes safe gaming by offering trusted payment methods and reliable RNG systems.
Bonuses and loyalty programs are frequently refreshed, giving members extra opportunities to win and extend their play.
The customer support team is available 24/7, helping with any inquiries quickly and efficiently.
This platform is the perfect place for those looking for fun and exciting rewards in one reputable space.
Swiss watches have long been a gold standard in horology. Meticulously designed by world-class artisans, they combine heritage with modern technology.
All elements demonstrate superior workmanship, from intricate mechanisms to high-end materials.
Wearing a Swiss watch is a true statement of status. It signifies timeless elegance and heritage craftsmanship.
Be it a classic design, Swiss watches deliver extraordinary beauty that never goes out of style.
https://kudprathay.go.th/forum/suggestion-box/179516-what-s-on-your-wrist
Теневой интернет — это закрытая часть онлайн-пространства, куда открывается доступ с использованием шифрованные соединения, такие как I2P.
Здесь доступны легальные , включая обменные сервисы и прочие площадки.
Одной из крупнейших платформ является BlackSprut, что занималась продаже разных категорий.
bs2best
Эти ресурсы нередко работают через анонимные платежи для повышения анонимности операций.
Однако, правоохранительные органы периодически закрывают основные незаконные платформы, хотя взамен открываются альтернативные торговые точки.
Even with the rise of modern wearable tech, mechanical watches remain timeless.
Collectors and watch lovers admire the artistry behind classic automatics.
Compared to digital alternatives, that become outdated, classic timepieces hold their value through generations.
https://www.forumperu.net/threads/fancy-tickers-hold-value.2583/
Luxury brands still produce exclusive traditional watches, proving that demand for them hasn’t faded.
To a lot of people, a mechanical watch is not just a way to tell time, but a tribute to heritage.
While smartwatches offer convenience, mechanical watches represent an art form that never goes out of style.