LINUX.ORG.RU
ФорумTalks

Никлаус Вирт дал короткое интервью на прошлой неделе

 , , ,


1

4

Собственно, сабж: https://pldb.com/posts/niklausWirth.html .

В нём он рассказывает, что для своих языков как основу использовал философию Algol 60. А создателям новых языков программирования советует посмотреть как он сделал Oberon.

★★★★★

Я думал — ты всё. А ты вон — живее всех живых.

Подписался на тэг.

Bass ★★★★★
()

собственно вся линейка Pascal-Modula-Oberon демонстрирует тупиковость академичного подхода. С более-менее практичной целью делался Паскаль, так он жив. А чем далее, тем «более правильные» и невостребованные

MKuznetsov ★★★★★
()

В нём он рассказывает, что для своих языков как основу использовал философию Algol 60.

Ну происхождение Паскаля от Алгола — это как бы сто лет как известно. Или интересно было именно официальное подтверждение от мэтра?

А создателям новых языков программирования советует посмотреть как он сделал Oberon.

На мой взгляд, в Обероне мэтр чересчур увлёкся минимализмом. Господ классиков (не только Вирта), по-моему, очень уж напугала печальная история PL/I, из которого сделали монстра, и они шарахнулись в другую крайность. Для практического программирования объектный Паскаль (реализации — Delphi, fpc) оказался гораздо более жизнеспособным развитием паскалевских идей, чем Модула с Обероном.

И да, это вопрос не только к Вирту, но и к Страуструпу, например. В плюсах нет нормального прикладного строкового типа, std::string это с одной стороны, char[] на стероидах, с другой — иллюстрация, как круто у нас шаблоны работают. А рабочие прикладные строки для плюсов — это, например, QString из QtCore или CString от майкрософта. Увы, ни то, ни другое стандартом не является, поэтому кушаем кактусы или выращиваем свои-с.

Всё хорошо в меру и минимализм в том числе.

Но за ссылку спасибо, поностальгировал.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ну происхождение Паскаля от Алгола — это как бы сто лет как известно. Или интересно было именно официальное подтверждение от мэтра?

Ну, он там не конкретно про Паскаль говорил. И вообще это краткое описание краткого интервью. Принципиально нового там ничего нет, да. Тем не менее, это интервью у него взяли и опубликовали.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Roy-Batty

Во-первых, даже Pascal и Object Pascal можно классифицировать как разные языки. А fpc поддерживает и то, и другое. Во-вторых, там ещё и Gambas упомянули, который клон Visual Basic'а.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от MKuznetsov

вся линейка Pascal-Modula-Oberon демонстрирует тупиковость академичного подхода.

И не только в языках программирования.

pr849
()
Ответ на: комментарий от Roy-Batty

Lisp тоже хороший язык, согласен.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от hobbit

к Страуструпу

1000 извинений ,что вмешиваюсь в интеллектуальные разговоры умных людей, но раз уж ЯП не только для таких возвышеныых личностей, что тут собрались, но и для простых сметрных, которых обучают в шарагах этим языкам, то как представитель ремесленного класса хотел бы ставить свои 2копейки... видимо нет и не будет идеальных языков. такое чувтсво что их создают совсем не программисты... ну пусть С++ , ну очень конечно же силен некоторыми сторонами и даже можно увидеть в нем прекрасное, а потом что-то навроде

std::cout << 
std::cin >> 
и вся прелесть улетучивается. ну если << >> они были операторами сдвига, и вы так полюбили перегрузку операторов, не рвите смысловую нить!!! значит тут на вопрос: а почему так
std::cout << 
std::cin >> 
не просто должен быть ответ, потому что такой синтаксис, а должна быть какая то логика, то есть она должна сохраняться во всем, и если std::cout << «LOVE LOR»; значит вывод должен быть завязан на сдвиге, а не просто потому что << типа эти стрелочки так красиво ассоциируются с выводом или вводом... ну вот СИ красавчики, они видимо четко понимали что вот это надо назвать
sturct S{
};
потому что это действительно структура объекта, а структура-это внутреннее строение, ну может быть трактоваться. и поэтому тут все четко и ясно. а вот когда
class C{
};
не нупонятно , что ООП... и поэтому нужно для пущей силы назвать что-то классом. класс к примеру вот

struct A {
int a;
};

int main(){

A obj;
A obj1;
A[3];
A[0]=obj;
A[1]=obj1;

};
и вот для совмем ясности A[] -это и будет класс. то есть класс это  набор объектов. а struct A это их структура, то есть структура объектов.   и если бы смысловая ниточка шла так во всех деталях, то на таких языках можно было бы думать. это была бы просто песня. 
сори что залез. 

Assembler
()
Ответ на: комментарий от Assembler

Чем больше ты узнаешь о языке, тем более его ненавидишь.

ЯП, как и естественный язык это результат эволюции, т.е. инкапсуляции кучи клевых и не очень идей, которые в какой-то момент времени были очень удобными. И по поводу проклятья обратной совместимости Страуструп неоднократно высказывался.

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

Про строки… А где с ними все хорошо? Перл, который, по своей сути, это виртуальная машина для обработки строк, обросшая всякими общепрограммисткими приблудами, только и делает, что пытается улучшить обработку UTF8, от версии к версии, и все равно, она далека от цели. В этом плане обертка вокруг char[] выглядит не так уж и плохо, для системного языка.

В целом, надо просто учить и учиться писать программы не оглядываясь на все фичи, а так, чтобы код был понятным и не допускал двоякое толкование, а недостатки синтаксиса восполнять комментариями.

PS: и радуйтесь еще, что код пишется на английском языке, который вам не родной, потому что читать все это на русском

[code] если (товар_индтекс == 1; товар_индекс < товар_индекс_крайний; товар_индекс++) { положить_в_базу(товар[товар_индекс]); } [/code]

soomrack ★★★★★
()
Последнее исправление: soomrack (всего исправлений: 1)

А создателям новых языков программирования советует посмотреть как он сделал Oberon.

Если сравнить версии самой популярной «обучательной книжки» Вирта «Алгоритмы и структуры данных» для Оберона © и Паскаля ©, то обложка Оберона академичнее, годен как украшение книжной полки, но древнепапирусный Паскаль написан живее, когда Вирт был моложе и байты были «зеленее» :)

quickquest ★★★★★
()
Ответ на: комментарий от soomrack

который вам не родной

нууу не знаю... как говориться: не там мать что родила. не тот язык родной который всосал, а видимо тот который специально учил, потому что мечтал. ну это так немного вольности.

Про строки

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

В целом, надо просто учить и учиться писать программы не оглядываясь на все фичи

100% истины. я написал все это выше тогда , не потому что мне не нравятся плюсы и я их критикую, а потому что они мне наравятся и поэтому я хочу чтобы они развивались. сейчас это не развитие. принять массу библиотек в стандарт не значит получить что-то полезное. ну а поповоду того что нужно благодарить за то что вобще есть ЯП еще у нас... Язык не котором пишут только 2 человека, БЕСПОЛЕЗНЫй, какой бы он крутой небыл. поэтому чтобы язык жил нужно его двигать и развивать, а не бросать так, и после говорить, чтобы благодарили за то что он вобще у них есть и еще не отобрали.

Assembler
()
Ответ на: комментарий от Assembler

нууу не знаю… как говориться: не там мать что родила. не тот язык родной который всосал, а видимо тот который специально учил, потому что мечтал. ну это так немного вольности.

Я пробовал писать на visual basic for application на русском языке, 20 лет назад. Я написал одну программу, поимел кучу проблем, сломал мозг, и больше такими извращениями не страдал.

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

да понятно, просто тот пример с « » это как раз результат эволюции, когда под одним и тем же понимают совершенно разные вещи. Исторически это был сдвиг, но как символ он очень выразителен для направления потока…

а потому что они мне наравятся и поэтому я хочу чтобы они развивались.

Я вот тоже их люблю и ненавижу.

поэтому чтобы язык жил нужно его двигать и развивать

На эту тему Страуструп тоже высказывался, что у него свое мнение, но у людей ответственных за стандарты – свое… В целом, относительно других языков, С++, имхо, наиболее надежен, сюрпризов новые стандарты не преподносят, обратная совместимость есть, развитие кое-как идет…

soomrack ★★★★★
()
Ответ на: комментарий от soomrack

Исторически это был сдвиг, но как символ он очень выразителен для направления потока…

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

Assembler
()
Ответ на: комментарий от urxvt

Не густо, как для интервью.

во первых это бриф (сиречь выжимка из конспекта интервью)..

а далее - что вообще ожидалось от интервью с Виртом?

MKuznetsov ★★★★★
()
Ответ на: комментарий от Assembler

что доведут его до ума.

не доведут, пока не будет отдельный инструмент для обратной совместимости. Потому как если на нее забить, то все, конец!

А так то я, конечно, согласен. Но эволюция это природа, а мечты, они мечты…

soomrack ★★★★★
()
Ответ на: комментарий от MKuznetsov

во первых это бриф (сиречь выжимка из конспекта интервью)..

Кастаните меня, как будет полностью.

а далее - что вообще ожидалось от интервью с Виртом?

Да ничего конкретного не ожидаю.

urxvt ★★★★★
()
Ответ на: комментарий от urxvt

Да ничего конкретного не ожидаю.

Была у Вирта и конкретная тема: cистема Оберон, реализованная на доступной FPGA-плате ©.
Но «Лола-2 не взлетела».

quickquest ★★★★★
()
Ответ на: комментарий от sparkie

Он в прежние времена был очень популярен у математиков. И они понаписали на нём всё, что только было можно. А всё это переписывать теперь особо некому. Поэтому математика на Фортране много где может использоваться под капотом.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Assembler

есть класс это набор объектов

Класс - это не конкретный набор объектов, а способ объединения объектов в группу через общность выбранных признаков

bender ★★★★★
()
Ответ на: комментарий от Assembler

Вот и выросло :) Модно, молодежно, серьезно? это отсыл к телетайпу млин

Morin ★★★★★
()

Я считаю, в каждой теме про Вирта крайне уместен пересказ краткой версии его грустной биографии:

История Вирта очень трагичная, братюни. Начиналось все хорошо:
Хоар сказал: «В Алгол нужно добавить ссылки с нуллами»
А Вирт сказал: «Мы с Хоаром считаем, что в Алгол нужно добавит ссылки, да с такими-то нуллами»
Потом Хоар сказал: «Алгол 68 сосет»
И Вирт, конечно, сказал: «Мы с Хоаром ваш Алгол 68 в рот е%$ли, п&(*ры комитетские!!111»
А потом Хоар внезапно сказал: «Анаморфизм, катаморфизм, иломорфизм, параморфизм, наконец»
И Вирт сказал:«Ана-што? Иломорфизм? Х%*-мое! Так, падажжи, е%(*а, Карри же был моим научруком, параморфизм? Ах тыж е%$#ый ты н$@#й!
АЛГОЛ 68 СОСЕТ!!!111 ССЫЛКИ ДА С ТАКИМИ-ТО НУЛЛАМИ!!!111 АЛГОЛ 68 СОСЕТ!! СОСЕТ АЛГОЛ 68 !!11111»
Ну, так с тех пор и повторяет.
hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от Assembler

я ниразу не погромист, так мимо тут хожу, подслушиваю...читаю википедию и вижу что языки в основном писали в 1 рыло типа С, Питухона, Паскаля. В чем проблема сейчас написать новый язык, чтобы в нем было ну вот все как надо?Что до сих пор не нашлось кучки прогеров-энтузиастов сделать збс?нет давайте будем дальше страдать и ругать, что тут криво, тут синтаксис не такой, там куево компилит, тут утечки там протечки...

Neresar ★★
()
Ответ на: комментарий от Neresar

Это как с дистрибутивами GNU/Linux'а. Почему хотя бы не уменьшили их количество? Почему их сотни и появляются всё новые и новые, а юзеры одних дистрибутивов ругают другие дистрибутивы? А потому, что все люди разные. Если бы, допустим, был бы только один дистрибутив, то многие его просто не осиливали бы. А если бы и осиливали, то он был бы им неудобен. Вот так и с каким-нибудь отдельным языком программирования. И с конкретным новым языком будет тоже самое.

saahriktu ★★★★★
() автор топика

Рад тебя видеть тут снова.

Про новость — ощущение, что что-то из прошлого столетия прочитал :)

Zhbert ★★★★★
()
Ответ на: комментарий от Assembler

для С++. посути в нем нет рамок, есть только неудобства. очень надеюсь что доведут его до ума.

это только с позиции студента

Раскрой мысль, что ли. Конкретно.

Всегда радовали такие мимокрокодилы, которые что-то только видели издалека, но при этом веское мнение «нинужна» имеют.

Zhbert ★★★★★
()
Ответ на: комментарий от Neresar

Они появляются и будут продолжать появляться. Просто при этом будут продолжать быть недовольные неосиляторы.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от hobbit

так utf-8 с европейскими языками в один байт влезает

seiken ★★★★★
()
Ответ на: комментарий от Assembler

если бы смысловая ниточка шла так во всех деталях, то на таких языках можно было бы думать.

Думать нужно начинать об алгоритмах и программах. А затем можно выражать свои мысли на подходящих языках.

vM ★★
()
Ответ на: комментарий от Neresar

В чем проблема сейчас написать новый язык, чтобы в нем было ну вот все как надо? Что до сих пор не нашлось кучки прогеров-энтузиастов сделать збс?

Проблемы нет. Нашлась. Сделали. Получилось как-то так: https://xkcd.com/927/

runtime ★★★★
()
Ответ на: комментарий от hobbit

В плюсах нет нормального прикладного строкового типа

А где он есть нормальный встроенный? Современная строка - сложная UTF-сущность, немыслимая без ICU и кучи других либ под капотом. Так что или однобайтовые char[] с string в паскакале, либо шаблончики с классами и десятками Мб кода.

Suigintou ★★★★★
()
Последнее исправление: Suigintou (всего исправлений: 1)
Ответ на: комментарий от Neresar

Сами языки может и в одиночку делали. А вот всю требуху вокруг них, типа библиотек на все случаи жизни - это вот писала разношёрстная ватага погромистов. Потому что как правило этих библиотек не было а они были нужны.

Собственно написать новый язык не проблема, но кто его будет использовать, если для него точно также нужно изначально написать кучу либ, в то время как в более старших языках все это уже есть

saibogo ★★★★
()
Ответ на: комментарий от Neresar

Что до сих пор не нашлось кучки прогеров-энтузиастов

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

А на C++ при всех его общеизвестных пороках есть международный стандарт. Я могу написать программу, которую можно откомпилировать гнутым cc, можно шлангом, можно, если сильно зачесалось, интелом или майкрософтом. (Да, тут есть нюансы, и написать такую программу сложнее, чем «однокомпиляторную». Но можно.) У меня есть выбор, есть защита моих инвестиций. Даже если это инвестиции не деньгами, а временем, время — тоже деньги.

По этой, в частности, причине (не только, но в том числе) я даже свой пет-проект стал писать на плюсах, а не на объектном паскале, который мне в общем и целом вполне симпатичен как пркладной язык, но на которого стандарта нет и который команды fpc, Embarcadero и PascalABC тащат, ЕМНИП, в совсем разные стороны и даже не пытаются договориться. А жаль, язык в общем и целом хороший.

hobbit ★★★★★
()
Ответ на: комментарий от rupert

Басик, басик, ты всё правильно услышал.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.