• 0 Comments 0 Shares 0 Views
  • 0 Comments 0 Shares 0 Views
  • 0 Comments 0 Shares 0 Views
  • BGR.COM
    Apple explains how iPadOS 26 turns iPads into Mac-like multitasking marvels
    Apple is completely revamping its software with iOS 26, iPadOS 26, and macOS Tahoe 26, its upcoming operating system updates. With a similar design language, the company is also finally unlocking the iPad's true potential by offering real multitasking functionality.While Stage Manager is still available in iPadOS 26, Apple is ditching the Split View and Slide Over options in favor of a new window-based multitasking system. In an interview with ArsTechnica, Apple Senior Vice President of Software Engineering Craig Federighi explained why it took so long to bring proper multitasking to the iPad and how the company finally pulled it off.Federighi told the publication that, at first, it was a hardware limitation. The iPad wasnt as powerful as a Mac and couldnt handle the same tasks. That hasn't been the case for at least five years now, but he still sees it as a process of getting everything just right.Image source: Apple Inc."Over time the iPad's gotten more powerful, the screens have gotten larger, the user base has shifted into a mode where there is a little bit more trackpad and keyboard use in how many people use the device," Federighi told Ars. "And so the stars kind of aligned to where many of the things that you traditionally do with a Mac were possible to do on an iPad for the first time and still meet iPad's basic contract."This is why the company used everything it learned from the Stage Manager experience to offer this new windowed multitasking system not just for iPads with the M1 chip or newer, but for almost every tablet that can run iPadOS 26."We decided this time: make everything we can make available," said Federighi, "even if it has some nuances on older hardware. We re-architected our windowing system and we re-architected the way that we manage background tasks, background processing, that enabled us to squeeze more out of other devices than we were able to do at the time we introduced Stage Manager."Here's how the new multitasking feature works on the iPad with iPadOS 26Image source: Apple Inc.With iPadOS 26, the iPad is getting a redesigned windowing system that finally brings multitasking to Apple's tablet. Here are the main features:Powerful windowing: The iPad now lets you open more windows at once. You can also resize and arrange them however you like.Window tiling: Apple says you can arrange windows with a flick to the left or right. You can also split the display into thirds or quarters.Mac-like options to control windows: Apple added close, minimize, and maximize buttons to every app, making it easier to manage windows.Expos: By swiping up and holding, users can find the window they need. Swiping up twice lets you start fresh when opening a new app.Menu bar: Another Mac-like feature is the menu bar. You can find the app's most common functions and options by hovering with the trackpad near the top of the screen.Don't Miss: How iPadOS 26 and macOS 26 tease Apples upcoming major iPhone redesignsThe post Apple explains how iPadOS 26 turns iPads into Mac-like multitasking marvels appeared first on BGR.Today's Top DealsTodays deals: Nintendo Switch games, $5 smart plugs, $150 Vizio soundbar, $100 Beats Pill speaker, moreBest deals: Tech, laptops, TVs, and more salesTodays deals: $15 Amazon credit, rare PS5 Pro sale, $263 HP Stream laptop, $298 Sony XM5 headphones, more
    0 Comments 0 Shares 0 Views
  • TECHCRUNCH.COM
    Drive brand impact with a Side Event at TechCrunch Disrupt 2025
    Exciting news for tech enthusiasts and innovators! TechCrunch Disrupt 2025 is just around the corner, and we have an incredible opportunity for you to elevate your brands visibility. How? By hosting your own Side Event at the most anticipated tech gathering of the year! Why host a Side Event? Imagine being at the helm of []
    0 Comments 0 Shares 0 Views
  • 0 Comments 0 Shares 7 Views
  • BLOG.JETBRAINS.COM
    Livestream: Building an MCP Server
    Join us on Tuesday, June 24, at 10 am EDT / 4 pm CEST (check other timezones) for our free livestream, Live Coding: Building an MCP Server.In this livestream, well team up with Max Kless, a senior engineer at Nx, to build a Model Context Protocol (MCP) server from scratch and seamlessly integrate it with JetBrains IDEs. Watch to learn how easy it is to build a tool that enhances AI model interaction within development environments, making advanced language models more accessible and useful for everyday coding tasks. Register! Have questions? Bring them along well be answering them live. Looking forward to seeing you there!The WebStorm team
    0 Comments 0 Shares 7 Views
  • BLOG.JETBRAINS.COM
    Rust vs Go: Which one to choose in 2025
    The programming landscape continues to evolve, bringing forward languages like Rust and Go that not only challenge traditional paradigms but also cater to the sophisticated needs of modern computing. Both have carved significant niches for themselves, celebrated for their efficient handling of system-level operations and concurrency.Recent findings from the State of Developer Ecosystem Report 2024 highlight the dynamic growth and adoption rates of these languages. Rust celebrated a remarkable milestone by setting a usage record among the years most popular languages and boasted a user base of approximately 2.27 million developers, with 709,000 using it as their primary language. Meanwhile, Gos user base remains robust and steady, with its simplicity and concurrency features attracting consistent interest. Notably, about one in six Go users is contemplating a shift toward Rust.The choice between Rust and Go is pivotal and should be made with a thorough understanding of each languages strengths and suitability to project requirements whether it concerns performance, ease of use, or concurrent programming. In this article, we aim to equip you with the essential insights to help you make an informed decision between Rust and Go in 2025.Rust overviewRust development historyRust was initially conceived by Graydon Hoare in 2006 as a side project. Officially sponsored by Mozilla Research in 2009, Rust was designed to create a safer, concurrent, and practical language that could rival C++ in terms of performance while ensuring higher security and thread safety. It underwent numerous iterations and improvements, with the first stable release, Rust 1.0, launched in May 2015. The language has been developed with contributions from a dedicated and vibrant open-source community, continually evolving with robust compiler improvements and features aimed at ensuring safety and efficiency.Rust core philosophyThe core philosophy behind Rust is to provide memory safety without using garbage collection and to support concurrency without data races. It achieves these through ownership and borrowing concepts, which are enforced at compile-time by the Rust compiler. This strict enforcement of memory safety rules ensures that Rust programs are free of null pointer dereferences, dangling pointers, and buffer overflows, which are common vulnerabilities in system-level programming languages like C and C++. Additionally, Rust emphasizes zero-cost abstractions, iterator chains, and type inference, which allows high-level programming without sacrificing performance.Popular Rust use casesRusts unique features make it particularly suitable for several crucial fields:Systems programming: Rust is popularly used for writing operating systems, embedded systems, and other foundational software where close control of hardware and system resources is crucial. Its ability to ensure memory safety and concurrency makes it an excellent choice for developing reliable and high-performance system-level software.Internet of Things (IoT): In IoT, devices often operate under resource constraints and require high-security measures. Rusts efficient memory use and robustness help in building secure, fast, and reliable IoT applications.WebAssembly: Given its performance traits, Rust is also becoming a favored option for targeting WebAssembly, especially for web applications demanding high-speed performance beyond what traditional JavaScript can offer. This use-case is expanding as the web continues to evolve into a platform for more complex and performance-critical applications.Blockchain development: The demands for security and concurrency in blockchain development have also seen Rust being adopted here, where guaranteed memory safety and efficient execution are paramount.Cloud Infrastructure: Rust is increasingly popular for developing cloud infrastructure across major cloud providers like AWS, Azure, and GCP. Its memory safety features and concurrency support make it ideal for building high-performance, secure cloud services that can scale efficiently and handle heavy workloads.Network Programming: Rust is also favored for network programming applications owing to its performance and reliable concurrency model. Its used to build network utilities and systems that require high-speed data processing and transfer with minimal latency, benefiting from Rusts efficiency and robust error handling.Command-line Interfaces (CLIs): Rust is becoming a preferred choice for creating command-line interfaces due to its compilation to efficient binary code, which makes CLI tools fast and dependable. Developers value Rust for building CLI applications that require performance, precise error control, and support across multiple platforms.Go overviewGo origins and development historyGo, also known as Golang, was designed by Robert Griesemer, Rob Pike, and Ken Thompson at Google, and officially released in 2009. The driving force behind Gos creation was addressing the scaling issues associated with software development at Google, which included slow build times, unwieldy codebases, and difficulties in managing dependencies while maintaining performance across large-scale distributed systems.Go was designed to combine the speed and ease of use of dynamically typed languages like Python with the performance and security advantages of statically typed languages like C++. Over the years, it has evolved with an emphasis on simplicity and efficiency, incorporating robust standard libraries and features that cater to concurrent processing and networking.Go core philosophyThe core philosophy of Go revolves around simplicity, efficiency, and readability. It incorporates a minimalistic syntax with only a small number of keywords, making the code easy to write and read. Gos design excludes many features of modern OOP languages like type inheritance and generics (although generics have been introduced in recent versions), which purists argue can lead to complex and hard-to-maintain code. A significant feature of Go is its built-in support for concurrent programming, embodied in goroutines (lightweight threads managed by the Go runtime) and channels (which help in managing goroutines). This built-in concurrency model enables developers to easily write programs that get the most out of multicore and networked machines, enhancing Gos utility in back-end and server-side applications.Popular Go use casesGos simplicity and powerful concurrency tools have led to its widespread adoption across several key domains:Cloud infrastructure: Gos efficient performance characteristics and robust standard library make it an ideal choice for building cloud services and infrastructure. Companies like Google, Dropbox, and Docker use Go to power large portions of their cloud computing solutions, benefiting from its easy maintenance and efficient scalability.Web servers and API services: Go is extensively used in developing web servers and RESTful services due to its strong HTTP support and efficient concurrent processing capabilities. Its standard library includes powerful tools for building networked services, which makes Go a preferred choice for backend development.Network programming: The simplicity in handling concurrency and the rich set of networking libraries make Go a strong candidate for developing network tools and programs that require high performance and scalability, such as database brokers, message queues, and more.DevOps tools: Due to its simplicity and fast execution, Go is commonly chosen for creating tools used in DevOps practices, such as Kubernetes and Terraform. These tools manage containerized applications and orchestrate complex cloud environments, benefiting from Gos efficiency and ease of deployment.Command-line Interfaces (CLIs): Gos ability to compile into a single binary across multiple platforms makes it an excellent choice for developing command-line tools that can be easily distributed and used across different operating systems without additional dependencies.Rust vs Go: Performance comparisonWhen choosing a programming language for a project, understanding how each language performs under different scenarios can drastically impact the efficiency and success of the application. Below, we explore the performance nuances of Rust and Go using benchmark data and real-world examples, discussing specific trade-offs to help guide decisions based on project requirements such as system-level applications versus web development.Rusts Low-level memory management:Rust provides control over memory allocation without a garbage collector, which means it can operate closer to the hardware and manipulate memory with high precision. This is beneficial for systems programming where low latency and high throughput are crucial. For instance, a benchmark by benchmarks game shows that Rust implementations tend to have lower memory use and are often faster in computation-heavy tasks compared to Go.For example, Servo, a high-performance browser engine developed by Mozilla, leverages Rusts ability to manage memory efficiently to improve parallelism and ensure safety, significantly enhancing browsing speed.Speed and efficiency of Rust in systems programming:Rusts zero-cost abstractions mean that abstractions cost nothing in terms of runtime performance. This makes Rust especially suitable for building performance-critical software such as game engines or simulation software where deterministic performance is key. For example, Veloren, an open-world game, utilizes Rusts capability to handle complex calculations and graphics rendering efficiently without compromising on speed.Trade-offs: While Rust provides superior control and performance efficiency in system-level programming, its steep learning curve and strict compilation requirements can slow down development speed compared to Go, especially in projects where rapid development and iteration are crucial.Gos garbage collection impactGos garbage collector is designed to maximize efficiency and minimize latency, providing a balance between performance and developer convenience. This is particularly visible in web environments where Go manages memory efficiently across thousands of lightweight goroutines. According to a TechEmpower benchmark, Go applications perform impressively well in web frameworks and platforms, often outperforming other compiled languages in concurrent access tests.For example, Docker, a popular containerization platform, utilizes Go primarily due to its simplicity and the efficiency of its concurrency model, enabling it to manage thousands of microservices efficiently.Strengths in Gos concurrent programmingGos built-in support for concurrency allows developers to easily implement scalable server-side applications. Its simplicity in managing multiple threads of execution without the overhead typical of more verbose threading models is a significant advantage in web services and cloud applications.Trade-offs: Although Go provides substantial ease of use and satisfactory performance for web servers and simpler backend services, it may not reach the performance extremities required in low-level system programming or where granular control over memory and processing is essential, areas where Rust excels.Rust vs Go: Ease of useBoth Rust and Go have distinct learning curves and ecosystems tailored to their respective strengths and philosophies. Choosing between them should consider the proficiency of everyone in a team and the specific needs of the project. Lets explore the differences between Rust and Go in terms of how user-friendly and accessible each language is, considering their syntax, core philosophies, and the tools that support their ecosystems.Rusts steep learning curveRust is known for its stringent compiler and its unique approach to memory management through ownership and borrowing concepts. While these features contribute significantly to Rusts performance and safety guarantees, they also steepen the learning curve. New programmers might find Rust challenging as they need to adhere strictly to its rules to even compile the code, a stark contrast to more lenient languages. However, once mastered, these same features make Rust exceedingly reliable and secure, particularly in concurrent and system-level programming contexts.For newcomers to Rust or those looking to deepen their understanding, helpful resources are available in our new blog post on How to Learn Rust in 2024.Challenges and benefits of learning RustOne of the main challenges of learning Rust is grappling with its borrow checkera mechanism that ensures references do not outlive the data they refer to. While initially perplexing, mastering this feature teaches developers rigorous memory management, significantly reducing runtime errors and security vulnerabilities.The benefits of enduring Rusts steep learning curve manifest as high performance, memory safety, and concurrency without fear of data races. Furthermore, the robust tool ecosystem, including the RustRover IDE, enhances the learning and development process. RustRover, for instance, assists with code completion, error handling, and debugging, which simplifies some of the complexities involved in Rust development. Try RustRover Gos beginner-friendly learning curveGo boasts simplicity in its design, advocating for minimalistic syntax and a small set of keywords. This design philosophy not only makes Go easy to learn but also aims to maintain readability and maintainability of code, making it an ideal choice for beginners. The absence of complicated language constructs like generics (until recently) and the simplified approach to object-oriented programming make Go an easy language for newcomers to grasp.Popularity of Go among startups and tech giantsGos simplicity combined with its powerful built-in concurrency model has made it incredibly popular among startups and large corporations like Google, Uber, and Twitch. These companies benefit from Gos fast compilation and execution that scales efficiently with multicore processors and large software systems. The languages design aligns well with modern software development requirements such as microservices architectures and cloud services.Furthermore, the development experience in Go is boosted by tools like GoLand IDE, which provides a rich set of features designed to improve productivity and simplify code management. GoLand offers excellent support for Gos concurrency patterns, integrated testing, and seamless editing tools that help developers navigate and write Go code more efficiently. Try GoLand Rust vs Go: Concurrency and multithreadingBoth Rust and Go provide robust solutions for handling concurrency, each through distinct approaches and constructs. As multithreading becomes increasingly crucial in modern applications, understanding how each language facilitates concurrent operations, alongside their respective strengths and weaknesses, is vital for developers.Rusts ownership model and safety in multithreadingOwnership and memory safetyRusts ownership model is a foundational aspect of its approach to memory safety and concurrency. This model divides data into distinct ownerships and borrowing, ensuring that only one function or thread can own a particular piece of data at a time. This strict model prevents data races at compile timea common source of bugs in concurrent programming.Strengths: The primary strength of this model is its ability to provide guaranteed thread safety without needing a garbage collector. This can result in performance improvements, as the overhead of garbage collection is eliminated. Rusts compile-time checks enforce that any borrow of data maintains synchronization with the owners lifetime, preventing hanging pointers and other common concurrency errors.Weaknesses: The strictness of the ownership rules can also be a limiting factor, as it imposes a steeper learning curve and can complicate the design of certain types of concurrent architectures where shared mutable state is necessary.Practical examples of using Rust in high-performance applicationsRust is extensively used in scenarios where performance and safety are critical. Examples of real-world usage:Cloudflare: As a leader in internet infrastructure, Cloudflare utilizes Rust to develop several of their system-critical components that require high performance and reliability. Rusts safety and concurrency features are crucial for Cloudflares need to process significant amounts of data with minimal latency, helping ensure robust, secure delivery of web content. More about their use of Rust can be explored through Cloudflares dedicated discussions on their blog.Servo Engine: Developed by Mozilla, the Servo engine is an experimental browser engine designed to take full advantage of Rusts concurrency capabilities. It uses fine-grained parallelism to improve the performance of page loading and rendering tasks.ripgrep: This is a line-oriented search tool that recursively searches the current directory for a regex pattern. By leveraging Rusts concurrency features, ripgrep outperforms similar tools by efficiently parallelizing the search process across available CPU cores.Goroutines and ease of concurrent programming in GoGo introduces goroutines as a core part of its language design, which are functions capable of running concurrently with others. A goroutine is a lightweight thread managed by the Go runtime. The use of goroutines simplifies the implementation of concurrent and parallel systems.Strengths: Goroutines are inexpensive to create and have little overhead, with each taking up only a few kilobytes in stack space. This allows the creation of thousands of goroutines if needed. The Go runtime handles the scheduling and coordination, simplifying the model for the developer.Weaknesses: While the simplicity of goroutines is beneficial, it can also lead to challenges, particularly in managing synchronization and shared state. Without careful design, concurrent programming in Go can result in race conditions and deadlock issues as applications scale.Common Go use cases in web services and cloud-based applicationsGos concurrency features make it particularly well-suited for building scalable web services and cloud applications. Examples include:Kubernetes: An open-source platform designed to automate deploying, scaling, and operating application containers, Kubernetes uses Go to handle large-scale, high-concurrency services.Docker: Docker utilizes Go for building and running containerized applications. Gos simplicity and built-in support for concurrent operations enable Docker to manage services efficiently.Both Rust and Go provide powerful tools for building concurrent applications but do so in fundamentally different ways. Rust offers more stringent safety guarantees at the expense of a steeper learning curve, making it ideal for applications where safety is critical. Go offers a more straightforward approach to concurrency, making it better suited for applications that require rapid development and deployment with scalable performance. Understanding these differences should allow you to choose the right tool according to the specific demands and nature of your project.Rust vs Go: Ecosystem and community supportThe vitality of a programming language is often reflected by its ecosystems robustness and the vibrancy of its community. As Rust and Go continue to grow, both languages offer distinct advantages and challenges in terms of libraries, tools, and community engagement.Maturity of Rust libraries and toolsRusts ecosystem, though younger than Gos, has rapidly matured with a strong focus on safety and performance. The availability of robust tools like Cargo, Rusts package manager and build system, simplifies dependency management and compilation tasks. Cargo integrates seamlessly with crates.io, a large repository of community-contributed libraries, known as crates, that extend Rusts capabilities.Strengths: Rusts tooling is designed to enforce strict code safety standards, which is critical in systems where reliability and security are paramount. The language ecosystem also benefits from an active development community that prioritizes these attributes.Weaknesses: Despite significant growth, the Rust ecosystem is still evolving, and on occasion, developers might find the available libraries less comprehensive compared to those available in more mature ecosystems like Gos. This can sometimes result in needing to develop custom solutions, which may increase project timelines and complexity.Growth and support from Rusts open-source communityRust has cultivated a passionate and rapidly growing open-source community, which contributes not only to the development of the language itself but also to a broad spectrum of community-driven projects.Strengths: The communitys commitment is demonstrated through consistent improvements to the language, high-quality documentation, and the development of new tools and libraries. The annual Rust Survey and RustConf are indicators of the communitys robust engagement and dedication to evolving the language in response to user needs.Weaknesses: As the community is still expanding, some areas of the ecosystem might lack the same level of support or as many expert resources as those available in older, larger developer communities.Gos rich standard library and toolsGos standard library is widely praised for its comprehensiveness and effectiveness, providing well-designed packages for a variety of common tasks such as HTTP server implementation, cryptography, and data manipulation. This richness allows developers to achieve more with the standard library alone, reducing the reliance on external libraries.Strengths: The rich set of tools and a comprehensive standard library simplify many programming tasks, enhancing Gos usability and speeding up the development process. Tools like GoLangs native testing toolkit and benchmarking tools integrate seamlessly into the developer workflow.Weaknesses: While Gos standard library covers a broad range of functionality, its approach can sometimes be too simplistic for complex applications, which may necessitate additional customization or external packages.Industry adoption of GoGo has seen substantial industry adoption, with significant backing from tech giants such as Google, which designed the language. This corporate support not only validates the languages capabilities but also ensures ongoing investment in its development.Strengths: High adoption rates in the tech industry, including by companies like Uber, Netflix, and Dropbox, contribute to a rich ecosystem of projects and third-party tools, fostering a reliable support network. This adoption speaks to its performance, scalability, and ease of use in production environments.Weaknesses: The popularity of Go in large-scale tech companies means there may sometimes be a bias towards solving problems at scale, which might not directly address the needs of smaller projects or teams.Rust and Go in 2025By 2025, both Rust and Go offer strong ecosystems supported by vibrant communities. Rusts focus on safety and performance makes it ideal for applications where these factors are critical, while Gos simplicity and rich set of libraries make it excellent for quickly developing scalable applications. The choice between Rust and Go should consider the specific technical needs of the project, the desired timeline for development, and the type of community and corporate support that will best enhance the projects success. Each ecosystem presents compelling strengths and some limitations, making it essential to align language choice with project goals and team skills in 2025.
    0 Comments 0 Shares 7 Views
  • BLOG.JETBRAINS.COM
    ReSharper and Rider 2025.1.3: Important Updates Released
    A third set of updates for the 2025.1 versions of ReSharper and Rider has just been released.This release contains important bug-fixes as well as feature updates. Lets take a look at whats been improved.ReSharperReSharper 2025.1.3 introduces support for SQL & NoSQL query languagesYou can now edit and format SQL and NoSQL queries directly in ReSharper with smart features like code completion, inspections, and live templates. Supported dialects include MSSQL, PostgreSQL, MySQL, SQLite, MongoDB, Cassandra, and more.A 30-day trial with full access to all features is now available no payment information required.Learn all about the new functionality from this blog post. Download ReSharper 2025.1.3 RiderRider 2025.1.3 is out with the following updates:AI-powered featuresRider now supports .aiignore files, helping you manage which files are included in the AI Assistants scope when working on your solution. [RIDER-121794]Semantic search is now enabled for both Search Everywhere and the AI Assistant, making it easier to find classes, methods, parameters, and other code elements even when your query differs in case, punctuation, or formatting. [LLM-2266]Crucial fixes:Step over and Step into actions now work as expected when debugging ASP.NET projects with Docker Compose. [RIDER-120783]Sticky selection now works correctly with all editor actions, including arrow key navigation in .cs files. [RIDER-125224]Local edits across multiple files are now reliably preserved, even during formatting and undo/redo operations. [RIDER-124865]Files excluded from indexing above the solution folder are now correctly omitted from search results. [RIDER-123858]Editing C++ code during debugging is now fully supported again when the Allow editing in debug mode option is enabled. [RIDER-125020]C++ run/debug configurations once again reliably detect projects. [RIDER-124829]For the full list of resolved issues, please refer to our issue tracker. Download Rider 2025.1.3 You can download the latest builds from our website (Rider, ReSharper) or via the Toolbox App. You can also update Rider as a snap.
    0 Comments 0 Shares 7 Views
  • YUBNUB.NEWS
    May Producer Prices Show Little Evidence of Tariff-Driven Inflation
    The producer price index (PPI)a measure of prices paid by businesses for goods and servicesrose less than expected in May, signaling that tariff-related inflation effects have yet to materialize.According
    0 Comments 0 Shares 0 Views