Вопрос

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

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

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

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

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

Огромное спасибо за любую помощь, которую вы можете оказать.

Это было полезно?

Решение

Достаточно ли мощный python для обработки большинства вещей?

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

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

ДА.Посмотрите на количество веб-фреймворков Python, а также на Скрученный каркас.Не стесняйтесь использовать Google для поиска Python networking.

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

Не с пользой.Это не С.

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

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

Другие советы

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

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

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

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

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

  1. Абсолютно.
  2. Какой тип сетевого взаимодействия?В него встроены socket, http, xml, smtp / pop, telnet и многое другое.
  3. Запутывание Python будет далеко не так хорошо, как в скомпилированном языке.Обычно это не является проблемой.
  4. Это тот самый 9-й по популярности тег в stackoverflow, так что есть много доступных помощников.

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

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

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

ДА.Вам захочется заглянуть в Скрученный.

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

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

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

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


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

  1. Вероятно, да.Возможно, обработка статистики будет довольно медленной, и, возможно, игра зависит от того, что это за игра, но в целом производительность достаточно хорошая, и вы экономите много времени на самом программировании.Если вам ДЕЙСТВИТЕЛЬНО нужна производительность, вы можете создать модуль на C, но обычно существует библиотека, написанная для выполнения того, что вы хотите..

  2. Я им не пользовался, но есть фреймворк под названием Скрученный кажется, это довольно хорошо.

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

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

Пункты 1 и 2:ЧЕРТ ВОЗЬМИ, ДА.

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top