Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 28.08.12 16:02
Оценка: 19 (4) +6 -4
http://habrahabr.ru/post/150260/
Очень созвучные мне мысли:

До меня особенно долго доходило, что программисты обязательно, с некоторой периодичностью, делают ошибки. Я в прошлом году много говорил о том, что мы познакомились со статическим анализом и прогнали через него весь наш код, в результате получив сотни и тысячи выявленных проблем. И это очень круто — ведь теперь можно поднять историю, сказать «Смотри, вот тут я допустил ошибку» и показать всем место, где была допущена ошибка. Все посмотрят и для себя отметят: «О, как оно может быть! Хм, постараюсь такого не допускать». Это хорошо, но проблема-то не в следствии, а в причине. Если синтаксис позволяет что-то реализовать некорректно, то это «что-то» будет некорректно реализовано. Именно поэтому, кроме ввода статического анализа я бы хотел сильнее ограничить выразительность языковых средств и тем самым оградить программистов от совершения ошибок.

Никлаус Вирт это непосредственно реализует в своих языках — минимизация понятий.
Я тоже уже давно пришел к выводу, что:
1. Язык должен быть минимален насколько возможно.
2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 28.08.12 16:08
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>http://habrahabr.ru/post/150260/


боян.
http://rsdn.ru/forum/philosophy/4843475.aspx
Автор: Abyx
Дата: 05.08.12
In Zen We Trust
Re: Джон Кармак о науке и искусстве разработки ПО
От: Hobot Bobot США  
Дата: 28.08.12 16:16
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Я тоже уже давно пришел к выводу, что:

LVV>1. Язык должен быть минимален насколько возможно.
LVV>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.

Правильно! Я тоже думаю, что Вижуал Васик — наше всё, а среда (VB 6.0), которая выбрасывала модальный message box при попытке покинуть синтаксически некорректную строку — это непревзойдённый идеал.

Ну ещё можно Спектрумы вспомнить, опять же, с Васиком. Полная лафа — никакой выразительности языковых средств и физическая невозможность написать что-то неправильно.
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re: Джон Кармак о науке и искусстве разработки ПО
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 28.08.12 16:21
Оценка: +13 -1
> я бы хотел сильнее ограничить выразительность языковых средств

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

ps
Имхо, будущее за усилением статического анализа (что и отражено в исходном тексте).
Ограничение выразительности языков — это, конечно, бред.
Re[2]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 28.08.12 16:32
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, LaptevVV, Вы писали:


LVV>>http://habrahabr.ru/post/150260/


A>боян.

A>http://rsdn.ru/forum/philosophy/4843475.aspx
Автор: Abyx
Дата: 05.08.12

Ну, по ссылке — краткий конспект этого баяна...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 28.08.12 16:35
Оценка:
Здравствуйте, DarkGray, Вы писали:

>> я бы хотел сильнее ограничить выразительность языковых средств

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

Больше кода — это для получения функционала, который не факт, что нужен.
Вселенная бесконечна как вширь, так и вглубь.
Re: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 28.08.12 16:36
Оценка: +3
Здравствуйте, LaptevVV, Вы писали:

LVV>http://habrahabr.ru/post/150260/

LVV>Очень созвучные мне мысли:
LVV>

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


перевод неточный
в оригинале это звучало как "I would like to be able to enable even more restrictive subsets of languages and restrict programmers even more, because we make mistakes constantly"
про "ограничение выразительности" — ни слова.
зато есть "я хотел бы включить больше запретов в языках и ограничить программистов еще больше."

что означает, что надо не выкинуть из С++ такие выразительные языковые средства как ссылки, move-only объекты и const, и оставить только подмножество Си с raw pointers,
а наоборот, надо добавить в язык больше языковых средств ограничивающих программиста, как например иммутабельность по умолчанию, мутабельные но не nullable указатели и т.п.,
и выкинуть из языка опасные невыразительные языковые средства, такие как raw pointers
In Zen We Trust
Re[2]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 28.08.12 16:42
Оценка: -1 :)
Здравствуйте, Abyx, Вы писали:

A>перевод неточный

A>в оригинале это звучало как "I would like to be able to enable even more restrictive subsets of languages and restrict programmers even more, because we make mistakes constantly"
A>про "ограничение выразительности" — ни слова.
A>зато есть "я хотел бы включить больше запретов в языках и ограничить программистов еще больше."
A>что означает, что надо не выкинуть из С++ такие выразительные языковые средства как ссылки, move-only объекты и const, и оставить только подмножество Си с raw pointers,
A>а наоборот, надо добавить в язык больше языковых средств ограничивающих программиста, как например иммутабельность по умолчанию, мутабельные но не nullable указатели и т.п.,
A>и выкинуть из языка опасные невыразительные языковые средства, такие как raw pointers
Да. Именно это я и имел ввиду: ограничение свободы программистов. И языком и средой.
Например, в качестве ограничений можно предложить запрет наследования по умолчанию, и требование явного указания, что класс-структура-запись является базовой и будут наследники.
Или запрет множественного оператора return...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Джон Кармак о науке и искусстве разработки ПО
От: Шахтер Интернет  
Дата: 28.08.12 16:47
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>http://habrahabr.ru/post/150260/

LVV>Очень созвучные мне мысли:
LVV>

LVV>До меня особенно долго доходило, что программисты обязательно, с некоторой периодичностью, делают ошибки. Я в прошлом году много говорил о том, что мы познакомились со статическим анализом и прогнали через него весь наш код, в результате получив сотни и тысячи выявленных проблем. И это очень круто — ведь теперь можно поднять историю, сказать «Смотри, вот тут я допустил ошибку» и показать всем место, где была допущена ошибка. Все посмотрят и для себя отметят: «О, как оно может быть! Хм, постараюсь такого не допускать». Это хорошо, но проблема-то не в следствии, а в причине. Если синтаксис позволяет что-то реализовать некорректно, то это «что-то» будет некорректно реализовано. Именно поэтому, кроме ввода статического анализа я бы хотел сильнее ограничить выразительность языковых средств и тем самым оградить программистов от совершения ошибок.

Лучше просто не писать код. Нету кода -- нету ошибок. Американский совок.

LVV>Никлаус Вирт это непосредственно реализует в своих языках — минимизация понятий.
LVV>Я тоже уже давно пришел к выводу, что:
LVV>1. Язык должен быть минимален насколько возможно.

Язык должен быть не минимален, а оптимален.

LVV>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.


Не дай бог поставить человека в зависимость от тупой железки.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 28.08.12 16:53
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>требование явного указания, что класс-структура-запись является базовой и будут наследники.


именно.
я поставил -1 Вашему первому посту за фразу "Язык должен быть минимален насколько возможно."
теперь +1.

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

если бы была цель сделать *минимальный* язык — никаких override не добавляли бы
In Zen We Trust
Re: Джон Кармак о науке и искусстве разработки ПО
От: AlexRK  
Дата: 28.08.12 16:57
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Никлаус Вирт это непосредственно реализует в своих языках — минимизация понятий.

LVV>Я тоже уже давно пришел к выводу, что:
LVV>1. Язык должен быть минимален насколько возможно.
LVV>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.

Я бы сказал, что минимизация языка — это один из вариантов реализации (причем не самый лучший) подмножества более общей задачи: полной верификации программы на этапе компиляции.
Re[4]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 28.08.12 17:17
Оценка:
Здравствуйте, Abyx, Вы писали:

LVV>>требование явного указания, что класс-структура-запись является базовой и будут наследники.

A>именно.

A>как Вы наверное знаете, в С++11 добавили ключевые слова final, override и т.п., именно для указания таких ограничений.

A>это те самые выразительные языковые средства, и с ними язык стал больше, зато на нем можно писать более надежный код

A>если бы была цель сделать *минимальный* язык — никаких override не добавляли бы

Кстати, в Компонентном паскале все это сделано с самого начала...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 28.08.12 17:19
Оценка: :))
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, LaptevVV, Вы писали:


LVV>>Никлаус Вирт это непосредственно реализует в своих языках — минимизация понятий.

LVV>>Я тоже уже давно пришел к выводу, что:
LVV>>1. Язык должен быть минимален насколько возможно.
LVV>>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.

ARK>Я бы сказал, что минимизация языка — это один из вариантов реализации (причем не самый лучший) подмножества более общей задачи: полной верификации программы на этапе компиляции.

ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.
Из которого впоследствии можно получить любые формы представления. В том числе и текстовые
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: AlexRK  
Дата: 28.08.12 17:28
Оценка:
Здравствуйте, LaptevVV, Вы писали:

ARK>>Я бы сказал, что минимизация языка — это один из вариантов реализации (причем не самый лучший) подмножества более общей задачи: полной верификации программы на этапе компиляции.

LVV>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.
LVV>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые

Ну, я акцент сделал на другом моменте, но если говорить о компиляции, то она у вас все равно будет — вы же будете не байты AST добавлять к своей программе? Все равно будет преобразование к внутренней структуре, этакая компиляция "шажками", причем некоторые из таких шажков могут быть очень длительными и ресурсоемкими...
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: novitk США  
Дата: 28.08.12 18:07
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Да. Именно это я и имел ввиду: ограничение свободы программистов. И языком и средой.

LVV>Например, в качестве ограничений можно предложить запрет наследования по умолчанию, и требование явного указания, что класс-структура-запись является базовой и будут наследники.
LVV>Или запрет множественного оператора return...

A при чем здесь Вирт? Система типов компонентного паскаля не имеет даже квантификаторa const, то есть по факту "ограничений свободы" там не сильно больше чем в C.
Re: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.08.12 21:30
Оценка: +5
Здравствуйте, LaptevVV, Вы писали:

LVV>1. Язык должен быть минимален насколько возможно.

LVV>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.

Ты неверно понял то, что говорит Кармак. Он говорит о том, что язык должен своей структурой запрещать потенциально опасные вещи, а не то что он минимальным должен быть. Виртовские языки очень опасны, хоть и с примитивнейшим синтаксисом.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 28.08.12 21:30
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.

LVV>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые

Зачем это все?
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 29.08.12 04:58
Оценка:
Здравствуйте, LaptevVV, Вы писали:

ARK>>Я бы сказал, что минимизация языка — это один из вариантов реализации (причем не самый лучший) подмножества более общей задачи: полной верификации программы на этапе компиляции.

LVV>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.
LVV>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые
Это по мужски . Вы вообще иногда думаете прежде чем что-то писать ?
Re: Джон Кармак о науке и искусстве разработки ПО
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 29.08.12 08:40
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>http://habrahabr.ru/post/150260/

LVV>Очень созвучные мне мысли:

Нормальные мысли профессионала, который (очень) хорошо осознает то, чем он занимается.

По мне — ничего нового в них нет

Но все равно, спасибо за эту ссылку на перевод.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[4]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 11:44
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


ARK>>>Я бы сказал, что минимизация языка — это один из вариантов реализации (причем не самый лучший) подмножества более общей задачи: полной верификации программы на этапе компиляции.

LVV>>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.
LVV>>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые
__>Это по мужски . Вы вообще иногда думаете прежде чем что-то писать ?
Мы УЖЕ реализовали.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 29.08.12 14:20
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Мы УЖЕ реализовали.

мир — это госпиталь неизлечимых больных (с)

Что вы УЖЕ реализовали, можно поподробнее ?
Re[6]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 14:47
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

LVV>>Мы УЖЕ реализовали.

__>мир — это госпиталь неизлечимых больных (с)
__>Что вы УЖЕ реализовали, можно поподробнее ?
В конце года подробности. Когда соберем статистику по использованию, исправим обнаруженные ляпы, и по результатам допишем операции рефакторинга.
Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.
Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
И в чистом текстовом виде пока даже не сохраняется.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 29.08.12 15:59
Оценка: -3
Здравствуйте, LaptevVV, Вы писали:

LVV>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.

LVV>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>И в чистом текстовом виде пока даже не сохраняется.

Очередной редактор блок-схем? в жизни большего бреда не слышал . Хотя нет погодите слышал — когда всеми силами продвигали общемировую идею программирования на великом ЯП Дракон . Вот он среднестатистический российский преподаватель, бессмысленный и беспощадный. Зеркало современной российской науки.
А я потратил несколько драгоценных секунд моей жизни на прочтение всей этой чуши. Коллеги не повторяйте моей ошибки, я ее уж точно не повторю.
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 16:04
Оценка: +2
Здравствуйте, a_g_99, Вы писали:


__>Очередной редактор блок-схем? в жизни большего бреда не слышал . Хотя нет погодите слышал — когда всеми силами продвигали общемировую идею программирования на великом ЯП Дракон .

Вы абсолютно ничего не поняли.

__>Вот он среднестатистический российский преподаватель, бессмысленный и беспощадный. Зеркало современной российской науки.

Вот он — среднестатистический программист, бессмысленный и беспощадный...
__>А я потратил несколько драгоценных секунд моей жизни на прочтение всей этой чуши. Коллеги не повторяйте моей ошибки, я ее уж точно не повторю.
У вас сильно завышенное, я бы даже сказал, чрезмерно раздутое самомнение...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 29.08.12 16:49
Оценка: +1 :)
> __>Очередной редактор блок-схем? в жизни большего бреда не слышал . Хотя нет погодите слышал — когда всеми силами продвигали общемировую идею программирования на великом ЯП Дракон .
> Вы абсолютно ничего не поняли.
>
> __>Вот он среднестатистический российский преподаватель, бессмысленный и беспощадный. Зеркало современной российской науки.
> Вот он — среднестатистический программист, бессмысленный и беспощадный...
> __>А я потратил несколько драгоценных секунд моей жизни на прочтение всей этой чуши. Коллеги не повторяйте моей ошибки, я ее уж точно не повторю.
> У вас сильно завышенное, я бы даже сказал, чрезмерно раздутое самомнение...


Вот тут я за Лаптева заступлюсь и пожелаю удачи, хоть и не знаю, что он там творит. Даже если они там там что-то пилят не очень разумное, доброе и вечное, все-равно пусть пилят. С очень небольшой вероятностью даже что-то получится Будет что студентам показать. А если нет, то и не жалко. Преподавателю опыт практической работы, даже может и неудачной, это высшее благо. Иначе они преподают совсем уж хрень. А так они хоть что-то проверят на практике. Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.08.12 17:03
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вы абсолютно ничего не поняли.


Я тоже. Можно для идиотов объяснить — зачем? Выигрышь в чем? В том, что студенты не умеют писать парсеры текста? Или какое то еще таинственный бенефит?
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 29.08.12 17:09
Оценка: -1
Здравствуйте, LaptevVV, Вы писали:

LVV>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.

LVV>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>И в чистом текстовом виде пока даже не сохраняется.

Это ж очередной JetBrains MPS.
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 17:16
Оценка: 17 (2)
Здравствуйте, grosborn, Вы писали:

G>Вот тут я за Лаптева заступлюсь и пожелаю удачи, хоть и не знаю, что он там творит. Даже если они там там что-то пилят не очень разумное, доброе и вечное, все-равно пусть пилят. С очень небольшой вероятностью даже что-то получится Будет что студентам показать. А если нет, то и не жалко. Преподавателю опыт практической работы, даже может и неудачной, это высшее благо. Иначе они преподают совсем уж хрень. А так они хоть что-то проверят на практике. Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.

1. Все — получится. Получится именно то, что задумывали.
2. Уже сейчас студент накатал порядка 10000 операторов на Додиезе и на Питоне. Архитектура переделывалась не менее 3 раз. И сейчас уже довольно стройная. Хотя еще чистить и чистить. То есть обучение разработке и рефакторингу архитектуре на практике. Более того, в процессе работы мы отделили платформо-зависимые вещи в нижний слой. А библиотека стандартных модулей написана уже на нашем языке — платформо-независимо.
3. Студент-главный программист руководил год группой из 3 человек — уже навыки тимлида получил.
4. Студент придумал несколько механизмов расширения. Например, программа может иметь любой синтаксис (в рамках семантически эквивалентного ядра). Мы можем показать программы на 3 языках: наш собственный, Компонентный паскаль и подмножество Додиеза. Да еще на русском и на английском...
И добавить новый синтаксис — за пару часов. Время нужно на отладку грамматики...
5. Проводится большая работа по исследованию необходимых и достаточных операций рефакторинга. Поскольку редактор НЕ тек4стовый, то копипаста отсутствует в принципе — чтобы студни не копировали друг у друга проги... Но взамен нужно достаточный набор операций преобразования программы.
Ну, там еще много чего навешаем. Через год посмотрите...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 17:17
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, LaptevVV, Вы писали:


LVV>>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.

LVV>>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>>И в чистом текстовом виде пока даже не сохраняется.

DM>Это ж очередной JetBrains MPS.

Мы знакомы с этими работами. И еще со многими другими.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 17:22
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


LVV>>Вы абсолютно ничего не поняли.


AVK>Я тоже. Можно для идиотов объяснить — зачем? Выигрышь в чем? В том, что студенты не умеют писать парсеры текста? Или какое то еще таинственный бенефит?

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

В последние годы в вузы на ИТ-направления приходит все больше школьников, которых не обучали алгоритмизации и программированию в школе. Это весьма неприятное обстоятельство обусловлено тем, что стандарт среднего образования по информатике и ИКТ предусматривает изучение алгоритмизации и программирования только в профильных классах. В вузы же приходят много школьников, которых обучали информатике по стандарту общего среднего образования, в котором на алгоритмизацию отведено менее 10 часов. Это объясняется тем, что для поступления на некоторые ИТ-направления и специальности даже не требуется сдавать ЕГЭ по информатике (например, на направление «Информатика и вычислительная техника» требуется сдать ЕГЭ по математике и физике). Поэтому в настоящее время в вузе требуется осуществлять обучение программированию с начального уровня.

При обучении программированию необходимо решить две важных проблемы: на каком языке обучать программированию, и в какой среде проводить обучение. В последнее время в Интернете (например, на сайте pedsovet.org) преподавателями ведутся оживленные дискуссии по этим вопросам. Аналогичную картину можно наблюдать и в публикациях. Например, в статье [1] определен набор признаков классификации, и по этим признакам сравниваются несколько языков программирования, которые можно было бы использовать в качестве языка обучения: Pascal, C, Java, Python, Perl. Авторы делают вывод о том, что лучшим выбором все еще является Pascal. Один из существенных доводов в пользу Pascal – наличие простой интегрированной среды TurboPascal, которая практически русифицирована. В работе [2] для обучения предлагается использовать язык и систему программирования PascalABC.NET, разработанные на факультете математики, механики и компьютерных наук Южного федерального университета для обучения программированию. Авторы [3] ратуют за обучение с использованием Visual Basic, а в [4] в качестве языка для обучения используется С++. Нужно заметить, что во многих вузах России (например, в астраханских университетах) для первоначального обучения начинающих программистов используют языки C/C++ в профессиональных средах от Microsoft. Однако в Вологодском университете для обучения программированию активно используют Оберон [5]. Автор проекта «Информатика-21» Ф.В. Ткачев вместе с группой сподвижников считает, что наилучшим выбором является один из диалектов Оберона – Компонентный Паскаль [6], который он использует для обучения программированию школьников и студентов-физиков (в МГУ). Автор книги [7], являющийся руководителем Хабаровской школы программирования, придерживается такого же мнения. А.Г. Кушниренко предлагает первичное обучение осуществлять с использованием системы и языка программирования КуМир [8,9].

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

Ссылки:
1. Лобачев А.А, Куликова О.В. Выбор языка для обучения программированию / Информационные технологии в образовании. XVIII Международная конференция-выставка: Сборник трудов участников конференции. Ч. VI. — М.: МИФИ, 2008., с.45-47.
2. Бельчусов А.А., Степанов А.В. Повышение эффективности обучения программированию в школе и вузе / Материалы V Всероссийской научно-практической конференции «Проблемы информатизации образования: региональный аспект», Чебоксары, 25-27 апреля 2007 г. — Чебоксары, 2007., с.27-33.
3. Ведяева Е.С., Ведяева С.Ю. Возможности языков программирования Visual Basic при обучении алгоритмизации и программированию / Информационные технологии в образовании. XVIII Международная конференция-выставка: Сборник трудов участников конференции. Ч. VI. — М.: МИФИ, 2008., с.19-20.
4. Онищенко В.А. Проблемы контроля знаний в компьютерном учебнике по языкам программирования / Материалы V Всероссийской научно-практической конференции «Проблемы информатизации образования: региональный аспект», Чебоксары, 25-27 апреля 2007 г. – Чебоксары, 2007., с. 241-245.
5. Свердлов С.З. Маленький большой язык Оберон // PC Week / RE №35 (109), 9/9/1997.
6. Колташев А.А., Чистяков Н.В., Попков А.И., Кучер Н.П., Ткачев Ф.В. Система ИТ-образования с точки зрения российских национальных интересов и научно-образовательных традиций / Материалы семинара "Информатика образования" в рамках VI Международной ("Ершовской") конференции "Перспективы систем информатики", 27-29 июня 2006, Академгородок, Новосибирск.
7. Потопахин В.В. Современное программирование с нуля! – М.: ДМК Пресс, 2010.
8. Кушниренко А.Г., Лебедев Г.В. Программирование для математиков: Учеб. Пособие для вузов – М.: Наука, Гл. ред. Физ.-мат. Лит., 1988. – 384 с.
9. А.Г. Кушниренко, В.Г. Лебедев. 12 лекций о том, для чего нужен школьный курс информатики и как его преподавать. Методическое пособие. – М.: Лаборатория Базовых Знаний, 2000. – 464 с.

Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.08.12 17:24
Оценка: +4 -1
Здравствуйте, LaptevVV, Вы писали:

AVK>>Я тоже. Можно для идиотов объяснить — зачем? Выигрышь в чем? В том, что студенты не умеют писать парсеры текста? Или какое то еще таинственный бенефит?

LVV>Андрей, объяснять долго.

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

LVV> А причины, которые побудили нас это начать делать, вот: из моей статьи:


Там нет ответа на заданный мной вопрос.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 17:31
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


AVK>>>Я тоже. Можно для идиотов объяснить — зачем? Выигрышь в чем? В том, что студенты не умеют писать парсеры текста? Или какое то еще таинственный бенефит?

LVV>>Андрей, объяснять долго.
AVK>Если ты не можешь коротко и понятно ответить на главный вопрос, что что то в консерватории не так, имхо.
LVV>> А причины, которые побудили нас это начать делать, вот: из моей статьи:
AVK>Там нет ответа на заданный мной вопрос.
Мой бенефит в том, что я в среду навешу оценивание работы студента. Для меня — это самое важное. Да и сами задания полностью можно в среде развернуть — преподаватель (не обязательно я) в системе помощи может сделать.
И вот студень в среде получает задание, исполняет, и получает оценку. Естественно, под присмотром препода.
Преподу требуется большая предварительная работа по наполнению среды, зато потом во время занятий можно сосредоточится на существе задачи, а не на преодоление синтаксиса языка программирования.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: dеnisko  
Дата: 29.08.12 17:34
Оценка:
Здравствуйте, LaptevVV, Вы писали:

В качестве ремарки, Ткачев врет на физфаке МГУ программированию обучают на ++, никакого оберона или паскаля нет и не было. Других студентов физиков в Мгу нет.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 17:37
Оценка:
Здравствуйте, dеnisko, Вы писали:

D>Здравствуйте, LaptevVV, Вы писали:


D>В качестве ремарки, Ткачев врет на физфаке МГУ программированию обучают на ++, никакого оберона или паскаля нет и не было. Других студентов физиков в Мгу нет.

Я спрошу. Может быть он преподавал на КП, а потом другой препод стал преподавать? На сайте Информатика-21 написано, что на физфаке МГУ и в лицее — школьников.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: dеnisko  
Дата: 29.08.12 17:41
Оценка:
Здравствуйте, dеnisko, Вы писали:

D>Здравствуйте, LaptevVV, Вы писали:


D>В качестве ремарки, Ткачев врет на физфаке МГУ программированию обучают на ++, никакого оберона или паскаля нет и не было. Других студентов физиков в Мгу нет.

Либо врешь ты, выбирай.
На физфаке Обучение программированию ведут две кафедры
математики -- http://matematika.phys.msu.ru/people
общей физики и волновых процессов — http://ofvp.phys.msu.ru/about/staff/ которую заканчивал я и на которой никого из перечисленных в [6] авторов нет.
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: dеnisko  
Дата: 29.08.12 17:43
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, dеnisko, Вы писали:


D>>Здравствуйте, LaptevVV, Вы писали:


D>>В качестве ремарки, Ткачев врет на физфаке МГУ программированию обучают на ++, никакого оберона или паскаля нет и не было. Других студентов физиков в Мгу нет.

LVV>Я спрошу. Может быть он преподавал на КП, а потом другой препод стал преподавать? На сайте Информатика-21 написано, что на физфаке МГУ и в лицее — школьников.
На подготовительном преподают студенты-ВМК, на физ.факе уже почти 15 лет как две кафедры.
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: ins-omnia СССР  
Дата: 29.08.12 17:52
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.

LVV>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые

Гм. А подопытный программист будет редактировать это "семантическое" представление или текстовое?
Если первое, то почему говориться о "наборе", это ж подразумевает текст? Если второе, то зачем тогда вообще какое-то представление кроме текста?
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.08.12 18:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Мой бенефит в том, что я в среду навешу оценивание работы студента.


Зачем для этого отказываться от нормального текстового исходника?

LVV>Да и сами задания полностью можно в среде развернуть — преподаватель (не обязательно я) в системе помощи может сделать.


Зачем для этого отказываться от нормального текстового исходника?

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


Зачем для этого отказываться от нормального текстового исходника?
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 18:08
Оценка:
Здравствуйте, dеnisko, Вы писали:

D>>В качестве ремарки, Ткачев врет на физфаке МГУ программированию обучают на ++, никакого оберона или паскаля нет и не было. Других студентов физиков в Мгу нет.

D>Либо врешь ты, выбирай.
Сударь, вы — хам! Культурные люди не позволяют себе в светской беседе обвинять собеседника во лжи. Смотрите ниже по ссылке.
D>На физфаке Обучение программированию ведут две кафедры
D>математики -- http://matematika.phys.msu.ru/people
D>общей физики и волновых процессов — http://ofvp.phys.msu.ru/about/staff/ которую заканчивал я и на которой никого из перечисленных в [6] авторов нет.
http://www.inr.ac.ru/~info21/
Проект Информатика-21 оттолкнулся от спецкурса на физфаке МГУ (с февраля 2001 г.) и занятий в Троицком лицее с осени 2001 г. и вышел в Сеть в сентябре 2002 г., сразу вызвав горячий интерес самой постановкой задачи.
Проект координирует усилия специалистов науки, образования, аэрокосмической промышленности и IT-индустрии по упорядочению преподавания программирования и информатики на основе достижений Науки.
Существует объективная необходимость серьёзного обучения основам программирования обширной категории
http://www.inr.ac.ru/~info21/otzyv2006.htm

Отзыв о с/к Введение в современное программирование

Приводимое ниже сообщение опубликовано 28 февраля 2006 в форуме проекта Информатика-21. Автор — А.Грушин, слушатель первой версии спецкурса 2001 г., выпускник кафедры математики физфака МГУ, ныне сотрудник легендарного Института прикладной математики (ИПМ) им. Келдыша.

"... Проект Информатика-21, как мне кажется, отнюдь не сводится к установке BlackBox'а на все компьютеры где бы то ни было — в школе, институте и т.д.
Я пришёл на спецкурс, читаемый уважаемым Ф.В.Ткачёвым на физфаке МГУ, в самом начале, это была пилотная версия, так сказать. Тогда мне было просто интересно, много нового, причём нового не потому, что недавно открыли, а потому, что стандартный курс программирования на факультете фактически ничего не давал — всё сводилось к освоению Ворда, Интернета и нескольким семинарам по C/C++ и MatLab (говорю за первый поток, на втором потоке преподавал Задков, и, по слухам, подавался предмет на порядок лучше). Всё, что мне из этого потом пригодилось — это MatLab, действительно полезное приобретение, но для успешной работы всё же недостаточно.
Соответственно структура курса — от самого простого, базового (грамотное написание программного кода, пред- и пост-условия, основные типы данных, объекты+методы), последовательно, к сложному (полиморфизм, инкапсуляция, модульность) — пришлась очень кстати и даже не самым умным студентам (т.е. мне ) удалось овладеть хотя бы азами программирования, причём правильного программирования (на мой взгляд, об этом — чуть ниже).
Сразу оговорюсь – освоить удалось отнюдь не всё, что давал нам Ф.В.Ткачёв и в этом виноват только я сам (хех, глупый был), но уже по мне можно провести нижнюю грань того, что можно вынести из читаемого курса (верхнюю грань сможет, наверное, провести сам Фёдор Васильевич, взяв наиболее успешных студентов).

Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 18:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


LVV>>Мой бенефит в том, что я в среду навешу оценивание работы студента.

AVK>Зачем для этого отказываться от нормального текстового исходника?
Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Джон Кармак о науке и искусстве разработки ПО
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 29.08.12 18:20
Оценка:
IO> Если второе, то зачем тогда вообще какое-то представление кроме текста?

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

И основных вопроса тогда два:
1. Стандартизировать ли внутреннее семантическое представление на уровне стандарта языка?
Плюсы:
— уменьшается стоимость разработки автоматических сервисов к языку
— повышается совместимость между языковыми сервисами
Минусы:
— жестко выбранное заранее представление может оказаться неподходящим под ряд задач
2. Что является первичным: текстовый листинг или внутреннее семантическое представление?

Имхо, удобно, когда:
— первичным представлением является текстовый листинг
— на уровне стандарта задано внутреннее семантическое представление в виде гибких соглашений
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 29.08.12 18:28
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Мы УЖЕ реализовали.

__>>мир — это госпиталь неизлечимых больных (с)
__>>Что вы УЖЕ реализовали, можно поподробнее ?
LVV>В конце года подробности. Когда соберем статистику по использованию, исправим обнаруженные ляпы, и по результатам допишем операции рефакторинга.
LVV>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.
LVV>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>И в чистом текстовом виде пока даже не сохраняется.

я правильно понимаю что это только для обучения студентов, а не для реальных проектов?
если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?
In Zen We Trust
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.08.12 18:29
Оценка:
Здравствуйте, LaptevVV, Вы писали:

AVK>>Зачем для этого отказываться от нормального текстового исходника?

LVV>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.

Непонятно.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 29.08.12 18:35
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>на Додиезе

На чём???
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[5]: Джон Кармак о науке и искусстве разработки ПО
От: ins-omnia СССР  
Дата: 29.08.12 18:51
Оценка:
Здравствуйте, DarkGray, Вы писали:

DG>Тот же Resharper работает же не с текстом, а с внутренним семантическим представлением, получаемым налету из текста.

DG>Тоже самое верно и для всех остальных автоматических и полуавтоматических сервисов.
Да, но с точки зрения пользователя они помогают работать именно с текстом.
Смысла заглядывать в их внутреннюю механику нет, если сам не пишешь для них плагин.

DG>И основных вопроса тогда два:

DG>1. Стандартизировать ли внутреннее семантическое представление на уровне стандарта языка?
DG>Плюсы:
DG>- уменьшается стоимость разработки автоматических сервисов к языку
DG>- повышается совместимость между языковыми сервисами
DG>Минусы:
DG>- жестко выбранное заранее представление может оказаться неподходящим под ряд задач
DG>2. Что является первичным: текстовый листинг или внутреннее семантическое представление?

DG>Имхо, удобно, когда:

DG>- первичным представлением является текстовый листинг
Примеров других юзабельных представлений пока не существует.
DG>- на уровне стандарта задано внутреннее семантическое представление в виде гибких соглашений
Тут я вижу два варианта. Либо это представление является неотъемлемой частью языка и средством повышения его выразительной силы. Как в Лиспе.
Либо это просто спецификация API а-ля КодеДом как в .НЕТ.
Из описания (довольно туманного) проекта "семантического Оберона" вроде как можно понять, что предпологается первый вариант.
Но как это будет работать выпытать у автора никому пока не удалось. Так что вероятно, это просто редактор AST + м.б. апи для работы с эмим AST. Т.е. фигня.
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
Re: Джон Кармак о науке и искусстве разработки ПО
От: minorlogic Украина  
Дата: 29.08.12 18:57
Оценка: +2
Есть простое правило. Все что можно проверить автоматически , НАДО проверить автоматически.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: novitk США  
Дата: 29.08.12 19:04
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, AndrewVK, Вы писали:


AVK>>Здравствуйте, LaptevVV, Вы писали:


LVV>>>Мой бенефит в том, что я в среду навешу оценивание работы студента.

AVK>>Зачем для этого отказываться от нормального текстового исходника?
LVV>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.

Под "семантикой действий студент" понимается последовательность действий по созданию программы? Вас интересует не только конечный результат, но и весь процесс к нему ведущий? Все равно не совсем понятно зачем вам графическое представление. VI например держит undo/redo с полным ветвлением.
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: WolfHound  
Дата: 29.08.12 19:19
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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

LVV>И в чистом текстовом виде пока даже не сохраняется.
Чем это лучше http://www.jetbrains.com/mps/ ?
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Джон Кармак о науке и искусстве разработки ПО
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 29.08.12 20:43
Оценка:
DG>>Тот же Resharper работает же не с текстом, а с внутренним семантическим представлением, получаемым налету из текста.
DG>>Тоже самое верно и для всех остальных автоматических и полуавтоматических сервисов.
IO>Да, но с точки зрения пользователя они помогают работать именно с текстом.
IO>Смысла заглядывать в их внутреннюю механику нет, если сам не пишешь для них плагин.

Грань между плагином и сложным кодом — очень тонкая. Сложный код часто при компиляции завязан на генерацию или модификацию кода самой программы. В качестве примера можно взять Nemerle. В нем как раз значительная часть кода работает со внутренним семантическим представлением — модифицируя и преобразуя его прямо в момент компиляции.

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

ps
Также очень желательно иметь возможность получить внутреннее семантическое представление в текстовом виде, но это уже должен быть текстовый листинг с простым синтаксисом: Xml, S-expression и т.д.
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 21:16
Оценка: :))
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


AVK>>>Зачем для этого отказываться от нормального текстового исходника?

LVV>>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.

AVK>Непонятно.

Писать долго...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 21:18
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, LaptevVV, Вы писали:


LVV>>Здравствуйте, AndrewVK, Вы писали:


AVK>>>Здравствуйте, LaptevVV, Вы писали:


LVV>>>>Мой бенефит в том, что я в среду навешу оценивание работы студента.

AVK>>>Зачем для этого отказываться от нормального текстового исходника?
LVV>>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.

N>Под "семантикой действий студент" понимается последовательность действий по созданию программы? Вас интересует не только конечный результат, но и весь процесс к нему ведущий? Все равно не совсем понятно зачем вам графическое представление. VI например держит undo/redo с полным ветвлением.

1. У нас НЕ графическое представление...
2. Да, нас интересует и последовательность действий, и структура программы. Семантическое дерево — это и есть структура программы. Которую можно сравнивать, например, с эталоном самыми разными способами. Или обмеривать метриками... В общем — много возможностей.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 21:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, LaptevVV, Вы писали:


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

LVV>>И в чистом текстовом виде пока даже не сохраняется.
WH>Чем это лучше http://www.jetbrains.com/mps/ ?
Сделаем сайт — посмотрите.
И мы не говорим, что это лучше или хуже. Мы делаем то, что НАМ надо.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 21:20
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, LaptevVV, Вы писали:


LVV>>на Додиезе

Т>На чём???
C# — это додиез в музыке.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 29.08.12 21:22
Оценка: 1 (1) +4 :)
Здравствуйте, Abyx, Вы писали:

A>я правильно понимаю что это только для обучения студентов, а не для реальных проектов?

A>если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?
Блин, достали уже эти разговоры о реальной жизни. Под эти разговоры уже развалили школу и почти развалили вузы.
Кто хочет только кодить на реальных языках — идите в ПТУ.
А универ — высшее образование. Надо знать кое-что помимо кода.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 29.08.12 21:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Блин, достали уже эти разговоры о реальной жизни. Под эти разговоры уже развалили школу и почти развалили вузы.

LVV>Кто хочет только кодить на реальных языках — идите в ПТУ.
LVV>А универ — высшее образование. Надо знать кое-что помимо кода.

да что Вы говорите
и что же надо знать помимо кода, и как в этом поможет ваша чудо-среда?
In Zen We Trust
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.08.12 22:40
Оценка: +2 -2
Здравствуйте, LaptevVV, Вы писали:

AVK>>Непонятно.

LVV>Писать долго...

Ну то есть либо ты сам не знаешь ответа, либо стыдно признаться.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 01:33
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>>>на Додиезе

Т>>На чём???
LVV>C# — это додиез в музыке.
Ок, а программирование то тут при чём?
Для языка C# есть официальное и общепринятое название.
Никто ж С или С++ не назвает До или До плюс плюс, или ADA — ля до ля.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 02:06
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>программа сразу в редакторе строится как дерево специального вида.

LVV>И в чистом текстовом виде пока даже не сохраняется.
LVV>1. У нас НЕ графическое представление...
А какое тогда? Если не графическое и не текстовое? И при этом "сразу в редакторе строится как дерево специального вида"?
Как пользователь это видит?

LVV>2. Да, нас интересует и последовательность действий, и структура программы. Семантическое дерево — это и есть структура программы. Которую можно сравнивать, например, с эталоном самыми разными способами. Или обмеривать метриками... В общем — много возможностей.

Ок, но что мешает генерить дерево прямо из текста программы и уже сравнивать сколько влезет? Зачем сразу в виде дерева его писать?
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 02:06
Оценка:
Здравствуйте, LaptevVV, Вы писали:

A>>я правильно понимаю что это только для обучения студентов, а не для реальных проектов?

A>>если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?
LVV>Блин, достали уже эти разговоры о реальной жизни. Под эти разговоры уже развалили школу и почти развалили вузы.
LVV>Кто хочет только кодить на реальных языках — идите в ПТУ.

Мы не про это. ПТУ готовит кодеров, ВУЗ грубо говоря должен готовить инженеров и исследователей.

LVV>А универ — высшее образование. Надо знать кое-что помимо кода.

Ты пойми, то, что ты сейчас сказал в первую очередь воспринимается как претензия на "Духовность" (тм). И реакция на это будет отрицательной.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: novitk США  
Дата: 30.08.12 02:32
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>1. У нас НЕ графическое представление...

A какое оно еще может быть, если парсера у вас нет?

LVV>2. Да, нас интересует и последовательность действий, и структура программы. Семантическое дерево — это и есть структура программы.Которую можно сравнивать, например, с эталоном самыми разными способами. Или обмеривать метриками... В общем — много возможностей.

Это все и так понятно. Не понятно чем вам компилятор мешает.
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 03:56
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, LaptevVV, Вы писали:


LVV>>программа сразу в редакторе строится как дерево специального вида.

LVV>>И в чистом текстовом виде пока даже не сохраняется.
LVV>>1. У нас НЕ графическое представление...
Т>А какое тогда? Если не графическое и не текстовое? И при этом "сразу в редакторе строится как дерево специального вида"?
Т>Как пользователь это видит?
Пользователь это видит как структурированный текст.
LVV>>2. Да, нас интересует и последовательность действий, и структура программы. Семантическое дерево — это и есть структура программы. Которую можно сравнивать, например, с эталоном самыми разными способами. Или обмеривать метриками... В общем — много возможностей.
Т>Ок, но что мешает генерить дерево прямо из текста программы и уже сравнивать сколько влезет? Зачем сразу в виде дерева его писать?
Нам нет нужы делать лексический и синтаксический анализ. Этой фазы просто нет.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 03:58
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, LaptevVV, Вы писали:


A>>>я правильно понимаю что это только для обучения студентов, а не для реальных проектов?

A>>>если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?
LVV>>Блин, достали уже эти разговоры о реальной жизни. Под эти разговоры уже развалили школу и почти развалили вузы.
LVV>>Кто хочет только кодить на реальных языках — идите в ПТУ.

Т>Мы не про это. ПТУ готовит кодеров, ВУЗ грубо говоря должен готовить инженеров и исследователей.

Вот именно!
Исследователей сейчас — один...
Инженеров — пара-тройка. Ну 5-6.
Остальные — человек 7-8 — это кодеры...
Это у нас сейчас так...
LVV>>А универ — высшее образование. Надо знать кое-что помимо кода.
Т>Ты пойми, то, что ты сейчас сказал в первую очередь воспринимается как претензия на "Духовность" (тм). И реакция на это будет отрицательной.
Да я бы и не набивался. Если б не затеяли разговор о реальностях жизни...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 04:01
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, LaptevVV, Вы писали:


LVV>>1. У нас НЕ графическое представление...

N>A какое оно еще может быть, если парсера у вас нет?

LVV>>2. Да, нас интересует и последовательность действий, и структура программы. Семантическое дерево — это и есть структура программы.Которую можно сравнивать, например, с эталоном самыми разными способами. Или обмеривать метриками... В общем — много возможностей.

N>Это все и так понятно. Не понятно чем вам компилятор мешает.
Компилятор на м не мешает.
Но мы его пока не делали.
Даже если и будем делать, то это будет "задняя" часть — генерация.
Ну, и само собой, сделаем конвертеры в текстовые преедставления С++, C# Компонентный Паскаль и т.п. .
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 04:05
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


AVK>>>Зачем для этого отказываться от нормального текстового исходника?

LVV>>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.

AVK>Непонятно.

При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.
В нашем случае сводится к 3 семантическим действиям:
1. Создание модуля
2. Создание оператора вывода
3. Создание строковой константы в операторе вывода.

Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.
В зависимости от его лишних "телодвижений".
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 04:14
Оценка:
Здравствуйте, ins-omnia, Вы писали:

IO>Здравствуйте, LaptevVV, Вы писали:


LVV>>ИМХО этапа компиляции вообще не должно быть. При наборе программы СРАЗУ должно строится внутреннее семантическое представление программы.

LVV>>Из которого впоследствии можно получить любые формы представления. В том числе и текстовые

IO>Гм. А подопытный программист будет редактировать это "семантическое" представление или текстовое?

IO>Если первое, то почему говориться о "наборе", это ж подразумевает текст? Если второе, то зачем тогда вообще какое-то представление кроме текста?
Нет. На экране все представляется как текст. Но этот текст нельзя редактировать посимвольно. Только в определенных места. Например, имя поменять в некоей конструкции. Если имя поменял, а в данной точке такого имени не видать — ошибка тут же выдается в окне ошибок.
И предлагается "либо крестик сними, либо трусы надень" — или исправь имя (список видимых имен вываливается), либо объяви новую переменную-константу.
Но имя — это некое свойство оператора. Другим свойством является тип переменной. Элементарные типы — тоже только заменить можно целиком. Даже удалить их при объявлении переменных нельзя.
И сам оператор можно только вставить/удалить/заменить. И все ключевые слова стоят сразу на месте и в правильной редакции...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: dеnisko  
Дата: 30.08.12 05:34
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, dеnisko, Вы писали:


LVV>Сударь, вы — хам! Культурные люди не позволяют себе в светской беседе обвинять собеседника во лжи. Смотрите ниже по ссылке.

Я да, а кто-то из вас лгун, что гораздо хуже.

D>>На физфаке Обучение программированию ведут две кафедры



LVV>Проект Информатика-21 оттолкнулся от спецкурса на физфаке МГУ (с февраля 2001 г.) и занятий в Троицком лицее с осени 2001 г. и вышел в Сеть в сентябре 2002 LVV>г., сразу вызвав горячий интерес самой постановкой задачи.


Все чудесатее и чудесатее. Чтобы не быть голословным, я как раз учился программировать на физ.факе около 2001 года. Обучение программированию было очень прагматичным. Было понятно, что кто-то уйдет в разработку (давали ++), кто-то станет теоретиком (поэтому давали немного матлаба) и все будут писать статьи (поэтому две лекции было по теху). Из теоретических дисциплин давали численные методы (читал проф. Чесноков), и некий вводный курс в программизм применительно к числодробилкам и решению задач обработки экспериментальных данных (Задков и Шленов). Никаких _официальных_ спец.курсов больше не было, да и было не нужно. Официального спец. курса по паскалю быть не могло в принципе, ибо а) он никак не применим ни в численном эксперименте, ни в обработке результатов. Неофицальные могли быть (типа того же фрического НМУ), объявления о них развешивались на доске и соседствовали с объявлениями о собрании клуба сатанистов и любителей аниме, да и воспринимались примерно так же. Спец. курсы были и позже на кафедре, например, было программирование под никс и программирование под кластер, но там все-таки уровень слегка повыше "я рисую на асфальте синим мелом слово хватит".

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

Чтобы было понятно, я не против общества любителей паскаля и оберона пророка его, собирайтесь где хотите, делайте что хотите, вы имеете право на существование и ничем не хуже кафедры простых целых чисел мех.мата, только обойдитесь без "вранья и надувания щек" как любит говорить одно местное молодое дарование.
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.08.12 05:43
Оценка: -1
Здравствуйте, grosborn, Вы писали:

G>Вот тут я за Лаптева заступлюсь и пожелаю удачи, хоть и не знаю, что он там творит. Даже если они там там что-то пилят не очень разумное, доброе и вечное, все-равно пусть пилят. С очень небольшой вероятностью даже что-то получится Будет что студентам показать. А если нет, то и не жалко. Преподавателю опыт практической работы, даже может и неудачной, это высшее благо. Иначе они преподают совсем уж хрень. А так они хоть что-то проверят на практике.


Но это пилят ваши деньги, если вы живете и работаете а России. Ваши налоги. Ваших детей, которые должны проходить обязательную программу math or CS в ВУЗе оболванивают за ваш же счет. Они вместо того чтобы, пройти строгие курсы будут картинки рисовать 5 лет благодаря таким вот Лаптевым. А что будет после окончания института? Каждый из них откроет собственную картинную галерею ?

G>Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.

Да не хуже. Там конкуренция и если ты делаешь хрень, то тонешь вмиг.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 05:58
Оценка:
Здравствуйте, a_g_99, Вы писали:

G>>Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.

__>Да не хуже. Там конкуренция и если ты делаешь хрень, то тонешь вмиг.

Если ты знаешь, как там, то что ты делаешь здесь?
Никакой конкуренции там нет.
Вселенная бесконечна как вширь, так и вглубь.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 06:07
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Но это пилят ваши деньги, если вы живете и работаете а России. Ваши налоги. Ваших детей, которые должны проходить обязательную программу math or CS в ВУЗе оболванивают за ваш же счет. Они вместо того чтобы, пройти строгие курсы будут картинки рисовать 5 лет благодаря таким вот Лаптевым. А что будет после окончания института? Каждый из них откроет собственную картинную галерею ?


Строгие курсы — это ПТУ. Лаптев, на сколько я понял, в ВУЗе. В нашем ВУЗе программирование было вообще только на первых курсах. Но вот на работу брать предпочитали только из нашего ВУЗа, а не из ПТУ, где было только программирование.
В ПТУ дают рыбу, а в ВУЗе — удочку.
Вселенная бесконечна как вширь, так и вглубь.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.08.12 06:07
Оценка: -1
Здравствуйте, Real 3L0, Вы писали:

R3>Если ты знаешь, как там, то что ты делаешь здесь?

Где "здесь"?

R3>Никакой конкуренции там нет.

Да что вы такое говорите ? Посмотрите например на нокию, куда ее эксперименты завели. А конкуренты не спали.
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 06:09
Оценка:
Здравствуйте, a_g_99, Вы писали:

R3>>Если ты знаешь, как там, то что ты делаешь здесь?

__>Где "здесь"?

http://www.rsdn.ru/forum/philosophy/4874209.1.aspx
Автор: a_g_99
Дата: 30.08.12


R3>>Никакой конкуренции там нет.

__>Да что вы такое говорите ? Посмотрите например на нокию, куда ее эксперименты завели. А конкуренты не спали.

Не знал, что Нокия в России и в ней пилят деньги.
Вселенная бесконечна как вширь, так и вглубь.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.08.12 06:14
Оценка: :)
Здравствуйте, Real 3L0, Вы писали:

R3>Строгие курсы — это ПТУ. Лаптев, на сколько я понял, в ВУЗе. В нашем ВУЗе программирование было вообще только на первых курсах. Но вот на работу брать предпочитали только из нашего ВУЗа, а не из ПТУ, где было только программирование.

Я про пту ничего не знаю, ты вам фора чтобы объяснить общественности что там и как. Но вот напр. в usa-вузах (в т.ч. и в лиге плюща, мите, беркли и др.) на CS и applied math специальностях курсы CS и applied math дают обязательно

R3>В ПТУ дают рыбу, а в ВУЗе — удочку.

Мне насколько я помню на выходе выдали диплом. Вам удочку?
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 06:20
Оценка: :)
Здравствуйте, a_g_99, Вы писали:

__>Я про пту ничего не знаю, ты вам фора чтобы объяснить общественности что там и как.


Возможно твой ВУЗ — это ПТУ в прошлом: было время, когда все переименовывались в более престижные названия.

__> Но вот напр. в usa-вузах (в т.ч. и в лиге плюща, мите, беркли и др.) на CS и applied math специальностях курсы CS и applied math дают обязательно


CS_и_applied_math-у CS_и_applied-math-во.

R3>>В ПТУ дают рыбу, а в ВУЗе — удочку.

__>Мне насколько я помню на выходе выдали диплом. Вам удочку?

Гы, это последний абзац всё хорошо показал. Успехов с дипломом.
Вселенная бесконечна как вширь, так и вглубь.
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.08.12 06:33
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Возможно твой ВУЗ — это ПТУ в прошлом: было время, когда все переименовывались в более престижные названия.

В конце 50-х был организован как закрытый НИИ с упором на производство радиоэлектроники и АСУ для космической промышленности. С середины 60-х начали обучение студентов на базе НИИ (стал институтом). Потом университетом. Слова "ПТУ" в истории не значились.

R3>CS_и_applied_math-у CS_и_applied-math-во.

У вас хорошо получается

R3>Гы, это последний абзац всё хорошо показал. Успехов с дипломом.

Это было к чему? У вас аргументы закончились?
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 06:46
Оценка:
__>В конце 50-х был организован как закрытый НИИ с упором на производство радиоэлектроники и АСУ для космической промышленности. С середины 60-х начали обучение студентов на базе НИИ (стал институтом). Потом университетом. Слова "ПТУ" в истории не значились.

О чём я и говорил: институты в советское время были ориентированы на выпуск практиков, университеты — на выпуск теоретиков.

R3>>CS_и_applied_math-у CS_и_applied-math-во.

__>У вас хорошо получается

Каков вопрос — таков ответ.

R3>>Гы, это последний абзац всё хорошо показал. Успехов с дипломом.

__>Это было к чему? У вас аргументы закончились?

Это было к тому, что ты, как практик, не смог понять мою фразу, как теоретика.
Вселенная бесконечна как вширь, так и вглубь.
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 30.08.12 07:18
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Это было к тому, что ты, как практик, не смог понять мою фразу, как теоретика.

Ваш хитроумный посыл в чем? В том что если человек тратит деньги налогоплательщиков на чушь, которая непонятна даже ему, то он серьезный теоретик?
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 30.08.12 07:31
Оценка:
> Но это пилят ваши деньги, если вы живете и работаете а России. Ваши налоги. Ваших детей, которые должны проходить обязательную программу math or CS в ВУЗе оболванивают за ваш же счет. Они вместо того чтобы, пройти строгие курсы будут картинки рисовать 5 лет благодаря таким вот Лаптевым. А что будет после окончания института? Каждый из них откроет собственную картинную галерею ?
>
> G>Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.
> Да не хуже. Там конкуренция и если ты делаешь хрень, то тонешь вмиг.

Ты вообще с ног на голову все ставишь, по твоей версии не российские гос-как-бэ-корпорации-жмыг-жмыг пилят, а преподаватели вузов вот такой вот научно-практической работой. Ну это полный бред. Меня уже банили на рсдн за такое грубое матершинное ругательство, но я его повторю ради прикола: ты маргинал оторванный от реальности.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 07:32
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>Ваш хитроумный посыл в чем? В том что если человек тратит деньги налогоплательщиков на чушь, которая непонятна даже ему, то он серьезный теоретик?


Почти так.
Если человек делает что-то непонятное ему, то не факт, что это чушь.
Вселенная бесконечна как вширь, так и вглубь.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 07:35
Оценка:
Здравствуйте, grosborn, Вы писали:

G>... маргинал оторванный от реальности.


Хм, это, вроде как, масло масляное.
Вселенная бесконечна как вширь, так и вглубь.
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 30.08.12 07:40
Оценка:
> AVK>>>Зачем для этого отказываться от нормального текстового исходника?
> LVV>>Потому как при наборе текста сложно оценивать семантические действия студента при создании программы.
>
> AVK>Непонятно.
> При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.
> В нашем случае сводится к 3 семантическим действиям:
> 1. Создание модуля
> 2. Создание оператора вывода
> 3. Создание строковой константы в операторе вывода.
>
> Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.
> В зависимости от его лишних "телодвижений".

Нда уж... Вот это конечно типично. Будете отсекать как полных незнаек, так и способных к программированию людей, которых в популяции меньше нескольких процентов и их развитое комбинаторное мышление дает часто нешаблонный подход.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 07:46
Оценка: +1
Здравствуйте, dеnisko, Вы писали:

LVV>>Сударь, вы — хам! Культурные люди не позволяют себе в светской беседе обвинять собеседника во лжи. Смотрите ниже по ссылке.

D>Я да, а кто-то из вас лгун, что гораздо хуже.
[]
D>Чтобы было понятно, я не против общества любителей паскаля и оберона пророка его, собирайтесь где хотите, делайте что хотите, вы имеете право на существование и ничем не хуже кафедры простых целых чисел мех.мата, только обойдитесь без "вранья и надувания щек" как любит говорить одно местное молодое дарование.
Сударь, я быть лгуном не могу, поскольку привел ссылки.
Представить доктора наук, входящего в топ-1000 самых цитируемых российских ученых (мировая величина в своей области), лжецом — я тоже не могу.
Скорее всего имеет место быть ваша неосведомленность о деятельности Ткачева.
А потому ваши высказывания о вранье характеризуют непосредственно вас, а не нас.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 30.08.12 07:49
Оценка:
> G>... маргинал оторванный от реальности.
>
> Хм, это, вроде как, масло масляное.

хз, придумал не я
(сижу жду бана
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 07:49
Оценка: :)
Здравствуйте, grosborn, Вы писали:

>> AVK>Непонятно.

>> При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.
>> В нашем случае сводится к 3 семантическим действиям:
>> 1. Создание модуля
>> 2. Создание оператора вывода
>> 3. Создание строковой константы в операторе вывода.
>>
>> Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.
>> В зависимости от его лишних "телодвижений".

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

Фигня. Отсекать мы будем тех, за которых находятся масса просителей...
С машиной не поспоришь...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 30.08.12 07:55
Оценка: +1
>>> AVK>Непонятно.
>>> При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.
>>> В нашем случае сводится к 3 семантическим действиям:
>>> 1. Создание модуля
>>> 2. Создание оператора вывода
>>> 3. Создание строковой константы в операторе вывода.
>>>
>>> Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.
>>> В зависимости от его лишних "телодвижений".
>
> G>Нда уж... Вот это конечно типично. Будете отсекать как полных незнаек, так и способных к программированию людей, которых в популяции меньше нескольких процентов и их развитое комбинаторное мышление дает часто нешаблонный подход.
> Фигня. Отсекать мы будем тех, за которых находятся масса просителей...
> С машиной не поспоришь...

Не очень мне это направление мысли нравится. Хотя конечно вам-то лучше знать.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: dеnisko  
Дата: 30.08.12 08:07
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, dеnisko, Вы писали:


LVV>>>Сударь, вы — хам! Культурные люди не позволяют себе в светской беседе обвинять собеседника во лжи. Смотрите ниже по ссылке.

D>>Я да, а кто-то из вас лгун, что гораздо хуже.
LVV>[]
D>>Чтобы было понятно, я не против общества любителей паскаля и оберона пророка его, собирайтесь где хотите, делайте что хотите, вы имеете право на существование и ничем не хуже кафедры простых целых чисел мех.мата, только обойдитесь без "вранья и надувания щек" как любит говорить одно местное молодое дарование.
LVV>Сударь, я быть лгуном не могу, поскольку привел ссылки.
Ну значит тебя вычеркиваем.
LVV>Представить доктора наук, входящего в топ-1000 самых цитируемых российских ученых (мировая величина в своей области), лжецом — я тоже не могу.
Да ну, поиск Ткачева по скопусу, я тогда тоже вхожу в топ самых цитируемых ученых. Про самых цитированных тоже он сказал?

LVV>Скорее всего имеет место быть ваша неосведомленность о деятельности Ткачева.

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

LVV>А потому ваши высказывания о вранье характеризуют непосредственно вас, а не нас.

Вас это кого? Тебя и ткачева или еще кто-то есть?
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: Nikkk2010  
Дата: 30.08.12 08:37
Оценка: -1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, a_g_99, Вы писали:


LVV>>>Мы УЖЕ реализовали.

__>>мир — это госпиталь неизлечимых больных (с)
__>>Что вы УЖЕ реализовали, можно поподробнее ?
LVV>В конце года подробности. Когда соберем статистику по использованию, исправим обнаруженные ляпы, и по результатам допишем операции рефакторинга.
LVV>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.
LVV>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>И в чистом текстовом виде пока даже не сохраняется.

Я сделал подобный редактор в 2006 году. Вот ссылка на мой блог. Такие редакторы называются синтаксически-ориентированные (syntax-directed editor). В них число синтаксических ошибок стремится к нулю. Пользователь не набирает конструкцию (оператор) символ за символом, а вводит конструкцию как единое целое.
15 лет до моего проекта в Германии была сделанa система программирования Modula-2. В рамках этого проекта тоже был реализован синтаксический редактор для языка Modula-2. Мой же ориентирован на C++.
Значение синтаксически-ориентированных редакторов будет возрастать по мере развития DSL языков.
I do all my own stunts
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 09:01
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.

LVV>В нашем случае сводится к 3 семантическим действиям:
LVV>1. Создание модуля
LVV>2. Создание оператора вывода
LVV>3. Создание строковой константы в операторе вывода.

LVV>Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.

LVV>В зависимости от его лишних "телодвижений".

Круто, конечно, но я все равно не вижу, зачем отказываться от текстового представления. Хочется редактор, который позволяет вместо текста вставлять блоки (хотя, на мой вкус, идея крайне сомнительная) — ради бога. Но чем текстовый формат то помешал? Вот,к примеру, есть такая штука в VS SDK, называется DSL Tools. Позволяет создавать графические DSL. Но формат, в котором результат формируется, таки текстовый по умолчанию. И никому вроде бы это не мешает. Наоборот, когда твои студенты из яселек вылезут, и не надо будет контроллировать, как они выражения набирают, они естественным образом перейдут к обычному текстовому редактору.

P.S. До сих пор помню, как меня выбешивала бессмысленность и беспощадность лаб, связанных с программированием. Но ты, похоже, взял новую высоту.
P.P.S. А одна из лучших лаб была по микропроцессорным секциям, и вот там то, хоть дело и происходило на ХТ с ч/б CGA монитором, был честный эмулятор железа, полноценный ассемблер и пошаговый отладчик. Учебного там было только живая схема процессора, мигающая блоками при отладке.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 09:04
Оценка: +1 :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Пользователь это видит как структурированный текст.


Вообще интересно. Если пользователь видит это как текст, зачем тогда от текста отказываться?

Т>>Ок, но что мешает генерить дерево прямо из текста программы и уже сравнивать сколько влезет? Зачем сразу в виде дерева его писать?

LVV>Нам нет нужы делать лексический и синтаксический анализ.

Ага. Значит мое предположение было верным — вы не умеете писать парсеры.

P.S. В моем вузе парсер Паскаля был курсовой на 3, емнип, курсе. Может стоит лучше этому студентов поучить, чем над ними измываться нечеловеческими способами?
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 09:14
Оценка: 1 (1) +2 -1 :)
Здравствуйте, Nikkk2010, Вы писали:

N>Значение синтаксически-ориентированных редакторов будет возрастать по мере развития DSL языков.


Интересная религия
Пока что я вижу прямо обратное — с развитием инструментальных средств сложные DSL становятся все более текстовыми, уходя от слишком примитивных готовых синтаксисов типа XML или фортраноподобных реплик.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[5]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 09:16
Оценка: +4
Здравствуйте, LaptevVV, Вы писали:

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

LVV>И предлагается "либо крестик сними, либо трусы надень" — или исправь имя (список видимых имен вываливается), либо объяви новую переменную-константу.
LVV>Но имя — это некое свойство оператора. Другим свойством является тип переменной. Элементарные типы — тоже только заменить можно целиком. Даже удалить их при объявлении переменных нельзя.
LVV>И сам оператор можно только вставить/удалить/заменить. И все ключевые слова стоят сразу на месте и в правильной редакции...

А всего то надо в реальном времени показывать в тексте все ошибки и обеспечить нормальный интеллисенс.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: rusted Беларусь  
Дата: 30.08.12 09:41
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:

LVV>При наборе текста — слишком мелкие действия и слишком их много даже для HelloWorld.

LVV>В нашем случае сводится к 3 семантическим действиям:
LVV>1. Создание модуля
LVV>2. Создание оператора вывода
LVV>3. Создание строковой константы в операторе вывода.

LVV>Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.

LVV>В зависимости от его лишних "телодвижений".

Т.е. вы собираетесь наказывать студентов за "лишние" действия? В чем смысл этого? Заставить студента боятся пробовать какие-то новые подходы? Они ж после такого обучения будут прогонять даже мысль о минимальном рефакторинге.

Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 11:14
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Т>>Мы не про это. ПТУ готовит кодеров, ВУЗ грубо говоря должен готовить инженеров и исследователей.

LVV>Вот именно!
LVV>Исследователей сейчас — один...
LVV>Инженеров — пара-тройка. Ну 5-6.
LVV>Остальные — человек 7-8 — это кодеры...
LVV>Это у нас сейчас так...
Дык примерно такой расклад и востребован в реале на данный момент.

LVV>>>А универ — высшее образование. Надо знать кое-что помимо кода.

Т>>Ты пойми, то, что ты сейчас сказал в первую очередь воспринимается как претензия на "Духовность" (тм). И реакция на это будет отрицательной.
LVV>Да я бы и не набивался. Если б не затеяли разговор о реальностях жизни...
А реальность такова что тот расклад что ты написал выше как раз и нужен в реальной жизни.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 11:14
Оценка:
Здравствуйте, Real 3L0, Вы писали:

R3>Это было к тому, что ты, как практик, не смог понять мою фразу, как теоретика.

Фраза то понятна, но она как часто бывает у теоретиков — ни о чём + не подтверждается экспериментально.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: Real 3L0 Россия http://prikhodko.blogspot.com
Дата: 30.08.12 11:29
Оценка:
Здравствуйте, Трололоша, Вы писали:

R3>>Это было к тому, что ты, как практик, не смог понять мою фразу, как теоретика.

Т>Фраза то понятна, но она как часто бывает у теоретиков — ни о чём + не подтверждается экспериментально.

Мало того, что фраза очень даже "о чём" в контексте данного разговора, так ты ещё и не заметил упомянутого мной экспериментального подтверждения этой фразы.
Вселенная бесконечна как вширь, так и вглубь.
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 11:55
Оценка:
Здравствуйте, dеnisko, Вы писали:

LVV>>Сударь, я быть лгуном не могу, поскольку привел ссылки.

D>Ну значит тебя вычеркиваем.
LVV>>Представить доктора наук, входящего в топ-1000 самых цитируемых российских ученых (мировая величина в своей области), лжецом — я тоже не могу.
D>Да ну, поиск Ткачева по скопусу, я тогда тоже вхожу в топ самых цитируемых ученых. Про самых цитированных тоже он сказал?
Нет, я сам видел. Есть сайт и там приведен список. Только вот адреса не помню.
Сейчас поищу.
LVV>>Скорее всего имеет место быть ваша неосведомленность о деятельности Ткачева.
D>Я не знаю, кто такой Ткачев, и, сам понимаешь, знать не хочу, но когда некто начинает спекулировать на том, что он якобы делал на факультете, меня это бесит.
Может быть, он не вашем факультете делал? Я ж говорю — имеет место быть ваша неосведомленность.
Ткачев — один из координаторов приезда Вирта в Россию в 2005 году.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:01
Оценка: 1 (1)
Здравствуйте, dеnisko, Вы писали:
Вот: http://www.expertcorps.ru/science/whoiswho/by_branch/phys
Тут находишь Tkachov FV.
Кликаешь по фамилии и выходишь на страничку с его данными: http://www.expertcorps.ru/science/whoiswho/info/41253
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:04
Оценка:
Здравствуйте, Nikkk2010, Вы писали:

N>Я сделал подобный редактор в 2006 году. Вот ссылка на мой блог. Такие редакторы называются синтаксически-ориентированные (syntax-directed editor). В них число синтаксических ошибок стремится к нулю. Пользователь не набирает конструкцию (оператор) символ за символом, а вводит конструкцию как единое целое.

N>15 лет до моего проекта в Германии была сделанa система программирования Modula-2. В рамках этого проекта тоже был реализован синтаксический редактор для языка Modula-2. Мой же ориентирован на C++.
N>Значение синтаксически-ориентированных редакторов будет возрастать по мере развития DSL языков.
Да, это все нам известно. В Носибе много этим занимались. А в 80-х еще при Ершове сделан Е-практикум.
Мы, оттолкнувшись от основной идеи пошли дальше — делаем обучающую среду. Чтобы именно учить, и оценивать деятельность студентов.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:08
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Круто, конечно, но я все равно не вижу, зачем отказываться от текстового представления. Хочется редактор, который позволяет вместо текста вставлять блоки (хотя, на мой вкус, идея крайне сомнительная) — ради бога. Но чем текстовый формат то помешал? Вот,к примеру, есть такая штука в VS SDK, называется DSL Tools. Позволяет создавать графические DSL. Но формат, в котором результат формируется, таки текстовый по умолчанию. И никому вроде бы это не мешает. Наоборот, когда твои студенты из яселек вылезут, и не надо будет контроллировать, как они выражения набирают, они естественным образом перейдут к обычному текстовому редактору.


AVK>P.S. До сих пор помню, как меня выбешивала бессмысленность и беспощадность лаб, связанных с программированием. Но ты, похоже, взял новую высоту.

AVK>P.P.S. А одна из лучших лаб была по микропроцессорным секциям, и вот там то, хоть дело и происходило на ХТ с ч/б CGA монитором, был честный эмулятор железа, полноценный ассемблер и пошаговый отладчик. Учебного там было только живая схема процессора, мигающая блоками при отладке.
Для нас еще важно отследить этот переход.
Сейчас пацан, который пишет среду, пишет в среде много тестов.
Пацан — с уже укоренившимися студенческими привычками: давайте что-нить напишем, и посмотрим, что получится... 5 курс.
Но он признался, что работа в нашей среде очень положительно сказывается на его последующей работе в Студии. Он по инерции продолжает писать структурно и заметил, что программы стали получаться короче и яснее. И ошибок стало меньше.
Поэтому мы будем собирать много статистики и анализировать. Это тоже — одна из задач разработки.
Чтобы потом навестить некую адаптивность среды к ученику.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

LVV>>Нам нет нужы делать лексический и синтаксический анализ.

AVK>Ага. Значит мое предположение было верным — вы не умеете писать парсеры.

AVK>P.S. В моем вузе парсер Паскаля был курсовой на 3, емнип, курсе. Может стоит лучше этому студентов поучить, чем над ними измываться нечеловеческими способами?
На третьем курсе я читаю курс Системное ПО. Так парсер там в качестве лабы, а не курсовой работы...
Причем, в двух видах: вручную — рекурсивный спуск и с помощью COCO/R...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:13
Оценка:
Здравствуйте, rusted, Вы писали:

LVV>>Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.

LVV>>В зависимости от его лишних "телодвижений".

R>Т.е. вы собираетесь наказывать студентов за "лишние" действия? В чем смысл этого? Заставить студента боятся пробовать какие-то новые подходы? Они ж после такого обучения будут прогонять даже мысль о минимальном рефакторинге.

Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...
R>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.
Ага. Вы совершенно не представляете процесс обучения нынешних школьников программированию...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:16
Оценка: 1 (1) +1
Здравствуйте, rusted, Вы писали:

R>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

Когда разговор идет о программировании — вы все меня понимаете. А когда речь идет о методике обучения — естественно, что не понимаете. Вы ж преподаванием не занимаетесь...
Так что все логично...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:24
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>>>Мы не про это. ПТУ готовит кодеров, ВУЗ грубо говоря должен готовить инженеров и исследователей.

LVV>>Вот именно!
LVV>>Исследователей сейчас — один...
LVV>>Инженеров — пара-тройка. Ну 5-6.
LVV>>Остальные — человек 7-8 — это кодеры...
LVV>>Это у нас сейчас так...
Т>Дык примерно такой расклад и востребован в реале на данный момент.
Дело в том, что я еще помню времена, когда в группе было четверть исследователей и половина инженеров. И только четверть птушников...
Вот хотя бы в 2003-2004 году были такие выпуски, не говоря уже про 2002 год...
С 2005 года количество исследователей уменьшалось, а количество инженеров увеличивалось. А потом и инженеров стало уменьшаться.
А то, что сейчас выходит из колледжей в 50% случаев даже на кодеров не тянет.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 30.08.12 12:28
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

R>>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

LVV>Ага. Вы совершенно не представляете процесс обучения нынешних школьников программированию...

у большинства из присутствующих здесь есть опыт обучения самого себя, в школьном/студенческом возрасте, и последующей профессиональной разработки.
причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.
In Zen We Trust
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 13:11
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Для нас еще важно отследить этот переход.

LVV>Сейчас пацан, который пишет среду, пишет в среде много тестов.
LVV>Пацан — с уже укоренившимися студенческими привычками: давайте что-нить напишем, и посмотрим, что получится... 5 курс.
LVV>Но он признался, что работа в нашей среде очень положительно сказывается на его последующей работе в Студии.

Да ради бога. Но почему бы не сделать это надстройкой над нормальным боевым компилятором? Можно прямо в студии. Можно даже плагином к решарперу, тогда не придется парсер и даже семантический анализатор ваять. Как раз для умных студентов задачка — не очень много кода, но много интересного и нового.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[3]: Есть идея насчёт "multiple returns"...
От: os24ever
Дата: 30.08.12 13:12
Оценка:
LVV>Или запрет множественного оператора return...

Есть идея насчёт "multiple returns"
Автор: Osaka
Дата: 28.02.12
. Вот она:

1) Разделим, пока мысленно, функции на два множества: процедуры и функции принятия решений (на самом деле их может быть и больше),
2) Чем занимаются процедуры: выполняют какие-то действия, в том числе могут менять данные или внешнюю среду, вот так: "(2 + 2) * 2",
3) Чем занимаются функции принятия решений: проверяют данные и внешнюю среду, ничего не меняют, возвращают одно из значений.

Удобно ли делать в таких функциях единственный оператор возврата? Похоже, что нет. Они могут быть длинными, придётся прокручивать текст на несколько экранов, да и процессор затратит дополнительные такты на выполнение команды перехода вперёд, чтобы выполнить возврат из такой функции. Безопасны ли в них несколько операторов возврата? Похоже, что да: они не создают области памяти и ничего вокруг себя не меняют. А вот процедуры лучше сводить к простой форме "предварительные вычисления, циклы, операторы условия, единственный оператор возврата".

Как это могло бы выглядеть на Lisp:

(redirect
    (relay-ip "10.0.10.5")
    (dest-ip
        (select source-ip
            (when "192.168.200.2" "10.0.10.7")
            (when "192.168.200.3" "10.0.10.7")
            (when "192.168.200.4" "10.0.10.8")
            (else "10.0.10.9"))))

И вот ещё пример:

(rewrite
    (url "/mp3")
    (reply 301
        (select (file-exists "/mp3/index.html")
            (when 1 "/mp3/")
            (else "/"))))

Здесь "select" — функция, и у неё несколько точек выхода. А у всех остальных — по одной.

multiple returns vs. single rеturns
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: rusted Беларусь  
Дата: 30.08.12 13:35
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, rusted, Вы писали:


LVV>>>Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.

LVV>>>В зависимости от его лишних "телодвижений".

R>>Т.е. вы собираетесь наказывать студентов за "лишние" действия? В чем смысл этого? Заставить студента боятся пробовать какие-то новые подходы? Они ж после такого обучения будут прогонять даже мысль о минимальном рефакторинге.

LVV>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...

Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 13:52
Оценка: 1 (1) -1 :)
Здравствуйте, Real 3L0, Вы писали:

R3>так ты ещё и не заметил упомянутого мной экспериментального подтверждения этой фразы.

Видать оно такое, незаметное.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: hi_octane Беларусь  
Дата: 30.08.12 13:58
Оценка:
A>если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?

Почему сразу так не имеет? Много лет назад IBM делала такие продукты как Visual Age for Java, C++ и т.п. Насчёт C++ уже не помню (тогда ватком был самый крутой, и альтернативы не было), но Java редактор работал строго с АСТ, а проект был по сути БД по хранению АСТ, а не кучей файлов. Из-за чего например были затыки с сохранением некомпилируемого исходника, но зато уже тогда были какие-то рефакторинги доступны, чего у других Java-редакторов вообще не было. Так что подход такой имел реальное воплощение, а значит к реальной жизни отношение определённо имеет.

Другое дело что сейчас технологии парсинга и скорости компов настолько ушли вперёд, что обосновать преимущества этого подхода перед традиционным нужно очень хорошо.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Hobot Bobot США  
Дата: 30.08.12 14:16
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

G>>Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.

__>Да не хуже. Там конкуренция и если ты делаешь хрень, то тонешь вмиг.

Ха! Отдельно взятая команда во главе с менеджером, который умеет ездить по ушам начальству, может пилить бюджет в крупной корпорации — без какого-либо выхлопа — годами. Без особого ущерба для корпорации — из-за разности масштабов.
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:38
Оценка: 1 (1) -1 :))) :)
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, LaptevVV, Вы писали:


R>>>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

LVV>>Ага. Вы совершенно не представляете процесс обучения нынешних школьников программированию...

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

A>причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.
Это НАИВНЫЙ взгляд на проблемы обучения.
Тем более, что САМОобучение — это не обучение профи... Это — любительство.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:41
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, LaptevVV, Вы писали:


LVV>>Для нас еще важно отследить этот переход.

LVV>>Сейчас пацан, который пишет среду, пишет в среде много тестов.
LVV>>Пацан — с уже укоренившимися студенческими привычками: давайте что-нить напишем, и посмотрим, что получится... 5 курс.
LVV>>Но он признался, что работа в нашей среде очень положительно сказывается на его последующей работе в Студии.

AVK>Да ради бога. Но почему бы не сделать это надстройкой над нормальным боевым компилятором? Можно прямо в студии. Можно даже плагином к решарперу, тогда не придется парсер и даже семантический анализатор ваять. Как раз для умных студентов задачка — не очень много кода, но много интересного и нового.

Об этом мы подумаем позже. Как сделать плагин к студии. Мысли уже были, но реализацию оставили на потом, когда будут отработаны наши идеи об оценивании работы студента.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Есть идея насчёт "multiple returns"...
От: LaptevVV Россия  
Дата: 30.08.12 17:45
Оценка:
Здравствуйте, os24ever, Вы писали:

LVV>>Или запрет множественного оператора return...


O>Есть идея насчёт "multiple returns"
Автор: Osaka
Дата: 28.02.12
. Вот она:


O>1) Разделим, пока мысленно, функции на два множества: процедуры и функции принятия решений (на самом деле их может быть и больше),

O>2) Чем занимаются процедуры: выполняют какие-то действия, в том числе могут менять данные или внешнюю среду, вот так: "(2 + 2) * 2",
O>3) Чем занимаются функции принятия решений: проверяют данные и внешнюю среду, ничего не меняют, возвращают одно из значений.

O>Удобно ли делать в таких функциях единственный оператор возврата? Похоже, что нет. Они могут быть длинными, придётся прокручивать текст на несколько экранов, да и процессор затратит дополнительные такты на выполнение команды перехода вперёд, чтобы выполнить возврат из такой функции. Безопасны ли в них несколько операторов возврата? Похоже, что да: они не создают области памяти и ничего вокруг себя не меняют. А вот процедуры лучше сводить к простой форме "предварительные вычисления, циклы, операторы условия, единственный оператор возврата".


O>Как это могло бы выглядеть на Lisp:


O>
O>(redirect
O>    (relay-ip "10.0.10.5")
O>    (dest-ip
O>        (select source-ip
O>            (when "192.168.200.2" "10.0.10.7")
O>            (when "192.168.200.3" "10.0.10.7")
O>            (when "192.168.200.4" "10.0.10.8")
O>            (else "10.0.10.9"))))
O>

O>И вот ещё пример:
O>
O>(rewrite
O>    (url "/mp3")
O>    (reply 301
O>        (select (file-exists "/mp3/index.html")
O>            (when 1 "/mp3/")
O>            (else "/"))))
O>

O>Здесь "select" — функция, и у неё несколько точек выхода. А у всех остальных — по одной.
Это все понятно. И во всех языках практически никак не ограничивают множественный возврат.
Однако на оберонском форуме обсуждался этот вопрос, и народ указал на некоторые тонкие ошибки, которые могут возникнуть при множественном выходе.
На своих кодах в том числе.
Но у нас пока множественный возврат разрешен.
Посмотрим, понаблюдаем, соберем статистику — и потом решим окончательно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:49
Оценка:
Здравствуйте, rusted, Вы писали:

LVV>>>>В зависимости от его лишних "телодвижений".


LVV>>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...


R>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...
Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
Заставить думать — одна из целей проекта.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 18:58
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:

LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.

К геморрою оно приводит. Приходится тыкать везде логгинг, потом разгребать километры логов, потом опять дотыкивать логгинг, опять разгребать.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: rusted Беларусь  
Дата: 30.08.12 21:11
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, rusted, Вы писали:


LVV>>>>>В зависимости от его лишних "телодвижений".


LVV>>>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...


R>>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

LVV>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...
LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
LVV>Заставить думать — одна из целей проекта.

Выглядит как желание старпера, промучавшегося когда-то с перфокартами, заставить так же мучаться и молодежь

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

Вот вы жалуетесь, что с каждым годом исследователей и инженеров выпускаете всё меньше. Может это как раз следствие этих экспериментов в обучении?
Re[22]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 31.08.12 04:17
Оценка:
Здравствуйте, rusted, Вы писали:

LVV>>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...

LVV>>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
LVV>>Заставить думать — одна из целей проекта.

R>Выглядит как желание старпера, промучавшегося когда-то с перфокартами, заставить так же мучаться и молодежь

С перфокартами никто не мучился... С перфолентами было ГОРАЗДО хуже... А перфокарты — это же КАЙФ! Сколько поделок мы из них делали...

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

Нифига! Вы все время забываете, что окончательное-то решение за преподам. Препод получает результат и смотрит, что такое студень натворил...
R>Вот вы жалуетесь, что с каждым годом исследователей и инженеров выпускаете всё меньше. Может это как раз следствие этих экспериментов в обучении?
Дык студентов банально меньше стало. В этом годе вообще закрыли только бюджетные места.
И как раз отсутствие экспериментов приводит к печальной ситуации. Нынешних школьников учить методами 10-летней давности невозможно.
Хотя бы потому, что 99% в школе о программировании даже не слышали, не говоря уже об изучении.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 31.08.12 05:22
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

R>>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

LVV>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...

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

LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.

LVV>Заставить думать — одна из целей проекта.

И всё равно получается не то. ;(
The God is real, unless declared integer.
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 06:32
Оценка: 2 (1)
Здравствуйте, Real 3L0, Вы писали:

R3>Хм, это, вроде как, масло масляное.

Нет. Масло масляное — это эскапист, оторванный от реальности. Или маргинал-конформист.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 08:17
Оценка:
Здравствуйте, LaptevVV, Вы писали:
LVV>Мы, оттолкнувшись от основной идеи пошли дальше — делаем обучающую среду. Чтобы именно учить, и оценивать деятельность студентов.
Забейте в дискуссии на язык и способ представления — поток негатива здесь перекроет все потенциальные бенефиты.
Расскажите лучше поподробнее о том, как вы делаете "оценивание деятельности студентов".
Скажем, почему вы отказались от олимпиадного подхода, т.е. тестирования программы как чёрного ящика?
Зачем вы хотите контролировать процесс написания решения, а не только результат?
Если вас интересует каноническое решение — то почему вы отказались от текстового сравнения с образцом?

Как именно "профессор" описывает задачи, чтобы среда потом им обучала?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 08:39
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Нет. Масло масляное — это эскапист, оторванный от реальности. Или маргинал-нонконформист.
Конечно же.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.12 10:13
Оценка: +1
Здравствуйте, Abyx, Вы писали:

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

A>причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.

Теоретически, а в реальности этот опыт кроме как на себя распространить и не получается. Например не ясно откуда берется "понимание".
"Мне понятно" значит и другим понятно ? Преподавателю(тренеру, лидеру) надо избавляться от этого подхода и искать вполне конкретный якорь который мешает решить задачу.
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.12 10:14
Оценка: +1 :)
Здравствуйте, LaptevVV, Вы писали:

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

A>>причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.
LVV>Это НАИВНЫЙ взгляд на проблемы обучения.
LVV>Тем более, что САМОобучение — это не обучение профи... Это — любительство.

Самообучение, как и самолечение, получается у единиц и в простых случаях. У остальных это от осложнений до летальных исходов.
Re[23]: Джон Кармак о науке и искусстве разработки ПО
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.12 10:19
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Дык студентов банально меньше стало. В этом годе вообще закрыли только бюджетные места.

LVV>И как раз отсутствие экспериментов приводит к печальной ситуации. Нынешних школьников учить методами 10-летней давности невозможно.
LVV>Хотя бы потому, что 99% в школе о программировании даже не слышали, не говоря уже об изучении.

Студентов стало БОЛЬШЕ. В общей массе. В каждом из вузов — в среднем меньше. Это потому, что ИТ-специалистов начинают готовить чуть ли не гуманитарные вузы не говоря о курсах "за углом".

При этом число людей которые интересовались программированием как было, так и осталось. Т.е. соотношение технари-гуманитарии не меняется. Фокус в том, что оно всегда константа, во все времена во всех народах.
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 31.08.12 13:39
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, LaptevVV, Вы писали:

LVV>>Мы, оттолкнувшись от основной идеи пошли дальше — делаем обучающую среду. Чтобы именно учить, и оценивать деятельность студентов.
S>Забейте в дискуссии на язык и способ представления — поток негатива здесь перекроет все потенциальные бенефиты.
Спасибо на добром слове.
S>Расскажите лучше поподробнее о том, как вы делаете "оценивание деятельности студентов".
S>Скажем, почему вы отказались от олимпиадного подхода, т.е. тестирования программы как чёрного ящика?
Не отказались. Первый шаг проверки — это именно выполнение.
S>Зачем вы хотите контролировать процесс написания решения, а не только результат?
Если выполнение проходит, то надо структуру программы все равно смотреть.
Сейчас это делает препод.
Почему надо обязательно смотреть струткуру. Например, задание — написать быструю сортировку.
Студень вместо реализации пишет вызов стандартной функции. Такая прога гарантировано все тесты.
Но задание-то не выполнено!
S>Если вас интересует каноническое решение — то почему вы отказались от текстового сравнения с образцом?
Сейчас мы приступаем к реализации полного цикла лаб для первоначально обучения программированию — от простых линейных алгоритмов до функций.
Каждая лаба — это задание по теме, всего 20 вариантов. Задания специально делали однотипные, но разные.
Это дало возможность состряпать нечто вроде каркаса-шаблона с параметрами для результирующей программы одного варианта.
На место параметров подставляется конкретный вариант.
Таким образом, у всех студентов проги должны быть весьма похожи. И похожи на каркас-шаблон (который мы им не покажем... ).
Остается определить метрику схожести-различия, чтобы на основании получаемого измерения схожести-различия принимать решение о качестве работы студента.
Для текстового представления такую метрику подобрать сложнее. Символы — слишком координаты этой функции многих переменных.
Расстояние Левенштейна — не предлагать...
Например, имена во всех прогах будут, естественно, разные. А вот лексема — одна. Поэтому на основании лексем строить модель оценивания удобнее.
Например, сравнение с образцом. А образец — тот самый каркас-шаблон, созданный преподом.
Если прога устроена как дерево узлов, то узлов просто гораздо меньше. И для каждого узла известны его семантические составляющие.
Во-вторых появляется регулярная структура, по которой можно строить модель сравнения.
S>Как именно "профессор" описывает задачи, чтобы среда потом им обучала?
Лаба готовится непосредственно в среде.
В узле-комментарии можно лепить все, что можно в RTF.
B прямо в этом доке вставляется модуль-программа. Если в ней все определено, то ее можно выполнить.
Опять же параметры не полностью определенной проги задаются узлом-комментарием.
Мы сейчас делаем простой скриптовый язык, чтобы задавать параметры. Несколько вариантов уже в качестве курсовых — писали студенты 2 курса.
Сейчас уточняем непосредственно в среде — делая доки прямо в ней.
И интерпретатор подобных узлов комментариев.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[22]: Джон Кармак о науке и искусстве разработки ПО
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.08.12 14:15
Оценка:
Здравствуйте, netch80, Вы писали:

N>И что, получается? Для всех сразу?

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

Уже давно изобретено — обучать отталкиваясь от задач. Это есть практически в любой области, но в программировании это все еще Next Generation и обучают здесь дедовскими методами — синтаксис, синтаксис, синтаксис, еще синтаксис, снова синтаксис, обратно синтаксис, опять синтаксис и напоследок тоже синтаксис, а на закуску классика : факториал, фибоначчи, массивы и их сортировка.

В итоге Синклер первые три года, по его словам, не знал куда приспособить виртуальные методы
Re[7]: Джон Кармак о науке и искусстве разработки ПО
От: quwy  
Дата: 31.08.12 14:37
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Предварительно: среда программирования с семантическим редактором. Программа в редакторе набирается не как текст, а сразу операторами.

LVV>Оператор — это узел в семантическом дереве. Со всеми необходимыми составляющими. Например, узел — оператор присваивания включает имя левой переменной и присваиваемое выражение. То есть программа сразу в редакторе строится как дерево специального вида.
LVV>И в чистом текстовом виде пока даже не сохраняется.
Такой подход был реализован еще в 79 году, в ZX Spectrum 16K/48K (а потом от него отказались в 128K).
Re[5]: Есть идея насчёт "multiple returns"...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 31.08.12 17:55
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Но у нас пока множественный возврат разрешен.

LVV>Посмотрим, понаблюдаем, соберем статистику — и потом решим окончательно.

Уж коль ты сторонник минимального синтаксиса, то у запрета множественного возврата есть одна фича такого плана — можно избавиться от оператора return.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re: Джон Кармак о науке и искусстве разработки ПО
От: Lorenzo_LAMAS  
Дата: 31.08.12 22:13
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>http://habrahabr.ru/post/150260/

LVV>Очень созвучные мне мысли:

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

А Джон — зажог! Как смешно, он признался, что сраная темнота в Думе 3 и невозможность иметь одновременно фонарь и оружие были сделаны
им намеренно, в целях оптимизации ) (чтоб не слишком уж много теней было)
Of course, the code must be complete enough to compile and link.
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: Философ Ад http://vk.com/id10256428
Дата: 02.09.12 02:27
Оценка:
Здравствуйте, a_g_99, Вы писали:

___>Очередной редактор блок-схем?


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


___>Вот он среднестатистический российский преподаватель, бессмысленный и беспощадный.


И много вы знаете преподавателей, которые что-нибудь пилят?
ПУСТЬ ПИЛЯТ!
Всё сказанное выше — личное мнение, если не указано обратное.
Re[22]: Джон Кармак о науке и искусстве разработки ПО
От: Философ Ад http://vk.com/id10256428
Дата: 02.09.12 02:51
Оценка: +3
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, LaptevVV, Вы писали:


LVV>>Это НАИВНЫЙ взгляд на проблемы обучения.

LVV>>Тем более, что САМОобучение — это не обучение профи... Это — любительство.

I>Самообучение, как и самолечение, получается у единиц и в простых случаях.


б0льшая часть людей этим не занимается — им нужно чтобы разжевали в рот положили.
лучшие специалисты, которых я знаю — самоучки.
более того, по моему убеждению, человека в вузе нельзя ничему научить — можно только помочь научиться.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: Miroff Россия  
Дата: 02.09.12 03:38
Оценка: 1 (1) -1
Здравствуйте, Философ, Вы писали:

Ф>И много вы знаете преподавателей, которые что-нибудь пилят?

Ф>ПУСТЬ ПИЛЯТ!

Ладно бы он для себя пилил, так ведь он студентов портит.
Re[23]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 02.09.12 05:53
Оценка: 1 (1)
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, netch80, Вы писали:


N>>И что, получается? Для всех сразу?

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

I>Уже давно изобретено — обучать отталкиваясь от задач. Это есть практически в любой области, но в программировании это все еще Next Generation и обучают здесь дедовскими методами — синтаксис, синтаксис, синтаксис, еще синтаксис, снова синтаксис, обратно синтаксис, опять синтаксис и напоследок тоже синтаксис, а на закуску классика : факториал, фибоначчи, массивы и их сортировка.


Вот! Именно то, от чего мы пытаемся уйти.
Синтаксис — дело вторичное — у нас 3 разных синтаксиса в среде, да еще русско-английских. И синтаксических ошибок нет — одни семантические. И программа набирается сразу семантическими единицами — операторами. А не посимвольно, да еще на английском.
I>В итоге Синклер первые три года, по его словам, не знал куда приспособить виртуальные методы
Да, это нетривиальный момент, не сразу доходит при нынешнем обучении.
Поэтому и тут упор на семантику нужен — что мы и пытаемся сделать.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 02.09.12 05:55
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, Философ, Вы писали:


Ф>>И много вы знаете преподавателей, которые что-нибудь пилят?

Ф>>ПУСТЬ ПИЛЯТ!

M>Ладно бы он для себя пилил, так ведь он студентов портит.

Это вы откуда такой вывод сделали? Исходя из вашего опыта обучения?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 02.09.12 06:13
Оценка:
> Ф>>И много вы знаете преподавателей, которые что-нибудь пилят?
> Ф>>ПУСТЬ ПИЛЯТ!
>
> M>Ладно бы он для себя пилил, так ведь он студентов портит.
> Это вы откуда такой вывод сделали? Исходя из вашего опыта обучения?

Ненависть к преподавателям остается на всю жизнь Ребята еще в каменном веке, пишут код в ноутпаде и даже о группировках блоков кода ничего не слышали
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 02.09.12 12:25
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>ПУСТЬ ПИЛЯТ!


Запомните джентльмены, эту страну погубит коррупция! (с)
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 02.09.12 19:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зачем для этого отказываться от нормального текстового исходника?


А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.09.12 20:35
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?


Для устранения подробностей синтаксиса устранять текстовое представление не нужно.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re: Джон Кармак о науке и искусстве разработки ПО
От: hi_octane Беларусь  
Дата: 02.09.12 23:32
Оценка: 2 (1)
LVV>1. Язык должен быть минимален насколько возможно.

До существования процедур программы писались просто одной сплошной непрерывной функцией, с переходами внутри. Как только размеры этих программ выросли настолько что с ними стало сложно управляться, пришлось повысить уровень абстракции. Возможность обозначить одним адресом или словом, какой-то блок кода — это был прорыв. Так вошло в историю процедурное программирование. Но как только процедур стало очень много, пришлось снова повышать уровень абстракции. Интерфейс, класс, контракт — это всё на один уровень абстракции выше, и позволяет одним словом (именем класса например) обозначить группу данных и методов работы с ними. Затем всё забуксовало. Отчасти из-за того что иерархии классов формально позволяют справляться с возрастающей сложностью программ. На деле количество человеко-часов растёт существенно нелинейно с ростом сложности (в попугаях), так что очевидно что не очень-то позволяют, но лучших средств пока нету. Следующее повышение уровня абстракции это или иерархический DSL, типа того что сейчас пилят в Н2, или автоматическая верификация программ, или что-то ещё. Но это будет не минимальный язык, а язык в котором минимальной конструкцией (примерно одним словом, как было в случаях с процедурами и классами) можно описать уровень абстракции выше всех существующих.

Кстати сейчас, наверное, ежедневно появляются новые языки программирования, которые совершенно "не взлетают". А в 70-е годы создавалось не в пример меньше, но взлетали один за другим. Причина та же — современные языки по большей части повторение существующего группирования данных/методов, с вариациями синтаксиса. А нужно что-то большее.

LVV>2. Среда программирования должна мгновенно бить по рукам, если что не так. Уже при создании кода.


"Что не так" бывают разные. Синтаксис вроде всё что претендует на звание "IDE" проверяют в обязательном порядке. Кроме того вашу задачу для языков C#, VB.NET, JavaScript можно решить просто сделав аддон к решарперу, и складывая в архив полное AST программы каждый раз когда компиляция проходит успешно и программа запускается на выполнение. Так можно отследить и то как студент шёл к решению задачи и какие косяки допускал.
Re[2]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.09.12 01:16
Оценка: +1
Здравствуйте, hi_octane, Вы писали:

_>До существования процедур программы писались просто одной сплошной непрерывной функцией, с переходами внутри.


Блоки-подпрограммы были даже в ассемблере.

_>Возможность обозначить одним адресом или словом, какой-то блок кода — это был прорыв


Не было такого прорыва. Подобная возможность появилась одновременно с возможностью писать машинный код в мнемониках и с символьными метками.

_>. Так вошло в историю процедурное программирование.


Структурное программирование это немножко про другое. Это про то чтобы явно выделить структуру программы с изоляцией пересечения границ этой изоляции. И отказ от goto.

_> Но как только процедур стало очень много, пришлось снова повышать уровень абстракции. Интерфейс, класс, контракт — это всё на один уровень абстракции выше


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


_>А в 70-е годы создавалось не в пример меньше, но взлетали один за другим.


Ты заблуждаешься. Попробуй найти/посчитать конкретные цифры.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[3]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 03.09.12 03:51
Оценка:
Здравствуйте, AndrewVK, Вы писали:

_>>До существования процедур программы писались просто одной сплошной непрерывной функцией, с переходами внутри.

AVK>Блоки-подпрограммы были даже в ассемблере.

Ассемблер — это уже достаточно поздняя инновация.

_>>Возможность обозначить одним адресом или словом, какой-то блок кода — это был прорыв

AVK>Не было такого прорыва. Подобная возможность появилась одновременно с возможностью писать машинный код в мнемониках и с символьными метками.

Заблуждаешься. Средство "отложить" контекст в виде адреса исполнения и потом вернуться к отложенному — это ещё первые архитектуры 50-х годов, задолго до того, как стала окупаться машинная интерпретация автокода (предок ассемблера). Разумеется, выглядело оно по современным меркам диковато (хотя и сейчас в RISC'ах подходы ближе к древним образцам, из-за экономии операций).

_>>. Так вошло в историю процедурное программирование.

AVK>Структурное программирование это немножко про другое.

Ты действительно не увидел, что слово было "процедурное", а не "структурное"?
Или решил потроллить?

_>> Но как только процедур стало очень много, пришлось снова повышать уровень абстракции. Интерфейс, класс, контракт — это всё на один уровень абстракции выше

AVK>Интерфейс ака контракт это тоже из другой оперы, это элемент дизайна, и он есть не только в ООП, но даже и в ассемблере.

Это сейчас можно говорить "интерфейс aka контракт". Раньше между ними не было ничего общего. Понятие "контракт" в виде отдельных "предусловий", "постусловий", "инвариантов" оформилось только в 60-х и стандартизировало, AFAIK, Дейкстрой.

AVK> И изначально появились вовсе не классы, а модули (см. Паскаль, Модулу).


"Изначально" были подпрограммы и элементарные команды. Модули выполняют другие задачи, для которых сокрытие реализации — не самое главное.

AVK>Вобщем, ты все очень сильно примитивизируешь, подгоняя факты под теорию.




_>>А в 70-е годы создавалось не в пример меньше, но взлетали один за другим.

AVK>Ты заблуждаешься. Попробуй найти/посчитать конкретные цифры.

Тут единственное, с чем согласен. Именно создание новых языков в 70-80-е было модным и было огромное количество "стартапов", которые не ушли дальше пары статей.
The God is real, unless declared integer.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.09.12 04:26
Оценка: 10 (1)
Здравствуйте, LaptevVV, Вы писали:
LVV>Не отказались. Первый шаг проверки — это именно выполнение.
А, ок.

S>>Зачем вы хотите контролировать процесс написания решения, а не только результат?

LVV>Если выполнение проходит, то надо структуру программы все равно смотреть.
Структура — это совсем другое, чем я понял из предыдущих сообщений. Структура — это всё равно результат.
Один сначала пишет вызов, а потом оборачивает в try/finally. Другой — сначала пишет блок try, а потом уже вписывает вызов.
Важно, чтобы не пытались обойтись без try/finally — по моему опыту, студенты сдают программы, которые работают "иногда".
Понять, что надо писать так, чтобы работало "всегда", им очень трудно — в первую очередь, из-за отсутствия опыта.
Смоделировать тестами все ситуации (вроде разрыва соединения в середине процесса копирования, или нехватки памяти при выделении буфера) крайне тяжело. Whitebox подход в этом плане рулит.

LVV>Почему надо обязательно смотреть струткуру. Например, задание — написать быструю сортировку.

LVV>Студень вместо реализации пишет вызов стандартной функции. Такая прога гарантировано все тесты.
LVV>Но задание-то не выполнено!
Отличный ход мысли.

LVV>Сейчас мы приступаем к реализации полного цикла лаб для первоначально обучения программированию — от простых линейных алгоритмов до функций.

LVV>Каждая лаба — это задание по теме, всего 20 вариантов. Задания специально делали однотипные, но разные.
LVV>Это дало возможность состряпать нечто вроде каркаса-шаблона с параметрами для результирующей программы одного варианта.
LVV>На место параметров подставляется конкретный вариант.
LVV>Таким образом, у всех студентов проги должны быть весьма похожи. И похожи на каркас-шаблон (который мы им не покажем... ).
LVV>Остается определить метрику схожести-различия, чтобы на основании получаемого измерения схожести-различия принимать решение о качестве работы студента.
LVV>Для текстового представления такую метрику подобрать сложнее. Символы — слишком координаты этой функции многих переменных.
LVV>Расстояние Левенштейна — не предлагать...
Ага. То есть вы хотите видеть определённую структуру AST. Чтобы все нужные блоки были на месте. Это уже интересно.
Ну, то есть я бы начал с экспериментов именно с языком описания критериев соответствия программ — потому что страшно сначала угрохать полгода вечеров на разработку AST-ориентированного редактора, а потом понять, что практического применения не найдётся. Ну там, что описание требований к программе будет чудовищно многословным, или что хитрые студенты смогут протаскивать через него несоответствующие программы из-за ограниченности ума проверяющего алгоритма, и т.п.

S>>Как именно "профессор" описывает задачи, чтобы среда потом им обучала?

LVV>Лаба готовится непосредственно в среде.
LVV>В узле-комментарии можно лепить все, что можно в RTF.
LVV>B прямо в этом доке вставляется модуль-программа. Если в ней все определено, то ее можно выполнить.
LVV>Опять же параметры не полностью определенной проги задаются узлом-комментарием.
LVV>Мы сейчас делаем простой скриптовый язык, чтобы задавать параметры. Несколько вариантов уже в качестве курсовых — писали студенты 2 курса.
LVV>Сейчас уточняем непосредственно в среде — делая доки прямо в ней.
LVV>И интерпретатор подобных узлов комментариев.
Вот это место мне непонятно. То есть очевидно, что у меня в голове есть какая-то модель (как бы я решал эту задачу), и она явно не соответствует тому, что есть у вас.
Моя умственная модель — примерно такая: имеем набор критериев про AST программы, выраженных в форме простых предикатов на деревьях. Первое, что сюда просится — XPath, как industry-proven язык работы с древовидными данными.
Таким образом, мы можем потребовать всяких штук — например, что автор определил функцию сравнения элементов, причём выразил её в виде замыкания.
Можем потребовать, чтобы имелась обработка ошибок — скажем, нужный нам вызов вложен в блок try, в catch которого ловится нужное нам исключение.
С каждым предикатом мы можем ассоциировать текст комментария, который выводится при его провале. Студент, написав "решение", проверяет его, и получает осмысленные замечания на тему того, что не нравится верификатору.

Эта модель, понятное дело, страдает большим недостатком — она построена без учёта реальных задач, которые должны быть ею описуемы.
Возможно, она вообще делает не то, что нужно. Скажем, в курсах Microsoft все задачки сводятся к вписыванию небольших фрагментов в уже почти готовую программу. Это позволяет студенту не тратить время на борьбу с инфраструктурой, а сразу заняться деятельностью по теме урока; а также обучает его примерам хорошего стиля и качества кода.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Miroff Россия  
Дата: 03.09.12 04:30
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Это вы откуда такой вывод сделали? Исходя из вашего опыта обучения?


Скорее преподавания. Если мне надо научить студента думать, я именно это и делаю. Та же быстрая сортировка это отличный пример. Написал? Что будет если на вход подать пустой массив? А если null? А какая у твоей имплементации сложность? Как ты ее оценил? А почему у тебя получился квадратичный алгоритм вместо логарфмического? А теперь давай подумаем как обобщить алгоритм на произвольные коллекции. Сам найдешь как этот паттерн называется? Напиши performance тест на этот алгоритм. Что это такое ты тут измерил? Давай сравним скорость с пузырьком и с библиотечной имплементацией quicksort. Объяснишь результаты? и т.д.
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: Miroff Россия  
Дата: 03.09.12 04:37
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?


Потому что в дальнейшем он будет заниматься алгоритмизацией именно в рамках синтаксиса конкретного языка. Посмотри как устроен курс Introduction to ML. Ребята не стали придумывать "семантический" велосипед и взяли Octave. Для каждого задания студенту дается некоторый каркас в котором весь ввод-вывод уже написан и осталос только написать несколько функций. С одной стороны это позволяет студенту сосредоточится на главном, с другой -- проявить любопытство и узнать как на самом деле оно работает.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 03.09.12 04:41
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, LaptevVV, Вы писали:


LVV>>Это вы откуда такой вывод сделали? Исходя из вашего опыта обучения?


M>Скорее преподавания. Если мне надо научить студента думать, я именно это и делаю. Та же быстрая сортировка это отличный пример. Написал? Что будет если на вход подать пустой массив? А если null? А какая у твоей имплементации сложность? Как ты ее оценил? А почему у тебя получился квадратичный алгоритм вместо логарфмического? А теперь давай подумаем как обобщить алгоритм на произвольные коллекции. Сам найдешь как этот паттерн называется? Напиши performance тест на этот алгоритм. Что это такое ты тут измерил? Давай сравним скорость с пузырьком и с библиотечной имплементацией quicksort. Объяснишь результаты? и т.д.

А мы что делаем? Ровно это и делаем. Но чтобы решать уравнения сначала надо таблицу умножения выучить, блин!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 03.09.12 04:47
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, vdimas, Вы писали:


V>>А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?


M>Потому что в дальнейшем он будет заниматься алгоритмизацией именно в рамках синтаксиса конкретного языка. Посмотри как устроен курс Introduction to ML. Ребята не стали придумывать "семантический" велосипед и взяли Octave. Для каждого задания студенту дается некоторый каркас в котором весь ввод-вывод уже написан и осталос только написать несколько функций. С одной стороны это позволяет студенту сосредоточится на главном, с другой -- проявить любопытство и узнать как на самом деле оно работает.

1. Не-а. Синтаксис у нас переключается одной кнопочкой.
2. Любопытные студенты почти исчезли как класс...
Летом вел летнюю школу для 2 курса. Программные инженеры. Сознательно шли на эту специальность.
Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 03.09.12 04:55
Оценка:
Здравствуйте, vdimas, Вы писали:

V>А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?

При изучении алгоритмизации студенту потребуется тетрадь с конспектами, ручка, немного мозгов и много внимания и терпения. Преподавателю знание предметной области, доска и мел. Причем тут некомпилирующие компиляторы, редакторы блок-схем и прочие "инновации"?
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: Miroff Россия  
Дата: 03.09.12 04:58
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...


А ты ждал чего-то другого? На первом курсе им ясно дали понять: мы будем учить вас всякой бесполезной фигне, а то что вам нужно вы потом сами освоите. Теперь мотивация уже сформирована: отсдеть номер, столкнуть зачет чтоб не отчислили, а потом уже у станка потихоньку разобраться.
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 03.09.12 05:03
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, LaptevVV, Вы писали:


LVV>>Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...


M>А ты ждал чего-то другого? На первом курсе им ясно дали понять: мы будем учить вас всякой бесполезной фигне, а то что вам нужно вы потом сами освоите. Теперь мотивация уже сформирована: отсдеть номер, столкнуть зачет чтоб не отчислили, а потом уже у станка потихоньку разобраться.

Не судите о том, чего не знаете.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 03.09.12 05:11
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, LaptevVV, Вы писали:


LVV>>Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...


M>А ты ждал чего-то другого? На первом курсе им ясно дали понять: мы будем учить вас всякой бесполезной фигне, а то что вам нужно вы потом сами освоите. Теперь мотивация уже сформирована: отсдеть номер, столкнуть зачет чтоб не отчислили, а потом уже у станка потихоньку разобраться.

Добавлю. Как выяснилось, они совсем не изучали в школе программирование.
И переоценили свои силы и способности.
О чем разговор, если студенты в конце семестра меняют тему курсовой работы, поскольку не в состоянии справиться с ранее заявленной темой.
Сами выбирали, сами признались, что не могут.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 03.09.12 05:24
Оценка:
> Сами выбирали, сами признались, что не могут.

А в итоге все-равно выйдут с дипломами. Главное что бы человек был хороший
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: a_g_99 США http://www.hooli.xyz/
Дата: 03.09.12 05:31
Оценка:
Здравствуйте, grosborn, Вы писали:

G>А в итоге все-равно выйдут с дипломами. Главное что бы человек был хороший

Профессор Laptev учил ! Светило мировой CS науки
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: Miroff Россия  
Дата: 03.09.12 05:36
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Добавлю. Как выяснилось, они совсем не изучали в школе программирование.


Есть такое место, СУНЦ НГУ, оно же Новосибирское ФМШ. Так вот, раньше, когда оно еще было бесплатным, народ туда попадал совершенно разного уровня. В том числе и те, кто компьютера даже издали не видал. И ничего, за двухнедельный интенсив всех дотягивали до приемлемого уровня.
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 03.09.12 05:45
Оценка:
> G>А в итоге все-равно выйдут с дипломами. Главное что бы человек был хороший
> Профессор Laptev учил ! Светило мировой CS науки

Ты все-таки неадекват
Да поправят мнея если я неправ, Лаптев преподаватель. Не светило науки, не черный олигарх, не светлый патриарх, не попил бюджетного бабла. Это преподаватель в вузе. Твои претензии просто не по адресу.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 09:44
Оценка:
Здравствуйте, AndrewVK, Вы писали:

V>>А зачем рассеивать внимание студента на подробностях синтаксиса какого-то ЯП при обучении алгоритмизации?

AVK>Для устранения подробностей синтаксиса устранять текстовое представление не нужно.

Можно пример?
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.09.12 09:49
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Можно пример?


Пример чего? Редактора кода без редактирования текста? Class diagramm в студии.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 09:54
Оценка: +2
Здравствуйте, Miroff, Вы писали:

Ф>>И много вы знаете преподавателей, которые что-нибудь пилят?

Ф>>ПУСТЬ ПИЛЯТ!
M>Ладно бы он для себя пилил, так ведь он студентов портит.

Еще ни одного школьника программирование на Спектруме в своё время не испортило. По моим наблюдениям — ровно наоборот.

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

Поэтому, охотно верю, что учить надо вообще с 0-ля.
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: Yoriсk  
Дата: 03.09.12 11:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Miroff, Вы писали:


M>>Здравствуйте, LaptevVV, Вы писали:


LVV>>>Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...


M>>А ты ждал чего-то другого? На первом курсе им ясно дали понять: мы будем учить вас всякой бесполезной фигне, а то что вам нужно вы потом сами освоите. Теперь мотивация уже сформирована: отсдеть номер, столкнуть зачет чтоб не отчислили, а потом уже у станка потихоньку разобраться.

LVV>Добавлю.

Не надо ничего добавлять. Был задан совершенно справедливый вопрос: чего вы еще ожидали, какие еще варианты ответа возможны? "Главное — научиться(в пределах первого курса), а что не сдадим и со второго курса отчислят — так не беда, диплом в переходе купим" или еще какие-то?
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 03.09.12 11:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зачем для этого отказываться от нормального текстового исходника?

AVK>Зачем для этого отказываться от нормального текстового исходника?
AVK>Зачем для этого отказываться от нормального текстового исходника?

Вообще-то надо поставить вопрос немного наоборот: 1) зачем и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?
The God is real, unless declared integer.
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 11:16
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:


AVK>Пример чего? Редактора кода без редактирования текста? Class diagramm в студии.


Для навыков алгоритмизации как раз никакие классы не нужны. Нужны блок-схемы или их аналог.
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 03.09.12 12:37
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Здравствуйте, LaptevVV, Вы писали:


LVV>>Добавлю. Как выяснилось, они совсем не изучали в школе программирование.


M>Есть такое место, СУНЦ НГУ, оно же Новосибирское ФМШ. Так вот, раньше, когда оно еще было бесплатным, народ туда попадал совершенно разного уровня. В том числе и те, кто компьютера даже издали не видал. И ничего, за двухнедельный интенсив всех дотягивали до приемлемого уровня.

Раньше — все было, и куры и яйца...
Я сам компьютеры увидел только в универе. Но это не помешало мне научиться.
Раньше учили так, а теперь — не так. Вот мы плоды и пожинаем...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.09.12 12:45
Оценка:
Здравствуйте, vdimas, Вы писали:

AVK>>Пример чего? Редактора кода без редактирования текста? Class diagramm в студии.


V>Для навыков алгоритмизации как раз никакие классы не нужны. Нужны блок-схемы или их аналог.


Очевидно, что практическом плане это совершенно бесполезный функционал. А с учебными конструкциями я недостаточно хорошо знаком. Но принцип гуевого редактирования императивного кода абсолютно тот же, что и в случае class diagramm. Это лет 20 назад two way tools были серьезной проблемой программирования. Сейчас такой проблемы нет — в студии при помощи DSL Tools прототип делается за единицы дней.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.09.12 14:53
Оценка:
Здравствуйте, netch80, Вы писали:

N>Вообще-то надо поставить вопрос немного наоборот: 1) зачем


Что зачем?

N> и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?


В виде текста на существующем языке.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[10]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 15:40
Оценка:
Здравствуйте, Abyx, Вы писали:

A>и что же надо знать помимо кода, и как в этом поможет ваша чудо-среда?


Скорее имелось ввиду "помимо конкретных языков и их библиотек". А разве для прописной истины требутся обоснование?

Программисту надо знать очень много... Столько, что на фоне этих знаний твои знания конкретного языка и его либ — это уровень, ниже уровня 0 в программировании.
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 15:42
Оценка:
Здравствуйте, Трололоша, Вы писали:


Т>Дык примерно такой расклад и востребован в реале на данный момент.


И? Его задача учить инженеров и исследователей, коль речь о ВУЗе. А для остальных есть ПТУ и всевозможные курсы по программированию на PHP.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 03.09.12 15:57
Оценка:
Здравствуйте, vdimas, Вы писали:

A>>и что же надо знать помимо кода, и как в этом поможет ваша чудо-среда?


V>Скорее имелось ввиду "помимо конкретных языков и их библиотек". А разве для прописной истины требутся обоснование?

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

работа программистов сводится к чтению и написанию кода, так зачем знать что-то еще, кроме того что надо знать чтобы читать и писать хороший код?

V>Программисту надо знать очень много... Столько, что на фоне этих знаний твои знания конкретного языка и его либ — это уровень, ниже уровня 0 в программировании.

ниже абсолютного нуля, ага. Давай не будем писать бред и переходить на личности, ок?
In Zen We Trust
Re[23]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 03.09.12 16:09
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>б0льшая часть людей этим не занимается — им нужно чтобы разжевали в рот положили.

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

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

и мне как-то непонятно как это "научить учиться". если у обучающегося есть мотивация учиться — он учится. нету — сидит с открытым клювом и ждет пока разжуют и положат
In Zen We Trust
Re[24]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 03.09.12 17:07
Оценка:
> Ф>б0льшая часть людей этим не занимается — им нужно чтобы разжевали в рот положили.
> Ф>лучшие специалисты, которых я знаю — самоучки.
> Ф>более того, по моему убеждению, человека в вузе нельзя ничему научить — можно только помочь научиться.
>
> несогласен. человека можно научить программировать, но учить должен хороший специалист-практик.
> это не спорт, где физ. подготовка тренера может быть гораздо хуже физ. подготовки спортсмена.

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


> и мне как-то непонятно как это "научить учиться". если у обучающегося есть мотивация учиться — он учится. нету — сидит с открытым клювом и ждет пока разжуют и положат
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[25]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 03.09.12 17:10
Оценка:
Здравствуйте, grosborn, Вы писали:

>> Ф>б0льшая часть людей этим не занимается — им нужно чтобы разжевали в рот положили.

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

G>А вот не суди по себе

G>Если бы это было так как у вас, то грамотность и искусство программирования естественным путем сошло бы на нет. А, стоп, вообще не возникло бы И уж тем более не было бы такого количества наемных кодеров в третьих странах и люди не ехали бы работать в эти ваши микрософты из других стран.

что-то я не вижу как у Вас получился такой вывод из моего поста.
In Zen We Trust
Re[26]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 03.09.12 18:00
Оценка:
>>> Ф>б0льшая часть людей этим не занимается — им нужно чтобы разжевали в рот положили.
>>> Ф>лучшие специалисты, которых я знаю — самоучки.
>>> Ф>более того, по моему убеждению, человека в вузе нельзя ничему научить — можно только помочь научиться.
>>>
>>> несогласен. человека можно научить программировать, но учить должен хороший специалист-практик.
>>> это не спорт, где физ. подготовка тренера может быть гораздо хуже физ. подготовки спортсмена.
>
> G>А вот не суди по себе
> G>Если бы это было так как у вас, то грамотность и искусство программирования естественным путем сошло бы на нет. А, стоп, вообще не возникло бы И уж тем более не было бы такого количества наемных кодеров в третьих странах и люди не ехали бы работать в эти ваши микрософты из других стран.
>
> что-то я не вижу как у Вас получился такой вывод из моего поста.

Что тут непонятного?

"несогласен. человека можно научить программировать, но учить должен хороший специалист-практик."

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

PS. Правда если в твоей модели предусмотрено самозарождение специалистов-практиков в третьих странах или их насаждение американскими военными, то я пас
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[27]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 03.09.12 18:35
Оценка: -1
Здравствуйте, grosborn, Вы писали:

>> G>А вот не суди по себе

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

G>Что тут непонятного?


G>"несогласен. человека можно научить программировать, но учить должен хороший специалист-практик."


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


Вы перепутали "только хороший специалист-практик" и просто "хороший специалист-практик".
In Zen We Trust
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: vdimas Россия  
Дата: 03.09.12 18:52
Оценка:
Здравствуйте, Abyx, Вы писали:

A>работа программистов сводится к чтению и написанию кода,


Это только важная составляющая, но далеко не единственная.


A>так зачем знать что-то еще, кроме того что надо знать чтобы читать и писать хороший код?


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


V>>Программисту надо знать очень много... Столько, что на фоне этих знаний твои знания конкретного языка и его либ — это уровень, ниже уровня 0 в программировании.

A>ниже абсолютного нуля, ага. Давай не будем писать бред и переходить на личности, ок?

Тю... Я могу это же самое отнести к себе и ничуть не парится по этому поводу. Те задачи, которые я, как программист, смогу решить, я смогу решить на гораздо более, чем одном языке. На порядка десятке их прямо на сейчас. И вообще на любом другом, если встанет такая необходимость по работе. Так что же первично? Неужели код?
Re[28]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 03.09.12 19:00
Оценка: -1
> Вы перепутали "только хороший специалист-практик" и просто "хороший специалист-практик".

Я ничего не перепутал. Никаких "только" я не добавлял. Ты написал вполне понятно и однозначно — самообучение невозможно, без специалистов-практиков не будет новых программистов. И про американских военных я тоже не придумал, иначе бы откуда по твоей теории появились программисты в пост-советских государствах, если там изначально не было специалистов-практиков? И про самозарождение я не придумал, это проистекает из твоей теории, иначе откуда специалисты-практики появились в америке или европе? ... А, вру, совсем забыл про НЛО
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[29]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 03.09.12 19:31
Оценка: -1
Здравствуйте, grosborn, Вы писали:

>> Вы перепутали "только хороший специалист-практик" и просто "хороший специалист-практик".


G>Я ничего не перепутал. Никаких "только" я не добавлял. Ты написал вполне понятно и однозначно — самообучение невозможно, без специалистов-практиков не будет новых программистов.


я такого не писал. научись уже читать и меньше фантазируй.
кроме того, перечитай мои посты в этой ветке, насчет самообучения.
In Zen We Trust
Re[30]: Джон Кармак о науке и искусстве разработки ПО
От: grosborn  
Дата: 04.09.12 05:56
Оценка: -1
>>> Вы перепутали "только хороший специалист-практик" и просто "хороший специалист-практик".
>
> G>Я ничего не перепутал. Никаких "только" я не добавлял. Ты написал вполне понятно и однозначно — самообучение невозможно, без специалистов-практиков не будет новых программистов.
>
> я такого не писал. научись уже читать и меньше фантазируй.
> кроме того, перечитай мои посты в этой ветке, насчет самообучения.


Ты не можешь просто так сказать "я такого не писал". Ты писал, да еще и уточнил на сторонних примерах про спорт, что ты имел в виду. Перенося твой пример спорта на программирование, однозначно следует что тренер в программировании может подготавливать только специалистов своего уровня или ниже. Если ты имел в виду что-то другое, а не то что написал, то может тебе стоит изменить свои показания?
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: B0FEE664  
Дата: 04.09.12 10:17
Оценка:
Здравствуйте, Miroff, Вы писали:

LVV>>Мой к ним вопрос: Что для вас важнее — научиться или сдать. Ответ ВСЕХ: сдать. Потом как-нибудь научимся...

M>А ты ждал чего-то другого? На первом курсе им ясно дали понять: мы будем учить вас всякой бесполезной фигне, а то что вам нужно вы потом сами освоите. Теперь мотивация уже сформирована: отсдеть номер, столкнуть зачет чтоб не отчислили, а потом уже у станка потихоньку разобраться.

Со стороны студентов глупо иметь такую мотивацию.
И каждый день — без права на ошибку...
Re[15]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 04.09.12 10:36
Оценка:
Здравствуйте, netch80, Вы писали:

N>Вообще-то надо поставить вопрос немного наоборот: 1) зачем и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?


для просмотра diff'ов
In Zen We Trust
Re[16]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 04.09.12 11:29
Оценка:
Здравствуйте, Abyx, Вы писали:

N>>Вообще-то надо поставить вопрос немного наоборот: 1) зачем и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?

A>для просмотра diff'ов

Идея понятна, но это от того, что мы не разработали пока других путей для той же цели.
The God is real, unless declared integer.
Re[17]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 04.09.12 14:15
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Abyx, Вы писали:


N>>>Вообще-то надо поставить вопрос немного наоборот: 1) зачем и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?

A>>для просмотра diff'ов

N>Идея понятна, но это от того, что мы не разработали пока других путей для той же цели.


а зачем другие пути, если есть горы качественного готового софта?
свою ОС Вы же не предлагаете писать, хотя тут тоже можно "пойти своим путем"
In Zen We Trust
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.09.12 04:45
Оценка:
Здравствуйте, Abyx, Вы писали:

N>>>>Вообще-то надо поставить вопрос немного наоборот: 1) зачем и 2) в каком виде надо сохранять "нормальный текстовый исходник" или его часть?

A>>>для просмотра diff'ов
N>>Идея понятна, но это от того, что мы не разработали пока других путей для той же цели.
A>а зачем другие пути, если есть горы качественного готового софта?

А зачем вообще что-то новое придумывают?

Plaintext — далеко не идеальный метод представления кода, это уже давно известно и обсуждалось тут. Вспомни хотя бы постоянные ср дискуссии о стиле (tabs vs. spaces, ширина отступа, размещение пробелов) — всё это касается вопросов, совершенно не существенных для исполняемого кода, но занимающих колоссальное место в создании проблем.

Вот ещё пример: в Darcs можно явно устанавливать вид изменения как "переименовали переменную", после чего оно само умеет определить, что при мерже в приходящем со стороны изменении надо сделать такое же переименование. Там даже есть целая алгебра патчей, с определением условий коммутативности и прочим "матаном". Это как раз концентрация на семантике кода, в отличие от его синтаксиса, для которого название переменной — просто последовательность символов, не имеющая никакого смысла. Почему, чтобы сделать переименование, надо вначале наполовину скомпилировать текст, отличить нужный идентификатор от возможного тёзки в соседней функции, сделать замену в тексте и тут же все эти знания похерить? Почему бы не хранить уже дерево разбора, а текст будет всего лишь его проекцией? Это всё очевидные предложения, реализации которых мешает только традиция.

A>свою ОС Вы же не предлагаете писать, хотя тут тоже можно "пойти своим путем"


Почему "не предлагаю"? Предлагаю, если нужно, и это происходит постоянно. Другой вопрос, что тематика реальных ОС настолько усложнилась, что концепт рисуется не на реальном железе, а в специально сконструированном виртуальном окружении, а после успешной пробы начинают не навешивать на него реальный код, а пытаться реализовать адаптацией Linux/*BSD/etc. к придуманному. Последний период, когда можно было реализовывать свои ОС с нуля на x86, был серединой 90-х (грубо говоря, до ACPI и USB). Сейчас можно делать то же самое, но не на x86, а на ARM/MIPS/etc. — там железо реально проще.
А если Вы посмотрите на то, что происходит в недрах ОС — увидите колоссальное развитие, и Linux 10-летней давности отличается от современного "чуть более чем полностью".
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.