языковые виртуальные машины

Виртуальные машины и среды исполнения

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

языковые виртуальные машины

Непрочитанное сообщение Olej » 06 фев 2014, 01:40

Тоже интересный вопрос ... и тоже своего рода виртуализация выполнения: языковые виртуальные машины.

Здесь рядом в теме рассматривались (сравнительно) 9 языков программирования:
- C
- C++
- Java
- Python
- Perl
- JavaScript
- PHP
- Lua
- bash
Это из числа самых используемых в практических проектах на сегодня.
Из них всех только два языка (а точнее правильнее сказать даже один) — C и C++ используют технику «нативной» компиляции в машинный код используемой платформы. Все остальные 7 (ну 6, если отбросить bash), в той или иной мере и технике (по разному!), используют виртуальную исполняющую машину (среду выполнения).
Это уже, очевидно, становится тенденцией последнего десятилетия.
Самой первой широко известной (применяемой) такой машиной была Java - JVM от Sun Microsystems.

Но ещё дальше зашла линия развития, которую в Цюрихе начал с Pascal Н.Вирт.
Они последовательно развивали: Modula, Modula-2, Oberon, ... Zenon - вокруг которого была создана операционная система BlueBonle - языково зависимая ОС. Которая является, собственно, виртуальной машиной языка Zenon.
(ну это начиналось ещё в связке компьютера Lylith + его язык Modula)

Похожие истории, может чуть менее выраженные, и с ОС Plan 9 и Inferno.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: языковые виртуальные машины

Непрочитанное сообщение Olej » 23 фев 2015, 02:45

Сюда же отмечу облачные языковые хостинги.

Смотрим что там есть в наличии...

OpenShift - RedHat собственный облачный продукт, утверждается что свободный (? проверим ;-) ), с предустановленными средами для разработки Java, Python, и мн. др.

По поводу Java можно для начала почитать здесь: OpenShift в качестве Java – хостинга
4 июня 2012 в 20:46

Недавно пришлось попробовать OpenShift в работе, как Java – хостинг для небольшого частного проекта. Впечатления, если кратко – да, у разработчиков RedHat всё получилось, все подробности далее…
Это довольно давнее состояние дел.
Сейчас сервис намного шире.

Регистрация там всего лишь по E-mail ... просто и быстро.

Но если говорить про работу из Linux, по крайней мере Fedora (на что ориентирован сервис), то там есть приятная консольная утилита доступа с локального хоста - rhc.
Вот шаги их инструкции создания клиента (с SSH ключами и т.д.):

Код: Выделить всё

[Olej@modules Privat.bank]$ sudo yum install rubygems
[sudo] password for Olej: 
Загружены модули: aliases, auto-update-debuginfo, changelog, dellsysid, fastestmirror, filter-data, fs-snapshot, keys,
                : langpacks, list-data, local, merge-conf, post-transaction-actions, priorities, protectbase, ps,
                : puppetverify, refresh-packagekit, refresh-updatesd, remove-with-leaves, rpm-warm-cache, show-leaves,
                : tmprepo, tsflags, upgrade-helper, verify, versionlock
Loading mirror speeds from cached hostfile
 * fedora: mirror.yandex.ru
 * rpmfusion-free: mirror.yandex.ru
 * rpmfusion-free-updates: mirror.yandex.ru
 * rpmfusion-nonfree: mirror.yandex.ru
 * rpmfusion-nonfree-updates: mirror.yandex.ru
 * russianfedora-fixes: mirror.yandex.ru
 * russianfedora-fixes-updates: mirror.yandex.ru
 * russianfedora-free: mirror.yandex.ru
 * russianfedora-free-updates: mirror.yandex.ru
 * russianfedora-nonfree: mirror.yandex.ru
 * russianfedora-nonfree-updates: mirror.yandex.ru
 * updates: mirror.yandex.ru
Skipping filters plugin, no data
0 packages excluded due to repository protections
Пакет rubygems-2.1.11-115.fc20.noarch уже установлен, и это последняя версия.
Выполнять нечего
Это на случай если у вас не установлено.

Код: Выделить всё

[Olej@modules Privat.bank]$ sudo gem install rhc
Fetching: net-ssh-2.9.2.gem (100%)
Successfully installed net-ssh-2.9.2
Fetching: net-scp-1.2.1.gem (100%)
Successfully installed net-scp-1.2.1
Fetching: net-ssh-gateway-1.2.0.gem (100%)
Successfully installed net-ssh-gateway-1.2.0
Fetching: net-ssh-multi-1.2.0.gem (100%)
Successfully installed net-ssh-multi-1.2.0
Fetching: archive-tar-minitar-0.5.2.gem (100%)
Successfully installed archive-tar-minitar-0.5.2
Fetching: highline-1.6.21.gem (100%)
Successfully installed highline-1.6.21
Fetching: commander-4.3.0.gem (100%)
Successfully installed commander-4.3.0
Fetching: httpclient-2.6.0.1.gem (100%)
Successfully installed httpclient-2.6.0.1
Fetching: open4-1.3.4.gem (100%)
Successfully installed open4-1.3.4
Fetching: rhc-1.34.2.gem (100%)
===========================================================================

If this is your first time installing the RHC tools, please run 'rhc setup'

===========================================================================
Successfully installed rhc-1.34.2
Parsing documentation for archive-tar-minitar-0.5.2
Installing ri documentation for archive-tar-minitar-0.5.2
Parsing documentation for commander-4.3.0
Installing ri documentation for commander-4.3.0
Parsing documentation for highline-1.6.21
Installing ri documentation for highline-1.6.21
Parsing documentation for httpclient-2.6.0.1
Installing ri documentation for httpclient-2.6.0.1
Parsing documentation for net-scp-1.2.1
Installing ri documentation for net-scp-1.2.1
Parsing documentation for net-ssh-2.9.2
Installing ri documentation for net-ssh-2.9.2
Parsing documentation for net-ssh-gateway-1.2.0
Installing ri documentation for net-ssh-gateway-1.2.0
Parsing documentation for net-ssh-multi-1.2.0
Installing ri documentation for net-ssh-multi-1.2.0
Parsing documentation for open4-1.3.4
Installing ri documentation for open4-1.3.4
Parsing documentation for rhc-1.34.2
Installing ri documentation for rhc-1.34.2
Done installing documentation for archive-tar-minitar, commander, highline, httpclient, net-scp, net-ssh, net-ssh-gateway, net-ssh-multi, open4, rhc after 25 seconds
10 gems installed

Код: Выделить всё

[Olej@modules Privat.bank]$ rhc setup
OpenShift Client Tools (RHC) Setup Wizard

This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git
are properly installed.

If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online:
openshift.redhat.com.
Enter the server hostname: |openshift.redhat.com| 

You can add more servers later using 'rhc server'.

Login to openshift.redhat.com: olej@front.ru
Password: ******

OpenShift can create and store a token on disk which allows to you to access the server without using your password.
The key is stored in your home directory and should be kept secret.  You can delete the key at any time by running
'rhc logout'.
Generate a token now? (yes|no) yes
Generating an authorization token for this client ... lasts about 1 month

Saving configuration to /home/Olej/.openshift/express.conf ... done

No SSH keys were found. We will generate a pair of keys for you.

    Created: /home/Olej/.ssh/id_rsa.pub

Your public SSH key must be uploaded to the OpenShift server to access code.  Upload now? (yes|no) yes

Since you do not have any keys associated with your OpenShift account, your new key will be uploaded as the 'default'
key.

Uploading key 'default' ... done

Checking for git ... found git version 1.9.3

Checking common problems .. done

Checking for a domain ... gospeed

Checking for applications ... none

Run 'rhc create-app' to create your first application.

  Do-It-Yourself 0.1                      rhc create-app <app name> diy-0.1
  JBoss Application Server 7              rhc create-app <app name> jbossas-7
  JBoss Data Virtualization 6             rhc create-app <app name> jboss-dv-6.0.0
  JBoss Enterprise Application Platform 6 rhc create-app <app name> jbosseap-6
  JBoss Unified Push Server 1.0.0.Beta1   rhc create-app <app name> jboss-unified-push-1
  Jenkins Server                          rhc create-app <app name> jenkins-1
  Node.js 0.10                            rhc create-app <app name> nodejs-0.10
  PHP 5.3                                 rhc create-app <app name> php-5.3
  PHP 5.4                                 rhc create-app <app name> php-5.4
  PHP 5.4 with Zend Server 6.1            rhc create-app <app name> zend-6.1
  Perl 5.10                               rhc create-app <app name> perl-5.10
  Python 2.6                              rhc create-app <app name> python-2.6
  Python 2.7                              rhc create-app <app name> python-2.7
  Python 3.3                              rhc create-app <app name> python-3.3
  Ruby 1.8                                rhc create-app <app name> ruby-1.8
  Ruby 1.9                                rhc create-app <app name> ruby-1.9
  Ruby 2.0                                rhc create-app <app name> ruby-2.0
  Tomcat 6 (JBoss EWS 1.0)                rhc create-app <app name> jbossews-1.0
  Tomcat 7 (JBoss EWS 2.0)                rhc create-app <app name> jbossews-2.0
  Vert.x 2.1                              rhc create-app <app name> jboss-vertx-2.1
  WildFly Application Server 8.2.0.Final  rhc create-app <app name> jboss-wildfly-8

  You are using 0 of 3 total gears
  The following gear sizes are available to you: small

Your client tools are now configured.
Как видите, срабатывает безупречно!

Код: Выделить всё

[Olej@modules Privat.bank]$ rhc create-app ...
...

Ответить

Вернуться в «Виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей