Loading...

Защо да изберем C++ през 2021

Защо да изберем C++ през 2021

Майкъл Доминик е софтуерен инженер, който работи за The Mad Botter. Преди часове се сблъсках с негова публикация, в която обяснява защо компанията му избира да работи на C++ през 2021 г. За да не го перефразирам грешно, нека самият той го обясни в прав текст:

Множество платформи/Собствен код

Разбира се, изразходвах много енергия, опитвайки се да намеря междуплатформени решения, които работят добре и това, до което стигнах, е че винаги са нужни компромиси, които не желая да правя. Точно затова има много добри причини да се придържаме към по-традиционните решения. C ++ ни позволява да разполагаме със споделен код (с някои специфични за платформата модификации), компилиран за всяка от нашите платформи, като същевременно има специфични модули, за да се възползва от определени функции на платформата. Ключов момент тук е, че под платформи ние говорим не само за операционни системи, но и за архитектури на процесори. Тук поглеждам към Apple Silicon.

Модерен C++

С последните няколко версии C ++ премина през промени, които имат за цел да премахнат част от недостатъците на езика. Обръща се внимание на колекциите и управлението на паметта. По-конкретно открихме, че интелигентните указатели (smart pointers) са особено привлекателни. Смея да твърдя, че са познати на феновете на Objective-C; Да, все още скърбя за квадратните скоби!

Познаване от екипа

Добре, това не е силен технически аргумент, но всъщност е доста важен. В сравнение с конкуриращите се езици на ниско ниво (Go и Rust), целият екип има поне известен опит със C++, като някои от нас имат доста голям опит с езика. Причината за това е, че C++ е стар и популярен език, разработван години наред, през който мнозина програмисти са минали. Това значи, че по-голяма част от тях ще се чувстват по-комфортно да използват именно C++ вместо по-непознат за тях синтаксис. Въпреки че не трябва определя всички технически решения, опитът си е фактор.

Преди да изберем C ++ се колебахме между три езика: C++, C# (.Net) и Rust. C# беше елиминиран първо по няколко причини, включително някои допълнителни перипети за работа на Linux и macOS. .Net е много по-лесен да се разработи в Linux и macOS сега, отколкото някога е било преди. Rust почти спечели и слушателите на Coder Radio ще разберат, че съм фен на Rust, но в крайна сметка съществуващото C++ изживяване в екипа надделя. Подобно на колекция от винилови плочи на хипстърска среща, то е безценно.

---

За всяко ястие си има правилните подправки и няма как да се отрече, че C++ е една от добрите такива. По този повод, не пропускай да се включиш в курса ни C++ Fundamentals. Той стартира на 23 Март и е част от модула ни C++ Development. Курсът ще те запознае с основните типове данни, работа с масиви, функции, линейни контейнери и потоци и е подходящ за всеки преминал курса Programming Basics with C++ или с еквивалентни знания. Занятията се провеждат изцяло онлайн, а след всяка лекция, получаваш достъп до записа и учебните ресурси. Не се колебай, а се запиши сега!

Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.