⚡️ Однажды этот момент настанет...
и вы должны быть готовы! Как пройти все этапы отбора в IT?
Этапы могут отличаться в разных компаниях, но обычно структура схожа:
1️⃣ Скрининг - на этом этапе HR должен заинтересоваться вашим резюме. Главное - это опыт, смело пишите 1-2 года(даже если его у вас нет)
2️⃣ Звонок с HR - если вы прошли скриниг, то HR захочет с вами поговорить. Придумайте почему решили уволиться и посмотрите стек компании, откуда вам могут позвонить. Иногда задают простые вопросы, вроде "что такое сбалансированное бинарное дерево поиска". Звучит сложно, но доступ к гуглу даст ответ 😉
3️⃣ Техсобес/Алгоритмическая секция - обычно есть устная часть, с техническими вопросами, на них нужно знать ответы. И вторая часть, где придётся написать код. Обычно задачи достаточно простые, тут главное знать алгоритмы.
4️⃣ Общение с командой - нужно просто показать, что вы адекватный человек. Плюсом будет рассказать, что для вас важны бизнес-показатели, проблемы и прибыль компании.
Так что в целом, ничего сложного 👨💻
и вы должны быть готовы! Как пройти все этапы отбора в IT?
Этапы могут отличаться в разных компаниях, но обычно структура схожа:
1️⃣ Скрининг - на этом этапе HR должен заинтересоваться вашим резюме. Главное - это опыт, смело пишите 1-2 года
2️⃣ Звонок с HR - если вы прошли скриниг, то HR захочет с вами поговорить. Придумайте почему решили уволиться и посмотрите стек компании, откуда вам могут позвонить. Иногда задают простые вопросы, вроде "что такое сбалансированное бинарное дерево поиска". Звучит сложно, но доступ к гуглу даст ответ 😉
3️⃣ Техсобес/Алгоритмическая секция - обычно есть устная часть, с техническими вопросами, на них нужно знать ответы. И вторая часть, где придётся написать код. Обычно задачи достаточно простые, тут главное знать алгоритмы.
4️⃣ Общение с командой - нужно просто показать, что вы адекватный человек. Плюсом будет рассказать, что для вас важны бизнес-показатели, проблемы и прибыль компании.
Так что в целом, ничего сложного 👨💻
👍2🔥2👾1
Привет! Если хотите быть готовыми к собеседованию, рекомендую обратить внимание на три темы, которые я встречал на каждом собесе:
ООП - Объектно - Ориентированное Программирование — подход, где всё строится вокруг объектов и классов.
SOLID: Набор принципов для написания поддерживаемого кода. Применение этих принципов приводит к созданию более гибкого, удобного для тестирования и поддерживаемого кода.
Python поддерживает многопоточность средствами библиотеки
threading. Однако из-за Global Interpreter Lock (GIL) нативная многопоточность ограничена. Работу с асинхронностью можно эффективно организовать через asyncio.В REST архитектуре у нас есть предопределенные роуты, к которым можно обратиться для выполнения определенных операций (GET, POST, PUT, DELETE). Это обеспечивает стандартизацию взаимодействия между клиентом и сервером.
Эти темы являются фундаментом, который поможет вам справиться с большинством вопросов на собеседованиях 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄4🔥2👾1
#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2👾2
Вне зависимости от того, какой язык программирования вы выберете, нужно изучить несколько дополнительных тем. Сегодня поговорим про основу - о базах данных.
Подготовил дорожную карту, в каком порядке изучать БД.
Основные моменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🦄2🤔1 1
❓ С чего начать писать код?
Вежливость требует первым делом поздороваться! Традиционно программисты начинают изучение языка с написания "Hello, World!". Это простейшая программа, которая выводит фразу "Hello, World!" на экран 📱
Почему "Hello, World!"?
✨ Простота: Такая программа не требует предварительного знания особенностей языка.
✨ Фокус на Основах: Помогает понять базовую структуру и синтаксис языка.
✨ Момент Успеха: Первая рабочая программа приносит чувство достижения.
В иллюстрации к посту я написал эту программу на четырёх разных языках. Сравните синтексис и внешний вид: что вам нравится больше?
- Лаконичность, но простота Python и Java Script.
- Строгость и точность Golang и C++
Вежливость требует первым делом поздороваться! Традиционно программисты начинают изучение языка с написания "Hello, World!". Это простейшая программа, которая выводит фразу "Hello, World!" на экран 📱
Почему "Hello, World!"?
В иллюстрации к посту я написал эту программу на четырёх разных языках. Сравните синтексис и внешний вид: что вам нравится больше?
- Лаконичность, но простота Python и Java Script.
- Строгость и точность Golang и C++
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👾1
Я целую неделю решал одну задачу на работе. В итоге я её решил,
В базе данных у нас есть поле с названием "Количество товара на складе". В это поле должно фиксироваться число - собственно, количество товара на складе. Но, по неведомым мне причинам, помимо цифр, там хранятся значения "Много" и "Достаточно". Выглядит это примерно так:
| Товар | Количество |
|-----------------|------------------------|
| Книга | Много |
| Журнал | 5 |
Кажется, будто "5" - это число, но в одном столбце должны храниться данные одного типа, так что это строка. Уже звучит странно, согласитесь? А в моей задаче надо было сделать агрегацию по этому столбцу.
🫣 День 1-2. Стадия отрицания
Первые два дня я изучаю проект.
🫸 День 3. Стадия торга
Пытаюсь понять, как вообще создаётся отчёт, потому что при запросе я получал 50 тысяч (!) строк.
😥 День 4. Депрессия
Пишу первое решение, но оно оказывается неэффективным. Сначала проверял, есть ли в сгруппированных данных значение "Много". Если такого значения нет, я искал "Достаточно". Если и его не было, то надо было сложить все значения в колонке. А вы умеете складывать строки? В итоге я заставил рабочий сервер зависнуть с моими расчётами, и 15 минут он не обрабатывал другие запросы.
👌 День 5. Принятие
Уже почти отчаявшись и организовав два созвона по задаче, я всё же нашёл решение! И потом 4 часа я писал 40 строк кода.
В итоге код запустился, всё работает как надо, а я счастлив. Чувство радости за выполненную работу стоит всех усилий! Никогда не сдавайтесь, особенно если вы уже начали!
⚡️ Совет: Никогда не храните числа со строками, а деньги дома
Please open Telegram to view this post
VIEW IN TELEGRAM
👾5👍3🤔1
⚡️Рейтинг языков программирования 2023⚡️
Прочитал статью.
IEEE (Институт инженеров по электротехнике и электронике) составил 10-ый ежегодный рейтинг языков программирования.
🔥 В этом году Python не только сохраняет свою позицию на первом месте, но и увеличивает свое преимущество. Особенно это можно наблюдать в сфере разработки искусственного интеллекта, даже не смотря на то, что хайп на ИИ уже спадает.
👨💻 Подтверждая один из моих прошлых постов про базы данных, статья подчеркивает, что одного Python недостаточно для карьеры в IT. В рейтинге по навыкам на первом месте стоит SQL. Работодатели предпочитают видеть навыки SQL в сочетании с другими языками.
🦾 Различные языки на основе C, как Java или С++, все еще популярны, особенно для задач высокой производительности. А для статистического анализа востребованы такие языки, как R.
💀 Кроме того, "ветеранские" языки, такие как Cobol и Fortran, все еще актуальны в определенных отраслях. Например, многие крупные банки до сих пор нуждаются в программистах на Cobol.
🦄 Ставь единорога, чтобы я написал "Hello World!" на Cobol и Fortran. Языку Cobol уже 35 лет!
#находки
Прочитал статью.
IEEE (Институт инженеров по электротехнике и электронике) составил 10-ый ежегодный рейтинг языков программирования.
🔥 В этом году Python не только сохраняет свою позицию на первом месте, но и увеличивает свое преимущество. Особенно это можно наблюдать в сфере разработки искусственного интеллекта, даже не смотря на то, что хайп на ИИ уже спадает.
👨💻 Подтверждая один из моих прошлых постов про базы данных, статья подчеркивает, что одного Python недостаточно для карьеры в IT. В рейтинге по навыкам на первом месте стоит SQL. Работодатели предпочитают видеть навыки SQL в сочетании с другими языками.
🦾 Различные языки на основе C, как Java или С++, все еще популярны, особенно для задач высокой производительности. А для статистического анализа востребованы такие языки, как R.
💀 Кроме того, "ветеранские" языки, такие как Cobol и Fortran, все еще актуальны в определенных отраслях. Например, многие крупные банки до сих пор нуждаются в программистах на Cobol.
#находки
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄10👍1
Привет, это тред рабочих столов 🍏
Кидайте скрин рабочего стола в комменты. Только чур ничего не убирать! У меня вот убирать даже нечего 😁
Кидайте скрин рабочего стола в комменты. Только чур ничего не убирать! У меня вот убирать даже нечего 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
👾3
Немного информации про языки (в сравнении вакансий использовал информацию с сайта indeed.com)
🔹 COBOL (Common Business Oriented Language - Бизнес-ориентированный язык для общих задач)
➖ Возраст: создан в 1959 году, текущая версия языка 1989 года.
➖Особенности: разработан для бизнес-приложений и используется в финансовых и административных системах.
➖Зачем нужен: корпоративные системы, банкинг и государственные IT-системы.
➖Вакансий: 370
🔸 Fortran (Formula Translation - формульный транслятор)
➖Возраст: был создан в 1957 году, современная версия 2018 года.
➖Особенности: для научных и инженерных вычислений. Имеет высокую производительность, используется для задач, связанных с численными методами, моделированием и симуляцией.
➖Зачем нужен: Применяется в академических исследованиях, аэрокосмической индустрии, метеорологии и областях, где требуются сложные математические вычисления.
➖Вакансий: 186
Для сравнения, на этом же сайте вакансий для Pyhton разработчиков - 22 000
#находки
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5👍2🔥2
❓ Как "думает" компьютер?
В одном из предыдущих постов мы рассмотрели, как написать "Hello, World!" на разных языках программирования. На Python - это всего одна строка и одна функция с одним аргументом. Но всё ли так просто?
🥸 Давайте погрузимся "под капот" и узнаем, как эта магия происходит!
Что происходит "под капотом"?
1️⃣ Перевод текста в Байт-код
Ваша строка кода
2️⃣ Запуск байт-кода на Виртуальной Машине
Этот байт-код затем исполняется виртуальной машиной Python (PVM). Здесь уже начинаются "нолики и единички", которые будут понятны процессору.
3️⃣ Отправка машинного кода на процессор
После преобразования байт-кода в машинный код в виде инструкций, этот код передаётся на процессор вашего компьютера. Процессор, в свою очередь, исполняет эти инструкции и подготавливает данные для вывода. (к этому будет отдельный пост)
4️⃣ Вывод на экран
Исполненный процессором машинный код передаёт сигнал операционной системе, указывая, что нужно вывести текст "Hello, World!" на экран. Операционная система обрабатывает этот сигнал и взаимодействует с подключённым монитором для отображения текста в терминале, где мы запустили наш код.
🖥 Вывод в Терминал
Когда мы видим "Hello, World!" в терминале, это результат всей этой сложной цепочки команд, переводов и взаимодействий между различными уровнями компьютера.
❄️ Даже одна "простая" строка кода скрывает за собой целую историю действий и преобразований! Разве это не магия?
#просто_о_сложном
В одном из предыдущих постов мы рассмотрели, как написать "Hello, World!" на разных языках программирования. На Python - это всего одна строка и одна функция с одним аргументом. Но всё ли так просто?
Что происходит "под капотом"?
1️⃣ Перевод текста в Байт-код
Ваша строка кода
print("Hello, World!") сначала преобразуется в байт-код — это почти машинный код, но всё ещё понятен Python.2️⃣ Запуск байт-кода на Виртуальной Машине
Этот байт-код затем исполняется виртуальной машиной Python (PVM). Здесь уже начинаются "нолики и единички", которые будут понятны процессору.
3️⃣ Отправка машинного кода на процессор
После преобразования байт-кода в машинный код в виде инструкций, этот код передаётся на процессор вашего компьютера. Процессор, в свою очередь, исполняет эти инструкции и подготавливает данные для вывода. (к этому будет отдельный пост)
4️⃣ Вывод на экран
Исполненный процессором машинный код передаёт сигнал операционной системе, указывая, что нужно вывести текст "Hello, World!" на экран. Операционная система обрабатывает этот сигнал и взаимодействует с подключённым монитором для отображения текста в терминале, где мы запустили наш код.
🖥 Вывод в Терминал
Когда мы видим "Hello, World!" в терминале, это результат всей этой сложной цепочки команд, переводов и взаимодействий между различными уровнями компьютера.
#просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
❓ Что происходит в процессоре?
В предыдущем посте я рассказал о том, что происходит в "голове" у компьютера, когда мы просим его запустить простейшую программу⚙️
Теперь я расскажу о том, что происходит в процессоре. После того как машинный код достигает процессора, начинается "магия" вычислений. Разберём, как именно "нолики и единички" превращаются в конкретные действия🫥
1️⃣ Инструкции и Регистры
Каждая инструкция машинного кода представляет собой последовательность битов ("ноликов и единичек"), которая опредяет операцию для выполняния. Кроме инструкций процессор имеет набор регистров, которые служат для временного хранения данных.
2️⃣ Декодирование
Процессор "читает" эту последовательность битов и понимает, какую операцию нужно выполнить. Например, определённая последовательность битов может означать "сложить числа из двух регистров и сохранить результат в третьем".
3️⃣ Исполнение
После декодирования инструкции процессор исполняет соответствующую операцию, обновляя свои регистры или взаимодействуя с памятью.
4️⃣ Следующая Инструкция
После завершения операции процессор переходит к следующей инструкции в машинном коде.
🖥 Как это связано с "Hello, World!" ?
Когда ваш код
Получается, эти "нолики и единички" представляют собой очень конкретные инструкции, которые процессор может быстро и точно выполнить, превращая код в реальные действия!➡️
#просто_о_сложном
В предыдущем посте я рассказал о том, что происходит в "голове" у компьютера, когда мы просим его запустить простейшую программу
Теперь я расскажу о том, что происходит в процессоре. После того как машинный код достигает процессора, начинается "магия" вычислений. Разберём, как именно "нолики и единички" превращаются в конкретные действия
Каждая инструкция машинного кода представляет собой последовательность битов ("ноликов и единичек"), которая опредяет операцию для выполняния. Кроме инструкций процессор имеет набор регистров, которые служат для временного хранения данных.
Процессор "читает" эту последовательность битов и понимает, какую операцию нужно выполнить. Например, определённая последовательность битов может означать "сложить числа из двух регистров и сохранить результат в третьем".
После декодирования инструкции процессор исполняет соответствующую операцию, обновляя свои регистры или взаимодействуя с памятью.
После завершения операции процессор переходит к следующей инструкции в машинном коде.
🖥 Как это связано с "Hello, World!" ?
Когда ваш код
print("Hello, World!") достигает этой стадии, процессор выполняет серию инструкций, которая в конечном итоге приводит к тому, что операционная система получает сигнал о необходимости вывести текст на экран.Получается, эти "нолики и единички" представляют собой очень конкретные инструкции, которые процессор может быстро и точно выполнить, превращая код в реальные действия!
#просто_о_сложном
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
⚡️ЗАПУСК БОТА В ТЕЛЕГРАМ⚡️
На днях закончил записывать модуль ООП в курсе по Python-разработке и решил поделиться с вами инструкцией того, как запускать ботов в ТГ.
🔤 Установить Телеграм 😁
1️⃣ Ищем бота @BotFather в графе "Поиск", запускаем его и выбираем команду 2️⃣ Придумываем название будущего бота и тег. Там есть подсказки.
3️⃣ BotFather пришлёт сообщение об успешном создании бота, в котором будет указан TOKEN API. Скопируйте и вставьте его в код, который я прикрепил в комментариях.
4️⃣ В терминале напишите
5️⃣ Когда библиотека установится, пишем
Ура!🔄 теперь у вас есть бот, который на команды
#python_полезности
На днях закончил записывать модуль ООП в курсе по Python-разработке и решил поделиться с вами инструкцией того, как запускать ботов в ТГ.
/newbot
pip install PyTelegramBotAPI ,чтобы скачать библиотеку telebotpython3 bot.py (если поменяли называние файла, то укажите его).Ура!
/help и /start выводит приветственную информацию.#python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄4🔥1👾1
This media is not supported in your browser
VIEW IN TELEGRAM
Оказывается в CSS
Обычно CSS используется, что бы настроить цвета на сайте или красиво расположить объекты, картинки или видео. Используя тригонометрию, на сайте можно сделать такую красоту, как на гифке. Тут используются синусы и косинусы для расчёта расположения объектов вокруг центра. А так же тангенс для расчёта угла разворота.
А вы использовали тригонометрию после школы?
#находки
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄7🤔1
Пока мой курс только в разработке, решил поделиться с вами достойными бесплатными курсами по Python
Поколение Python - Два бесплатных курса покрывающие весь базовый Python. Среди курсов на русском языке один из лучших.
✅ Плюсы: Подробное описание тем, множество заданий с повышающимся уровнем сложности, можно проходить прямо в браузере
❌ Минусы: На мой взгляд курс избыточен, многие темы вам не пригодятся в работе первый год. Кроме того, нет видео, только текст. Учитывайте это, если лучше воспринимаете визуально.
Crash Course от Google - 6 недельный курс от Гугл. Его средняя оценка пользователей составляет 4.8/5. Впечатляюще, не так ли?
✅ Плюсы: Бесспорный лидер IT индустрии, так что качество курса на высоком уровне. Есть как видео, так и текстовые материалы. Удобно разбито на модули. Всего 6 недель для изучения основ Python.
❌ Минусы: Всё на английском языке, из России не получиться оплатить сертификат (сам курс бесплатный), на мой взгляд платформа не очень удобная.
w3 Python - Курс от известной образовательной платформы. Они специализируются на веб разработке (JS, HTML, CSS), но так же есть курс по Python.
✅ Плюсы: Очень удобный формат, все темы разбиты на микроуроки с заданиями в конце. Описаны только те темы, с которыми вы точно столнётесь. Есть не только сам Python, но и дополнительные темы.
❌ Минусы: Всё на английском и нет видео. Это больше справочник или учебные пособия, чем полноценный курс, так что запаситесь мотивацией.
Если хорошо владеете английским, или установили браузер с автоматическим переводом видео,
Если выбрали первый - пропускайте слишком сложные задания или темы которые сложно понять. К примеру, математические множества редко встречаются в работе.
#python_полезности
Please open Telegram to view this post
VIEW IN TELEGRAM
🦄5👍1
Вот и прошёл месяц в должности старшего разработчика в одной из крупнейших торговых компаний в России по продаже техники. Хочу немного поделиться своими мыслями и выводами 🌐
⚙️ Процессы
Мы используем scrum (о том что это - в отдельном посте). Суть в том, что мы работаем короткими итерациями, по две недели. Сначала мы планируем то, какие задачи хотим сделать, и обычно это реализация желаний пользователей. Сам процесс настроен неплохо, у нас есть все основные элементы работы, однако задач может быть совсем мало. Бывает, что целую неделю сидишь без дела.
🫥 Команда
Сама команда достаточно большая, 13 человек, но среди них всего 3 разработчика (включая меня). Многие задачи, которые в маленьких командах делают разработчики, выделены в отдельные должности, поэтому не надо много работать с базами данных, например. Из за того, что разработчиков мало, не с кем обсудить технические вопросы по задаче или попросить посмотреть твой код.
✅ Задачи
Про это уже сказал выше, их мало. Но сами задачи, обычно, хорошо расписаны, в команде ведь 3 аналитика. Почти всегда понятно, что делать и на кого повлияет решение. За месяц я исправил выгрузку отчётов и добавил анализ акций в выводе цен.
🍴 Офис
Когда я пришёл в компанию, у меня было желание часто ездить в офис, чтобы общаться с коллегами, но у нас все работали удалённо. Сейчас в офис обычно приезжают 1-2 дня в неделю. Сам офис, хоть и новый, не представляет ничего интересного (сырки Б.Ю.Александров по утрам не раздают)
#мысли #мой_путь
Мы используем scrum (о том что это - в отдельном посте). Суть в том, что мы работаем короткими итерациями, по две недели. Сначала мы планируем то, какие задачи хотим сделать, и обычно это реализация желаний пользователей. Сам процесс настроен неплохо, у нас есть все основные элементы работы, однако задач может быть совсем мало. Бывает, что целую неделю сидишь без дела.
Сама команда достаточно большая, 13 человек, но среди них всего 3 разработчика (включая меня). Многие задачи, которые в маленьких командах делают разработчики, выделены в отдельные должности, поэтому не надо много работать с базами данных, например. Из за того, что разработчиков мало, не с кем обсудить технические вопросы по задаче или попросить посмотреть твой код.
Про это уже сказал выше, их мало. Но сами задачи, обычно, хорошо расписаны, в команде ведь 3 аналитика. Почти всегда понятно, что делать и на кого повлияет решение. За месяц я исправил выгрузку отчётов и добавил анализ акций в выводе цен.
Когда я пришёл в компанию, у меня было желание часто ездить в офис, чтобы общаться с коллегами, но у нас все работали удалённо. Сейчас в офис обычно приезжают 1-2 дня в неделю. Сам офис, хоть и новый, не представляет ничего интересного (сырки Б.Ю.Александров по утрам не раздают)
#мысли #мой_путь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🦄4👍1👾1
#мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1👾1
🌍 Вселенная языков программирования
Привет всем! В этом посте я рассказал о том, почему выбрал Python. Но мир программирования насчитывает огромное количество разнообразных языков. Пришло время поговорить о них!
⏳ Краткий исторический экскурс
Из истории языков программирования видно, что языки появлялись исходя из нужд и требований времени. Начиная с FORTRAN и COBOL в 1950-х и заканчивая такими современными языками, как Kotlin или Rust.
🔍 Интерпретируемые VS Компилируемые
Все языки программирования можно условно разделить на две большие категории: интерпретируемые и компилируемые.
* Интерпретируемые языки (например, Python, JavaScript) - это языки, программы на которых выполняются непосредственно интерпретатором, без предварительной компиляции в машинный код.
* Компилируемые языки (такие как C++, Go, COBOL) - это языки, которые перед исполнением сначала компилируются в машинный код, что обеспечивает более высокую производительность по сравнению с интерпретируемыми языками.
🔥 Плюсы и минусы
Интерпретируемые языки обычно проще в изучении и быстрее в разработке, но они могут быть медленнее в исполнении.
Компилируемые языки обеспечивают лучшую производительность и контроль над системой, но могут потребовать больше времени на компиляцию и дебаггинг (исправление ошибок).
🔧 Уникальные особенности
Каждый язык программирования имеет свои уникальные особенности и предназначение.
Python - самый популярный язык, на нём можно реализовать почти что угодно.
JavaScript - лидер веб-разработки.
Fortran - один из первых языков программирования, и до сих пор используется в научных расчетах.
COBOL - в основном используется в корпоративных приложениях, особенно в банковской сфере.
Go (или Golang) - современный язык, разработанный Google, который сочетает простоту и производительность.
А на каком языке пишите вы?🔽
Привет всем! В этом посте я рассказал о том, почему выбрал Python. Но мир программирования насчитывает огромное количество разнообразных языков. Пришло время поговорить о них!
⏳ Краткий исторический экскурс
Из истории языков программирования видно, что языки появлялись исходя из нужд и требований времени. Начиная с FORTRAN и COBOL в 1950-х и заканчивая такими современными языками, как Kotlin или Rust.
🔍 Интерпретируемые VS Компилируемые
Все языки программирования можно условно разделить на две большие категории: интерпретируемые и компилируемые.
* Интерпретируемые языки (например, Python, JavaScript) - это языки, программы на которых выполняются непосредственно интерпретатором, без предварительной компиляции в машинный код.
* Компилируемые языки (такие как C++, Go, COBOL) - это языки, которые перед исполнением сначала компилируются в машинный код, что обеспечивает более высокую производительность по сравнению с интерпретируемыми языками.
🔥 Плюсы и минусы
Интерпретируемые языки обычно проще в изучении и быстрее в разработке, но они могут быть медленнее в исполнении.
Компилируемые языки обеспечивают лучшую производительность и контроль над системой, но могут потребовать больше времени на компиляцию и дебаггинг (исправление ошибок).
🔧 Уникальные особенности
Каждый язык программирования имеет свои уникальные особенности и предназначение.
Python - самый популярный язык, на нём можно реализовать почти что угодно.
JavaScript - лидер веб-разработки.
Fortran - один из первых языков программирования, и до сих пор используется в научных расчетах.
COBOL - в основном используется в корпоративных приложениях, особенно в банковской сфере.
Go (или Golang) - современный язык, разработанный Google, который сочетает простоту и производительность.
А на каком языке пишите вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1🤔1🦄1
🚀 Что нужно учитывать при выборе языка программирования?
В предыдущем посте я рассказывал про то, какие языки программирования есть и для чего они нужны. А сегодня хочу поговорить о двух важных понятиях в мире программирования: CPU-bound и I/O-bound решениях. И, что еще важнее, как они могут повлиять на ваш выбор языка программирования.
🫥 CPU-bound: Это ситуация, когда производительность программы напрямую зависит от скорости процессора. В CPU-bound задачах основное ограничение — это то, насколько быстро процессор может обрабатывать инструкции.
Примеры: сложные вычисления, обработка графики, машинное обучение.
🫥 I/O-bound: Это когда производительность программы ограничивается скоростью операций ввода-вывода. Это может включать в себя операции с файлами, обращения к базам данных или запросы к сети.
Примеры: чтение из файла, запросы к базе данных, сетевые запросы.
⚡️ И как это относится к выбору языка?
Python и I/O-bound: Многие говорят, что Python медленный, и в некотором роде это правда. Но если у вас I/O-bound задача, производительность Python может и не иметь значения! Потому что ваша программа будет больше времени ждать завершения операций ввода-вывода, к примеру пока отправляется почта, чем на выполнение кода. В таком случае выбор асинхронных библиотек и фреймворков в Python, таких как asyncio, может быть отличным решением.
Python и CPU-bound: Для задач, где производительность критична, существуют способы оптимизации Python, например, использование расширений на C или Cython. Тем не менее, для высокоэффективных вычислений другие языки, такие как C++ или Rust, могут быть предпочтительнее. Однако всё не так просто!
Несмотря на то, что многие задачи машинного обучения являются CPU-bound (особенно при тренировке моделей), Python доминирует в этой области. Большинство популярных библиотек, таких как TensorFlow и PyTorch, написаны на оптимизированном C++ и предоставляют Python API для удобства использования. Таким образом, разработчики получают "лучшее из обоих миров": производительность C++ и простоту Python🔥
✔️ Вывод: При выборе языка программирования важно понимать природу вашей задачи. Если вы работаете с I/O-bound задачами, не отвергайте Python только из-за его скорости. Если у вас CPU-bound задача, подумайте о возможных оптимизациях или рассмотрите другие языки. В конечном итоге, правильный инструмент зависит от задачи! А язык программирования, это не приговор, а инструмент для решения задач. 🛠
В предыдущем посте я рассказывал про то, какие языки программирования есть и для чего они нужны. А сегодня хочу поговорить о двух важных понятиях в мире программирования: CPU-bound и I/O-bound решениях. И, что еще важнее, как они могут повлиять на ваш выбор языка программирования.
Примеры: сложные вычисления, обработка графики, машинное обучение.
Примеры: чтение из файла, запросы к базе данных, сетевые запросы.
⚡️ И как это относится к выбору языка?
Python и I/O-bound: Многие говорят, что Python медленный, и в некотором роде это правда. Но если у вас I/O-bound задача, производительность Python может и не иметь значения! Потому что ваша программа будет больше времени ждать завершения операций ввода-вывода, к примеру пока отправляется почта, чем на выполнение кода. В таком случае выбор асинхронных библиотек и фреймворков в Python, таких как asyncio, может быть отличным решением.
Python и CPU-bound: Для задач, где производительность критична, существуют способы оптимизации Python, например, использование расширений на C или Cython. Тем не менее, для высокоэффективных вычислений другие языки, такие как C++ или Rust, могут быть предпочтительнее. Однако всё не так просто!
Несмотря на то, что многие задачи машинного обучения являются CPU-bound (особенно при тренировке моделей), Python доминирует в этой области. Большинство популярных библиотек, таких как TensorFlow и PyTorch, написаны на оптимизированном C++ и предоставляют Python API для удобства использования. Таким образом, разработчики получают "лучшее из обоих миров": производительность C++ и простоту Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2🔥1🦄1👾1