Pull to refresh

Comments 20

Спасибо, интересно почитать, хотя и не везде можно согласиться с Виртом. Ну и его манера мериться SLOC, конечно, удручает.

Интересно, в этом RISCе представлено всего 4 арифметические операции (не выделены отдельно операции сложения/вычитания с учётом переноса/займа). Т. е. сложение с переносом будет требовать как минимум дополнительной инструкции перехода и инструкции сложения, чтобы сложить числа размером в 2 слова каждое. Допустим, первое хранится в R2 (MSB), R1 (LSB); второе — в R4 (MSB), R3 (LSB). Сложение будет выглядеть следующим образом:
add R1, R3
bcc no_carry1 # branch if carry clear
add R2, 1 # add carry to second word
no_carry1:
add R2, R4

Если нужно складывать более длинные числа, то количество инструкций перехода либо используемых регистров неприятно растёт. В случае же какого-нибудь ARM это будет выглядеть просто как последовательность инструкций ADD, ADC, ADC,… от LSB к MSB.
избегая колокольчиков со свистками
Эвфемизм другого известного выражения.
Просто дословный перевод. У нас так таки не говоr'ят
Не примите на неуважение к вам, или лично к Никлаусу Вирту, но складывается впечатление, что месяц назад где-то разломало стену, за которой сидели оберонщики. Они не видели мира современного программирования, мир не видел их, а потому они сейчас воспринимаются как миссионеры-фанатики…
Лично мне данная статья с академической точки зрения интересна. Но с точки зрения реальной жизни — как-бы сказать помягче… Флешбек двадцатилетней давности. Ночи за Turbo C, Turbo Pascal и Turbo Debugger от Borland. Отсутствие интернета, фидо у везучих друзей с телефоном, переводные журналы…
Флешбек двадцатилетней давности. Ночи за Turbo C, Turbo Pascal и Turbo Debugger от Borland. Отсутствие интернета, фидо у везучих друзей с телефоном, переводные журналы…

Ностальгия и романтика! Здорово ведь! Разве нет? ;-)
Здорово, но писать код под какой-нибудь RISC (типа avr или arm cortex-m) я предпочту на Си с небольшим количеством простого ассемблера.
Ок. А писать код под какой-нибудь CISC или там VLIW? ;-)

Я к тому, что не очень понятно как твое высказывание соотносится с моим, и вообще со статьей. В статье Вирт рассказывает как он слепил цельную систему целиком, начиная от FPGA и заканчивая языком и осью. Получилась вполне себе такая вещь в себе. Неплохая моделька для обучения (как основам того как CPU работают и комп целиком, так и ЯП и ОС — эдакий вводный курс), экспериментов и всякого разного фанатского DIY (в виртовском этом компе реализована (на верилоге) и SPI, куда по умолчанию втыкается модуль nRF24L01+, то есть на этом компе довольно удобно опрашивать например датчики в доме которые передают показометры через nRF24L01+. Хотя, конечно через тот же raspberry pi можно соорудить в точности то же самое. В виртовском компе все будет прозрачней и понятней и более кастомизируемо, в PI будет больше ресурсов, больше софта, более приятные ЯП и проч).

Каким боком тут рассуждения на чем писать под avr/arm я не очень понимаю. Если мне надо по работе что-то писать под какой-нибудь msp430 или arm, то я возьму скорее всего те тулзы, которые рекомендует производитель, где больше вменяемой документации и где я быстрее достигну результата. А уж что именно это будет — С++, Си, Асм, модула, или Ада — мне в принципе всё равно. Тем более что статья то не про это.
А писать код под какой-нибудь CISC или там VLIW?
Зависит от наличия ОС и инструментов под него, естественно.

Я к тому, что не очень понятно как твое высказывание соотносится с моим, и вообще со статьей.
Моё «здорово» относилось именно к вашему «ностальгия и романтика». Разработка чего-нибудь на OpenRISC или своего RISC-ядра (в том числе и по стопам кого-либо) — это интересно, есть приятная близость к железу.

Если хочется разобраться с ОС, то кроме Вирта есть Таненбаум (со своей Minix), есть куча современных проектов (например, FreeRTOS, eCOS, Embox). Виртовское творение интересно, как замкнутая экосистема, удобная для изучения (в частности потому, что в силу маленького размера, она обозрима).

Если же у меня задача (пусть и в рамках хобби) сделать какое-нибудь устройство, а не разобраться в определенной экосистеме (в виде языка, его компилятора, библиотек и ОС), то я возьму то, под что есть нормальный оптимизирующий компилятор, нормальный отладчик (аппаратный) и т. п. Для вещей, где хватает avr/pic/msp430/cortex-m использовать FPGA неразумно, оно куда сложнее для DIY. Когда что-то из таких задач решают на RPi/Beagle и т. п. — это другая крайность, столь же неразумная. Большинство любителей не будет проектировать устройство, где чип стоит негуманно, требуется 4 слоя ПП, аккуратное выравнивание длин дорожек и т. п. А делать что-то на dev board — очень дорого.
Ну вот и я примерно про то же самое. Так что консенсус :-)
Фирма Xilinx с капитализацией в миллиарды долларов попросила написать статью в их журнал. Тут же некая фирмочка, тоже американская — Saalima Electronics подхватила идею и реализовала систему на более современной плате. И что интересно, ни у Xililnx, ни на форуме Saalima я не заметил ни одного высказывания в стиле «миссионеры фанатики, да что они знают о жизни».

Скорее всего, это просто такой пиар на авторитете. Но смотрите, как люди поступают. Они берут авторитет и опираются на него в своём бизнесе. И никто не показывает на Вирта пальцем, мол, профессор отстал от жизни.

Более того. Швейцарский университет тщательно хранит историю своих спин-оффов, начиная с Oberon Microsystems. Потому что они на этом стоят. И хотя Вирт у них живая реликвия, никто его не стесняется, а наоборот — светят где только можно.

Опять же Оксфорд. Совершенно без проблем учат людей Хаскелю и Оберону.

Это я к чему. Такой подход к истории и вообще, к интеллектуальному капиталу, лично мне нравится. Они как бы говорят — «вот посмотрите, там глыба Вирт, там то, там сё, а вот тут мы». Есть школа, есть ступени достижений, и это их поляна, их деньги, их прибыль.

А то, что говорите вы про «реальную жизнь», мне не очень понятно. Если вам угодно пожалеть бестолковых любителей оберона российского розлива, тогда да, понятно. Иначе — нет.
Фирма Xilinx с капитализацией в миллиарды долларов попросила написать статью в их журнал. Тут же некая фирмочка, тоже американская — Saalima Electronics подхватила идею и реализовала систему на более современной плате. И что интересно, ни у Xililnx, ни на форуме Saalima я не заметил ни одного высказывания в стиле «миссионеры фанатики, да что они знают о жизни».

Просто уточню, что эта самая Saalima она всего лишь перенесла на свою плату этот проект (что, кстати, довольно хорошо, ибо девборды Spartan-3 больше не производятся, и соответственно стоят уже баксов 300 (и еще баксов 100 стоит шнурок для разработки)): pipistrello.saanlima.com/index.php?title=Welcome_to_Pipistrello При этом на этой плате все тот же Xilinx. Это уже Spartan-6. Стоит плата порядка 160$

Вот тут можно прочитать подробнее как переносили проект на эту плату: saanlima.com/forum/viewtopic.php?f=4&t=1246&start=8

Хороший фановый и пиар-проект, я считаю ;-)
Подход к интеллектуальному капиталу очень важен. Например, в 90х я читал советские сборники алгоритмов на алголе. Изданы они были в 80х, а этот язык считался как раз тем, что надо, для передачи идеи алгоритма. Однако, в 90е, почему-то эти алгоритмы никто на алголе не переписывал. Переписывали на паскале, переписывали на си, но не на алголе. Потому что алгоритм сам по себе — важен. Но еще важнее было создать конечный продукт, в котором этот алгоритм использовался. На алголе создать действительно нужный продукт в 90х было уже невозможно — это был язык мейнфремов, а в тот момент по миру победно шествовали персоналки.
Я специально написал, что безмерно уважаю и самого Вирта, и тех, кому интересны его труды, и тем более, его вклад в теорию языков программирования. С другой стороны, жизнь лично меня научила выслушивать мнение как минимум двух сторон. Потому количество стандартов С++, которые появлялись за последние 20 лет говорит мне о том, что С++ — язык живой, у него есть сообщество которое его развивает, а также то, что он используется в конкретных продуктах, имеющих конечное назначение.
В тоже время, продуктов реализованных на семействе оберона в сегодняшнем мире, лично я и мои знакомые не встречали. Я не говорю что их нет, однако сообщество языка заметно меньше, нежели С/С++. Пиаром тут дело не исправить — язык должен давать программисту нечто такое, отчего тот захочет его применять, а этих программистов должно быть явно больше одного. Вот это я и называю реальной жизнью, не жалея абстрактных «бестолковых любителей оберона российского разлива».
В вашем суждении, на мой взгляд, превалирует идея о программисте как о субъекте, который чем-то управляет и что-то решает. Я считаю, это не так. Потому что в первую очередь программист это наёмный человек. Программиста нанимают что-то сделать. Не программист решает, какие задачи надо решать для успешного бизнеса. Программисту дают задачу и говорят — делай и платят ему за результат деньги.

Это совершенно нормальная ситуация, не хорошая и не плохая, просто вот такая.

Если исходить именно из этой ситуации, то говорить о том, что «программист захотел и язык получил развитие», не очень-то получается. В первую очередь что-то хочет и что-то решает бизнес. А бизнес смотрит не на качества языка, а на риски, издержки, затраты. С этой точки зрения подготовленная поляна с готовой инфраструктурой и сообществом гораздо интереснее. Стартовать с космодрома удобнее, чем с пустой казахской степи, согласны?

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

Это как раз далеко не так, ибо эти самые оберонщики двигают этот самый мейнстрим, работая в ведущих IT-компаниях или выполняя для них различного рода исследования.
Вот, например, Клеменс Шиперски, один из архитекторов .NET:

research.microsoft.com/en-us/um/people/cszypers
www.linkedin.com/in/cszyperski
Я понимаю, что фраза о том, что оберонщики где-то..., что-то… для некоторых звучит, скажем, удивительно, однако, зачастую, реальность более удивительна, чем самая разувесистая фантастика.
Вот несколько примеров:
Michael Franz — Mozilla
Patrik Reali — Tech Lead / Manager Google Switzerland
Hanspeter Mössenböck Sun/Oracle
ETH Native Systrms Group Microsoft и тп.
Oberon.Net был первым языком для платформы .Net, разработанным вне Microsoft, но по её заказу в качестве исследования проблем и возможности портирования и реализации других языков для этой платформы.
И снова оберонщики — JIT-компилятор для Borland JBilder, JBed.
Project ONBASS -в котором участвовал сам дедушка Вирт.
Про Клеменса Шиперски уже написали.
Я думаю, что этого достаточно, ибо список будет очень большим.
UFO just landed and posted this here
Мне кажется, это очевидные вещи — если человек практически участвовал в создании Оберон-технологий, заложив фундамент или сделав то, что сейчас есть, или использует Оберон-технологии, то он относится к оберонщикам.

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

Что касается Microsoft, то она в ETHZ давно, и тамошние специалисты проводят разного рода исследования для неё. И далеко не все они афишируются по понятным причинам.

Я еще раз говорю — они проводят исследования, решают конкретные поставленные заказчиками задачи, а не работают у заказчика.

Другие же, действительно работают в ИТ-гигантах.
Я не говорил, что они продвигают туда Оберон, хотя понятно, что какие-то идеи они проталкивают. Я говорил, что и они двигают мейнстрим, работая в этих гигантах и выполняя для/за них работу. Они(оберонщики) никогда не были оторваны от современных технологий, ибо участвовали и участвуют в их создании. Это настолько очевидно, для меня, что я не стал пояснять эти простые вещи.
Не примите на неуважение к вам, или лично к Никлаусу Вирту, но складывается впечатление, что месяц назад где-то разломало стену, за которой сидели оберонщики. Они не видели мира современного программирования, мир не видел их, а потому они сейчас воспринимаются как миссионеры-фанатики…

Кстати, я не знаю почему именно на хабре про оберон до сих пор не говорили, в этом плане хабр был в некотором роде, в изоляции, но вот например на rsdn обероносрачики были еще в 2004 году: rsdn.ru/forum/philosophy/860619.all rsdn.ru/forum/philosophy/896790.all

Да и в 2003 народ про Оберон и литературу про него тоже спрашивал: rsdn.ru/forum/other/207807.all

А вот например 2012 год: rsdn.ru/forum/philosophy/4807524.flat.1

На тему Оберона и rsdn даже на лурке кое-что есть (см. первый же мем): lurkmore.to/RSDN#.D0.9C.D0.B5.D0.BC.D1.8B

В королевстве делфи так вообще отдельный отдел про Оберон имеется (там практически каждый тред был эпичным): www.delphikingdom.com/oberon

То есть вопрос не в том, почему про Оберон никто давно не слышал, и где оберонщики все это время были — были они практически на каждом профессиональном программерском ресурсе и активно несли «свет в массы», вопрос в том, почему хабре про это все это до сих пор не слышали :-)

Ну ничего, теперь Оберон и на хабре! Ура, товарищи! :-)
Sign up to leave a comment.

Articles