The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обзорный доклад по языку программирования Python

19.03.2008 21:48

Илья Портнов опубликовал текст доклада с обзором особенностей языка программирования Python. В докладе затронута тема отличия от других языков, рассказано про ООП, включая сравнение реализации с С++ и Java, продемонстрированы характерные приемы программирования и дизайна.

  • Часть 1. Синтаксис, типы данных.
  • Часть 2. Объекты, инкапсуляция, наследование, полиморфизм, интроспекция.
  • Часть 3. Функциональное программирование, декораторы, дескрипторы, метаклассы


  1. Главная ссылка к новости (http://iportnov.blogspot.com/2...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/14847-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, helloworld (?), 23:39, 19/03/2008 [ответить]  
  • +/
    Спасибо, очень интересно.
     
  • 1.2, smn (??), 00:12, 20/03/2008 [ответить]  
  • +/
    четко, кратко и со вкусом...))
     
  • 1.3, Аноним (3), 00:22, 20/03/2008 [ответить]  
  • +/
    Спасибо, познавательно
     
  • 1.4, Аноним (3), 08:06, 20/03/2008 [ответить]  
  • +/
    Напомню, в Яве используется строгая статическая типизация с явным объявлением типов переменных. Это означает, что типы всех переменных известны в момент компиляции, и тогда же происходит проверка типов. Это дает преимущество в том плане, что значительная часть ошибок отлавливается в момент компиляции. Зато это замедляет компиляцию. В Питоне используется строгая динамическая типизация. "Динамическая" означает, что типы переменных становятся известными только во время выполнения, и тогда же выполняются проверки типов. Это дает больше возможностей написать неработающий код, но ускоряет компиляцию и дает значительную гибкость.

    цитата из параграфа 2 по первой ссылке.
    плохая аргументация.

     
  • 1.5, Аноним (3), 08:09, 20/03/2008 [ответить]  
  • +/
    Типичная проблема, возникающая при проектировании в стиле ООП, состоит в следующем. Объект некоторого типа (например, Сотрудник) требуется передавать в качестве аргумента в различные функции. Разным функциям нужны разные свойства и методы этого объекта, причем набор свойств и методов объекта, которые нужны каждой функции, фиксирован. При этом хотелось бы сделать все эти функции полиморфными, то есть способными принимать объекты разных типов.

    человек плохо понимает, о чем пишет.

     
  • 1.6, Brick (??), 09:38, 20/03/2008 [ответить]  
  • +/
    "Напомню, для Java традиционный способ запустить только что написанную программу такой: запускаем компилятор, подсовывая ему исходник - он генерирует байт-код и записывает его в файл. Затем запускаем виртуальную машину, подсовывая ей байт-код - и она его исполняет.
    Питон же обычно не записывает байт-код на диск. В простейшем случае запуск программы происходит так: мы "скармливаем" исходник интерпретатору; он генерирует байт-код, но оставляет его в памяти, а затем передает виртуальной машине (являющейся частью интерпретатора). Это ускоряет запуск программы за счет отсутствия необходимости записывать байт-код на диск."

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

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

     
     
  • 2.7, v01d (?), 10:21, 20/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Неправы оба.

    >Питон же обычно не записывает байт-код на диск. В простейшем случае запуск
    >программы происходит так: мы "скармливаем" исходник интерпретатору; он генерирует байт-код, но
    >оставляет его в памяти, а затем передает виртуальной машине (являющейся частью
    >интерпретатора).

    Питон пытается записать свой байт-код (.pyc/.pyo) ВСЕГДА и делает это при определенных условиях - исходник читался из файла, а не из потока или терминала, более старые или отсутствующие файлы байт-кода, имеются разрешения на создание соответствующих файлов и т.д.

    >ну и не стоит забывать, что начиная с 1.5 виртуальная машина джавы
    >поддерживает JIT компиляцию, что немаловажно.

    Ява получила JIT-компилятор (HotSpot) в стандартной поставке в версии 1.3. В 1.2 это был еще аддон.

     
     
  • 3.8, Brick (??), 22:04, 20/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >
    >>Питон же обычно не записывает байт-код на диск. В простейшем случае запуск
    >>программы происходит так: мы "скармливаем" исходник интерпретатору; он генерирует байт-код, но
    >>оставляет его в памяти, а затем передает виртуальной машине (являющейся частью
    >>интерпретатора).Аноним
    >
    >Питон пытается записать свой байт-код (.pyc/.pyo) ВСЕГДА и делает это при определенных
    >условиях - исходник читался из файла, а не из потока или
    >терминала, более старые или отсутствующие файлы байт-кода, имеются разрешения на создание
    >соответствующих файлов и т.д.

    По поводу того, как в Питоне я не знаю, и ничего об этом не говорил. Речь шла о том, что автор строит ошибочные предположения по поводу Джавы.

    >>ну и не стоит забывать, что начиная с 1.5 виртуальная машина джавы
    >>поддерживает JIT компиляцию, что немаловажно.
    >
    >Ява получила JIT-компилятор (HotSpot) в стандартной поставке в версии 1.3. В 1.2
    >это был еще аддон.

    Да, с 1.5 погорячился, но тут не в этом суть.


     
     
  • 4.9, HardNik (?), 22:30, 22/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В связи с очередным опусом (впрочем, я всячески поддерживаю автора, особенно если он оперативно бы устранял ошибки, особливо концептуальные), возникает тупой вопрос:
    неужто никто не может состряпать документацию  в стиле Вирта? Читая доку по Компонентному Паскалю можно кончить прям на клаву - так четко и красиво. Есть куча хороших мануалов, и Пайтон сам напрашивается на создание такого описания, но все грешат то излишней лирикой, то  вообще подражанием эссе Гвидо. Хде пророк, в мать его, али тьма кодоплетов окончательно загнобила простую человечно-математичну мысль?
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру