Re[18]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.11.04 12:58
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>>>Не думаю. Скорее это крайность.
S>> Тогда что такое середина????

AVK> ИМХО на данном этапе что то уровня C# или Java.

Уверяю, что нет. Очень сложно понять все принципы ООП,делегаты, интерфейсы, итд без других знаний.

Да и в Net все сразу вникают в MSIL а от него и в Ассемблер. Не все так просто.
AVK>>>А зачем в это вникать? Тем более что нет какой то одной реализации VMT. Более того, VMT отнюдь не единственный способ реализации полиморфизма.
S>> Предполагал что ты это заметишь. Но саммым эффективным будет существующаяя реализация в С++ и Delphi (за исключением статических виртуальных методов класса).

AVK>Ну и что?

Очень интересный ответ. Я бы сказал исчерпывающий.

S>> Давай лучше вспомним тему "Как устроены интерфейсы в Net".

S>> Что бы что то постичь нужно знать низкоуровневую реализацию то бишь фундамент.

AVK>А зачем это постигать?

Что бы понять как использовать и какие могут быть грабли.
S>>Ты предлагаешь абстрагироваться от фундамента, хотя сам его то знаешь.

AVK>Знаю, но потребность в этих знаниях на сегодня крайне низкая. Без них вполне можно прожить.

Прожить то легко, только уверяю тебя ты сам на подсознательном уровне их используешь.
И хочешь лишить этого начинающих прогаммистов????
Представляешь какого уровня достигнет наша страна, если их знания и умения будут болше твоих?????
и солнце б утром не вставало, когда бы не было меня
Re[19]: Оберон???????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.11.04 13:13
Оценка:
Здравствуйте, Serginio1, Вы писали:

AVK>> ИМХО на данном этапе что то уровня C# или Java.

S> Уверяю, что нет. Очень сложно понять все принципы ООП,делегаты, интерфейсы, итд без других знаний.

Вполне возможно без знания того как устроен VMT.

S> Да и в Net все сразу вникают в MSIL а от него и в Ассемблер. Не все так просто.


Я вот совсем не смотрел на MSIL поначалу, притом успешно реализовал на дотнете 2 проекта. А джавовский ассемблер я вобще до сих пор не знаю.

S>>> Предполагал что ты это заметишь. Но саммым эффективным будет существующаяя реализация в С++ и Delphi (за исключением статических виртуальных методов класса).


AVK>>Ну и что?

S> Очень интересный ответ. Я бы сказал исчерпывающий.

Почему ты решил что человек обязан знать реализацию VMT в С++? Зачем это ему надо?

S>>> Давай лучше вспомним тему "Как устроены интерфейсы в Net".

S>>> Что бы что то постичь нужно знать низкоуровневую реализацию то бишь фундамент.
AVK>>А зачем это постигать?
S> Что бы понять как использовать и какие могут быть грабли.

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

AVK>>Знаю, но потребность в этих знаниях на сегодня крайне низкая. Без них вполне можно прожить.

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

От того что ты уверяешь я их использовать не начну. Я тебе уже не раз говорил — все твои экзерсисы с кишками дотнета практически не имеют никакой реальной пользы, на практике они не нужны. За последний год мне по карйней мере тонкости работы джита не понадобились ни разу, хотя, как ты понимаешь, кода на шарпе я написал за это время очень много.
... << RSDN@Home 1.1.4 beta 3 rev. 219>>
AVK Blog
Re[2]: Smalltalk?
От: GlebZ Россия  
Дата: 02.11.04 13:17
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>Точно забить голву ученикам тем на чем им 100%-но никогда работать не прицдется.


VD>Причем СолТок это еще куда большая экзотика чем Оберон.

Только что наблюдал сообщение Rational Requisite "Smalltalk/V Stack Overflow"

С уважением, Gleb.
Re[16]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.11.04 14:11
Оценка:
Здравствуйте, Кодт, Вы писали:

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


S>>Ну и это неплохо. Но разговор идет о языках. А Ассемблер как раз и будет этой самой золотой серединой.

S>> Для того что внмкнуть в полимрфизм,RTTI нужно всего навсего знать что такое VMT и связь объекта с ней.
S>>Чтобы вникнуть в вызов объектных методов, и различие в вызовах нужно знать, что такое регисты, стек и операции с ними
S>>Что бы вникнуть в битовую,адресную арифметику итд.
S>> И уверяю со знанием ассемблера постичь это намного проще, чем пространные абстрактные объяснения.
S>>Хотя я свое мнение никому и ненавязываю.

К>Тут история такая. Выбрав конкретную платформу в качестве базиса, ты получишь одну из возможных реализаций, с риском не увидеть иные возможные способы.


К>Уж если и учить тонкостям — то в виде загадок / задачек.


К>Например: Виртуальные функции. Как это можно реализовать?

К>* vtbl как принадлежность класса + vptr как член объекта
К>* записать vtbl прямо в объект
К>В первом случае мы делаем полиморфизм наследованием/перекрытием, а во втором — субклассированием. Кстати, в скриптовых языках (javascript, python) совмещаются оба способа.
К>А содержание таблицы?
К>* массив указателей на функции (каждая идентифицируется смещением)
К>* ассоциативный массив указателей на функции (см. например, TP7, TPW)
К>* единственная функция-диспетчер (IDispatch, WNDPROC)
К>Какие ещё варианты можно предложить?
Можно изощряться по максимуму вплоть до содержания виртуальных статических переменных класса.
Это один из способов организации структур данных.
Просто девиз Алгоритмы+Структуры Данных = Программы, недостаточен по моему мнению без знаний низкоуровневых языков.
К>Тогда это реально разовьёт кругозор. А просто "массив голых указателей на функции" — несерьёзно. На каких-то платформах так быстрее, а на других — медленнее.
Ну на самом деле например в Delphi это не "массив голых указателей на функции", а в том числе и виртуальные данные класса. Нужно знать только смещение. Да и адрес RTTI там же. В любом случае речь то не об этом, а об необходимости преподования на начальном этапе Ассемблера.
К>Может быть, вместо указателей нужно хранить серию jmp'ов или call'ов... Или наоборот, не убавить, а добавить уровень косвенности (как это делается в некоторых реализациях Forth).
Я полностью с тобой согласен. Поэтому что бы знать что такое jmp'ов или call нужно немного знать Ассемблер.
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[17]: Оберон???????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.11.04 14:43
Оценка: 17 (2)
Здравствуйте, Serginio1, Вы писали:

Forth).
S> Я полностью с тобой согласен. Поэтому что бы знать что такое jmp'ов или call нужно немного знать Ассемблер.
Это глупость. Ну скажи на милость, кому нафиг упали все эти джампы и коллы? Миллионы людей по всему миру кодят безо всякого знания джампов и коллов. Да, есть риск неявного использования неэффективных алгоритмов. Но это не так страшно: понадобится оптимизировать — узнают все что надо.
Кроме того, ужас в том, что на самом деле все работает совсем не так. Современный процессор — страшная штука. Я вот про 386 еще хоть как-то представлял, что внутрях происходит. Смутно, но представлял. А что делается сейчас в П-4, я просто молчу! Там же все эти множественные конвейеры, предсказания переходов и трактовка регистров как переменных. Ихний ассемблер — язык настолько высокого уровня, что мама дорогая. И что, ты полагаешь что мне без этих знаний как-то хреново работается? Ничего подобного! И ты, смею полагать, наизусть не вспомнишь, какие команды в четвертом пне спариваются, а какие — нет.

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

Ну и кому это интересно, кроме разработчиков фреймворка? Нам достаточно знать, что новый процессор позволяет выжать из сервера на 30% транзакций в минуту больше, а новый фреймворк — еще на 22%. Важнее уметь программировать, т.е. писать адекватные решения прикладным задачам. Прикладных задач на порядки больше чем системных.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[18]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 02.11.04 14:56
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


S>Forth).

S>> Я полностью с тобой согласен. Поэтому что бы знать что такое jmp'ов или call нужно немного знать Ассемблер.
S>Это глупость. Ну скажи на милость, кому нафиг упали все эти джампы и коллы? Миллионы людей по всему миру кодят безо всякого знания джампов и коллов. Да, есть риск неявного использования неэффективных алгоритмов. Но это не так страшно: понадобится оптимизировать — узнают все что надо.
То есть нужно начинать прямо с Явы и С#
S>Кроме того, ужас в том, что на самом деле все работает совсем не так. Современный процессор — страшная штука. Я вот про 386 еще хоть как-то представлял, что внутрях происходит. Смутно, но представлял. А что делается сейчас в П-4, я просто молчу! Там же все эти множественные конвейеры, предсказания переходов и трактовка регистров как переменных. Ихний ассемблер — язык настолько высокого уровня, что мама дорогая. И что, ты полагаешь что мне без этих знаний как-то хреново работается? Ничего подобного! И ты, смею полагать, наизусть не вспомнишь, какие команды в четвертом пне спариваются, а какие — нет.

Я веду речь о простых операторах. Я понимаю, что на данном этапе арифметика не нужна и не нужно заучивать таблицу умножения итд.
Но все таки ее по прежнему учат.
S>Дальше — хуже. Пока что еще можно интересоваться внутренним устройством vtbl и прочего мсила. Но, видишь ли, современные среды вовсю осваивают хотспоттинг. А это означает, что никакой vtbl может и не быть. Забудь о ней. На уровне x86 там будет свитч по указателю на класс вместо косвенного вызова, или проверка класса на наиболее вероятный и банальный джамп. Потому, что проверка лучше предсказывается процессором, а значит меньше шанс сброса конвейера. А может вообще стоять безусловный вызов, потому что в данном контексте удалось избавиться от полиморфизма благодаря глобальной оптимизации.
В данном случае VMT была просто как пример понимания полимрфизма.

S>Ну и кому это интересно, кроме разработчиков фреймворка? Нам достаточно знать, что новый процессор позволяет выжать из сервера на 30% транзакций в минуту больше, а новый фреймворк — еще на 22%. Важнее уметь программировать, т.е. писать адекватные решения прикладным задачам. Прикладных задач на порядки больше чем системных.

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

Ну не надо так ненадо. Уговорили.
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[18]: Оберон???????????????
От: Mamut Швеция http://dmitriid.com
Дата: 02.11.04 15:04
Оценка: :)
В 1989 году книжка по ассемблеру (reference) — 204 страницы из которых 26 — оглавление.

брррр
... << RSDN@Home 1.1.4 beta 3 rev. 185>> ... <<Winamp is playing "DJ Axi — Seaside">> ...


dmitriid.comGitHubLinkedIn
Re[17]: Оберон???????????????
От: Sergey J. A. Беларусь  
Дата: 02.11.04 17:15
Оценка: :))
Здравствуйте, Serginio1, Вы писали:

S> Но Сына я точно буду обучать Ассемблеру (если правда вообще захочет программировать)


А ты уже готов объяснить, почему
mov eax,ebx и mov ebx,eax не одно и тоже ?
Я — свихнувшееся сознание Джо.
Re[19]: Оберон???????????????
От: GlebZ Россия  
Дата: 02.11.04 17:59
Оценка: 64 (5)
Здравствуйте, Serginio1, Вы писали:

Все, не могу, уже и меня прет что-то сказать. Все нижесказанное, является моим сугубо личным субъективном мнением.
Давайте разведем детишек и тех кто уже вырос, по ролям:
1 Роль: школьник
Вряд ли он когда-то вспомнит на каких уроках он просиживал. Однако после того, как он получил аттестат, он теоретически не должен пугаться слова компьютер, должен уметь запустить нужную ему программу, игрушку и т.д. и т.п. Остальные рюшки для него лишние. Возможно, еще он смог бы написать макрос для Ворда или Екселя. На фиг ему сдалась ООП. Кто-то пропихивал идею про ООП, ООП достаточно сложная вещь, чтобы детишек этим мучать. Учитывая что это теоретически никогда ему не пригодится.Существует конечно исключение — братва собирающаяся стать программистами. Но для этой братвы, самообразование на основе любознательности, намного полезней, чем долбежка на уроках.
2 Роль: учащийся по некоторой специальности, которое подразумевает знание программирования.
2.1 Для данного человека важен объем знаний, а не в каком порядке оно было получено. Не важно, что он сначала изучил, С или ассемблер. С++ или С. Он их знает оба, и понимает, что из чего выходит.
2.2 На данный момент развития технологий, уже нельзя подготовить человека, который знает все. Значит, нужно подготавливать человека, который может работать на некотором уровне абстракции. Для того, чтобы он хорошо ориентировался на данном уровне абстракции, он должен представлять соседний уровень, на чем она основана. Если он прикладник, то он должен знать SQL, язык, API. Но также он должен представлять себе, как работает БД, он должен представлять то, что такое исполнение кода (что такое сегменты данных, LDT, регистры процессора), и представлять режим ядра Windows и что такое сетевая маршрутизация. Именно представлять, а не знать. Конкретные знания скорее всего не пригодятся, но понимание самой технологии обязательна. Для системного программиста можно продолжить аналогию. Для программиста Net, необязательно учить MSIL. Нужно представлять, что он есть, как он работает, но не более того.
2.3 Знания учащегося очищаются из памяти не более чем за 2 недели. Представление о полученных знаниях остается. Ему на фиг не нужен никакой язык поддерживающий сборку мусора, ему нужно само представление о том, что существует такая штука, примерно представлять что она делает, и знать в какую книжку за этой информацией лезть.
2.4 Человек оканчивающий институт, быстро учится каким-то областям деятельности, если он имеет представление о них. Невозможно дать в институте все возможные знания и навыки. Этому учишься и продолжаешь учиться в процессе работы. Что делать, такова специфика профессии. Но если есть представление о механизмах, знания сами тебя находят. Иногда, не нужно вызубривать что-то, достаточно представить сам механизм, и ты сам догадаешься что, где и как происходит. И самое главное, почему.

С уважением, Gleb.
Re[20]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.11.04 11:03
Оценка:
Здравствуйте, GlebZ, Вы писали:


GZ>2.2 На данный момент развития технологий, уже нельзя подготовить человека, который знает все. Значит, нужно подготавливать человека, который может работать на некотором уровне абстракции. Для того, чтобы он хорошо ориентировался на данном уровне абстракции, он должен представлять соседний уровень, на чем она основана. Если он прикладник, то он должен знать SQL, язык, API. Но также он должен представлять себе, как работает БД, он должен представлять то, что такое исполнение кода (что такое сегменты данных, LDT, регистры процессора), и представлять режим ядра Windows и что такое сетевая маршрутизация. Именно представлять, а не знать. Конкретные знания скорее всего не пригодятся, но понимание самой технологии обязательна. Для системного программиста можно продолжить аналогию. Для программиста Net, необязательно учить MSIL. Нужно представлять, что он есть, как он работает, но не более того.

Так каков должен быть метод обучения, что бы это все представлять на должном уровне???
Не получится ли как с религией??? И вообще то абстракция на чем то и базируется.
Я только высказал свое мнение. В конце концов не мне детишек учить
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[20]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.11.04 12:56
Оценка: +1 :)
Здравствуйте, AndrewVK, Вы писали:

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


AVK>>> ИМХО на данном этапе что то уровня C# или Java.

S>> Уверяю, что нет. Очень сложно понять все принципы ООП,делегаты, интерфейсы, итд без других знаний.

AVK>Вполне возможно без знания того как устроен VMT.

Вполне возможно. Но для меня лично было проще все понимать через VMT и адреса функций итд.
Возможно я и не одинок.

S>> Да и в Net все сразу вникают в MSIL а от него и в Ассемблер. Не все так просто.


AVK>Я вот совсем не смотрел на MSIL поначалу, притом успешно реализовал на дотнете 2 проекта. А джавовский ассемблер я вобще до сих пор не знаю.


S>>>> Предполагал что ты это заметишь. Но саммым эффективным будет существующаяя реализация в С++ и Delphi (за исключением статических виртуальных методов класса).


AVK>>>Ну и что?

S>> Очень интересный ответ. Я бы сказал исчерпывающий.

AVK>Почему ты решил что человек обязан знать реализацию VMT в С++? Зачем это ему надо?

Ответил выше.

S>>>> Давай лучше вспомним тему "Как устроены интерфейсы в Net".

S>>>> Что бы что то постичь нужно знать низкоуровневую реализацию то бишь фундамент.
AVK>>>А зачем это постигать?
S>> Что бы понять как использовать и какие могут быть грабли.

AVK>Опыт показывает что это не является обязательным условием.


AVK>>>Знаю, но потребность в этих знаниях на сегодня крайне низкая. Без них вполне можно прожить.

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

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

Я сам достаточно много обходился и обхожусь без ассемблера, MSIL итд. И это не является краеугольным камнем. Но считаю для себя лично, что легче работать с с более полным пониманием процесса.
Все таки не хочется уподоблятся своим юзерам умеющим нажимать только на кнопки и непонимающих, что происходит после нажатия.
И если видят результат не совподающим с их пониманием начинают паниковать.
В любом случае на той же информатике начинают с двоичной системы. По твоему принципу это тоже не нужно?????
Как бы там ни было, в общем прав Ты. Но мне почему то эта правда не по нутру.
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[21]: Оберон???????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.11.04 13:30
Оценка: +2
Здравствуйте, Serginio1, Вы писали:

AVK>>Вполне возможно без знания того как устроен VMT.

S> Вполне возможно. Но для меня лично было проще все понимать через VMT и адреса функций итд.
S> Возможно я и не одинок.

И на этом основании ты предлагаешь всех детей учить ассемблеру 5 баллов

AVK>>>>Ну и что?

S>>> Очень интересный ответ. Я бы сказал исчерпывающий.

AVK>>Почему ты решил что человек обязан знать реализацию VMT в С++? Зачем это ему надо?

S> Ответил выше.

Ты ответил зачем лично тебе надо. А зачем это надо детям совершенно непонятно.

S> Все таки не хочется уподоблятся своим юзерам умеющим нажимать только на кнопки и непонимающих, что происходит после нажатия.


Ты считаешь что я им уподобляюсь?

S> В любом случае на той же информатике начинают с двоичной системы. По твоему принципу это тоже не нужно?????


Нужно. Но при чем тут ассемблер?

S> Как бы там ни было, в общем прав Ты. Но мне почему то эта правда не по нутру.


ИМХО потому что ты считаешь что крутость программиста заключается в неких таинствах железа, недоступных простым смертным. А на самом деле эта крутость заключается в умении быстро, красиво и эффективно решать задачи. И это умение простым изучением по книжке х86 ассемблера увы не приобрести.
... << RSDN@Home 1.1.4 beta 3 rev. 219>>
AVK Blog
Re[22]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.11.04 14:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>> В любом случае на той же информатике начинают с двоичной системы. По твоему принципу это тоже не нужно?????


AVK>Нужно. Но при чем тут ассемблер?


S>> Как бы там ни было, в общем прав Ты. Но мне почему то эта правда не по нутру.


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


Вот чего никогда не воспринимаю так это крутость. Простым изучением ассемблера этого не достигнешь, но в комплексе вполне реально.
На самом деле нужна некая система обучения начиная с двоичной системы, логических элементов, итд.
Это азы.
В любом случае ты крут, а я обычный 1С ник.
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[23]: Оберон???????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.11.04 14:32
Оценка: +1
Здравствуйте, Serginio1, Вы писали:
S> На самом деле нужна некая система обучения начиная с двоичной системы, логических элементов, итд.
Знаешь, мне мама рассказывала, что когда она пошла на курсы программирования после университета, одна девушка все докапывалась, как там все внутри работает. Поясняла она это тем, что начинать надо с азов, и что пока она азы не освоит, нечего сложные вещи изучать. Тут, наверное, стоит упомянуть, что девушки были с эконома. И пока остальные осваивали Фортран, она мучительно пыталась понять "азы". В те времена азы были попроще нынешних, но увы — девушка была азами и убита.
Те, кто не очень интересовался, каким именно образом получить полный сумматор из полусумматора, полусумматор из вентилей, а вентили — из транзисторов, успешно курсы прошли. Писали они автоматизацию предприятий, конечно, с переменным успехом, но некоторые (как, например, моя мама), стали со временем ведущими и главными конструкторами. Мораль: уже в далеком 1978 году для программирования нафиг не было надо знать даже ассемблер. Упаси байт — логические элементы! Надо было понимать, как превратить лепет в ТЗ, ТЗ-в алгоритм, а алгоритм — в программу. С тех пор в плане программирования изменилось только одно — азы кошмарным образом усложнились.

Я вот себе довольно-таки внятно представляю всю вертикаль, от юзабилити до зонной теории. Ну дак я блин четыре года до университета опыта набирался, четыре года в универе физику изучал, и с тех пор семь лет по специальности работаю. И то есть масса совершенно темных для меня мест, про которые я знаю, что я их не знаю, и наверняка еще куча мест, про которые я даже не знаю.
К чему я клоню? К тому, что преподавать от частного к общему — нельзя. Не доживут. Конечно, начинать сразу с абстракций — тоже плохо. Нормальное обучение мечется вверх-вниз, перемежая анализ синтезом.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[24]: Оберон???????????????
От: Mamut Швеция http://dmitriid.com
Дата: 03.11.04 14:47
Оценка: +1
У нас всякие полусумматоры на втором курсе в рамках "Logic Circuits", ассемблер — на третьем в рамках "Systems Programming", введение в Word/Excel (грубо говоря) — в первом семестре, "Introduction to Programming in C++" — во втором семестре.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[24]: Оберон???????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.11.04 14:47
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

S>> На самом деле нужна некая система обучения начиная с двоичной системы, логических элементов, итд.
S>Знаешь, мне мама рассказывала, что когда она пошла на курсы программирования после университета, одна девушка все докапывалась, как там все внутри работает. Поясняла она это тем, что начинать надо с азов, и что пока она азы не освоит, нечего сложные вещи изучать. Тут, наверное, стоит упомянуть, что девушки были с эконома. И пока остальные осваивали Фортран, она мучительно пыталась понять "азы". В те времена азы были попроще нынешних, но увы — девушка была азами и убита.
S>Те, кто не очень интересовался, каким именно образом получить полный сумматор из полусумматора, полусумматор из вентилей, а вентили — из транзисторов, успешно курсы прошли. Писали они автоматизацию предприятий, конечно, с переменным успехом, но некоторые (как, например, моя мама), стали со временем ведущими и главными конструкторами. Мораль: уже в далеком 1978 году для программирования нафиг не было надо знать даже ассемблер. Упаси байт — логические элементы! Надо было понимать, как превратить лепет в ТЗ, ТЗ-в алгоритм, а алгоритм — в программу. С тех пор в плане программирования изменилось только одно — азы кошмарным образом усложнились.

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

S>К чему я клоню? К тому, что преподавать от частного к общему — нельзя. Не доживут. Конечно, начинать сразу с абстракций — тоже плохо. Нормальное обучение мечется вверх-вниз, перемежая анализ синтезом.
Я полностью с тобой согласен. Поэтому и говорю ИМХО.
Но поверь мне, что для разных людей должен быть свой подход, и универсального нет. Иногда понимание приходит сразу, а иногда и после после набора других знаний. Так и в школе без определенных знаний нет полного понимания, зато в институте все встает на свои места.
В данном случае ведя разговор об ассемблере дать только начальные знания, правда после некоторого изучения структурного процедурного языка или в купе с ним, не заостряя на нем внимания. Возможно это будет правильным решением. И вопросов типа
http://www.rsdn.ru/Forum/Message.aspx?mid=882634&amp;only=1
Автор: Serginio1
Дата: 03.11.04

не будет. Опять же повторюсь в любом деле нужен индивидуальный подход.
... << RSDN@Home 1.1.3 stable >>
и солнце б утром не вставало, когда бы не было меня
Re[21]: Оберон???????????????
От: GlebZ Россия  
Дата: 03.11.04 16:17
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

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



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

А хрен его знает. Я сам не знаю. Разве что молиться?
На мою мысль, типа проходить общей теорией по всем сопутствующим курсам, а уже потом вдалбливать узкую специализацию, по типу как и у докторишек, народу это как-то не понравилось.
S> Не получится ли как с религией??? И вообще то абстракция на чем то и базируется.
Религия на нижнем уровне, скорее всего да. Смотря кого готовить. Если "практика", то это ему будет помогать. Для "теоретика"???? Теоретик должен все объяснять и подтверждать. Это его природа и обязанность. И курса ВУЗа ему будет очень мало, как впрочем и в других науках.
S> Я только высказал свое мнение. В конце концов не мне детишек учить
И не мне, слава богу. Хотя мало процессов, которые можно довести до идеала.

С уважением, Gleb.
Re[3]: Smalltalk?
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.11.04 22:06
Оценка: :)
Здравствуйте, GlebZ, Вы писали:

GZ>Только что наблюдал сообщение Rational Requisite "Smalltalk/V Stack Overflow"


Ну, ради это стоит жить.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Оберон???????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.11.04 12:48
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>А Ассемблер как раз и будет этой самой золотой серединой.


Я плякаль...
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Оберон???????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.11.04 12:48
Оценка: :))) :))) :)
Здравствуйте, AndrewVK, Вы писали:

AVK>О да, объяснять полиморфизм на ассемблере это самое оно


А чё?

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

00000000  push        ebp  
00000001  mov         ebp,esp 
00000003  sub         esp,24h 
00000006  push        edi  
00000007  push        esi  
00000008  push        ebx  
00000009  test        dword ptr [esp+FFFFFBC0h],eax 
00000010  mov         dword ptr [ebp-4],ecx 
00000013  cmp         dword ptr ds:[001D6FA4h],0 
0000001a  je          00000021 
0000001c  call        758758DD 
00000021  mov         dword ptr [ebp-0Ch],0 
00000028  mov         dword ptr [ebp-10h],0 
0000002f  xor         edi,edi 
00000031  mov         dword ptr [ebp-14h],0 
00000038  mov         dword ptr [ebp-18h],0 
0000003f  mov         dword ptr [ebp-1Ch],0 
00000046  mov         dword ptr [ebp-20h],0 
0000004d  xor         ebx,ebx 
0000004f  mov         dword ptr [ebp-8],0 
00000056  mov         ecx,dword ptr ds:[01AD204Ch] 
0000005c  call        74B298DC 
00000061  mov         esi,eax 
00000063  mov         dword ptr [ebp-0Ch],esi 
00000000  push        ebp  
00000001  mov         ebp,esp 
00000003  sub         esp,24h 
00000006  push        edi  
00000007  push        esi  
00000008  push        ebx  
00000009  test        dword ptr [esp+FFFFFBC0h],eax 
00000010  mov         dword ptr [ebp-4],ecx 
00000013  cmp         dword ptr ds:[001D6FA4h],0 
0000001a  je          00000021 
0000001c  call        758758DD 
00000021  mov         dword ptr [ebp-0Ch],0 
00000028  mov         dword ptr [ebp-10h],0 
0000002f  xor         edi,edi 
00000031  mov         dword ptr [ebp-14h],0 
00000038  mov         dword ptr [ebp-18h],0 
0000003f  mov         dword ptr [ebp-1Ch],0 
00000046  mov         dword ptr [ebp-20h],0 
0000004d  xor         ebx,ebx 
0000004f  mov         dword ptr [ebp-8],0 
00000056  mov         ecx,dword ptr ds:[01AD204Ch] 
0000005c  call        74B298DC 
00000061  mov         esi,eax 
00000063  mov         dword ptr [ebp-0Ch],esi 
00000000  push        ebp  
00000001  mov         ebp,esp 
00000003  sub         esp,24h 
00000006  push        edi  
00000007  push        esi  
00000008  push        ebx  
00000009  test        dword ptr [esp+FFFFFBC0h],eax 
00000010  mov         dword ptr [ebp-4],ecx 
00000013  cmp         dword ptr ds:[001D6FA4h],0 
0000001a  je          00000021 
0000001c  call        758758DD 
00000021  mov         dword ptr [ebp-0Ch],0 
00000028  mov         dword ptr [ebp-10h],0 
0000002f  xor         edi,edi 
00000031  mov         dword ptr [ebp-14h],0 
00000038  mov         dword ptr [ebp-18h],0 
0000003f  mov         dword ptr [ebp-1Ch],0 
00000046  mov         dword ptr [ebp-20h],0 
0000004d  xor         ebx,ebx 
0000004f  mov         dword ptr [ebp-8],0 
00000056  mov         ecx,dword ptr ds:[01AD204Ch] 
0000005c  call        74B298DC 
00000061  mov         esi,eax 
00000063  mov         dword ptr [ebp-0Ch],esi


Что делает эта программа незнает даже тот долболом, что ее написал. Так вот дети, инкапсуляция и абстракция позволяют нам никода не глядеть на этот УЖАС!


... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.