PythonServer

From OpenOpt

Jump to: navigation, search
Пропозіція щодо організації Python-сервера
на базі обладнання кластеру ІК НАНУ

Contents


Передмова

Свого часу програмісти отримали значне пришвидшення розробки програмного забеспечення (ПЗ), перейшовши з машинного коду на Асемблер, а у подальшому на Фортран та С/C++. Але з часом та розвитком програмно-апаратного забеспечення виникла можливість задовольнити попит на більш надійні та зручні засоби створення наукового-технічного ПЗ, що, за висловом одного з науковців, "спроможні відволікти від усіх програмерськіх ньюансів та займатися наукою". Насамперед це комерційні пакети MATLAB, MatCad, Maple, Mathematica, неліцензійні версії яких отримали неабияке розповсюдження в Україні.

До речі, сам факт існування та розвитку такого дуже коштовного ПЗ підтверджує, що використовувати його економічно вигідно та доцільно у доволі багатьох випадках, інакше він просто не витримав би конкуренції з бескоштовними компіляторами Фортран та С, яких є чимало.

Але останнім часом з’явилося багато й безкоштовних засобів швидкої розробки науково-технічного ПЗ, зокрема Octave, SciLab, R, Caml. Ми не будемо наводити тут усі плюси та мінуси для кожного з них, лише зазначимо, що на нашу думку наразі найбільш популярним у освіті (за кордоном) та перспективним з них є Python з його бібліотеками NumPy, SciPy. Його вже почали вивчати у MIT (провідний технічний ВНЗ США), і навіть студенти факультету кібернетики КНУ вже використовують його у своїх лабораторних роботах (приклад).

Дивіться також передмову українського ВПЗ OpenOpt, написаного мовою Python.


Пропозиція

З метою прискорення впровадження Python у спільноту українських програмістів науко-технічного ПЗ пропонується виділити сервер для встановлення на ньому SAGE (та деяких додаткових бібліотек, зокрема OpenOpt). Це дозволило б запускати наукові обчислення для освітньої мети (і не лише) та зберігати на сервері свій код усім, хто хоче мати доступ до цих можливостей з будь-якого компьютера (що має підключення до internet), зокрема застарілого ПК, сільського інтернет-клубу, ноутбуку з обмеженими можливостями і т.і., не витрачаючи часу на встановлення усього необхідного ПЗ та пам’яті ПК.

Серед інших публічних SAGE Calculator серверів можна подивитись http://www.sagenb.org/, http://t2nb.math.washington.edu:8000/, http://t2nb.math.washington.edu:8000/. http://alpha.sagenb.org/; цікавим є досвід корейського http://sagenb.kaist.ac.kr/ де працює аж 2 SAGE-сервери - один для тривалого зберігання коду, інший лише для добового.

Втім, використання закордонних SAGE-серверів для українських мешканців не дуже зручне - це насамперед

  • довгий час відгуку через інтернет, у той час коли це потрібно робити через кожну незначну зміну кода
  • обмеженість ресурсів - квоти пам’яті та насамперед ліміту дозволеного машинного часу, яку там ніхто не буде змінювати під потреби якогось-там українського споживача
  • обмеженість у ПЗ на сервері - додаткове ПЗ теж ніхто не буде спеціально встановлювати та вчасно оновлювати під потреби якогось чужеземця
  • відсутність хоча б мінімальної інформації українською мовою щодо сервера, яку варто розмістити хоча б на декількох веб-сторінках

Особисто ми не рекомендуємо використовувати специфічні можливості SAGE доти, доки можливо використовувати plain Python + NumPy + SciPy (а можливо це майже завжди), інакше отриманий код буде меньш крос-платформним (зокрема, він не буде працювати на .NET IronPython) та матиме обмеження copyleft, що не дозволятиме використовувати його у ПЗ з закритим кодом. У першу чергу встановлення SAGE було б корисно задля використання SAGE Calculator, що дозволить заощадити час та не витрачати кошти для огранізації достатньо зручного web-інтерфейсу.

Made by Dmitrey
Personal tools
    Latest OOSuite 0.27