Oberon space

General Category => Общий раздел => Тема начата: valexey от Октябрь 15, 2011, 11:53:44 pm

Название: Deep C.
Отправлено: valexey от Октябрь 15, 2011, 11:53:44 pm
Навели на замечательные слайды, причем скорее это не просто слайды, а комикс, про глубокое знание Си. Комикс этот многогранен и ставит перед собой цель показать и рассказать о:

Затрагивается также философия Си.

В общем, очень рекомендую. На все 400 с хвостом слайдов у меня ушло минут 30.

Слайды можно онлайн посмотреть тут http://www.slideshare.net/olvemaudal/deep-c (http://www.slideshare.net/olvemaudal/deep-c).
Скачать можно отсюда (http://oberspace.dyndns.org/attachments/deepc.pdf).
Если смотреть будете оффлайн-версию, крайне рекомендую настроить свой просмотрщик так, чтобы на экране помещался ровно один слайд в каждый момент времени.

Ну и несколько скриншотов из комикса:

(http://oberspace.dyndns.org/attachments/slide0.png)

(http://oberspace.dyndns.org/attachments/slide1.png)

(http://oberspace.dyndns.org/attachments/slide2.png)
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 07:52:57 am
Надо же - более 400 слайдов - из них около 50 только для того, что бы раскрыть нюансы использования функции main  :). Жирный плюс в со многими  восклицательными знаками в сторону Оберонов  :D и очень хороший  и наглядный ответ на вопрос -а стоит ли использовать Си в качестве языка для начинающих  :D :D :D :D.  Нда, хватило бы у коровцев интеллекта отвечать в таком духе на "соображения" участников педсовета , глядишь, и результирующее отношение к ним было  бы другим...
Название: Re: Deep C.
Отправлено: Peter Almazov от Октябрь 16, 2011, 09:51:46 am
Мне жалко обоих кандидатов, особенно второго. Он даже не понял, на какое говно он потратил жизнь.
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 09:54:30 am
Затрагивается также философия Си.
А что, у си есть какая-то философия? Не слишком ли громко сказано?
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 09:58:07 am
Надо же - более 400 слайдов - из них около 50 только для того, что бы раскрыть нюансы использования функции main  :). Жирный плюс в со многими  восклицательными знаками в сторону Оберонов  :D и очень хороший  и наглядный ответ на вопрос -а стоит ли использовать Си в качестве языка для начинающих  :D :D :D :D.  Нда, хватило бы у коровцев интеллекта отвечать в таком духе на "соображения" участников педсовета , глядишь, и результирующее отношение к ним было  бы другим...
Абероны настолько никому не известны, что никому даже не пришло в голову сделать подобные слайды, раскрывающие тонкости глюков в аберонах...
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 10:02:31 am
Мне жалко обоих кандидатов, особенно второго. Он даже не понял, на какое говно он потратил жизнь.
Чего их жалеть-то? Вы небось ещё и против эфтаназии?
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 10:32:30 am
Надо же - более 400 слайдов - из них около 50 только для того, что бы раскрыть нюансы использования функции main  :). Жирный плюс в со многими  восклицательными знаками в сторону Оберонов  :D и очень хороший  и наглядный ответ на вопрос -а стоит ли использовать Си в качестве языка для начинающих  :D :D :D :D.  Нда, хватило бы у коровцев интеллекта отвечать в таком духе на "соображения" участников педсовета , глядишь, и результирующее отношение к ним было  бы другим...
Абероны настолько никому не известны, что никому даже не пришло в голову сделать подобные слайды, раскрывающие тонкости глюков в аберонах...
  :D :D :D :D  Это и плохо,  в противном случае многим бы стало ясно насколько их меньше.. ;)
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:03:07 am
Надо же - более 400 слайдов - из них около 50 только для того, что бы раскрыть нюансы использования функции main  :). Жирный плюс в со многими  восклицательными знаками в сторону Оберонов  :D и очень хороший  и наглядный ответ на вопрос -а стоит ли использовать Си в качестве языка для начинающих  :D :D :D :D.  Нда, хватило бы у коровцев интеллекта отвечать в таком духе на "соображения" участников педсовета , глядишь, и результирующее отношение к ним было  бы другим...

Проблема в том, что для того, чтобы раскрыть все нюансы фунции "main" в оберонах потребовалось бы не 50 слайдов в таком стиле, а все 400.
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:04:38 am
Затрагивается также философия Си.
А что, у си есть какая-то философия? Не слишком ли громко сказано?
Есть. И как всякая философия она требует погружения для понимания.
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:08:27 am
Мне жалко обоих кандидатов, особенно второго. Он даже не понял, на какое говно он потратил жизнь.
Все относительно. Например мнение большенства, что потратить жизнь на фундаментальную науку (то есть на то, что нельзя будет использовать в ближайшие 100-200 лет) тоже потратить жизнь на какое-то говно. Но это ж не значит что не стоит на это тратить жизнь :-)

Все на самом деле очень просто - если уж ты занимаешься чем-то, то занимайся этим увлеченно и копай глубоко.
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 11:11:06 am
Надо же - более 400 слайдов - из них около 50 только для того, что бы раскрыть нюансы использования функции main  :). Жирный плюс в со многими  восклицательными знаками в сторону Оберонов  :D и очень хороший  и наглядный ответ на вопрос -а стоит ли использовать Си в качестве языка для начинающих  :D :D :D :D.  Нда, хватило бы у коровцев интеллекта отвечать в таком духе на "соображения" участников педсовета , глядишь, и результирующее отношение к ним было  бы другим...

Проблема в том, что для того, чтобы раскрыть все нюансы фунции "main" в оберонах потребовалось бы не 50 слайдов в таком стиле, а все 400.
  :) :) :) :)  Да ну...
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:19:55 am
Проблема в том, что для того, чтобы раскрыть все нюансы фунции "main" в оберонах потребовалось бы не 50 слайдов в таком стиле, а все 400.
  :) :) :) :)  Да ну...
Ну да. Попробуй ка написать на обероне аналог:
#include <stdio.h>

int main(void) {
    int a = 42;
    printf("%d\n", a);
    return 0;
}
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 11:26:59 am
Проблема в том, что для того, чтобы раскрыть все нюансы фунции "main" в оберонах потребовалось бы не 50 слайдов в таком стиле, а все 400.
  :) :) :) :)  Да ну...
Ну да. Попробуй ка написать на обероне аналог:
#include <stdio.h>

int main(void) {
    int a = 42;
    printf("%d\n", a);
    return 0;
}

MODULE FUCKC;
IMPORT Out;
VAR a:INTEGER;
BEGIN
a:=42;
Out.WriteInt(a)
END FUCKC.
Разумеется это в предположении что есть в реализации модуль Out с функцией WriteInt();
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:31:52 am
MODULE FUCKC;
IMPORT Out;
VAR a:INTEGER;
BEGIN
a:=42;
Out.WriteInt(a)
END FUCKC.
Разумеется это в предположении что есть в реализации модуль Out с функцией WriteInt();
Отлично. Теперь, для разогреву, давай выясним, что же вернет эта программа будучи запущенной. Чему будет равен exit value?
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 11:35:27 am
MODULE FUCKC;
IMPORT Out;
VAR a:INTEGER;
BEGIN
a:=42;
Out.WriteInt(a)
END FUCKC.
Разумеется это в предположении что есть в реализации модуль Out с функцией WriteInt();
Отлично. Теперь, для разогреву, давай выясним, что же вернет эта программа будучи запущенной. Чему будет равен exit value?
А это еще зачем? вы говорите про тонкости взаимодействия с подлежащей ОС -  эти вещи (зависящие от реализации ЯП и ОС) не покрываются ЯП высокого уровня..
Название: Re: Deep C.
Отправлено: valexey от Октябрь 16, 2011, 11:38:19 am
Отлично. Теперь, для разогреву, давай выясним, что же вернет эта программа будучи запущенной. Чему будет равен exit value?
А это еще зачем? вы говорите про тонкости взаимодействия с подлежащей ОС -  эти вещи (зависящие от реализации ЯП и ОС) не покрываются ЯП высокого уровня..
Во-первых, покрываются.
Во-вторых, затем, чтобы было понятно как строить взаимодействие программ. Exit value существует во всех ныне используемых ОС. Включая даже экзотические.

А к тонкостям мы пока и близко не подошли :-)
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 11:43:11 am
Отлично. Теперь, для разогреву, давай выясним, что же вернет эта программа будучи запущенной. Чему будет равен exit value?
Надо добавить вызов псевдопроцедуры EXIT для эквивалентности кода сишному:
MODULE FUCKC;
IMPORT Out;
VAR a:INTEGER;
BEGIN
  a:=42;
  Out.WriteInt(a);
  EXIT(0)
END FUCKC.
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 11:45:12 am
а вапще слайды отличные, правда я на них потратил не меньше часа.
немного нового узнал, но всё же.
я так и не понял, зачем нужен список инициализаторов. моё знание с++ едва ли превышает 2 из 10 )))

Цитировать
A perhaps smaller issue, but also important, is to use the member initializer list to
initialize an object. In the example above it does not really matter much, but when
member objects are more complex it makes sense to explicitly initialize the
members (using the initalizer list), rather than letting the object implicitly initialize all
its member objects to default values, and then assign them some particular value.
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 11:48:52 am
Отлично. Теперь, для разогреву, давай выясним, что же вернет эта программа будучи запущенной. Чему будет равен exit value?
А это еще зачем? вы говорите про тонкости взаимодействия с подлежащей ОС -  эти вещи (зависящие от реализации ЯП и ОС) не покрываются ЯП высокого уровня..
Во-первых, покрываются.
Во-вторых, затем, чтобы было понятно как строить взаимодействие программ. Exit value существует во всех ныне используемых ОС. Включая даже экзотические.

А к тонкостям мы пока и близко не подошли :-)
1. Вы Си и С++ считаете ЯП высокого уровня ?
2. В том варианте использования Оберона, про который  я говорил, все общение с "внешним миром" сводится к использованию  соответствующих библиотек.
3. И слава богу, Алексей - я не из "коровника" и четко представлю себе то о чем говорю. "Растащить" меня по другим топикам  вам не удастся (разумеется если только я САМ этого не захочу   ;)  ).
Ну еда не еда... по крайней мере, несварения желудка у вас точно не будет  ;D ;D ;D ;D ;D ;D, так же, впрочем, как  и когнитивных "запоров" .  ;D  ;D ;D
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 01:47:11 pm

Надо добавить вызов псевдопроцедуры EXIT для эквивалентности кода сишному:
...
В том то и дело , Евгений, что я не собираюсь заниматься этим "онанизмом" по подначке Алексея -вышел я из того возраста, лет уж как 10...
Название: Re: Deep C.
Отправлено: Geniepro от Октябрь 16, 2011, 03:54:52 pm
1. Вы Си и С++ считаете ЯП высокого уровня ?
А Вы действительно считаете оберон языком высокого уровня? Его уровень не намного выше, чем уровень Си.
В сях, по крайней мере, можно в некоторых пределах повышать уровень языка введением новых операторов. Например, тот же самый цикл Дейкстры в виртовском его понимании в сях делается элементарно, чего не скажешь об оберонах, в которых понадобилось чуть ли не 20 лет, что бы добавить этот оператор в язык.
Название: Re: Deep C.
Отправлено: DIzer от Октябрь 16, 2011, 03:59:48 pm
1. Вы Си и С++ считаете ЯП высокого уровня ?
А Вы действительно считаете оберон языком высокого уровня? Его уровень не намного выше, чем уровень Си.
В сях, по крайней мере, можно в некоторых пределах повышать уровень языка введением новых операторов. Например, тот же самый цикл Дейкстры в виртовском его понимании в сях делается элементарно, чего не скажешь об оберонах, в которых понадобилось чуть ли не 20 лет, что бы добавить этот оператор в язык.
Да, у нас с вами различное понимание высокоуровневости  :).