Что ты такое язык программирования C++
Я бы мог написать более совершенный язык. Проще и понятнее чем предыдущие, но развитие существующего языка задача гораздо сложнее
Бьерн Страуструп
Язык как таковой интересен сам по себе, его история, трудности технических решений. Про это написано множество книг, статей, взято бесчисленное количество интервью. Попробуем посмотреть на все это с другой стороны какие цели привели к текущему состоянию дел.
На все решения в языке на самом деле влияло два человека сам Бьерн Страуструп, и его лучший друг Александр Степанов. Два человека это два разных мотива развивать язык, Страуструп как прикладной инженер всегда стремился к однозначности языковых конструкций и минимальных издержек на выполнения этих операций. Степанов математик. Как всякий математик мышление котрого заключаеться в лаконичности обработки числовых рядов и символической записи сложных функций.
В таком сложном симбиозе родилась идея создать максимально быстрый язык близкий к аппаратной части компьютера при этом иметь математическую лаконичность. Более 40 лет потребовалось для доведения идей 80-ых годов в конечный вид. Таким стал стандарт C++23, обработка коллекций, контракты функций и многое другое. По мере развития язык вбирал и отдавал идеи и концепции в другие языки, например Haskell умел все то что хотел Степанов, но не умел все то что хотел Страуструп. Теперь в каждом языке есть дженерики, которые в C++ были задуманы как базовая функция.
Тогда и Сейчас
Раньше, нужно было писать циклы чтобы обработать массив. Сейчас нужно вызвать конкретный алгоритм для обработки данных.
Раньше обращались к API операционной системы. Сейчас многое включено в стандартную библиотеку. Например: многопоточность, файловая система и т.д.
Раньше нужно следить за сложностью #include и писать вручную команды для линковщика. Сейчас есть возможность модулей import export
Раньше компилятор был не оптимален в своих решениях, приходилось писать, как на язык Си. Сейчас кроме развития самих компиляторов, язык позволяет управлять компиляцией прямо в коде
Сообщество по информатике и кибернетике на языке C++ в Discord
Бесплатное обучение (помощь) алгоритмам и программированию на C++ в научную сторону
Другими словами, сообщество людей, интересующихся информатикой.
Умением делить целочисленные (int) типы через умножение, которым не заработать денег, поэтому все бесплатно.
Упор будет на алгоритмы нежели чем на сам C++ и его последние стандарты, поскольку сам синтаксис языка и его библиотеку 100% охватить невозможно, но мы будем к этому стремиться.
Чем сообщество лучше других?
- Экспертное мнение
- Очень много полезных ссылок
- Мемы про науку и околонаучные вещи
Сообщество по обучению можно вступить в Discord:
Почему Discord, а не Telegram или другая платформа?
Discord имеет несколько положительных качеств:
- Регистрация без номера телефона и даже просмотр без регистрации e-mail
- Подразделы чатов
- Пользовательские ветки для обсуждения в основных разделах чата
- Возможность вести трансляции
Немного о себе:
- Есть высшее профильное образование в том числе были предметы "системы искусственного интеллекта", "системы реального времени", "методы оптимизации", и много другой математики
- Прочитано более сотни книг по компьютерным наукам
- Огромный опыт разработки на языке assembler и C++
Подборка полезных ссылок для изучения C++
подпишись на наш телеграмм канал чтобы не пропустить полезную информацию
https://t.me/sudo_Hack_RT
LearnCpp.com — это бесплатный веб-сайт, посвященный обучению вас программированию на C++. Независимо от того, был ли у вас какой-либо предыдущий опыт программирования или нет, учебные пособия на этом сайте помогут вам выполнить все шаги по написанию, компиляции и отладке ваших программ на C++, и все это с большим количеством примеров.
ravesli.com — Здесь представлены более 240 бесплатных уроков, где с нуля рассматриваются основы и тонкости языка С++ и программирования в целом. Есть пошаговые создания игр на С++ с помощью библиотек MFC и SFML, и более 70 практических заданий для проверки ваших навыков программирования.
metanit.com — данный сайт посвящен различным языкам и технологиям программирования, компьютерам, мобильным платформам и ИТ-технологиям. Здесь будут выкладываться различные руководства и учебные материалы, статьи и примеры.
cppstudio.com/cat/274/ — Если вы новичок в C++, предлагаю Вам прочитать этот бесплатный учебник. Здесь собрано большое количество статей для начинающих программистов по С++. Условно все статьи разделены на группы, кратко характеризующие их содержание. После прочтения статьи, можно закрепить материал, написав несколько программ. Для проверки своих теоретических знаний можно пройти тестирование по С++. В таблице после теоретических статей идет подраздел практики, в котором вы можете пройти тестирование и написать программы.
cplusplus.com/doc/tutorial/ — These tutorials explain the C++ language from its basics up to the newest features introduced by C++11. Chapters have a practical orientation, with example programs in all sections to start practicing what is being explained right away.
devdocs.io/cpp/ — The interface of C++ standard library is defined by the following collection of headers.
https://www.cpp.com.ru/ — C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. На данном сайте выложено несколько книг и статей по языкам С и С++, как для начинающих, так и для профессионалов.
https://en.cppreference.com/w/cpp — ещё одна хорошая документация на английском. Постоянно обновляется.
https://learnc.info/ — хороший сайт с лекциями по языку C. В качестве базового языка вам предстоит изучать C. Почему именно C, а не Pascal, Python, Ruby или PHP? Этот язык заставляет вас думать обо всём. Когда программируешь на си, начинаешь понимать, что компьютер - просто железяка. Необходимо самостоятельно выделять память под объекты, затем очищать эту память, заботиться о переполнении массивов, переполнении переменных, изменении знака переменных, приведении типов, правильном обращении к памяти и т.д.
все выше упомянутые ссылки в паре с книгой C++ за 21 день Сиддхартха Рао (моя личная рекомендация) которую можно скачать по этой ссылке бесплатно: https://t.me/sudo_Hack_RT/388
содержание книги ниже:
Подборка ресурсов для личной анонимности и безопасности в сети
Анонимность и безопасность:
checkshorturl.com - Дешифратор коротких URL-ссылок для проверки на фишинговый сайт
proxy6.net/privacy - Проверка анонимности web-серфинга
browsercheck.qualys.com - Проверка браузера на безопасность (security bugs, malware addons, etc)
www.cpcheckme.com/checkme - Экспресс-онлайн проверка безопасности вашего десктопа от фишинга, уязвимостей ПО, утечки sensitive data
www.hackerwatch.org/probe - Проверка хостовой IDSIPS и end-point Firewall
www.virustotal.com/ru - Онлайн-антивирус
threatpoint.checkpoint.com - Онлайн-песочница
======================================================================
Список полезных сайтов:
https://temp-mail.org/ru/ - одноразовая почта.
https://sms-activate.ru/ru/ - одноразовый номер.
https://fakedetail.com/ - генератор фейк переписок, личностей, медиа и т.д.
https://www.photopea.com/ - онлайн photoshop ( не хуже настольной версии)
https://pory.io/ - если нужно создать приятный, простенький сайт, но лень писать код.
https://trends.google.com/trends/ - анализируем поисковые запросы google.
https://www.google.ru/alerts - устанавливаем трекер на любой поисковой запрос.
Logojoy (https://looka.com/logo-maker/)- сделает логотип за тебя.
Reflect (https://reflect.tech/) - заменит любое лицо на фотографии.
Teachable Machine (https://teachablemachine.withgoogle.com/)- обучить нейросеть! Google сформировала приложение, которое поможет людям понять, как функционируют нейросети.
Talk to Books (https://books.google.com/talktobooks/)- поговорить с нейросетью с помощью книг.
remove.bg (https://www.remove.bg/)- удалит фон с фотографии.
Quick, Draw! (https://quickdraw.withgoogle.com/)- распознает твой рисунок.
This Person Does Not Exist (https://thispersondoesnotexist.com/) - сгенерирует несуществующего человека.
больше интересного и полезно в нашем ТГ
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Очередной программист. День #0
Дисклеймер.
Да, да, да бла-бла-бла, очередной программист, вас уже как говна за баней (кстати, вопрос к мирозданию, я никогда не видел за баней говна, кто-то видел?), стать программистом невозможно, конкуренция бешенная, никому вы не нужны, работу не найдешь, на джуна требований выше крыши, нужно образование и т.п и etc.
Привет Пикабу!
Этим постом я хочу обозначить начало своего длинного и сложного пути в мир IT. так будет проще мне, это будет дополнительная мотивация для меня, и в процессе обучения я буду писать о своих впечатлениях, выводах и разочарованиях, которые, скорее всего, станут полезны тем, кто решит идти по этому пути самостоятельно.
Коротко о себе: мне 29 лет, высшее гуманитарное образование, служу старшим бортпроводником в одной из крупнейших авиакомпаний страны, имею прекрасный английский, базовый французский и польский. В школе на информатике писал код на Pascal, а точнее рисовал на нём, было забавно. Плачу ипотека и имею жена :)
Зачем я хочу в айти?
Я в своей профессии 6 лет и дорос до максимума, уйти выше не принесет денег, морального удовлетворения, удовольствия, т.к. всё скатится в унылую рутину. Облетел почти весь мир, был очень много где, узнал много чудесных людей.
Я хочу стать модным словом, а именно "гражданином мира". Иметь профессию, которая востребована по всему земному шару, работать на фирму зарегистрированную в США/ЕС/РФ и т.д., а жить в это время во Вьетнаме или ещё хоть где, и да я прекрасно понимаю, что до такого уровня расти долго. Но главное, что эта перспектива ЕСТЬ. Возможность оперативных релокаций в реалиях сурово-быстро изменяющегося мира, это суперспособность!
Что я умею?
Ничего Читать, писать, говорить на английском языке, разбираюсь в железной части ПК. Умею быть сфокусированным, целеустремленным.
Чем я хочу заниматься?
А вот это вопрос номер один.
Я усердно гуглил, смотрел ютубы, читал статьи про ЯП, что это такое, что с ними делают, где они нужны, кто из них умер/умирает/умрет. И я смог успешно выбрать 3 языка программирования. разумеется, сразу 3 осилить с нуля невозможно, ненужно, не получится, поэтому я буду определяться. Как сказал один из крутых разработчиков со стажем >20 лет, берите язык, занимайтесь им 10-14 дней по 3-4 часа ежедневно и вывод напросится сам собой. Мне эта идея отсева очень понравилась, потому что:
а. Я смогу руками потрогать все языки, писать код.
б. Я буду опираться исключительно на своём мнении об этом ЯП.
в. Начиная с нуля, любые знания по ЯП, включая логику написания кода будут полезны для формирования общего кейса знаний.
Из чего выбираем то?
1. JS
Что хочет нуб? Правильно, писать код, чтобы сразу были видны результаты того, что пишешь. Фронтенд был первой вещью, которая меня заинтересовала в IT. Это красиво, интересно, есть спрос. По информации с stack overflow JS ЯП №1 для релокации в другие страны. Конечно, понимаю о обязательном параллельном изучении HTML, CSS, React, TS и дохрена чего еще.
Как буду учить:
learn.javascript.ru, книга Кантора по JS (та же инфа с learn.javascript, но упорядоченная), книга Чиннатхамби, видеоуроки Богдана Стащюка с udemy.
2. Java
Один из лидеров по вакансиям, зарплатам, востребованности. Финансовые системы, БД и многое другое написаны на Java. Замены ей, вероятно, никогда не будет ибо зачем трогать и менять то, что чудесно работает.
Как буду учить:
Java для начинающих: с нуля до сертификата Oracle курс Заура Трегулова с udemy, javarush.
3. C++
Что? Вы сказали игры?
ябудуустанавливатьвсевсеигры
Последний избранник С++. Говорят крутой язык для задротов. Говорят игры пишут на С++, unreal engine с нами в команде. Язык интересный, сложный, мозги точно будут кипеть, геймдев это круто и хотелось бы там очутиться. хотя писать игры не так интересно, как в них играть. Ну и кроме геймдева С++ входит в топ востребованных языков программирования.
Как буду учить: #simplecode youtube, Доусон Изучаем С++ через программирование игр.
Finnally
Я поставил трекер себе на телефон и буду заниматься каждым из ЯП 40 часов (~4 часа в день ~10 дней на язык). Ровно за 40 часов я должен буду сделать вывод с чем я пойду дальше и буду интенсивно учить, а что отложу на потом/забуду нахрен как страшный сон.
Обещаю, что буду публиковать отчеты на Пикабу минимум раз в неделю, жду от вас, дорогие мои, поддержки, полезных советов, слов наставлений, интересных ресурсов для изучения, флуда( разумеется, как без него).
P.S.
Да, программисты нахер никому не нужны, чё вы лезете все сюда. #мамаятожевайти
Идея и пост мои, учиться буду я, тег моё.