• XSS.stack #1 – первый литературный журнал от юзеров форума

C&Python

p4p4

(L1) cache
Пользователь
Регистрация
04.04.2024
Сообщения
504
Реакции
276
Полезно ли параллельно с углублением в змея изучать C.

Основные мысли, которые наталкивают на этот вопрос:

1)C вроде как база, и углубляясь в си, становится многое ясно как для программиста
2)C имеет возможность тебе объяснить компуктер сайнс на практике, работа с железом/памятью, таким образом у тебя больше в арсенале маневром для оптимизации кода на питон, проводя параллель при разработке
3)Большое количество либ для питона на C, соответственно(не уверен) имеется возможность кастомизировать или вовсе создавать свои модули, которые в дальнейшем будут необходимы тебе как разрабу на python
 
Решение
C вроде как база, и углубляясь в си, становится многое ясно как для программиста
В основном туда идут чтобы понять работу указателей. И чтобы учиться читать асм из сбилженных бинарников.
C имеет возможность тебе объяснить компуктер сайнс на практике, работа с железом/памятью, таким образом у тебя больше в арсенале маневром для оптимизации кода на питон, проводя параллель при разработке
Нет. C даст тебе только базовое понимание устройства памяти, две абстракции стек и куча. Чтобы понимать детали реализации, например "почему вообще существует ограничение по рекурсивным вызовам?" нужно учить асм. Для оптимизаций тебе лучше стоит выучить алгоритмы(сортировки, обход графа) , O нотацию и вот это все, будет куда полезнее.
...
По моему мнениею лучше найти дзен в питоне, а потом за C браться, когда тебе потребуется уже собственная либа, но перед этим многое нужно будет изучить. Советую Лутца прочесть
 
Советую Лутца прочесть
🫡признателен за совет




upd: чекнул инфу, хорошая литература, как раз для изучения более низкого уровня, предварительно ознакомиться с лутцем - хорошее решение!
 
Последнее редактирование:
C вроде как база, и углубляясь в си, становится многое ясно как для программиста
В основном туда идут чтобы понять работу указателей. И чтобы учиться читать асм из сбилженных бинарников.
C имеет возможность тебе объяснить компуктер сайнс на практике, работа с железом/памятью, таким образом у тебя больше в арсенале маневром для оптимизации кода на питон, проводя параллель при разработке
Нет. C даст тебе только базовое понимание устройства памяти, две абстракции стек и куча. Чтобы понимать детали реализации, например "почему вообще существует ограничение по рекурсивным вызовам?" нужно учить асм. Для оптимизаций тебе лучше стоит выучить алгоритмы(сортировки, обход графа) , O нотацию и вот это все, будет куда полезнее.
Большое количество либ для питона на C
А в разы больше либ на самом питоне.
имеется возможность кастомизировать или вовсе создавать свои модули
Имеется, да. Но чаще просто используют другой ЯП, если есть требования к производительности. Язык исходит из задачи, питон больше про абстракции. Он для скриптинга простых задачек. Для тасков где много IO и производительность не сильно нужна.

Если вам для чего-то нужен C тогда изучайте его, если нет задачи - не надрывайте жопу.
 
Решение
Для оптимизаций тебе лучше стоит выучить алгоритмы(сортировки, обход графа) , O нотацию и вот это все, будет куда полезнее
ну вот что такое выучить, всегда интересно было, ведь все, что учится - на практике не всегда применяется хорошо, а вот если сразу практиковать(а данном случае лучшей практикой было бы изучение С имхо), то наверняка "рука быстрее набивается".
Но в целом я понял, посыл таков: не гонись за фундаментом изучая абсолютно другую технологию, акцентируй внимание на то, что можно рассматривать на фоне того, что уже есть у тебя в арсенале.

Например "Чистый код" если параллельно практике читать и начинать применять к своим проектам -- гуд решение? или дефолт мейнстрим
Если вам для чего-то нужен C тогда изучайте его, если нет задачи - не надрывайте жопу.
вообще видел такую практику, например в школе от сбера, или даже на вышке, изначально дают знания С(не везде), аргументируется это тем, что в дальнейшем полноценный инженер имеет возможность без труда осваивать любой стек, типа "после С другое уже имба"
 
Например "Чистый код" если параллельно практике читать и начинать применять к своим проектам -- гуд решение? или дефолт мейнстрим
 
все бы ничего, но меня пугают челы, которые по кд гб, cб и т.п. адвертят.
если точнее быть, то типы, которые расчитывают на респект сообщества, а в частности айти, рекламирующие курсы - - сомнительно, для кого-то мб окэй
 
все бы ничего, но меня пугают челы, которые по кд гб, cб и т.п. адвертят.
если точнее быть, то типы, которые расчитывают на респект сообщества, а в частности айти, рекламирующие курсы - - сомнительно, для кого-то мб окэй
Каждый труд должен быть оплачен, как то же надо человеку монетизировать свой труд, вот и вставляет. По факту просто пиши код, бери чужие исходники модифицируй их, что-то дописывай, что-то удаляй, читай чужой код, так и научишься. Не бойся допускать ошибки, лучше писать говнокод в начале пути и получать удовольствие от работающих алгоритмов, чем парится над чистотой своего кода, выгореть и забить на свое обучение.
P.S. И вообще это тема не про питон, такие ветки во флудилке создавать нужно.;)
 
Каждый труд должен быть оплачен, как то же надо человеку монетизировать свой труд, вот и вставляет. По факту просто пиши код, бери чужие исходники модифицируй их, что-то дописывай, что-то удаляй, читай чужой код, так и научишься. Не бойся допускать ошибки, лучше писать говнокод в начале пути и получать удовольствие от работающих алгоритмов, чем парится над чистотой своего кода, выгореть и забить на свое обучение.
P.S. И вообще это тема не про питон, такие ветки во флудилке создавать нужно.;)
🫡 🫡 🫡
 
ну вот что такое выучить, всегда интересно было, ведь все, что учится - на практике не всегда применяется хорошо, а вот если сразу практиковать(а данном случае лучшей практикой было бы изучение С имхо), то наверняка "рука быстрее набивается".
Алгоритмы - это в первую очередь теоретические знания, но они предлагают вам практические методы решения типовых задач, так же как и паттерны проектирования, эти знания являются более общими и их использование не зависит от ЯП, они как раз про оптимизации, о которых вы писали выше. Практику алгоритмов зачастую закрепляют на таких платформах как: leetcode и codeforces, решая зачастую "задачи в вакууме".

изначально дают знания С(не везде)
Не волнуйтесь познакомиться с "C" вам все равно прийдется, на более поздних этапах обучения. Вот пример логики которую сложно понять без знания указателей:

Python:
# Arrays
old = [1, 2, 3]
new = old
new.append(4)
print(old) # prints: [1, 2, 3, 4]
print(new) # prints: [1, 2, 3, 4]

# Numbers
num1 = 10
num2 = num1
num2 += 5
print(num1) # prints: 10
print(num2) # prints: 15
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх