Comments 23
Если есть реальное желание научиться программировать лучше начать с Си, попробуйте тоже самое сделать на чистом Cи (Не на Cи ++) в модульно-функциональном стиле под консоль. Без знания Cи и умения на нем делать библиотеки под Python. Полностью овладеть Python не возможно, так как Python по сути удобная обертка над кодом написанном на Cи
Ваш не компетентность поражает. Не пишите того, чего не понимаете. Си самый простой язык для изучения алгоритмов. Питон искажает основы разработки, так как бесконечно далек от реальной платформы на которой работает. Сейчас будет легче, а потом будет кошмар, когда узнает как на самом деле это работает. Вообще поражает что 90% "разработчиков" даже не знают отличий Си от Си++, и сложность Си++ зачем-то проецируют на Си.
Чего уж сразу не на Ассемблере? Ведь Си - просто удобная обёртка над Ассемблером :)
Для изучения алгоритмов и структур Питон вполне подходит, и именно с этого надо начинать, когда тебе 14 и есть желание учиться писать код.
Слишком слабо, лучше сразу байты в exeшник писать в hex редакторе
Еще один специалист) Си это не обертка, это язык который компилируется в машинные коды. Си плюс никогда код в Ассемблер не компилирует. Пожалуйста прежде чем что то писать, хотя бы основы почитайте. Python не компилятор, и большинство библиотек которые тут используют подобные вам "разработчики" являются библиотеками написанными на Си, и тупо вызываются из Python с мапингом параметров.
Согласен с вами, человеку который только начинает кодить не нужно начинать с чего-то простого и дружелюбного, а желательно с чего-то посерьезнее, с того-же C например, ему же понравится с первого дня ковыряться в (
(*(*(*(*(*x[30][20])(int **, char)
. Да и вообще это несерьезно, лучше начать с томов Ландау об электродинамике, а то не дай бог не поймешь всю глубину глубин когда будешь подключать библиотечку на питоне чтобы шарик от экрана отскакивал
О даже видели код Cи. Вы своим текстом хорошо показали, что не знает что такое Cи. И соответственно знаний не достаточно для комментария. Вот это ваш ((*(*(*(*(*x[30][20])(int **, char) это не корректно спародированный slice который часто применяется в Python. То есть slice в Python это нормально, а тот же slice в Cи нет? Но подозреваю вы даже не понимаете, что написали. Как раз чтобы шарик отскакивал от границ экрана, код на Cи будет сильно прошел и прозрачнее чем на Python. И не надо мне писать про С++20 (Для него действительно нужна подготовленная психика) и прочее это никакого отношения к Cи не имеет. К примеру код массива на Cи int arr[]= {3,4,5} и для сравнения аналог на Python arr: List[int] = [3,4,5], не знаю как вам но на Cи он несколько короче.
Если есть под рукой код на чистом Си, который реализует то же, что и у автора - поделитесь, пожалуйста. И любой сможет сравнить, что тут проще и прозрачнее.
Возможно вы не в курсе, но с 1972 года появилось множество разных языков кроме C, каждый из которых лучше или хуже подходит для решения разных задач. Или я должен знать C++ чтобы писать на C# только потому что CLR написан на нем? Или я не могу начать делать свой сайтик снова без C++ потому что рантайм JavaScript на нем написан?
А кстати, где тот момент когда можно перестать погружаться во все более глубокие слои реальности и можно сказать "вот все теперь норм, могу кнопку в красный покрасить"?
Си нафиг не нужен прикладным программистам. И он весьма далек от современного x86 железа, потому что современное x86 железо - это всякие интрисики и оптимизации компилятора, которые от вашего кода на Си мало что оставят в объектном модуле. Си нужно изучать, если хочешь двигаться в сторону программирования микроконтроллеров, но там очевидно не арканоиды рисуют, а пинами дрыгают.
Python - прекрасный язык для обучения, он с одной стороны в принципе подходит для обучения, а с другой - это прекрасный универсальный инструмент для дальнейшей работы. Гораздо лучше Си в этом плане.
Извините конечно но большего бреда от псевдо разработчиков не слышал. Писать что Си не нужный язык, при том что Python написан на Си и стандартной средство оптимизация кода Python называется Cython))))) Не говоря уже про то что почти все популярные библиотеки Python также написаны Си. С вами мне не по пути, даже общаться не хочется.
Чего уж сразу не на Ассемблере? Ведь Си - просто удобная обёртка над Ассемблером :)
Чу уж сразу не в машинных кодах или hex файле? Ведь Ассемблер - просто удобная обертка над хексом xD
Хоспаде, ещё один
Молодец. И не надо стесняться использовать чужие мысли и коды. Одно замечание. Как считать строки?
При написании статьи у кода была нумерация строк, но когда я опубликовал она пропала
Ты молодец, в целом хорошо при этом не особо важно как и что написал. Главное была поставлена цель, цель бы достигнута. То что решился описать это в статье еще один большой плюс тебе. Верной дорого идешь) Мой совет по развитию - научись добавлять аннотации типов. Сейчас это кажется не нужным и создающим дополнительные трудности, но если напишешь код 1000+ строк, без аннотации типов тебе очень сложно будет его отлаживать, и еще сложнее понять, что там происходить если захошь переписать код.
Автору желаю успехов в изучении! Молодец. Не слушай никого, Python - отличный выбор для того, чтобы начать программировать. Если захочется лучше понимать, как оно работает на низком уровне - можешь в будущем попробовать язык C. Но, имхо, прелесть Python именно в том, чтобы показать, как легко и просто можно делать классные вещи, используя готовые библиотеки, насколько просто получить результат. Если новичку в 14 лет дать сразу Си и заставить возиться с указателями, можно и спугнуть, после чего человеку будет страшно лезть в программирование :)
P.S. Про аннотации типов выше правильно сказали, лучше их использовать в +- больших проектах. Если это скрипт на 20-30 строк, то, обычно, можно принебречь. Ещё очень рекомендую научиться использовать Poetry для создания проектов и управления зависимостями, очень удобный инструмент
def go(self, enemy1, enemy2):
while running:
if not running:
break
Мне кажется или в этом фрагменте что то лишнее,
ведь если running = False,
то if not running:break уже не будут проверятся,
цикл просто не будет повторяться?
Но для 14 лет это круто, молодец!
Где пишешь код?
Ping-Pong на Python (turtle)