#Apple LLVM Compiler
Explore tagged Tumblr posts
Text
This Week in Rust 526
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
Blog: Launching the 2023 State of Rust Survey Survey
A Call for Proposals for the Rust 2024 Edition
Project/Tooling Updates
ratatui: a Rust library for cooking up terminal user interfaces - v0.25.0
Introducing Gooey: My take on a Rusty GUI framework
Two New Open Source Rust Crates Create Easier Cedar Policy Management
Introducing FireDBG - a Time Travel Visual Debugger for Rust
Fornjot 0.48.0 - open source b-rep CAD kernel written in Rust
Committing to Rust for kernel code
A Rust implementation of Android's Binder
Preventing atomic-context violations in Rust code with klint
Rust for Linux — in space
Observations/Thoughts
Rust is growing
A curiously recurring lifetime issue
The rabbit hole of unsafe Rust bugs
Faster Rust Toolchains for Android
The Most Common Rust Compiler Errors as Encountered in RustRover: Part 1
Nine Rules for SIMD Acceleration of your Rust Code (Part 2): General Lessons from Boosting Data Ingestion in the range-set-blaze Crate by 7x
What I Learned Making an embedded-hal Driver in Rust (for the MAX6675 Thermocouple Digitizer)
Rust Walkthroughs
Rust: Traits
Write a Toy VPN in Rust
Getting Started with Actix Web in Rust
Getting Started with Rocket in Rust
Generic types for function parameters in Rust 🦀
Benchmarking Rust Compiler Settings with Criterion: Controlling Criterion with Scripts and Environment Variables
[series] Multithreading and Memory-Mapping: Refining ANN Performance with Arroy
[series] Getting started with Tiny HTTP building a web application in Rust
Miscellaneous
Embedded Rust Education: 2023 Reflections & 2024 Visions
The Most Common Rust Compiler Errors as Encountered in RustRover: Part 1
Default arguments for functions in Rust using macros
[audio] Rust in Production Ep 1 - InfluxData's Paul Dix
[audio] Episode 160: Rust & Safety at Adobe with Sean Parent
Crate of the Week
This week's crate is constcat, a std::concat!-replacement with support for const variables and expressions.
Thanks to Ross MacArthur for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
Ockam - Fix documentation warnings
Ockam - Library - Validate CBOR structs according to the cddl schema for nodes/models/secure_channel
Ockam - Implement events in SqlxDatabase
Hyperswitch - [REFACTOR]: [Nuvei] MCA metadata validation
Hyperswitch - [FEATURE] : [Noon] Sync with Hyperswitch Reference
Hyperswitch - [FEATURE] : [Zen] Sync with Hyperswitch Reference
Hyperswitch - [REFACTOR] : [Authorizedotnet] Sync with Hyperswitch Reference
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
386 pull requests were merged in the last week
enable stack probes on aarch64 for LLVM 18
add new tier 3 aarch64-apple-watchos target
add hexagon support
add the function body span to StableMIR
allow async_fn_in_trait traits with Send variant
cherry-pick "M68k: Fix ODR violation in GISel code (#72797)"
AIX: fix XCOFF metadata
-Ztrait-solver=next to -Znext-solver
actually parse async gen blocks correctly
add a method to StableMIR to check if a type is a CStr
add more suggestions to unexpected cfg names and values
add support for --env on tracked_env::var
add unstable -Zdefault-hidden-visibility cmdline flag for rustc
annotate panic reasons during enum layout
attempt to try to resolve blocking concerns (RFC #3086)
avoid overflow in GVN constant indexing
cache param env canonicalization
check FnPtr/FnDef built-in fn traits correctly with effects
check generic params after sigature for main-fn-ty
collect lang items from AST, get rid of GenericBound::LangItemTrait
coroutine variant fields can be uninitialized
coverage: skip instrumenting a function if no spans were extracted from MIR
deny ~const trait bounds in inherent impl headers
desugar yield in async gen correctly, ensure gen always returns unit
don't merge cfg and doc(cfg) attributes for re-exports
erase late bound regions from Instance::fn_sig() and add a few more details to StableMIR APIs
fix ICE ProjectionKinds Deref and Field were mismatched
fix LLD thread flags in bootstrap on Windows
fix waker_getters tracking issue number
fix alignment passed down to LLVM for simd_masked_load
fix dynamic size/align computation logic for packed types with dyn trait tail
fix overlapping spans in delimited meta-vars
ICE 110453: fixed with errors
llvm-wrapper: adapt for LLVM API changes
make IMPLIED_BOUNDS_ENTAILMENT into a hard error from a lint
make exhaustiveness usable outside of rustc
match lowering: Remove the make_target_blocks hack
more expressions correctly are marked to end with curly braces
nudge the user to kill programs using excessive CPU
opportunistically resolve region var in canonicalizer (instead of resolving root var)
properly reject default on free const items
remove unnecessary constness from ProjectionCandidate
replace some instances of FxHashMap/FxHashSet with stable alternatives (mostly in rustc_hir and rustc_ast_lowering)
resolve: replace visibility table in resolver outputs with query feeding
skip rpit constraint checker if borrowck return type error
some cleanup and improvement for invalid ref casting impl
tweak short_ty_string to reduce number of files
unconditionally register alias-relate in projection goal
update FreeBSD CI image
uplift TypeAndMut and ClosureKind to rustc_type_ir
use if cfg! instead of #[cfg]
use the LLVM option NoTrapAfterNoreturn
miri: visit the AllocIds and BorTags in borrow state FrameExtra
miri run: default to edition 2021
miri: make mmap not use expose semantics
fast path for declared_generic_bounds_from_env
stabilize type_name_of_val
stabilize ptr::{from_ref, from_mut}
add core::intrinsics::simd
add a column number to dbg!()
add more niches to rawvec
add ASCII whitespace trimming functions to &str
fix cases where std accidentally relied on inline(never)
Windows: allow File::create to work on hidden files
std: add xcoff in object's feature list
codegen: panic when trying to compute size/align of extern type
codegen_gcc: simd: implement missing intrinsics from simd/generic-arithmetic-pass.rs
codegen_llvm: set DW_AT_accessibility
cargo: clean up package metadata
cargo: do not allow empty name in package ID spec
cargo: fill in more empty name holes
cargo: hold the mutate exclusive lock when vendoring
rustdoc: use Map instead of Object for source files and search index
rustdoc: allow resizing the sidebar / hiding the top bar
rustdoc-search: fix a race condition in search index loading
rustdoc-search: use set ops for ranking and filtering
bindgen: use \r\n on windows
bindgen: better working destructors on windows
clippy: add new unconditional_recursion lint
clippy: new Lint: result_filter_map / Mirror of option_filter_map
clippy: don't visit nested bodies in is_const_evaluatable
clippy: redundant_pattern_matching: lint if let true, while let true, matches!(.., true)
clippy: do not lint assertions_on_constants for const _: () = assert!(expr)
clippy: doc_markdown Recognize words followed by empty parentheses () for quoting
clippy: fix binder handling in unnecessary_to_owned
rust-analyzer: deduplicate annotations
rust-analyzer: optimizing Performance with Promise.all 🏎
rust-analyzer: desugar doc correctly for mbe
rust-analyzer: dont assume ascii in remove_markdown
rust-analyzer: resolve alias before resolving enum variant
rust-analyzer: add minimal support for the 2024 edition
rust-analyzer: move out WithFixture into dev-dep only crate
rust-analyzer: fix false positive type mismatch in const reference patterns
rust-analyzer: syntax fixup now removes subtrees with fake spans
rust-analyzer: update builtin attrs from rustc
rust-analyzer: fix fragment parser replacing matches with dummies on incomplete parses
rust-analyzer: fix incorrectly replacing references in macro invocation in "Convert to named struct" assist
Rust Compiler Performance Triage
A lot of noise in the results this week; there was an lull in the noise recently, so our auto-inferred noise threshold went down, and thus five PR's were artificially flagged this week (and three supposed improvements were just reverting to the mean). Beyond that, we had three nice improvements: the first to debug builds in #117962 (by ceasing emission of expensive+unused .debug_pubnames and .debug_pubtypes), a second to diesel and serde in #119048 (by avoiding some unnecessary work), and a third to several benchmarks in #117749 (by adding some caching of an internal compiler structure).
Triage done by @pnkfelix. Revision range: 57010939..bf9229a2
6 Regressions, 9 Improvements, 3 Mixed; 5 of them in rollups 67 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: postpone] RFC: Precise Pre-release Deps
Tracking Issues & PRs
[disposition: merge] Support async recursive calls (as long as they have indirection)
[disposition: merge] make soft_unstable show up in future breakage reports
[disposition: merge] Tracking Issue for ip_in_core
Language Reference
No Language Reference RFCs entered Final Comment Period this week.
Unsafe Code Guidelines
No Unsafe Code Guideline RFCs entered Final Comment Period this week.
New and Updated RFCs
RFC: patchable-function-entry
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No RFCs issued a call for testing this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-12-20 - 2024-01-17 🦀
Virtual
2023-12-20 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Adventures in egui app dev
2023-12-26 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2023-12-28 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-01-03 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2024-01-09 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2024-01-11 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2024-01-16 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
Europe
2023-12-27 | Copenhagen, DK | Copenhagen Rust Community
Rust hacknight #1: CLIs, TUIs and plushies
2023-12-28 | Vienna, AT | Rust Vienna
Rust Dojo 3: Holiday Edition
2024-01-11 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup at Browns
2024-01-11 | Wrocław, PL | Rust Wrocław
Rust Meetup #36
2024-01-13 | Helsinki, FI | Finland Rust-lang Group
January Meetup
North America
2023-12-20 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2023-12-27 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2024-01-06 | Boston, MA, US | Boston Rust Meetup
Beacon Hill Rust Lunch
2024-01-08 | Chicago, IL, US | Deep Dish Rust
Rust Hack Night
2024-01-09 | Seattle, WA, US | Cap Hill Rust Coding/Hacking/Learning
Rusty Coding/Hacking/Learning Night
2024-01-09 | Minneapolis, MN, US | Minneapolis Rust Meetup
Minneapolis Rust Meetup Happy Hour
2024-01-14 | Cambridge, MA, US | Boston Rust Meetup
Alewife Rust Lunch
2024-01-16 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2024-01-17 | Chicago, IL, US | Deep Dish Rust
Rust Happy Hour
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
The Tianyi-33 satellite is a 50kg class space science experimental satellite equipped with an operating system independently developed by Beijing University of Posts and Telecommunications—the Rust-based dual-kernel real-time operating system RROS. RROS will carry out general tasks represented by tensorflow/k8s and real-time tasks represented by real-time file systems and real-time network transmission on the satellite. It will ensure the normal execution of upper-layer applications and scientific research tasks, such as time-delay measurement between satellite and ground, live video broadcasting, onboard web chat services, pseudo-SSH experiments, etc. This marks the world’s first official application of a Rust-written dual-kernel operating system in a satellite scenario.
– Qichen on the RROS web page
Thanks to Brian Kung for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
2 notes
·
View notes
Text
The Future of Apple’s Swift: A Pioneering Language
Apple's Swift programming language, born from a team of developers in 2010, wowed the tech world in 2014. With reduced crashes and elegant syntax, it became a new favourite. Now, its future remains mysterious, but Swift's impact on programming is undeniable – a pioneering journey just beginning.
The Journey of Swift
Swift, the brainchild of talented developers, began in 2010, pre-dating its official unveiling at the Worldwide Developers Conference in 2014.
Its exciting features, reducing crashes and offering concise syntax, enticed indie developers and start-ups to jump on board.
Purposefully designed for clarity and power, Swift's evolution built upon Objective-C's foundations, attracting developers worldwide.
Swift 1.0 saw a significant upgrade to Swift 2.0 at WWDC 2015, later becoming open-source with Swift 2.2 in December 2015.
Swift 3.0 marked another major evolution with syntax changes, surpassing Objective-C's fame by early 2018.
Further advancements arrived with Swift 4.0, boasting migration functionality in Xcode for updating code from previous versions.
In March 2022, Swift 5.6 emerged, enhancing features like partial type annotations and improved pointer interaction.
Top Features of Swift Programming Language
Swift's popularity stems from its standout features which areas follows:
Open Source Community
Swift's success owes much to Swift.org, a thriving hub for the open-source Swift community. This collaborative approach ensures continuous evolution through global contributions. It offers access to source code, bug tracking, and mailing lists, even featuring a Linux version of Swift with a specialized toolset for macOS development.
Advancement in Syntax and Expressive Code
Swift programming language introduces new syntax features, empowering developers to write cleaner, more expressive code. Integration of Objective-C features enhances code robustness and simplifies the development process.
Interactive Playgrounds for Experimentation
Swift's interactive playgrounds enable professional developers to experiment without building entire apps. The feedback loop accelerates coding speed and efficiency, supporting comments, bullet lists, embedded images, and links.
Safety and Robust Code
Swift app development prioritizes safety, eliminating unsafe code groups, preventing common programming errors. Swift objects can never be nil, leading to faster error detection and more robust code.
Fast and Powerful Performance
Swift's high-performance LLVM compiler optimizes native code, outperforming languages like Python. Essential object-oriented features empower developers to create cutting-edge applications.
Seamless Interoperability with Objective-C
Swift's compatibility enables a mixed-language codebase, seamlessly integrating Swift's latest features into existing Objective-C projects.
The Future of Swift: Embracing Change and Growth
Swift's open-source journey has been a remarkable success, with substantial community support. Though recent popularity fluctuations pose challenges, developers committed to native apps remain devoted to Swift's performance and seamless functionality.
While Swift's future lies in Apple's hands, its maturity in four years is evident. Openness to the community has reaped rewards, and expanding this approach could attract a broader audience, transcending walled garden enthusiasts.
Despite occasional skepticism, Swift's continuous evolution demonstrates its potential for long-term success. As developers embrace change and growth, Swift's pioneering legacy remains unwavering.
Conclusion
In conclusion, Apple's Swift programming language has undoubtedly carved its path as a pioneering language, captivating developers with its elegance and power. As we look to the future, Swift's journey remains shrouded in mystery, but its profound impact on app development and programming is destined to leave a lasting legacy. Exciting times lie ahead for this remarkable language.
#Swift programming language#Hire Swift developers#Mobileappdevelopment#Mobile app development company in Kolkata#MobileappdevelopmentservicesinKolkata
0 notes
Text
Advantages of Swift programming
Swift is a powerful and versatile programming language developed by Apple. Since its introduction in 2014, it has quickly gained popularity among developers for a wide range of applications. In this article, swift code lookup we will explore the numerous advantages of Swift programming, highlighting its key features, performance benefits, safety characteristics, and community support.
Modern and Intuitive Syntax: One of the most significant advantages of Swift is its modern and user-friendly syntax. The language was designed to be easy to read and write, reducing the boilerplate code and improving code readability. This feature makes it accessible for both beginners and experienced developers.
Open-Source Nature: In 2015, Apple open-sourced Swift, allowing the community to contribute to its growth and improvement. This open-source approach has resulted in a vibrant ecosystem of libraries, frameworks, and tools, making it easier for developers to leverage third-party solutions and expand the language's capabilities.
Cross-Platform Compatibility: While Swift was originally designed for iOS, macOS, watchOS, and tvOS development, it can now also be used on other platforms. Thanks to projects like Swift for TensorFlow, Swift can be utilized for machine learning and data science applications, showing its versatility beyond Apple's ecosystem.
Performance and Optimization: Swift was created with a strong emphasis on performance. It has been optimized to run lightning-fast, thanks to its compiled nature. The LLVM compiler can optimize Swift code, resulting in better performance compared to interpreted languages. This makes it an excellent choice for high-performance applications and games.
Memory Safety and Null Safety: Swift introduces various safety features to prevent common programming errors. For instance, it enforces strict null safety, reducing the chances of null pointer exceptions. The Swift compiler helps identify potential issues during compile-time, contributing to more stable and reliable software.
Automatic Reference Counting (ARC): Swift uses ARC to manage memory, automatically handling memory management tasks. ARC keeps track of instances and automatically deallocates memory when objects are no longer needed. This removes the burden of manual memory management and reduces the likelihood of memory leaks.
Functional Programming Support: Swift embraces functional programming paradigms, providing developers with first-class functions, closures, and higher-order functions. This allows for more expressive and concise code, promoting clean and modular design.
Protocol-Oriented Programming (POP): Swift encourages the use of protocols and protocol extensions to achieve code reuse and flexibility. This approach allows developers to create generic solutions that can be applied across different types, making the codebase more maintainable and scalable.
Interactive Playground: Swift Playgrounds, available on macOS and iPad, provide a highly interactive and immersive environment for learning and experimentation. Developers can quickly test code snippets, visualize data, and see results in real-time, making it an excellent tool for teaching and prototyping.
Developer-Friendly Tooling: The Swift ecosystem includes an array of developer tools, such as Xcode, which offers a comprehensive development environment. Xcode's features like code autocompletion, error highlighting, and integrated debugging simplify the development process, improving productivity.
Strong Community Support: Swift has garnered a large and enthusiastic community of developers who actively contribute to the language's evolution. The community offers support through forums, tutorials, blogs, and open-source projects, ensuring that developers have access to ample resources and knowledge.
Less Code, Faster Development: Swift's concise syntax and expressive features enable developers to write less code to accomplish the same tasks compared to some other languages. This reduction in code volume translates to faster development cycles and easier maintenance.
1 note
·
View note
Text
PVS-Studio is now available on macOS: 64 weaknesses in the Apple's XNU Kernel
A new version of PVS-Studio analyzer 6.23 is working under macOS, which allows you to check the projects written in C and C++. With the release of the analyzer version for macOS, PVS-Studio can now be boldly called a cross-platform static code analyzer for C and C++ code.
How to start demonstrating the abilities of PVS-Studio for macOS? No doubts, the check of the kernel of this system is the best variant! Although the XNU Kernel is relatively small, it's a challenge to study the analyzer warnings alone, which takes much time. False positives make the check more complicated, since you haven't performed the preliminary analyzer configuration.
In total, we noted 64 errors and decided to stop at this beautiful number. We have grouped the defects according to Common Weakness Enumeration, this classification is quite well-known and it will be easier to understand what errors are a question of this or that chapter. For more details check our article https://www.viva64.com/en/b/0566/.
Now you are able to detect errors and potential vulnerabilities in C, and C++. We invite everyone to try out our analyzer on your projects and to assess its abilities.
7 notes
·
View notes
Text
Three Takes on Jony Ive Leaving Apple
The first is by John Gruber at Daring Fireball:
Ive is, to state the obvious, preternaturally talented. But in the post-Jobs era, with all of Apple design, hardware and software, under his control, we've seen the software design decline and the hardware go wonky. I don't know the inside story, but it certainly seems like a good bet that MacBook keyboard fiasco we're still in the midst of is the direct result of Jony Ive's obsession with device thinness and minimalism. Today's MacBooks are worse computers but more beautiful devices than the ones they replaced. Is that directly attributable to Jony Ive? With these keyboards in particular, I believe the answer is yes....
It makes me queasy to see that Apple's chief designers are now reporting to operations. This makes no more sense to me than having them report to the LLVM compiler team in the Xcode group. Again, nothing against Jeff Williams, nothing against the LLVM team, but someone needs to be in charge of design for Apple to be Apple and I can't see how that comes from operations. I don't think that "chief design officer" should have been a one-off title created just for Jony Ive. Not just for Apple, but especially at Apple, it should be a permanent C-level title. I don't think Ive ever should have been put in control of software design, but at least he is a designer.
I don't worry that Apple is in trouble because Jony Ive is leaving; I worry that Apple is in trouble because he's not being replaced.
Stratechery's Ben Thompson argues that Apple is simply too big now to have a single tastemaker in charge:
Apple sold 278,000 iMacs its first full quarter on the market, 125,000 iPods its first full quarter on the market, and 1,119,000 iPhones its first full quarter on the market. Today Apple sells the same number of iPhones approximately every 11, 5, and 45 hours respectively. That requires a staggering amount of coordination between industrial design, manufacturing design, and operations. It simply isn't feasible to have any one of these disciplines dictate to the others.
And yet, I understand Gruber's angst. It is precisely that sort of dictatorship, first and foremost in the person of Steve Jobs, that made Apple, Apple. Again, though, I think Ive is in part a cautionary tale: he did his best work under Jobs, while the last few years have been more fraught from a design perspective; if Ive was not entirely up to the task of being the ultimate arbiter of all things Apple, who can be?
That is why the conclusion I had after WWDC feels more applicable than ever: it is less that Jony Ive is leaving Apple, and more that Apple, for better or worse, and also by necessity, has left Jony Ive and the entire era that he represented. So it goes.
At Vice, Jason Koebler argues against Ive's design approach altogether:
[H]istory will not be kind to Ive, to Apple, or to their design choices. While the company popularized the smartphone and minimalistic, sleek, gadget design, it also did things like create brand new screws designed to keep consumers from repairing their iPhones.
Under Ive, Apple began gluing down batteries inside laptops and smartphones (rather than screwing them down) to shave off a fraction of a millimeter at the expense of repairability and sustainability.
It redesigned MacBook Pro keyboards with mechanisms that are, again, a fraction of a millimeter thinner, but that are easily defeated by dust and crumbs (the computer I am typing on right now--which is six months old--has a busted spacebar and 'r' key). These keyboards are not easily repairable, even by Apple, and many MacBook Pros have to be completely replaced due to a single key breaking. The iPhone 6 Plus had a design flaw that led to its touch screen spontaneously breaking--it then told consumers there was no problem for months before ultimately creating a repair program. Meanwhile, Apple's own internal tests showed those flaws. He designed AirPods, which feature an unreplaceable battery that must be physically destroyed in order to open.
Ive's Apple has been one in which consumers have been endlessly encouraged to buy new stuff and get rid of the old. The loser is the environment, and the winner is Apple's bottom line. Apple has become famous for its design, and Ive has become famous, too. Let's hope the next great consumer electronics designer is nothing like him.
If these three agree on nothing else, let their arguments show one thing: even Apple's biggest fans really hate the past few generations of MacBook keyboards. I feel like I hated them (and had endemic problems with mine) before it was cool.
2 notes
·
View notes
Text
Thoughts on Ive’s departure, and Gruber’s take
TLDR: it’s been clear for some time that Ive was on his way out. Creativity is a process defined by renewal and change, and the only surprising aspect to all of this is that Ive stayed around for so long. Gruber is concerned that there is no replacement for the Chief Designer role, and as such, no clear indication of who will be the final arbiter of design at Apple. I hear his concerns, but believe it’s time to think differently about how good design happens and focus not on design messiahs but rather on the teams that build great products together.
There is much panic throughout the web - and I am sure on the 11 o’clock news across America tonight - about Jony Ive’s departure from Apple. The stock has dropped in after hours trading, and panic has or will set in for many. However, Apple’s institutional structure will, in my view, take it far and the design house within the company is, by all accounts, still strong. After all, we’ve seen many good products in the last few years (Airpods, iPhone X, iPad Pro (2018), and Mac Pro (2019)), even with Ive clearly focused elsewhere. I don’t think this change of leadership is fatal, though things are certainly shifting into unknown territory.
John Gruber shared his thoughts this evening about the announcement. Starting with his thoughts on the relationship between Steve Jobs and Jony Ive.
My gut sense for years has been that Ive without Jobs has been like McCartney without Lennon. Or Lennon without McCartney — take whichever analogical pairing you prefer. My point here is only that the fruit of their collaborations were, seemingly magically, far greater than the sums of the duos’ talents and tastes.
One thing I do know — which Cook alludes to in his statement above, and which I think was made crystal clear in Ian Parker’s extraordinary 2015 profile of Ive in The New Yorker, which is, in my opinion, the most insightful piece ever written about post-Jobs Apple — is that Jony Ive had moved beyond designing computers. And let’s be clear: the entire point of Apple has always been and should always remain designing computers. Everything they make is a computer. Their genius in recent years has been making things that don’t seem like computers but really are computers. Apple Watch is a computer. AirPods are computers. We’ve got computers — excellent computers — in our fucking ears. That’s Apple.
Gruber goes on to say that Ive’s focus had clearly turned elsewhere, including most notably on Apple Park.
Ive is being “replaced” by two people, a hardware design lead (Evans Hankey) and a software design lead (Alan Dye). Both reporting to COO Jeff Williams. Gruber is, to say the least, concerned:
It makes me queasy to see that Apple’s chief designers are now reporting to operations. This makes no more sense to me than having them report to the LLVM compiler team in the Xcode group. Again, nothing against Jeff Williams, nothing against the LLVM team, but someone needs to be in charge of design for Apple to be Apple and I can’t see how that comes from operations. I don’t think that “chief design officer” should have been a one-off title created just for Jony Ive. Not just for Apple, but especially at Apple, it should be a permanent C-level title. I don’t think Ive ever should have been put in control of software design, but at least he is a designer.
I don’t worry that Apple is in trouble because Jony Ive is leaving; I worry that Apple is in trouble because he’s not being replaced.
And, for what it is worth, Gruber is not a fan of the knighthood designation mentioned in the Apple PR Announcement:
Fuck this “sir” shit. We don’t have titles in the United States.
This seems like an odd thing to focus so strongly on.
In any event, I think Gruber’s main point - that there is no clear indication of who will be leading design decisions at Apple - is fair. This does seem messy. In particular, there is some suggestion in the announcement that Jeff Williams is now a big product guy (b/c there is now some new leadership underneath him in the operations wing who will take on more responsibility, freeing up Williams for other work). Williams has indeed been leading the Apple Watch program, which has seen success. But, my feeling is that his interest has been driven by the health capabilities of the Watch, and not on the overall product (including hardware and software design). Maybe I’m wrong and Williams has transformed himself into a design and product type, but the chief of operation seems like an odd lead of the design wing of Apple.
Neil Cybart at Above Avalon has long opined that Apple’s key differentiation is its strong sense of design as a singular guiding principle. Design of the UI, the hardware, the experience. Apple’s products are a complete thought, designed and crafted from end to end. Will this continue to be true, can it?
It is, as they say, dangerous to compare then to now, but Apple’s best years have correlated with strong design leadership. Jobs, and then Jobs-Ive, and finally Ive alone.
What’s next? What will we, one day, call this coming era? Will it have a single headline name, will it be the “Williams” era? Or, is it time to think different?
I think it is. Apple is big, like, the biggest company ever big. And to define the products of the last few years as solely the work of one man, or of one mind, is unfair and misguided. Apple is secretive, and as a result we tend to only focus on the people Apple chooses to talk. But, it is clear that there are huge, very talented teams working on the products there. We should celebrate them, and their work. While it’s hard to give them a short, easy to remember label, we must focus on the results of their work. And if the last year or so is any indication (post butterfly keyboard, and dongle-mania, which I believe were the last big things Ive probably worked on), they are today firing on all cylinders. Ive’s best decision is to recognize that, and take his cue to move on to what is next.
2 notes
·
View notes
Text
Why Do Businesses Need Swift Developers?
Swift is a programming language developed for Apple operating systems, including MacOS, iOS, tvOS and watchOS. It is a modern and efficient programming language, which has dominated the field of iOS app development.
As a result, many businesses are turning to the use of Swift developers to ensure that they have a reliable and effective software product. However, this does come with a few challenges.
Swift Developers
Easy to learn
Swift is one of the best programming languages for Swift app development. It’s fast, flexible and intuitive to learn. It’s also safe and robust, which is why it’s used by many companies.
Swift supports all iOS devices, from iPhone to Apple Watch, iPad, and Apple TV. It’s also cross-platform, which means it works on Linux and Windows operating systems.
Its clean syntax makes it easy for new coders to learn. There are even Swift playgrounds on iPad that make it fun to start coding.
A good Swift developer can make a significant impact on your business. They will work with you to understand your needs and create a versatile and viable solution for your company.
As the Swift community continues to grow, it will become more accessible to businesses looking for Swift experts. However, because it is a relatively new language, it may take some time before there are enough experienced professionals on the market.
Easy to debug
Swift is a fast and intuitive language for creating iOS apps. This makes it easy for businesses to turn ideas into applications in a short amount of time.
It’s a statically-typed programming language that offers type safety to make sure developers are clear about the types of values they work with. This helps prevent mistakes like accidentally passing an Int to a String that requires a non-optional String.
This helps to eliminate bugs and errors in production, reducing the time and money needed to fix them. It also provides a shorter feedback loop so errors are caught early and fixed before they cause system crashes.
However, Swift is a relatively new language that lacks cross-platform support and frequent updates. This can leave some people hesitant about using it.
Scalable
Swift was introduced in 2014 by Apple, and it has since become the dominant coding language for iOS native apps. It is an open source tool, with a large support community and a variety of third-party tools.
It is designed to be safe, flexible, and scalable. It also allows a clear separation of functions and protocols, which helps to keep code readable and easy to maintain.
The LLVM compiler framework transforms Swift into optimized machine language, which makes it very fast and efficient. The language also features a strong typing system, which minimizes the chance of code crashes and enables Swift developers to quickly define and fix errors.
Swift also manages memory automatically and hinders unsafe behavior, which makes it a good choice for safety-critical applications. It also uses a garbage collector function, which collects redundant instances and frees up space for the app to operate efficiently.
Faster
If you’re looking for a way to boost your business’s productivity, hire Swift developers might be the right move. They’re faster than their Objective-C counterparts and use less memory space.
Swift is a dynamic programming language that allows developers to write code that can be easily compiled, enabling them to create apps that run quickly and efficiently. It also uses inferred types, which can automatically assign a value to a variable without the developer having to explicitly define it.
Its safety features make it easy to avoid errors. For example, variables are always initialized before use, arrays and integers are checked for overflow, and memory is managed so that only a single copy of everything is used.
Swift’s short feedback loop means that you can instantly see errors and fix them on the fly, avoiding the risks of deploying low-quality code. As a result, it’s become one of the most popular languages for iOS development.
#Swift developers company#Swift app developers company#Swift development agency#swift development companies#Swift app development companies#swift application development company
0 notes
Text
I have the D programming language running on my Apple Silicon machine. The LLVM-based D Compiler supports macOS/arm64. Note that I have to build everything in release mode ("-b release") to avoid a linking error. I'm looking forward to playing with D by implementing VLists, hash trees, and tree lists.
0 notes
Text
10 Reasons Why Swift Is Best For iOS App Development
Other than that, app development experts can send their valuable feedback to Apple to improve the language. They use Jira for it, which is a bug tracker.
Faster
If you hire the top iOS application development company in India, you can rest easy at night knowing that you’ll get your enterprise app within the shortest possible time.
Swift utilises surprisingly fast algorithm metrics. These metrics offer the advantage of higher speed. Developers from all four corners of the world love Swift for valid reasons, after all.
Based on a survey conducted by StackOverflow in 2017, Swift became the fourth most preferred programming language.
Most Loved, Dreaded, and Wanted Languages
Source
Doesn’t require excessive maintenance
If you consider building your iOS enterprise application with Objective C, your developers won’t be able to update it without using C. No such dependencies exist in Swift. Naturally, maintaining an app becomes a piece of cake for developers of all experience levels.
Safety
Today, app safety is a mission-critical consideration for all businesses. You must also know how stringent Apple is when it comes to app security.
In that regard, Swift arrived and immediately eliminated all the pitfalls usually associated with Objective C. Rest assured, you’ll receive a profoundly safer enterprise iOS application. Objective C won’t guarantee such a high level of safety.
Reduced memory consumption
There’s an object-link in Objective C that consumes a significant amount of RAM installed in a computer. Swift doesn’t suffer from this problem.
Top iOS application development company for Reduced memory consumption - Moon Technolabs
Swift app development has always been a single object-oriented program that switched to structures later. With time, the data type amount and SDK classes have also gone down.
Faster compilation
Here’s one more advantage of Swift that puts it above Objective C – it can compile data much faster. How does Swift do it? Well, it leverages the LLVM or Low-Level Virtual Machine compiler for native code optimization for the operating platforms.
This feature lets developers rewrite multiple groups as structures. Conversely, Objective C has only a handful of classes that will inevitably result in reduced coding speed and increased development time.
Multi-faceted languages
The creators of Swift designed it using a multi-faceted language solution. This program allows app development experts to contemplate the language comprehensively and build various kinds of applications. These apps include simple, as well as complicated ones.
Let’s Get Free Consultation from Our Experts.
GET IN TOUCH CALL NOW
Apart from everything described above, Swift is the best choice for enterprise app development as it utilises the latest features of every programming language. It even lets developers build fully-functional applications for Android devices.
Final considerations
It isn’t surprising if developers from all app development companies describe Objective C as obsolete. They believe that the Swift programming language holds the key to the future of mobile app development, especially enterprise mobile solutions.
Now, if you’re in search of an app development firm that always utilises trending technologies, Moon Technolabs will be worthwhile. It’s one of the best agencies with app developers specialising in using Swift for enterprise iOS mobile app development.
Related Tags- app development company, custom android application development
Source- https://techinventive.com/blog/10-reasons-why-swift-best-ios-app-development
0 notes
Text
This Week in Rust 516
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
Announcing Rust 1.73.0
Polonius update
Project/Tooling Updates
rust-analyzer changelog #202
Announcing: pid1 Crate for Easier Rust Docker Images - FP Complete
bit_seq in Rust: A Procedural Macro for Bit Sequence Generation
tcpproxy 0.4 released
Rune 0.13
Rust on Espressif chips - September 29 2023
esp-rs quarterly planning: Q4 2023
Implementing the #[diagnostic] namespace to improve rustc error messages in complex crates
Observations/Thoughts
Safety vs Performance. A case study of C, C++ and Rust sort implementations
Raw SQL in Rust with SQLx
Thread-per-core
Edge IoT with Rust on ESP: HTTP Client
The Ultimate Data Engineering Chadstack. Running Rust inside Apache Airflow
Why Rust doesn't need a standard div_rem: An LLVM tale - CodSpeed
Making Rust supply chain attacks harder with Cackle
[video] Rust 1.73.0: Everything Revealed in 16 Minutes
Rust Walkthroughs
Let's Build A Cargo Compatible Build Tool - Part 5
How we reduced the memory usage of our Rust extension by 4x
Calling Rust from Python
Acceptance Testing embedded-hal Drivers
5 ways to instantiate Rust structs in tests
Research
Looking for Bad Apples in Rust Dependency Trees Using GraphQL and Trustfall
Miscellaneous
Rust, Open Source, Consulting - Interview with Matthias Endler
Edge IoT with Rust on ESP: Connecting WiFi
Bare-metal Rust in Android
[audio] Learn Rust in a Month of Lunches with Dave MacLeod
[video] Rust 1.73.0: Everything Revealed in 16 Minutes
[video] Rust 1.73 Release Train
[video] Why is the JavaScript ecosystem switching to Rust?
Crate of the Week
This week's crate is yarer, a library and command-line tool to evaluate mathematical expressions.
Thanks to Gianluigi Davassi for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
Ockam - Make ockam node delete (no args) interactive by asking the user to choose from a list of nodes to delete (tuify)
Ockam - Improve ockam enroll ----help text by adding doc comment for identity flag (clap command)
Ockam - Enroll "email: '+' character not allowed"
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
384 pull requests were merged in the last week
formally demote tier 2 MIPS targets to tier 3
add tvOS to target_os for register_dtor
linker: remove -Zgcc-ld option
linker: remove unstable legacy CLI linker flavors
non_lifetime_binders: fix ICE in lint opaque-hidden-inferred-bound
add async_fn_in_trait lint
add a note to duplicate diagnostics
always preserve DebugInfo in DeadStoreElimination
bring back generic parameters for indices in rustc_abi and make it compile on stable
coverage: allow each coverage statement to have multiple code regions
detect missing => after match guard during parsing
diagnostics: be more careful when suggesting struct fields
don't suggest nonsense suggestions for unconstrained type vars in note_source_of_type_mismatch_constraint
dont call mir.post_mono_checks in codegen
emit feature gate warning for auto traits pre-expansion
ensure that ~const trait bounds on associated functions are in const traits or impls
extend impl's def_span to include its where clauses
fix detecting references to packed unsized fields
fix fast-path for try_eval_scalar_int
fix to register analysis passes with -Zllvm-plugins at link-time
for a single impl candidate, try to unify it with error trait ref
generalize small dominators optimization
improve the suggestion of generic_bound_failure
make FnDef 1-ZST in LLVM debuginfo
more accurately point to where default return type should go
move subtyper below reveal_all and change reveal_all
only trigger refining_impl_trait lint on reachable traits
point to full async fn for future
print normalized ty
properly export function defined in test which uses global_asm!()
remove Key impls for types that involve an AllocId
remove is global hack
remove the TypedArena::alloc_from_iter specialization
show more information when multiple impls apply
suggest pin!() instead of Pin::new() when appropriate
make subtyping explicit in MIR
do not run optimizations on trivial MIR
in smir find_crates returns Vec<Crate> instead of Option<Crate>
add Span to various smir types
miri-script: print which sysroot target we are building
miri: auto-detect no_std where possible
miri: continuation of #3054: enable spurious reads in TB
miri: do not use host floats in simd_{ceil,floor,round,trunc}
miri: ensure RET assignments do not get propagated on unwinding
miri: implement llvm.x86.aesni.* intrinsics
miri: refactor dlsym: dispatch symbols via the normal shim mechanism
miri: support getentropy on macOS as a foreign item
miri: tree Borrows: do not create new tags as 'Active'
add missing inline attributes to Duration trait impls
stabilize Option::as_(mut_)slice
reuse existing Somes in Option::(x)or
fix generic bound of str::SplitInclusive's DoubleEndedIterator impl
cargo: refactor(toml): Make manifest file layout more consitent
cargo: add new package cache lock modes
cargo: add unsupported short suggestion for --out-dir flag
cargo: crates-io: add doc comment for NewCrate struct
cargo: feat: add Edition2024
cargo: prep for automating MSRV management
cargo: set and verify all MSRVs in CI
rustdoc-search: fix bug with multi-item impl trait
rustdoc: rename issue-\d+.rs tests to have meaningful names (part 2)
rustdoc: Show enum discrimant if it is a C-like variant
rustfmt: adjust span derivation for const generics
clippy: impl_trait_in_params now supports impls and traits
clippy: into_iter_without_iter: walk up deref impl chain to find iter methods
clippy: std_instead_of_core: avoid lint inside of proc-macro
clippy: avoid invoking ignored_unit_patterns in macro definition
clippy: fix items_after_test_module for non root modules, add applicable suggestion
clippy: fix ICE in redundant_locals
clippy: fix: avoid changing drop order
clippy: improve redundant_locals help message
rust-analyzer: add config option to use rust-analyzer specific target dir
rust-analyzer: add configuration for the default action of the status bar click action in VSCode
rust-analyzer: do flyimport completions by prefix search for short paths
rust-analyzer: add assist for applying De Morgan's law to Iterator::all and Iterator::any
rust-analyzer: add backtick to surrounding and auto-closing pairs
rust-analyzer: implement tuple return type to tuple struct assist
rust-analyzer: ensure rustfmt runs when configured with ./
rust-analyzer: fix path syntax produced by the into_to_qualified_from assist
rust-analyzer: recognize custom main function as binary entrypoint for runnables
Rust Compiler Performance Triage
A quiet week, with few regressions and improvements.
Triage done by @simulacrum. Revision range: 9998f4add..84d44dd
1 Regressions, 2 Improvements, 4 Mixed; 1 of them in rollups
68 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: merge] RFC: Remove implicit features in a new edition
Tracking Issues & PRs
[disposition: merge] Bump COINDUCTIVE_OVERLAP_IN_COHERENCE to deny + warn in deps
[disposition: merge] document ABI compatibility
[disposition: merge] Broaden the consequences of recursive TLS initialization
[disposition: merge] Implement BufRead for VecDeque<u8>
[disposition: merge] Tracking Issue for feature(file_set_times): FileTimes and File::set_times
[disposition: merge] impl Not, Bit{And,Or}{,Assign} for IP addresses
[disposition: close] Make RefMut Sync
[disposition: merge] Implement FusedIterator for DecodeUtf16 when the inner iterator does
[disposition: merge] Stabilize {IpAddr, Ipv6Addr}::to_canonical
[disposition: merge] rustdoc: hide #[repr(transparent)] if it isn't part of the public ABI
New and Updated RFCs
[new] Add closure-move-bindings RFC
[new] RFC: Include Future and IntoFuture in the 2024 prelude
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No RFCs issued a call for testing this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-10-11 - 2023-11-08 🦀
Virtual
2023-10-11| Virtual (Boulder, CO, US) | Boulder Elixir and Rust
Monthly Meetup
2023-10-12 - 2023-10-13 | Virtual (Brussels, BE) | EuroRust
EuroRust 2023
2023-10-12 | Virtual (Nuremberg, DE) | Rust Nuremberg
Rust Nürnberg online
2023-10-18 | Virtual (Cardiff, UK)| Rust and C++ Cardiff
Operating System Primitives (Atomics & Locks Chapter 8)
2023-10-18 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2023-10-19 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2023-10-19 | Virtual (Stuttgart, DE) | Rust Community Stuttgart
Rust-Meetup
2023-10-24 | Virtual (Berlin, DE) | OpenTechSchool Berlin
Rust Hack and Learn | Mirror
2023-10-24 | Virtual (Washington, DC, US) | Rust DC
Month-end Rusting—Fun with 🍌 and 🔎!
2023-10-31 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2023-11-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
Asia
2023-10-11 | Kuala Lumpur, MY | GoLang Malaysia
Rust Meetup Malaysia October 2023 | Event updates Telegram | Event group chat
2023-10-18 | Tokyo, JP | Tokyo Rust Meetup
Rust and the Age of High-Integrity Languages
Europe
2023-10-11 | Brussels, BE | BeCode Brussels Meetup
Rust on Web - EuroRust Conference
2023-10-12 - 2023-10-13 | Brussels, BE | EuroRust
EuroRust 2023
2023-10-12 | Brussels, BE | Rust Aarhus
Rust Aarhus - EuroRust Conference
2023-10-12 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup at Browns
2023-10-17 | Helsinki, FI | Finland Rust-lang Group
Helsinki Rustaceans Meetup
2023-10-17 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
SIMD in Rust
2023-10-19 | Amsterdam, NL | Rust Developers Amsterdam Group
Rust Amsterdam Meetup @ Terraform
2023-10-19 | Wrocław, PL | Rust Wrocław
Rust Meetup #35
2023-09-19 | Virtual (Washington, DC, US) | Rust DC
Month-end Rusting—Fun with 🍌 and 🔎!
2023-10-25 | Dublin, IE | Rust Dublin
Biome, web development tooling with Rust
2023-10-26 | Augsburg, DE | Rust - Modern Systems Programming in Leipzig
Augsburg Rust Meetup #3
2023-10-26 | Delft, NL | Rust Nederland
Rust at TU Delft
2023-11-07 | Brussels, BE | Rust Aarhus
Rust Aarhus - Rust and Talk beginners edition
North America
2023-10-11 | Boulder, CO, US | Boulder Rust Meetup
First Meetup - Demo Day and Office Hours
2023-10-12 | Lehi, UT, US | Utah Rust
The Actor Model: Fearless Concurrency, Made Easy w/Chris Mena
2023-10-13 | Cambridge, MA, US | Boston Rust Meetup
Kendall Rust Lunch
2023-10-17 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2023-10-18 | Brookline, MA, US | Boston Rust Meetup
Boston University Rust Lunch
2023-10-19 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
2023-10-19 | Nashville, TN, US | Music City Rust Developers
Rust Goes Where It Pleases Pt2 - Rust on the front end!
2023-10-19 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group - October Meetup
2023-10-25 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2023-10-25 | Chicago, IL, US | Deep Dish Rust
Rust Happy Hour
Oceania
2023-10-17 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust meetup meeting
2023-10-26 | Brisbane, QLD, AU | Rust Brisbane
October Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
The Rust mission -- let you write software that's fast and correct, productively -- has never been more alive. So next Rustconf, I plan to celebrate:
All the buffer overflows I didn't create, thanks to Rust
All the unit tests I didn't have to write, thanks to its type system
All the null checks I didn't have to write thanks to Option and Result
All the JS I didn't have to write thanks to WebAssembly
All the impossible states I didn't have to assert "This can never actually happen"
All the JSON field keys I didn't have to manually type in thanks to Serde
All the missing SQL column bugs I caught at compiletime thanks to Diesel
All the race conditions I never had to worry about thanks to the borrow checker
All the connections I can accept concurrently thanks to Tokio
All the formatting comments I didn't have to leave on PRs thanks to Rustfmt
All the performance footguns I didn't create thanks to Clippy
– Adam Chalmers in their RustConf 2023 recap
Thanks to robin for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
0 notes
Text
How Swift is the fate of iOS App Development?
Hoping to plan an iOS app yet confounded to conclude which programming language to choose? All things considered, we have your reply.
Prior to fostering your iOS app, you should choose the programming language you need to code it in. There are various dialects accessible to make iOS apps. Be that as it may, Swift programming language is viewed as the best decision for iOS app development. The language has as of now caught most of the market.
In this post, we will examine Swift and Why Swift is the eventual fate of iOS app development.
Swift-An Introduction
Swift is Apple's generally vigorous, moving, and productive programming language dispatched in the market to supplant Objective C.
The programming language has various energizing elements and usefulness. It depends on the critical idea of C and Objective C. In the advanced period, pretty much every iOS App Developers lean toward Swift programming language to foster iOS mobile apps, click here for the best services.
Perhaps the best thing about the language is that it permits developers to construct apps for each gadget of Apple, including iPhones, iPad, MacBooks, Apple TV, Apple Watch.

Why Choose Swift Application Development?
Swift is the fate of iOS development that guarantees the coding is free from any and all harm. How about we examine a portion of the top reasons that show Swift is the eventual fate of iOS App Development-
Swift is open-source
Swift is an open-source development language. That implies anybody can utilize it to foster an iOS app with it.
It additionally gives a chance to developers to add to language development. They can share their thoughts on language development, bug fixing, best work, and some more.
Also, plentiful assets and learning books are accessible, making the programming language simpler for novice developers.
Fast Development Process
In contrast with Objective C, Swift is 2.6 occasions quicker. Swift offers LLVM instruments, a measured and reusable compiler, and toolchain innovations that permit developers to make an iOS app rapidly. These instruments convert low level computing construct into executable machine code, which empowers quicker code handling.
Simple to keep up with and read
Swift's punctuation and language structure are smooth, direct, and expressive, making it simple to peruse and compose. In contrast with Objective C, Swift is a lot more straightforward to peruse and compose.
The programming language saves iOS developers enormous time and exertion as they don't have to compose more codes to foster iOS apps.
Additionally, it permits less code mistakes that outcome in speedier coding, quicker issue arrangements, and simpler upkeep.
Also, it accompanies an Automatic Memory Counting (ARC) include that can track and deal with the memory use in the created apps.
Higher security and further developed execution:
Aside from being quicker than Objective C, Swift guarantees to improve app execution as well. As per the report, the language offers a 40% exhibition support for the application. In the event that you actually think that it is troublesome, you can further develop the Swift code's presentation by streamlining it.
A talented developer will know precisely how to work the input and catch blunders and right it in the code. Therefore, the code slamming is at this point not an issue in the development, and the bugs can be fixed quickly.
Upgraded group Scalability
Project chiefs can rapidly scale their development groups with Swift by adding new developers depending on the situation. All gratitude to the programming language's straightforwardness, curtness, and meaningfulness.
Customary Updates
With the dispatch of Swift 5, the programming language has become more powerful and utilitarian.
Stable Application Binary Interface (ABI) was presented in swift 5. The stable ABI component of Swift 5 permits Apple to help the language across the Apple stages.
0 notes
Text
Kotlin
Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin’s standard library depends on the Java Class Library, but type inference allows its syntax to be more concise.
It mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React) or native code (via LLVM); e.g., for native iOS apps sharing business logic with Android apps. Language development costs are borne by JetBrains, while this Foundation protects the trademark.
Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin’s standard library depends on the Java Class Library, but type inference allows its syntax to be more concise.
It mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React) or native code (via LLVM); e.g., for native iOS apps sharing business logic with Android apps. Language development costs are borne by JetBrains, while this Foundation protects the trademark.
It support for compilation directly to JavaScript (i.e., the classic back-end) is considered stable since it 1.3 by its developers, while the new Kotlin/JS(IR) is in beta as of version 1.5.30. The new optimized implementations of Kotlin/JVM(IR) and Kotlin/JS (IR-based) were introduced in version 1.4. Kotlin/JVM(IR) is considered stable as of the version 1.5 release. Kotlin/Native (for e.g. Apple silicon support) has considered beta since version 1.3.
For further reading
0 notes
Text
Free Download Apple Xcode for Mac 12.4 Download
Free Download Apple Xcode for Mac 12.4 Download
Xcode includes the Instruments analysis tool, iOS Simulator, and the latest Mac OS X and iOS SDKs. The Xcode interface seamlessly integrates code editing, UI design with Interface Builder, testing, and debugging, all within a single window. The embedded Apple LLVM compiler underlines coding mistakes as you type, and is even smart enough to fix the problems for you automatically. What’s New: Xcode…
View On WordPress
0 notes
Text
Is 2021 When Swift Programming Language Goes More Mainstream?

Apple debuted the Swift programming language in 2014, and it quickly grabbed the interest of developers everywhere. Over the past few years, it’s birthed a whole sub-industry of merchandise, Udemy classes, and even bespoke conferences dedicated to the language—not exactly surprising, when you consider how the language is becoming the best path for building macOS and iOS apps.
TIOBE’s latest ranking shows that Swift’s use is outpacing the aging language it is meant to replace, Objective-C. However, multiple programming-language rankings (including analyst firm Redmonk’s) show that Objective-C is managing to hold on, probably because there’s a lot of legacy code out there that must be maintained (shifting everything to Swift is a time- and money-consuming process that must be done carefully).
Earlier this year, the Swift.org open source team made several interesting announcements, including Windows support, better interoperability with C via Swift Systems, and the ability to utilize atomic operations in a codebase. Swift 5.3, the latest iteration of the language, was also retooled to compile faster.
Six years in, Swift hasn’t supplanted Objective-C as many expected it would. Is 2021 the year that this language finally breaks through in a more mainstream way? We asked some experts what they thought.
The Pros
Mohammad Azam, Lead Full Stack Immersive Web instructor at DigitalCrafts and an Udemy instructor, points out how Swift now has all the components of other major languages: “[Swift] consists of features like optionals, closures, optional function arguments, and protocols.”
It wasn’t always like that, and you can find some great accounts of how companies jumped quickly to embrace the first few versions, only to ram into unexpected difficulties. But now things are maturing. Paweł Kozielecki, iOS Tech Lead at Netguru, agrees with Azam that optionals “are a great programming concept, allowing you to not only prevent crashes, but also to enforce clean code across your application.”
Kozielecki says that Swift’s use of extensions is also important: “Extensions (initially known as Categories in Objective-C days) are a great way to add additional functionality to an object, without a necessity to extend it or build a wrapper around it. Categories add a set of methods or computable variables to a class in runtime (that is: after the class itself has been compiled).”
What is even more significant, Kozielecki adds, is how “protocols in Swift also can be extended (a.k.a. Protocol Extensions, also called default implementations for convenience). Such extensions can implement selected methods from the definition of a given protocol, greatly decreasing an amount of code a developer has to implement to conform to that protocol.”
Readability and frameworks are also key, according to Bear Cahill, Lead Mobile Developer and President at Brainwash and a Lynda instructor: “Both of these attributes help Swift to be highly maintainable. Also, the code can often be written with optimizations (e.g., shorthand argument labels), which allow for concise code.”
Last but certainly not least, a growing community is a huge plus, lending structure and support. But what’s Swift lacking, if anything? While many developers like to speculate freely about which features the Swift team should add, our panel points out that team may have already overlooked some features and tweaks that could have given the language a much more dominant footprint within Apple’s walled garden.
The Cons
Cahill points out Swift 5.3’s compile time fixes may be—well, timely: “While Swift allows for quick development using LLVM, redeploying changes as a new build in the simulator/device is a glaring speed bump.”
Azam suggests “Swift is a typed language, so it’s fast,” but Kozielecki isn’t sure that’s a net positive:
Compared to Kotlin or Java, Swift is not a reflective language (as it is statically typed). Swift offers a substitute – a Mirror functionality, but it is not the same. An object in Swift can “self-describe” (eg. get a list of its members) but cannot manipulate them from within. Through reflection, eg. it is easy to create Java classes mocks for testing, automatically inject dependencies, etc. It’d be a great feature in Swift, albeit very difficult to achieve.
Kozielecki goes on to note how the ABI architecture isn’t always reliable: “Despite the introduction of the Application Binary Interface in Swift 5.1, code compiled with different versions of Swift (eg. 5.1 and 5.2) often have problems working together. In the days of Objective-C, a piece of code could have been conveniently compiled into a static library, and easily introduced into a project as a dependency.”
In Swift, though, it wasn’t possible to produce static libraries until recently, which forced companies and developers to continue to use Objective-C if they didn’t want to expose their code.
Azam adds: “Sometimes the strictness of [Swift] may get in the way of your work.”
While Windows support is coming, and Linux support exists, Cahill points out that Swift still doesn’t reach the most core technology for many developers out there: the web. “Despite being open-source and cross-platform, Swift doesn’t have a well-known presence nor many supported IDEs,” Cahill says. “Being a compiled, versus interpreted, language may prevent it from being widely adopted in the web development community. Thus, it can suffer from an perception that it’s ‘an iOS/Mac/Apple language.’”
We can pontificate endlessly on how Apple/the Swift team may solve for ‘x’ in these instances. Maybe the WYSIWYG energy of SwiftUI is the front-end web developer tooling that will compliment work with back-end Linux environments. Perhaps Swift will soon branch out from Xcode and become more usable in other IDEs. Perhaps improvements to Async will kick the language into high gear.
Swift is an Apple-only language, even though it works with other platforms and environments. Apple is also one of the most dynamic tech companies around, and its next big bet will be augmented reality (AR). The company hints that AR will be the next big paradigm shift in mobile, and perhaps tech as we know it. If that holds true, Swift will become an incredibly important language (and its use will skyrocket). That said, 2021 likely won’t be the year of AR, and Swift still has too much work to do to spring into a truly dominant position… both in the Apple ecosystem and beyond.
Azper tech Inc is best web development company in Canada for programming work & website development
0 notes
Text
This Week in Rust 516
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Official
Announcing Rust 1.73.0
Polonius update
Project/Tooling Updates
rust-analyzer changelog #202
Announcing: pid1 Crate for Easier Rust Docker Images - FP Complete
bit_seq in Rust: A Procedural Macro for Bit Sequence Generation
tcpproxy 0.4 released
Rune 0.13
Rust on Espressif chips - September 29 2023
esp-rs quarterly planning: Q4 2023
Implementing the #[diagnostic] namespace to improve rustc error messages in complex crates
Observations/Thoughts
Safety vs Performance. A case study of C, C++ and Rust sort implementations
Raw SQL in Rust with SQLx
Thread-per-core
Edge IoT with Rust on ESP: HTTP Client
The Ultimate Data Engineering Chadstack. Running Rust inside Apache Airflow
Why Rust doesn't need a standard div_rem: An LLVM tale - CodSpeed
Making Rust supply chain attacks harder with Cackle
[video] Rust 1.73.0: Everything Revealed in 16 Minutes
Rust Walkthroughs
Let's Build A Cargo Compatible Build Tool - Part 5
How we reduced the memory usage of our Rust extension by 4x
Calling Rust from Python
Acceptance Testing embedded-hal Drivers
5 ways to instantiate Rust structs in tests
Research
Looking for Bad Apples in Rust Dependency Trees Using GraphQL and Trustfall
Miscellaneous
Rust, Open Source, Consulting - Interview with Matthias Endler
Edge IoT with Rust on ESP: Connecting WiFi
Bare-metal Rust in Android
[audio] Learn Rust in a Month of Lunches with Dave MacLeod
[video] Rust 1.73.0: Everything Revealed in 16 Minutes
[video] Rust 1.73 Release Train
[video] Why is the JavaScript ecosystem switching to Rust?
Crate of the Week
This week's crate is yarer, a library and command-line tool to evaluate mathematical expressions.
Thanks to Gianluigi Davassi for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
Ockam - Make ockam node delete (no args) interactive by asking the user to choose from a list of nodes to delete (tuify)
Ockam - Improve ockam enroll ----help text by adding doc comment for identity flag (clap command)
Ockam - Enroll "email: '+' character not allowed"
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
384 pull requests were merged in the last week
formally demote tier 2 MIPS targets to tier 3
add tvOS to target_os for register_dtor
linker: remove -Zgcc-ld option
linker: remove unstable legacy CLI linker flavors
non_lifetime_binders: fix ICE in lint opaque-hidden-inferred-bound
add async_fn_in_trait lint
add a note to duplicate diagnostics
always preserve DebugInfo in DeadStoreElimination
bring back generic parameters for indices in rustc_abi and make it compile on stable
coverage: allow each coverage statement to have multiple code regions
detect missing => after match guard during parsing
diagnostics: be more careful when suggesting struct fields
don't suggest nonsense suggestions for unconstrained type vars in note_source_of_type_mismatch_constraint
dont call mir.post_mono_checks in codegen
emit feature gate warning for auto traits pre-expansion
ensure that ~const trait bounds on associated functions are in const traits or impls
extend impl's def_span to include its where clauses
fix detecting references to packed unsized fields
fix fast-path for try_eval_scalar_int
fix to register analysis passes with -Zllvm-plugins at link-time
for a single impl candidate, try to unify it with error trait ref
generalize small dominators optimization
improve the suggestion of generic_bound_failure
make FnDef 1-ZST in LLVM debuginfo
more accurately point to where default return type should go
move subtyper below reveal_all and change reveal_all
only trigger refining_impl_trait lint on reachable traits
point to full async fn for future
print normalized ty
properly export function defined in test which uses global_asm!()
remove Key impls for types that involve an AllocId
remove is global hack
remove the TypedArena::alloc_from_iter specialization
show more information when multiple impls apply
suggest pin!() instead of Pin::new() when appropriate
make subtyping explicit in MIR
do not run optimizations on trivial MIR
in smir find_crates returns Vec<Crate> instead of Option<Crate>
add Span to various smir types
miri-script: print which sysroot target we are building
miri: auto-detect no_std where possible
miri: continuation of #3054: enable spurious reads in TB
miri: do not use host floats in simd_{ceil,floor,round,trunc}
miri: ensure RET assignments do not get propagated on unwinding
miri: implement llvm.x86.aesni.* intrinsics
miri: refactor dlsym: dispatch symbols via the normal shim mechanism
miri: support getentropy on macOS as a foreign item
miri: tree Borrows: do not create new tags as 'Active'
add missing inline attributes to Duration trait impls
stabilize Option::as_(mut_)slice
reuse existing Somes in Option::(x)or
fix generic bound of str::SplitInclusive's DoubleEndedIterator impl
cargo: refactor(toml): Make manifest file layout more consitent
cargo: add new package cache lock modes
cargo: add unsupported short suggestion for --out-dir flag
cargo: crates-io: add doc comment for NewCrate struct
cargo: feat: add Edition2024
cargo: prep for automating MSRV management
cargo: set and verify all MSRVs in CI
rustdoc-search: fix bug with multi-item impl trait
rustdoc: rename issue-\d+.rs tests to have meaningful names (part 2)
rustdoc: Show enum discrimant if it is a C-like variant
rustfmt: adjust span derivation for const generics
clippy: impl_trait_in_params now supports impls and traits
clippy: into_iter_without_iter: walk up deref impl chain to find iter methods
clippy: std_instead_of_core: avoid lint inside of proc-macro
clippy: avoid invoking ignored_unit_patterns in macro definition
clippy: fix items_after_test_module for non root modules, add applicable suggestion
clippy: fix ICE in redundant_locals
clippy: fix: avoid changing drop order
clippy: improve redundant_locals help message
rust-analyzer: add config option to use rust-analyzer specific target dir
rust-analyzer: add configuration for the default action of the status bar click action in VSCode
rust-analyzer: do flyimport completions by prefix search for short paths
rust-analyzer: add assist for applying De Morgan's law to Iterator::all and Iterator::any
rust-analyzer: add backtick to surrounding and auto-closing pairs
rust-analyzer: implement tuple return type to tuple struct assist
rust-analyzer: ensure rustfmt runs when configured with ./
rust-analyzer: fix path syntax produced by the into_to_qualified_from assist
rust-analyzer: recognize custom main function as binary entrypoint for runnables
Rust Compiler Performance Triage
A quiet week, with few regressions and improvements.
Triage done by @simulacrum. Revision range: 9998f4add..84d44dd
1 Regressions, 2 Improvements, 4 Mixed; 1 of them in rollups
68 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
[disposition: merge] RFC: Remove implicit features in a new edition
Tracking Issues & PRs
[disposition: merge] Bump COINDUCTIVE_OVERLAP_IN_COHERENCE to deny + warn in deps
[disposition: merge] document ABI compatibility
[disposition: merge] Broaden the consequences of recursive TLS initialization
[disposition: merge] Implement BufRead for VecDeque<u8>
[disposition: merge] Tracking Issue for feature(file_set_times): FileTimes and File::set_times
[disposition: merge] impl Not, Bit{And,Or}{,Assign} for IP addresses
[disposition: close] Make RefMut Sync
[disposition: merge] Implement FusedIterator for DecodeUtf16 when the inner iterator does
[disposition: merge] Stabilize {IpAddr, Ipv6Addr}::to_canonical
[disposition: merge] rustdoc: hide #[repr(transparent)] if it isn't part of the public ABI
New and Updated RFCs
[new] Add closure-move-bindings RFC
[new] RFC: Include Future and IntoFuture in the 2024 prelude
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
No RFCs issued a call for testing this week.
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-10-11 - 2023-11-08 🦀
Virtual
2023-10-11| Virtual (Boulder, CO, US) | Boulder Elixir and Rust
Monthly Meetup
2023-10-12 - 2023-10-13 | Virtual (Brussels, BE) | EuroRust
EuroRust 2023
2023-10-12 | Virtual (Nuremberg, DE) | Rust Nuremberg
Rust Nürnberg online
2023-10-18 | Virtual (Cardiff, UK)| Rust and C++ Cardiff
Operating System Primitives (Atomics & Locks Chapter 8)
2023-10-18 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2023-10-19 | Virtual (Charlottesville, NC, US) | Charlottesville Rust Meetup
Crafting Interpreters in Rust Collaboratively
2023-10-19 | Virtual (Stuttgart, DE) | Rust Community Stuttgart
Rust-Meetup
2023-10-24 | Virtual (Berlin, DE) | OpenTechSchool Berlin
Rust Hack and Learn | Mirror
2023-10-24 | Virtual (Washington, DC, US) | Rust DC
Month-end Rusting—Fun with 🍌 and 🔎!
2023-10-31 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2023-11-01 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
Asia
2023-10-11 | Kuala Lumpur, MY | GoLang Malaysia
Rust Meetup Malaysia October 2023 | Event updates Telegram | Event group chat
2023-10-18 | Tokyo, JP | Tokyo Rust Meetup
Rust and the Age of High-Integrity Languages
Europe
2023-10-11 | Brussels, BE | BeCode Brussels Meetup
Rust on Web - EuroRust Conference
2023-10-12 - 2023-10-13 | Brussels, BE | EuroRust
EuroRust 2023
2023-10-12 | Brussels, BE | Rust Aarhus
Rust Aarhus - EuroRust Conference
2023-10-12 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup at Browns
2023-10-17 | Helsinki, FI | Finland Rust-lang Group
Helsinki Rustaceans Meetup
2023-10-17 | Leipzig, DE | Rust - Modern Systems Programming in Leipzig
SIMD in Rust
2023-10-19 | Amsterdam, NL | Rust Developers Amsterdam Group
Rust Amsterdam Meetup @ Terraform
2023-10-19 | Wrocław, PL | Rust Wrocław
Rust Meetup #35
2023-09-19 | Virtual (Washington, DC, US) | Rust DC
Month-end Rusting—Fun with 🍌 and 🔎!
2023-10-25 | Dublin, IE | Rust Dublin
Biome, web development tooling with Rust
2023-10-26 | Augsburg, DE | Rust - Modern Systems Programming in Leipzig
Augsburg Rust Meetup #3
2023-10-26 | Delft, NL | Rust Nederland
Rust at TU Delft
2023-11-07 | Brussels, BE | Rust Aarhus
Rust Aarhus - Rust and Talk beginners edition
North America
2023-10-11 | Boulder, CO, US | Boulder Rust Meetup
First Meetup - Demo Day and Office Hours
2023-10-12 | Lehi, UT, US | Utah Rust
The Actor Model: Fearless Concurrency, Made Easy w/Chris Mena
2023-10-13 | Cambridge, MA, US | Boston Rust Meetup
Kendall Rust Lunch
2023-10-17 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2023-10-18 | Brookline, MA, US | Boston Rust Meetup
Boston University Rust Lunch
2023-10-19 | Mountain View, CA, US | Mountain View Rust Meetup
Rust Meetup at Hacker Dojo
2023-10-19 | Nashville, TN, US | Music City Rust Developers
Rust Goes Where It Pleases Pt2 - Rust on the front end!
2023-10-19 | Seattle, WA, US | Seattle Rust User Group
Seattle Rust User Group - October Meetup
2023-10-25 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2023-10-25 | Chicago, IL, US | Deep Dish Rust
Rust Happy Hour
Oceania
2023-10-17 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust meetup meeting
2023-10-26 | Brisbane, QLD, AU | Rust Brisbane
October Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
The Rust mission -- let you write software that's fast and correct, productively -- has never been more alive. So next Rustconf, I plan to celebrate:
All the buffer overflows I didn't create, thanks to Rust
All the unit tests I didn't have to write, thanks to its type system
All the null checks I didn't have to write thanks to Option and Result
All the JS I didn't have to write thanks to WebAssembly
All the impossible states I didn't have to assert "This can never actually happen"
All the JSON field keys I didn't have to manually type in thanks to Serde
All the missing SQL column bugs I caught at compiletime thanks to Diesel
All the race conditions I never had to worry about thanks to the borrow checker
All the connections I can accept concurrently thanks to Tokio
All the formatting comments I didn't have to leave on PRs thanks to Rustfmt
All the performance footguns I didn't create thanks to Clippy
– Adam Chalmers in their RustConf 2023 recap
Thanks to robin for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
1 note
·
View note
Text
Swift 3 - Learn to Code with Apple's New Language

Description
Have you ever ever needed to check out programming? Have you ever tried to be taught Swift, solely to get fed up with incomplete YouTube tutorials and poorly written tutorials? Trying to transfer your code from Swift 2 to three? THIS IS THE COURSE FOR YOU! In my Swift Three course, I'll stroll you thru all of the important info you must write swift code. I am a self taught programmer so I do know what it seems like to begin from scratch. I care about your studying. I consider we be taught greatest by doing. So, on this course, each lecture is adopted up by an train so that you can take a look at your self. This format will can help you really be taught Swift and never simply observe alongside like a robotic ;) Swift was open sourced in December of 2015 so now you can take this course even in case you are on a Linux or Home windows pc! A Fashionable Language Advanced from Goal C Swift is a multi-paradigm programming language developed by Apple to be used with iOS and OS X. Designed to switch Goal C, work started on Swift in 2010 and the primary cellular app was debuted in June 2014 on the Worldwide Builders Convention. Regardless of its aim of changing Goal C, Swift is able to working alongside the extra dated Goal C language whereas utilizing the Cocoa and Cocoa Contact frameworks. Swift is constructed with the LLVM compiler included in Xcode 6 beta, and makes use of the Goal-C runtime, permitting Goal-C, Goal-C++ and Swift code to run inside a single program. Throughout it’s debut, Swift was described as “Goal C with out the C” by Apple’s VP of Software program Engineering Craig Federighi. Contents and Overview On this course, you may be lead by way of organising Swift regionally, the fundamentals of the language, the way it compares to different widespread languages (together with Goal C), and find out how to get began on new initiatives. The course is designed to supply a complete introduction to Swift, so that you could start experimenting straight away. Upon completion, you'll perceive the foundations of Swift code and can be capable of develop customized purposes. Additionally, you will get expertise working with Xcode's new .playground file. Course materials is frequently refreshed to incorporate the entire latest updates and data, and because you’re granted lifetime entry upon registering, you'll be able to depend on this course to maintain your Swift abilities on the leading edge. Read the full article
0 notes