Python для программиста человека, увлеченного своим хобби, (несколько вопросов)

Я - программист человека, увлеченного своим хобби, (только в Основном TI до настоящего времени), и после очень, очень, много дебатирующее со мной, я решил изучить Python. У меня нет тонны свободного времени, чтобы преподавать мне сто языков и все программирование, которое я делаю будет для персонального использования или для распределения людям, которым нужны они, таким образом, я решил, что мне были нужны хорошие, резкие слова для обладания способностью. Мои вопросы:

  1. Действительно ли Python достаточно мощен для обработки большинства вещей, что типичный программист мог бы выполнить в своем вне времени? Я имею в виду вещи как сложные генераторы статистики на основе ввода данных пользователем для настольных игр, делая маленькие игры, автоматизирую процессы установки и создаю интерактивные веб-сайты, но вероятно сто вещей вдоль тех строк

  2. Python справляется с сетевыми задачами довольно хорошо?

  3. Источник Python может быть запутан или будет им открытый исходный код по своей природе? Причина я спрашиваю это, состоит в том, потому что, если я заставляю что-то охладить и распределить ее, я не хочу, чтобы некоторая слабоумная деточка сценария отредактировала его собственное имя в и сказала, что он записал это

  4. И насколько популярный Python, по сравнению с другими языками. Идеально, мой язык был бы хорош и полезен со справкой, найденной онлайн без экстремальной трудности, но не так распространен, что каждый идиот с компьютером знает Python. Мне нравится идея знать немного неясный язык.

Благодарит тонну за любую справку, которую можно обеспечить.

9
задан Grace Note 18 May 2010 в 13:10
поделиться

7 ответов

Достаточно ли мощен Python, чтобы обрабатывать большинство задач?

Да. Период. Изучите игру EveOnline для получения дополнительной информации. Посмотрите на фреймворк pygame . Бесплатно бесплатно используйте Google, чтобы найти больше.

Достаточно ли хорошо Python справляется с сетевыми задачами ?

Да. Посмотрите на количество веб-фреймворков Python плюс Twisted framework . Не стесняйтесь использовать Google для поиска сетей Python.

Можно ли запутать исходный код Python?

Бесполезно. Это не C.

И насколько популярен python по сравнению с другими языками?

Посмотрите на индекс TIOBE .

14
ответ дан 4 December 2019 в 07:34
поделиться

Пункты 1 и 2: АД ДА.

Пункт 4: вроде. Python хорош в некоторых сетевых вещах. Это не Java или C ++. Просто используйте zlib (zip-библиотеку) и pickle (сериализацию) для всего и посмотрите xmlrpclib, если вам нужен IPC.

Пункт 3: Нет. Однако вы можете писать модули C (для критичных к производительности и трудных для копирования) частей вашего кода, и это сделает его нетривиальным для обратного проектирования.

0
ответ дан 4 December 2019 в 07:34
поделиться
  1. Совершенно верно.
  2. Какой тип сети? В него встроены сокеты, http, xml, smtp / pop, telnet и многое другое.
  3. Обфускация Python не так хороша, как скомпилированный язык. Обычно это не проблема.
  4. Это 9-й по популярности тег в stackoverflow , так что здесь много справки.
4
ответ дан 4 December 2019 в 07:34
поделиться
  1. Наверное, да. Может быть, обработка статистики будет немного медленной, а может быть игрой в зависимости от того, что за игра, но в целом производительность достаточно хорошая, и вы сэкономите много времени на самом программировании. Если вам ДЕЙСТВИТЕЛЬНО нужна производительность, вы можете создать модуль на C, но обычно есть библиотека, написанная для того, чтобы делать то, что вы хотите…

  2. Я не использовал ее, но есть фреймворк под названием Twisted это вроде бы неплохо.

  3. Нет. Байт-код можно легко декомпилировать, и он работает только с определенной версией Python, поэтому ваш код не такой переносимый.

  4. Python довольно популярен, и в указателе пакетов Python есть большой список сторонних библиотек. Он не так широко распространен, как, скажем, Java, но многие люди его используют, и вы, вероятно, сможете получить ответы на свои вопросы.

2
ответ дан 4 December 2019 в 07:34
поделиться

Достаточно ли мощен Python, чтобы справиться с большинством вещей, которые обычный программист мог бы делать в свободное от работы время? Я имею в виду такие вещи, как сложные генераторы статистики, основанные на вводе данных пользователем для настольных игр, создание небольших игр, автоматизация процессов установки и создание интерактивных веб-сайтов, но, вероятно, сотни вещей в этом направлении

Определенно. Python - хороший инструмент для всех, кроме автоматизации процессов установки, где он может быть правильным инструментом, но более вероятно, что правильный инструмент будет зависеть от того, что конкретно вы автоматизируете.

Достаточно ли хорошо Python справляется с сетевыми задачами?

Да. Вам нужно будет изучить Twisted .

Можно ли запутать исходный код Python или он будет по своей природе открытым? Причина, по которой я спрашиваю об этом, заключается в том, что если я сделаю что-то классное и распространю это, я не хочу, чтобы какой-то идиот-скрипач отредактировал свое имя и сказал, что написал это

«Открытый исходный код» относится к лицензированию вашего кода , а не видимость его исходного кода.Скрыть исходный код Python невозможно, а результаты декомпиляции байт-кода Python приведут к получению гораздо более читаемого кода, чем эквивалентные инструменты на таких языках, как C. Не беспокойтесь об этом! Вы не можете помешать людям украсть вашу машину или ваш компьютер, если они хотят нарушить закон, и вы не можете сделать то же самое со своим кодом на любом языке.

И насколько популярен Python по сравнению с другими языками. В идеале, мой язык был бы хорошим и полезным, если бы его можно было найти в Интернете без особых трудностей, но это не настолько распространено, чтобы каждый идиот с компьютером знал python. Мне нравится знать немного непонятный язык.

Это вопрос, на который нет ответа. Google выдаст множество противоречивых результатов с разными показателями, большинство из которых являются полезными. Вы также немного глупы;)


Что касается учебных материалов, я рекомендую Как думать как компьютерный ученый , это хороший текст, который не предполагает каких-либо существующих знаний в области программирования. Он доступен бесплатно в Интернете, или вы можете купить печатную копию, если хотите. (Не утруждайте себя изучением 3.x. Поддержки библиотеки недостаточно для того, чтобы делать много полезных вещей, которые вы хотите делать, а когда они появятся, их будет несложно; это не сильно отличается от 2.5 / 6/7. .)

3
ответ дан 4 December 2019 в 07:34
поделиться

Python справляется с задачей (и даже лучше) для 1, 2 и 4.

Лучшим решением для 3 из того, что вы описали, вероятно, будет сделать ваши программы действительно с открытым исходным кодом с лицензией GPL или BSD. Таким образом, люди будут редактировать ваши супер-крутые исходники (но часто опытные программисты, а не просто скрипт-дети) и строить на их основе, но оставят ваше имя для потомков.

0
ответ дан 4 December 2019 в 07:34
поделиться

Я думаю, что Python очень мощный, чтобы делать много вещей, но так же, как Java и C++, он часто зависит от хороших сторонних библиотек. Я родом из Java, но использую Python для многих вещей, и это было веселое путешествие. Я занимался такими вещами, как статистика и автоматизация, не уверен насчет пользовательского интерфейса, хотя это часто зависит от инструментария больше, чем от языка.

Python хорошо работает с сетями. Я не знаю, буду ли я использовать его для создания быстрой алгоритмической торговой системы или приложения VOIP, но для большинства целей, особенно на более высоких уровнях абстракции, он хорош и прост в использовании. Вам понадобятся внешние библиотеки для таких вещей, как SSH или FTP.

Python довольно популярен и имеет очень хорошую онлайн-поддержку, активное сообщество и крупные корпорации (например, Google), которые его используют. Официальное онлайн-руководство и справочник показались мне превосходными.

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

Единственной проблемой Python по сравнению с такими языками, как C и Java, является то, что он не является статически типизированным. Это позволяет намного быстрее писать код, но также позволяет *значительно легче) делать ошибки, которые могут быть довольно неприятными для отладки. Например, одна и та же переменная может содержать ссылку на строку в какой-то момент, и ссылку на список строк в какой-то другой момент.

6
ответ дан 4 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: