Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
🎉А вот и наши итоги 2022 года!
Мы хорошо поработали и нам есть чем гордиться:
⚡️ Постоянно растущая команда квалифицированных инженеров
⚡️ Новые заказчики по всему миру - от стартапов до мировых брендов
⚡️ Сотни новых проектов
🎓 А еще наш учебный центр DSR вышел на международный уровень и начал работать в Португалии и Узбекистане.
🧠 Также, важным достижением для нас стало присоединение к The Linux Foundation и Hyperledger Foundation.
Уверены, что 2023 год станет таким же успешным и плодотворным для нашей команды! 📈
#DSR#DoingSoftwareRight#softwaredevelopment
🧠 Новая статья на Medium от нашей QA-команды — Building Reliable Software: How to Stop Common Bugs Before They Appear!
В ней мы разбираем:
• почему раннее выявление ошибок экономит недели разработки,
• как небольшие недочёты могут перерасти в доработки и задержки,
• пошаговые практики, которые помогают ловить баги ещё до релиза.
🔥 Отличный разбор от Анны Шатковской, DSR Principal QA Engineer, и нашей QA-команды — максимально прикладной опыт о том, как делать софт надежным!
📖Читать статью
🗣 Статья на английском языке
#QA#SoftwareDevelopment
💥Наша прекрасная Рената Токтар, Lead Software Engineer, выступит на XXIII Международной конференции "Информатика: проблемы, методы, технологии" им. Э.К. Алгазинова 1️⃣5️⃣февраля
👩💻Ее тема: Блокчейн стартапы. Современные методологии разработки: Agile VS Kanban.
📣Программа конференции опубликована на сайте @cs_vsu (факультета компьютерных наук ВГУ.)
Технологическая секция, на которой будет выступать Рената, пройдет с ⏰14.00 до 18.00.
Ссылку на трансляцию в YouTube мы оставим в комментариях.
#DSR#DoingSoftwareRight#softwaredevelopment#DSR_team#dsr_blockchain#dsr_ssi
JetBrains has officially joined the .NET Foundation as a sponsor
JetBrains, a leading name in the software development industry, has officially joined the .NET Foundation as a sponsor. For over 20 years, JetBrains has been at the forefront of creating innovative tools for .NET developers. Their commitment to supporting developers and fostering a thriving ecosystem is truly commendable.
This partnership highlights the importance of a vibrant and active developer community.
With JetBrains providing complimentary licenses for open-source contributors and launching the OSS Power-Ups initiative, .NET developers now have even greater opportunities to enhance their projects and build a stronger, more connected open-source future.
We at MDC Uzbekistan are excited to follow this new chapter and look forward to seeing the incredible innovations that will emerge from this collaboration. Kudos to both JetBrains and the .NET Foundation for paving the way for an even brighter future for the .NET community!
Don’t forget to follow JetBrains and .NET Foundation for more updates on this remarkable journey!
#DotNETFoundation#JetBrains#Partnership#Innovation#SoftwareDevelopment#OpenSource#Community
@mdcuzbekistan
🚀 AI TRENDS | Tether Launches QVAC SDK for Cross-Platform AI Development
Tether has introduced the QVAC SDK, a unified software development kit designed to enable developers to build, run, and fine-tune AI applications directly on any device. According to Foresight News, this SDK ensures consistency across different environments.
Applications developed using the QVAC SDK can seamlessly operate on platforms such as iOS, Android, Windows, macOS, and Linux. The same codebase can function across all supported environments without the need for platform-specific branches, rewrites, or conditional logic.
The QVAC SDK is built on QVAC Fabric, a branch of llama.cpp, offering broad compatibility with the llama.cpp model ecosystem for text generation, embedding, and multimodal workloads.
#AI#SDK#CrossPlatform#MachineLearning#LlamaCpp#SoftwareDevelopment#Multimodal#QVAC
🔝Интересуешься IoT?
У нас есть классная лекция про интернет вещей (IoT) и его перспективы от нашего Senior Software Engineer Александра Воронова.
Содержание:
✔️Определение интернета вещей,
✔️Область применения IoT,
✔️Беспроводные протоколы для создания IoT-сетей,
✔️Уровни приложения популярных протоколов.
▶️https://youtu.be/pHcvCP2t87c
❗️лекция на английском языке.
Александр работает в DSR более 10 лет. Специализируется на интернете вещей и беспроводных протоколах. Участвовал в разработке собственных продуктов компании, включая стеки протоколов Bluetooth и Zigbee, а также различных Zigbee-контроллеров для умного дома. Сейчас Александр работает в основном с сетями на базе протокола Thread.
#IoT#SoftwareDevelopment#WirelessProtocols#ThreadNetworks#DSRCorporation#FreeLecture#TechEnthusiasts#dsr_training_center
🚀 AI TRENDS | Claude Unveils Managed Agents for Efficient Deployment
Claude has introduced Managed Agents, a new feature designed to support large-scale agent construction and deployment. According to Foresight News, this product combines an optimized agent framework with production-grade infrastructure, enabling developers to swiftly transition their agent products from prototype to official launch in just a few days. Managed Agents are currently in public testing on the Claude platform.
#AI#Claude#ManagedAgents#AgentDeployment#TechTrends#ForesightNews#AIPlatforms#SoftwareDevelopment#Innovation#PublicTesting
MCP Revolutionizes AI Tool Integration
MCP by Anthropic standardizes AI agents and tools, tackling fragmentation. Over 1,000 MCP servers created, including from companies like Slack and Docusign. Enables seamless functions like airline ticket booking through agents on varied platforms. Supports agent-server chains for contextual decision-making, fostering a cyber-economy where servers and agents can transact. A promising structure for future AI products aiming to innovate search and indexing on MCP rails.
👉 More on MCP: modelcontextprotocol
👉 Join the accelerator for product development: dagihouse
#AI#MCP#CyberEconomy#Agents#TechInnovation#SoftwareDevelopment#LLM#Decentralization#Integration#Protocols#DataScience#Research#OpenSource#Finance#Booking#Travel#Server#Economy