История создания языка — различия между версиями

Материал из Deeptown Manual
Перейти к: навигация, поиск
(minor updates)
(minor updates)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
 +
Когда мы разрабатывали платформу Диптауна, мы постоянно держали в уме следующие критерии:
  
 +
* Кроссплатформенность
 +
* Расширяемость
 +
* Распределенность
 +
* Масштабируемость
 +
* Гибкость
 +
* Модульность
  
== Teen Told to Clean His Room Finds Winning Lotto Ticket ==
+
То есть, система должна работать на максимально возможном количестве аппаратных платформ. При этом для портирования на новую платформу трудозатраты должны быть минимальными. Система должна быть легко расширяемой, позволяя легко и быстро интегрировать новые возможности без необходимости внесения значительных модификаций в код. Система должна быть масштабируемой, то есть она должна предоставлять возможность ее выполнения в сети с использованием множества вычислительных систем. Добавление очередного "узла" должно быть прозрачным для остальной части системы, равно как и сбой одного из существующих узлов не должен оказать значительного влияния на функционирование оставшейся части системы. Система должна быть достаточно гибкой, чтобы одну и ту же задачу возможно было решать несколькими способами. Наконец, система должна быть построена таким образом, чтобы можно было свободно заменять некоторые ее части на предоставляющие те же возможности, и чтобы эта замена так же осталась прозрачной.
  
A teenager from Midlothian has cleaned up on the National Lottery after finally cleaning up his messy bedroom. Ryan Kitchin scooped more than 50,000 after finding a winning lottery ticket in the room that his mother had been asking him to clean for weeks.
+
Учитывая все эти факторы, очевидно, что решить такую задачу традиционным образом практически невозможно. Различия в архитектурах систем и в особенностях их реализации сводят на нет все усилия по "обобщению" задач. Код, написанный на одной платформе, не будет работать на другой и наоборот. Пришлось бы для каждой из платформ делать свою отдельную релаизацию системы. Думаю, что Читатель может себе представить, во что обошлась бы разработка и самое главное поддержка подобной системы.
  
[[http://goodvillenews.com/Teen-Told-to-Clean-His-Room-Finds-Winning-Lotto-Ticket-AfWho8.html Teen Told to Clean His Room Finds Winning Lotto Ticket]]
+
Решение проблемы кроется в системах абстракции и виртуализации. Вместо написания множества реализаций одной и той же системы, пишется некая система абстракции, которая представляет собой прослойку между низкоуровневым кодом конкретной платформы и высокоуровневым кодом нашей системы. Эту задачу решает библиотека OSA и ядро диптауна, которые вместе предоставляют удобный программный интерфейс для кроссплатформенной разработки программ. Однако платформа диптауна из соображений производительности написана на языке С++, который хоть и является в некоторой степени кроссплатформенным, все же не обеспечивает бинарной совместимости программ.  
  
[[http://goodvillenews.com/wk.html goodville news]]
+
Таким образом, мы подходим к третьему уровню абстракции — виртуальной машине. Виртуальная машина это вычислительная среда, которая построена целиком на программной основе и поэтому не зависит от особенностей конкретной архитектуры, будь то x86, SPARC или ARM. Виртуальная машина, подобно реальной, оперирует понятиями кода и данных. В отличие от реального процессора, кодом для виртуальной машины являются не инструкции, а байт код — набор абстрактных инструкций. Достоинством такого подхода является то, что программа, транслированная в байт код, будет выполняться на любой платформе, где есть реализация виртуальной машины. А поскольку виртуальная машина сама написана на базе кроссплатформенного кода, то это обеспечивает еще большие возможности по переносимости.
  
== 5 Principles for Inner Transformation at Work ==
+
В рамках проекта Диптаун была написана своя собственная виртуальная машина [[gide]]. Она написана целиком на нашей платформе и учитывает ее особенности. Для программирования виртуальной машины используется свой язык, похожий на ассемблер, но его применение в практических задачах сильно затруднено (сложность написания программ, а главное их отладки). Было принято решение написать язык высокого уровня, который бы компилировался в gide ассемблер. В результате этого и появился язык К++.
  
People go to work to sustain themselves and produce value in the world. Yet work environments can also be stressful, filled with challenging responsibilities and personalities, and feel misaligned with our most deeply cherished values. Instead of sustaining us, the workplace can sometimes feel simply draining, and at worst, unwholesome for both ourselves and the world.
+
== New Toilet System Transform Waste into Electricity ==
  
[[http://goodvillenews.com/5-Principles-for-Inner-Transformation-at-Work-TTklKV.html 5 Principles for Inner Transformation at Work]]
+
Scientists from Nanyang Technological University (NTU) have invented a new toilet system that will turn human waste into electricity and fertilisers and also reduce the amount of water needed for flushing by up to 90 per cent compared to current toilet systems in Singapore.
  
[[http://goodvillenews.com/wk.html goodville news]]
+
[[http://goodvillenews.com/New-Toilet-System-Transform-Waste-into-Electricity-zvQBzk.html New Toilet System Transform Waste into Electricity]]
  
== 7 Essential Books on Optimism ==
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
Every once in a while, we all get burned out. Sometimes, charred. And while a healthy dose of cynicism and skepticism may help us get by, its in those times that we need nothing more than to embrace lifes promise of positivity with open arms. Here are seven wonderful books that help do just that with an arsenal ranging from the light visceral stimulation of optimistic design to the serious neuroscience findings about our proclivity for the positive.
+
== Journey to the End of the Earth ==
  
[[http://goodvillenews.com/7-Essential-Books-on-Optimism-6pgcLt.html 7 Essential Books on Optimism]]
+
I realized quickly, after just having traveled to various villages in rural India, that distance is relative. Hailing from a city like San Francisco, going even a few hours outside of town is far but twelve hours outside of a major city? I half expected to run into another country.
  
[[http://goodvillenews.com/wk.html goodville news]]
+
[[http://goodvillenews.com/Journey-to-the-End-of-the-Earth-tbNql3.html Journey to the End of the Earth]]
  
== Microbial Oasis Discovered Beneath the Atacama Desert ==
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
Two metres below the surface of the Atacama Desert there is an oasis of microorganisms. Researchers from the Center of Astrobiology (Spain) and the Catholic University of the North in Chile have found it in hypersaline substrates thanks to SOLID, a detector for signs of life which could be used in environments similar to subsoil on Mars.
+
== Guerilla Gardener Plants Joy in Potholes ==
  
[[http://goodvillenews.com/Microbial-Oasis-Discovered-Beneath-the-Atacama-Desert-WWstX4.html Microbial Oasis Discovered Beneath the Atacama Desert]]
+
Theyre the bane of cyclists and motorists alike, but one urban gardener has grown a fondness for potholes after deciding to spruce up cities around Europe by filling them up with miniature flower arrangements. Australian Steve Wheen, 34, who lives in London, has been using flowers and small-scale objects to transform urban potholes for the last three years. The self-styled guerrilla gardener has created mini gardens all around his home city but has now decided to bring joy to commuters across Europe with his unusual pothole creations.
  
[[http://goodvillenews.com/wk.html goodville news]]
+
[[http://goodvillenews.com/Guerilla-Gardener-Plants-Joy-in-Potholes-CnUGQR.html Guerilla Gardener Plants Joy in Potholes]]
  
== The Limitations of Positive Thinking ==
+
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
  
Positive thinking is so firmly enshrined in our culture that knocking it is a little like attacking motherhood or apple pie. Many persons swear by positive thinking and quite a few have been helped by it. Nevertheless, it is not a very effective tool and can be downright harmful in some cases. There are much better ways to get the benefits that positive thinking allegedly provides.
+
== 6 Steps Towards Living a Life Free of Fear and Full of Hope ==
  
[[http://goodvillenews.com/The-Limitations-of-Positive-Thinking-m3ZrTe.html The Limitations of Positive Thinking]]
+
There are two basic motivating forces: fear and love. When we are afraid, we pull back from life. When we are in love, we open to all that life has to offer with passion, excitement, and acceptance. We need to learn to love ourselves first, in all our glory and our imperfections. If we cannot love ourselves, we cannot fully open our ability to love others or our potential to create. Evolution and all hopes for a better world rest in the fearlessness and open-hearted vision of people who embrace life. ~ John Lennon
  
[[http://goodvillenews.com/wk.html goodville news]]
+
[[http://goodvillenews.com/6-Steps-Towards-Living-a-Life-Free-of-Fear-and-Full-of-Hope-dnAp.html 6 Steps Towards Living a Life Free of Fear and Full of Hope]]
 +
 
 +
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]
 +
 
 +
== 9-yr-old Helps Disabled Brother Finish Triathlons ==
 +
 
 +
Over the weekend, brothers Cayden and Connor Long joined hundreds of other children as they competed in the first annual New England Kids Triathlon in Cambridge. The boys did not win the event -- they didnt even come close. But that didnt stop them from winning hearts across the Internet. The Long brothers are not your typical triathletes. Six-year-old Cayden has cerebral palsy and can neither walk nor talk. But thanks to the dedication of his older brother, Connor, the young boy has participated in several triathlons. A touching video
 +
 
 +
[[http://goodvillenews.com/9-yr-old-Helps-Disabled-Brother-Finish-Triathlons-mozmuF.html 9-yr-old Helps Disabled Brother Finish Triathlons]]
 +
 
 +
[[http://goodvillenews.com/wk.html GoodvilleNews.com - good, positive news, inspirational stories, articles]]

Текущая версия на 06:13, 26 августа 2012

Когда мы разрабатывали платформу Диптауна, мы постоянно держали в уме следующие критерии:

  • Кроссплатформенность
  • Расширяемость
  • Распределенность
  • Масштабируемость
  • Гибкость
  • Модульность

То есть, система должна работать на максимально возможном количестве аппаратных платформ. При этом для портирования на новую платформу трудозатраты должны быть минимальными. Система должна быть легко расширяемой, позволяя легко и быстро интегрировать новые возможности без необходимости внесения значительных модификаций в код. Система должна быть масштабируемой, то есть она должна предоставлять возможность ее выполнения в сети с использованием множества вычислительных систем. Добавление очередного "узла" должно быть прозрачным для остальной части системы, равно как и сбой одного из существующих узлов не должен оказать значительного влияния на функционирование оставшейся части системы. Система должна быть достаточно гибкой, чтобы одну и ту же задачу возможно было решать несколькими способами. Наконец, система должна быть построена таким образом, чтобы можно было свободно заменять некоторые ее части на предоставляющие те же возможности, и чтобы эта замена так же осталась прозрачной.

Учитывая все эти факторы, очевидно, что решить такую задачу традиционным образом практически невозможно. Различия в архитектурах систем и в особенностях их реализации сводят на нет все усилия по "обобщению" задач. Код, написанный на одной платформе, не будет работать на другой и наоборот. Пришлось бы для каждой из платформ делать свою отдельную релаизацию системы. Думаю, что Читатель может себе представить, во что обошлась бы разработка и самое главное поддержка подобной системы.

Решение проблемы кроется в системах абстракции и виртуализации. Вместо написания множества реализаций одной и той же системы, пишется некая система абстракции, которая представляет собой прослойку между низкоуровневым кодом конкретной платформы и высокоуровневым кодом нашей системы. Эту задачу решает библиотека OSA и ядро диптауна, которые вместе предоставляют удобный программный интерфейс для кроссплатформенной разработки программ. Однако платформа диптауна из соображений производительности написана на языке С++, который хоть и является в некоторой степени кроссплатформенным, все же не обеспечивает бинарной совместимости программ.

Таким образом, мы подходим к третьему уровню абстракции — виртуальной машине. Виртуальная машина это вычислительная среда, которая построена целиком на программной основе и поэтому не зависит от особенностей конкретной архитектуры, будь то x86, SPARC или ARM. Виртуальная машина, подобно реальной, оперирует понятиями кода и данных. В отличие от реального процессора, кодом для виртуальной машины являются не инструкции, а байт код — набор абстрактных инструкций. Достоинством такого подхода является то, что программа, транслированная в байт код, будет выполняться на любой платформе, где есть реализация виртуальной машины. А поскольку виртуальная машина сама написана на базе кроссплатформенного кода, то это обеспечивает еще большие возможности по переносимости.

В рамках проекта Диптаун была написана своя собственная виртуальная машина gide. Она написана целиком на нашей платформе и учитывает ее особенности. Для программирования виртуальной машины используется свой язык, похожий на ассемблер, но его применение в практических задачах сильно затруднено (сложность написания программ, а главное их отладки). Было принято решение написать язык высокого уровня, который бы компилировался в gide ассемблер. В результате этого и появился язык К++.

Содержание

[править] New Toilet System Transform Waste into Electricity

Scientists from Nanyang Technological University (NTU) have invented a new toilet system that will turn human waste into electricity and fertilisers and also reduce the amount of water needed for flushing by up to 90 per cent compared to current toilet systems in Singapore.

[New Toilet System Transform Waste into Electricity]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

[править] Journey to the End of the Earth

I realized quickly, after just having traveled to various villages in rural India, that distance is relative. Hailing from a city like San Francisco, going even a few hours outside of town is far but twelve hours outside of a major city? I half expected to run into another country.

[Journey to the End of the Earth]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

[править] Guerilla Gardener Plants Joy in Potholes

Theyre the bane of cyclists and motorists alike, but one urban gardener has grown a fondness for potholes after deciding to spruce up cities around Europe by filling them up with miniature flower arrangements. Australian Steve Wheen, 34, who lives in London, has been using flowers and small-scale objects to transform urban potholes for the last three years. The self-styled guerrilla gardener has created mini gardens all around his home city but has now decided to bring joy to commuters across Europe with his unusual pothole creations.

[Guerilla Gardener Plants Joy in Potholes]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

[править] 6 Steps Towards Living a Life Free of Fear and Full of Hope

There are two basic motivating forces: fear and love. When we are afraid, we pull back from life. When we are in love, we open to all that life has to offer with passion, excitement, and acceptance. We need to learn to love ourselves first, in all our glory and our imperfections. If we cannot love ourselves, we cannot fully open our ability to love others or our potential to create. Evolution and all hopes for a better world rest in the fearlessness and open-hearted vision of people who embrace life. ~ John Lennon

[6 Steps Towards Living a Life Free of Fear and Full of Hope]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

[править] 9-yr-old Helps Disabled Brother Finish Triathlons

Over the weekend, brothers Cayden and Connor Long joined hundreds of other children as they competed in the first annual New England Kids Triathlon in Cambridge. The boys did not win the event -- they didnt even come close. But that didnt stop them from winning hearts across the Internet. The Long brothers are not your typical triathletes. Six-year-old Cayden has cerebral palsy and can neither walk nor talk. But thanks to the dedication of his older brother, Connor, the young boy has participated in several triathlons. A touching video

[9-yr-old Helps Disabled Brother Finish Triathlons]

[GoodvilleNews.com - good, positive news, inspirational stories, articles]

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
информация
документация
Инструменты