LINUX.ORG.RU
ФорумTalks

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

 , , ,


1

4

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

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

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

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

Как раз программисты. Создавали бы непрограммисты, они были бы идеальны… и нежизнеспособны. У Паркинсона (кажется) есть хорошая фраза:

СОВЕРШЕНСТВО ДОСТИГАЕТСЯ ТОЛЬКО К МОМЕНТУ ПОЛНОГО КРАХА!!!

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

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

Последний из могикан академического подхода к программированию с жестким матаном и системным анализом.Да,уж! В современную эпоху с тем програмным бл..lдъ, что происходит, его основополагающие идеи дорого стоят, но их практически нельзя по многим причинам использовать в прикладном приложение.

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

У Паркинсона (кажется) есть хорошая фраза:

СОВЕРШЕНСТВО ДОСТИГАЕТСЯ ТОЛЬКО К МОМЕНТУ ПОЛНОГО КРАХА!!!

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

Но это уже философия.

question4 ★★★★★
()

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

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 2)
Ответ на: комментарий от MKuznetsov

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

На них просто тихо незаметно пишут софт для спутников и коллайдеров, и класть хотели на игрушечные цели игрушечных ойтишнегов («мейнстрим ойти создан недоучками» (с)), которые порой не в курсе где практически используется то, что они считают «мертвым» или нишевым. Просто в тех «нишах» порог вхождения требует домен-специфик знаний типа математики для расчета параметров орбиты КА, отраслевых стандартов SCADA и АСУТП, авионики (в сл. «непопулярной» Ada), требований к медицинской технике и т.д. :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 2)
Ответ на: комментарий от nager

Это мифы эффективного менеджмента, который верит в каргокультистский «аджайл»(тм) (корпоративного пошива, где гибкость только для менеджеров и заказчиков, рулят не люди, а процессы и ритуалы и т.д. ересь вместо «аджайл манифеста», где ни слова про менеджеров), тайм ту маркет и переписахтунг. А в мишон-критикал приложениях, которые прикладнее всего что в ширпотребном ойти, никакого аджайла нет :) сплошной водопад, спиралька и V-модель с формальной верификацией, без которой «программные продукты» к прикладному использованию непригодны :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 6)
Ответ на: комментарий от Assembler

тащите одни и теже ошибки от одной версии программы к другой

Какой конкретно программы?

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

А вместо рабочей станции с GUI

https://elmidiaspora.az/demo.ict.az/uploads/news/Niklaus_Virt1487180437.jpg

простыни сишных, пайтоновских и асмовских текстов.

О чём доктор и говорит в обсуждаемом интервью:

one should not teach a language, but programming. One must focus on programming concepts, and not on language features.

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

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

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

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

и вот

Конкретный объект в программе - это выделенный кусок памяти с персональным уникальным адресом.

чет ты уже переобулся. давайте я вам так скажу, что класс должен быть классом хоть в логике, хоть в программировании, потому что программирование, хотите ли вы того или нет, построено на логике. Пойдемте сначала... пусть у нас есть вещь. то постоянное и неизменное в ней, что делает ее имено тем чем она является, было названо признаками. теперь будет важным отметить, что вещь не обладает признаками, она ими наделена, потому как неспособна распоряжаться ими. существуют также и свойства. их вещь, может как приобретать, так и терять. и вот если выделить и объеденить все ОДИНАКОВЫЕ признаки у каких либо вещей ,то можно сформировать понятие. у понятия есть объем и содержание. в содержание входят, как признаки, так и свойства. в объем же входят все объекты, которые попадают под это понятие, то есть все те, у которых есть одинаковые признаки на основе которых и было сформировано понятие. возьмем вилку... что общего у всех вилок? ну то они служат для приема пищи. не важны ее цвет, материал. можно взять фанеру и за пару минут выпелить из нее вилку, пусть даже по виду отдаленно ее напоминая, но как только я сяду за стол с нею в руке, и буду пытаться наткнуть на нее еду ты сможешь догадаться что у меня в руке вилка. и пусть я ее покрашу в другой цвет, то есть изменю ее свойство, она все равно останется вилкой. объем понятия вилки-это все вилки, что есть, будут и были. неважны время и место. важны лишь признаки. а что же класс? возмем сто одинаковых вилок и разложим их настоле. все они вилки и у всех у них есть тот или те признаки по которым они попадают под этом понятие. то есть нам назовут ее признаки и даже с закрытыми глазами мы представим ее себе. и вот 10 вилок я покрашу маркером в красный цвет. то есть придам им свойство быть красными.... это не изменило ее признаков, она все еще вилка, просто приобрела новое свойство- красный цвет. это свойство теперь у всех 10 вилок из ста что я покрасил, а лучше вобще из всех вилок. это свойство виделило 10 вилок в отделный класс, то есть крассных вилок. объем вилок на земле не изменился, просто в объеме образовался класс, мы сгруппировали вилки в кучку, благодаря определенном свойству. но что будет если я изменю ее признак? отпилю ее зубцы и заточу под отвертку и начну закручивать шурупы... я именю ее признак и теперь она отличается от всех вилок что на столе признаком. поэтому важно понимать, что меняя, или добавляя признаки мы переходим уже к новому понятию, а добавляя или меняя свойства мы переходим к новому классу. и если я начну у себя в голове представлять те 10 вилок краснного цвета, буду думать конкретно о них, то они будут конкретными объектами класса... так же и в программировании, я создал класс вилка, указал свойства ввиде полей, как цвет, вес... и создавая объекты этого класса я буду создавать объекты класса,а все поля в class { }; это будут описанием структуры этого объекта.

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

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

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

helloworld --help

-bash: helloworld: command not found

Есть ошибка в этом helloworldе?

Бессмысленная программа не становится более или менее бессмысленной, что бы она не делала.

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

почти любой, кроме Hello world, но даже там они могут быть.

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

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

программирование, хотите ли вы того или нет, построено на логике

Вот и разберись, пожалуйста, с логикой

[…] и создавая объекты этого класса я буду создавать объекты класса

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

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

Не очень хочется обесценивать твой труд

не стесняйся.

[…] и создавая объекты этого класса я буду создавать объекты класса

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

Только я не очень понимаю, почему ты мне это объясняешь

потому что вы выше мне сказали что

Класс - это не конкретный набор объектов

я у вас уточнил, что вы подразумеваете под конктретыми объектами и вы все свели к программированию. хотя я считаю, что программирование не должно идти в разрез с логикой, и поэтому что является классом там, должно быть и классам в программировании. неочень красиво так пьянеть от своего прыграммистического склада ума, чтобы вдруг начать выдумывать свои законы которые никак невяжутся с теми науками на которое это самое программирование опирается. вот только об этом и речь. а то один в одних языках городит свое , другой вдругих языках вдруг решает что переменная это ОБЪЕКТ класса, а сам объек это это ничто иное, как переменная!!!!! недолжно быть такого как с ЖИ-ШИ, заучи тупо и пиши. а почему так, и чем это обусловлено тебе знать необязательно. если залезли и стали вдруг фиологами или иными деятелями то будьте добрые делать стройные и красивые вещи, которые вдруг не потому что ЯТАКХОЧУ , а потому что так правильно!

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

пораждая объекты в плюсах, я буду тем самым пораждать класс,

Это вопиющее не так. Ни в логике, ни в программировании

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

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

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

это свойство виделило 10 вилок в отделный класс, то есть крассных вилок

Вот в этом месте ты написал правильно, но дальше уже сам не понял, что написал. В этом месте у тебя произошло две вещи: 1) ты породил класс красных вилок и 2) взял конкретный набор из 10 вилок, которые попали в этот класс. «10 красных вилок, относящихся к классу красных вилок» и «класс красных вилок» - это не тождественные вещи.

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

относящихся к классу красных вилок» и «класс красных вилок» - это не тождественные вещи.

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

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

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

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

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

Я как-то пропустил драму, можно ссылку?

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

как у тебя класс превратился в массив.

сlass cl{
std::string st=" " ;

};

int main(){
cl obj;
cl obj1;
cl obj2;
// n-число всех объктов класса cl.
cl M[n];
M[0]=obj;
M[1]=obj1;
M[2]=obj2;
...
...
...
};

вот этот массив есть набор объектов, а набор объектов это и есть класс! поправлю. но число всех объектов зависит от свойств, а СВОЙСТВА Я ЗАДАЮ В ПОЛЯХ КЛАССА. могу ли я исчерпать весь класс, ДА. могу ли я создать подкласс? да могу. а если я создам только один объект, спросит кто-то? ну и что. вы создадите подкласс просто это не будет ошибкой.

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

потому что это просто пример ооочень упрощенный

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

после мы укажем еще одно свойсвтво

И породишь ещё один класс

поэтому класс всех крассных вилок вобще неможет быть полность покрыт только нашими десяти вилками

Ты определяешь свой класс через эти десять вилок. Т.е. приравниваешь класс к конкретному набору вилок. Это так не работает.

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

Не поэтому

Короче, я тебе указал, в чем сбоят твои рассуждения.

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

ну чтобы вобще небыло вопросов, то повторю еще раз что это описание структуры объекта

class cl{


};
а сколько объектов мы создадим это уже зависит от того кто создает. Но класс-это набор объектов. в логике это набор объектов обобщенных посредством понятия, а в программировании это набор объектов созданных на основе
class{

};
а какими свойствами вы наделяете объект уже зависит от программиста. если он создал количество полей отражающих свойства объекта и создал число объектов столько что исчерпывают этот класс то что? все ок. но это ж понятно, что если только один объект из числа всех объектов класса, то это просто подкласс. но в мы же говорим об понятиях! что есть класс вобще. и я вам сказал, что это. если несогласны то конкретнее пожалуйста.

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

И породишь ещё один класс

не класс, а подкласс. в чем проблема? этот подкласс входит в наш класс. не крассные вилки включают всебя класс(подкласс) крассных вилок, класс(подкласс)крассных вилок ,включает в себя класс(подкласс) красных деформированных вилок.

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

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

class cl{

};

int main(){
cl obj; // ты создал объект класса.
};
в чем ошибка? хочешь назови его подклассом. что не так? на сам класс это набор объектов. а вот class cl{}; это всего лишь описание. это не класс!

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

Ты определяешь свой класс через эти десять вилок

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

class krasnyx_vilok{

};
это всего лишь описание того что будет в объетке класса, его внутреннести. это всего лишь те свойства, помните что что есть свойства, так вот это всего лишь свойства, которыми я наделяю крассные вилки. а свойства не признаки. и тут я в структуре
class krasnyx_vilok{
// я описываю какие еще будут свойства плюс к тому что они будут красными.
};

вот и все.

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

Подкласс - это тоже класс, только с уточнением критериев попадания в этот класс по сравнению с родительским классом. Класс «красные вилки» - это подкласс класса «вилки». Понятно, что если ты возьмешь конкретное множество объектов и отнесешь часть из них к классу «вилки», а потом к классу «красные вилки», то во втором случае у тебя в наборе «красных вилок» окажется меньше, чем просто «вилок», а «деформированных красных вилок» будет меньше, чем просто «красных вилок». Это никаким образом не меняет простую очевидность, что класс «деформированные красные вилки» и конкретный набор «деформированных красных вилок» - это не тождественные вещи. Ты фундаментально не врубаешься в этом самом месте.

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

после мы укажем еще одно свойсвтво

И породишь ещё один класс

я понял, вы перепутали свойство с признаками. если бы я добавил или убавил еще один признак, то получил бы совсем иное понятие.

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

у тебя в наборе «красных вилок» окажется меньше,

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

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

ты никуда ничего не несешь.

я про перемещение в пространстве вообще ничего не говорил, причем тут это вообще?

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

Это никаким образом не меняет простую очевидность, что класс «деформированные красные вилки» и конкретный набор «деформированных красных вилок» - это не тождественные вещи. Ты фундаментально не врубаешься в этом самом месте.

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

class {
};
то считайте пожалуйста.

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

я про перемещение в пространстве вообще ничего не говорил, причем тут это вообще?

говорил. вот

Понятно, что если ты возьмешь конкретное множество объектов и отнесешь часть из них к классу «вилки»

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

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

изменил признак, и это уже не вилка, а заточка или отвертка.

Вирт предусмотрел для этого «записи с вариантами» в классе «холодное оружие» :)

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

отнесешь часть из них к классу

отнесешь_к_классу, лол :)

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

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

Что эта? Ada и Java - одни из реализаций принципов сильной типо-безопасности и модульности.

Тупиком академического подхода считается Algol-68.

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