powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Преподавать C++ или C#?
25 сообщений из 230, страница 8 из 10
Преподавать C++ или C#?
    #37930336
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все согласны?C# стоит между С и С++ и ближе к последнему.Трудно согласиться. Си --- это макроассемблер такой удобный. Си с двумя плюсами --- это ещё более навороченный макроассемблер. А C# --- это нечто со своей подковёрной внутренней жизнью, вроде Паскаля. Это не "достоинство" и не "недостаток", просто принципиальное отличие от двух других.
Есть, кстати, ещё C--, SAC и куча "кастрированных Си", которые ещё нагляднее показывают "макроассемблерность" Си. Особенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930346
iv_an_ruвсе согласны?C# стоит между С и С++ и ближе к последнему.Трудно согласиться. Си --- это макроассемблер такой удобный. Си с двумя плюсами --- это ещё более навороченный макроассемблер. А C# --- это нечто со своей подковёрной внутренней жизнью, вроде Паскаля. Это не "достоинство" и не "недостаток", просто принципиальное отличие от двух других.
Есть, кстати, ещё C--, SAC и куча "кастрированных Си", которые ещё нагляднее показывают "макроассемблерность" Си. Особенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
Ну с С - макроасемблер соглашусь. А С++ макроассемблер?
Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново.
Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :)
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930347
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шаблоны шаблонистей :)Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :)

Про шаблоны спорно, а вот про "ООПшность" - так по идее наоборот, С++ еще как-то допускает мешать классы с процедурами, то C# - в более полной мере реализует лозунг "все есть объект". Там без класса вообще ничего не сделать.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930356
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблоны шаблонистей :)Ну с С - макроасемблер соглашусь. А С++ макроассемблер?
Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново.Макроассемблер не переводит "с ASM", так что логика непонятна.
Имея, скажем, декларации классов и функций членов, вы можете "в уме" с точностью до байта представить себе раскладку объектов в памяти, содержимое вирттаблиц, понять, во что превратятся инлайны, в какие объектные модули и как лягут инстанцияции темплетов и т.п. Можете представить себе даже содержимое карт диапазонов адресов инструкций, которую "разматывалка стека" обходит при работе обработчика исключений. Были бы терпение, родная дока компилятора и производственная необходимость. Вы можете понять, как подкрутить структуры данных или код для того или иного изменения в раскладке данных. Или можете понять, что надо выпендриться на более низком уровне, и выпендриться строго как надо. От архитектурно-специфических функций gcc до вставок на асме включительно.
Это IMHO и есть макроассемблер.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930363
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все согласны?множественное наследованиеЖуть какая, нормальное множественное наследование я видел только в CLOS. Интерфейсы уж куда более полезная штука.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930380
с ASM на С++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruшаблоны шаблонистей :)Ну с С - макроасемблер соглашусь. А С++ макроассемблер?
Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново.Макроассемблер не переводит "с ASM", так что логика непонятна.
Имея, скажем, декларации классов и функций членов, вы можете "в уме" с точностью до байта представить себе раскладку объектов в памяти, содержимое вирттаблиц, понять, во что превратятся инлайны, в какие объектные модули и как лягут инстанцияции темплетов и т.п. Можете представить себе даже содержимое карт диапазонов адресов инструкций, которую "разматывалка стека" обходит при работе обработчика исключений. Были бы терпение, родная дока компилятора и производственная необходимость. Вы можете понять, как подкрутить структуры данных или код для того или иного изменения в раскладке данных. Или можете понять, что надо выпендриться на более низком уровне, и выпендриться строго как надо. От архитектурно-специфических функций gcc до вставок на асме включительно.
Это IMHO и есть макроассемблер.
Я и не говорю что "Макроассемблер не переводит "с ASM"", я говорю "перевод кода с ASM на С чисто механический", т.е. вы можете легко перевести с ASM на C, а так как базовым языком макроассемблера является ассемблер и близостью языка можно назвать легкость перевода с одного на другой, то легкость перевода с ASM на другой язык и может считаться близостью его к макроассемблеру.
Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++.
А по вашему получается любой язык компилируемый в машинный код - макроассемблером.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930385
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с ASM на С++Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++.Не замечу.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930390
Ares_ekbвсе согласны?множественное наследованиеЖуть какая, нормальное множественное наследование я видел только в CLOS. Интерфейсы уж куда более полезная штука.
Наверняка вы просто не знаете для какой задачи подойдет множественное наследование, а если вам дать задачу, где оно применимо как нельзя лучше, то не сможете её красиво решить без него.
А о достоинствах других языков здесь никто и не спорит. Прикладные языки ставят жесткие рамки защищающие от глупых ошибок, в этом их достоинство.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930392
с С++ на ASM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruс ASM на С++Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++.Не замечу.
Ну чтож, поздравляю, вы уникальный человек на этой планете.
А разницу в переводе с C на ASM, и с C++ на ASM наверное тоже не заметите, и не заметите разницу в сложности написания программы которая эти переводы делает, т.е компилятора С и С++?
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930422
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с С++ на ASMiv_an_ruпропущено...
Не замечу.
Ну чтож, поздравляю, вы уникальный человек на этой планете.
А разницу в переводе с C на ASM, и с C++ на ASM наверное тоже не заметите, и не заметите разницу в сложности написания программы которая эти переводы делает, т.е компилятора С и С++?По сравнению с построением хорошего сишного компилятора для современного проца, "нахлобучка" в виде двух плюсов сложности уже почти не добавляет. Аннотированный С++ транслируется в аннотированное подмножество С несложной переписывалкой, которую за два семестра пишет не очень-то старательный программист в глубоко "советском" НИИ.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930427
с С++ на ASM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruс С++ на ASMпропущено...

Ну чтож, поздравляю, вы уникальный человек на этой планете.
А разницу в переводе с C на ASM, и с C++ на ASM наверное тоже не заметите, и не заметите разницу в сложности написания программы которая эти переводы делает, т.е компилятора С и С++?По сравнению с построением хорошего сишного компилятора для современного проца, "нахлобучка" в виде двух плюсов сложности уже почти не добавляет. Аннотированный С++ транслируется в аннотированное подмножество С несложной переписывалкой, которую за два семестра пишет не очень-то старательный программист в глубоко "советском" НИИ.
Да вот кстати, тут поиском находится дискуссия с вашим участием:
Сколько у вас ушло времени на освоения cpp
iv_an_ruПримерно год писал транслятор с аннотированного C++ в специальное подмножество С --- вот за тот год, стало быть, и доучил. До того трудно посчитать, суммарно, наверное, год урывками. Последние лет 10 пишу на голом си, так что сейчас в плюсах, наверное, опять чайник-чайником .

Сколько у вас ушло времени на освоения cpp
SiemarglAnatoly Moskovskyпропущено...

Зачем прикидки? Вот люди точно рассказали http://www.arbinada.com/main/node/54/606 (классика уже)
Есть прямой ответ (цитата неточная) Уолтера Брайта: "Я написал компилятор Си за год , думал еще за год написать компилятор С++. Прошло 10 лет, и я все еще далеко от завершения ."

Справедливости ради, его компилятор Digital Mars C++ не намного лучше Борланда.
Сейчас пишут D, с переменным успехом =)
Уолтер Брайт: 1 год против более чем 10 лет.

Ок, будем считать ваше мнение более профессиональным:
iv_an_ruГоды работы группы человек из пяти.
Около 5 человеколет только на транслятор. За год не написали.

А компилятор С за сколько бы вы написали?
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930435
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с С++ на ASMА компилятор С за сколько бы вы написали?Нормальный вообще бы не написал, это не моя специальность.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930438
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все согласны?Наверняка вы просто не знаете для какой задачи подойдет множественное наследованиеТакой задачи нет. Наследуется либо внешнее поведение объекта (в этом случае используем абстрактные классы, интерфейсы - реализация нас не интересует), либо внутренняя реализация (в этом случае наследование всегда можно заменить композицией).

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

Конечно, композиция - это не совсем наследование. У родительского и встроенного объектов разные жизненные циклы. Но это меньшее зло.

Отсутствие множественного наследования иногда несколько увеличивает количество кода, но, уж, лучше явно прописать какие-то вещи, чем допускать неявные ошибки с МН.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930439
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с С++ на ASMУолтер Брайт: 1 год против более чем 10 лет.Разумеется. Есть принципиальная разница между построением "какого-нибудь" транслятора и построением _быстрого_ транслятора, к тому же _гарантированно_ соблюдающего стандарт.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930445
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpaceшаблоны шаблонистей :)Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :)
Про шаблоны спорно, а вот про "ООПшность" - так по идее наоборот, С++ еще как-то допускает мешать классы с процедурами, то C# - в более полной мере реализует лозунг "все есть объект". Там без класса вообще ничего не сделать.
Если хочешь научить студентов только ООП за 4-8 лекций, то C# тогда, как сам выбрал.
(мое скромное имхо - я-б не учил этому монстру, бедные люди, им-же всю жизнь переучиваться и зависить от MS для зарабатывания $ и кормления семьи).
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930525
iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
А можно пример?
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930527
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
А можно пример?асм не заменишь никаким C, если только элементарный пример, тебе это надо?
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930533
aswsА можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
А можно пример?асм не заменишь никаким C, если только элементарный пример, тебе это надо?
Ну тут говорят про cmm, который javascript. Да и с С было бы интересно что там за асм инструкции в "как-бы сишном коде".
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930536
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно пример?aswsпропущено...
асм не заменишь никаким C, если только элементарный пример, тебе это надо?
Ну тут говорят про cmm, который javascript. Да и с С было бы интересно что там за асм инструкции в "как-бы сишном коде".
Не надо путать интерпретатор по-сути/или пока-еще - JavaScript ,
и машинные коды, на которых работает проц компа.

Наиболее близок к машинным кодам - Ассемблер - в нем каждая команда имеет условную мнемонику соответсвия машинному коду.

Все остальные компиляторы ЯП более высокого уровня - создают говнокодище.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930537
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После АСМа, из всех компиляторов - C создает наиболее лучший код с точки зрения машинных команд для процессора,
за ним идет наверное Pascal, н тут я уже не уверен, это предположение...
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930541
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpace... ООП - это парадигма, глобальный подход, а оконные функции - частная техническая деталь. Это в итоге нужно знать, но стоит ли с этого прям начинать? Тогда нужно будет рассказать про IDE, процесс компиляции, виды языков, стек и кучу,...
а как Вы хотели?
Учить других - это талант, надо четко ЗНАТЬ на опыте и УМЕТЬ грамотно объяснить.
Иначе будут задания от Вас, сравнимые с заданием от горе-препода - типа создать ООП пример на ассемблере...
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930544
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avlaxoftПомнится, у нас в универе даже домашнее задание на лето было: написать на ASMе (!!!) программу, использующую объекты (да, оказывается, даже на этом уровне есть механизм реализации всех трех "китов" ООП!) и моделирующую полет и упругое столкновение на экране шариков, отталкивающихся друг от друга и от стенок экрана (один шарик - один экземпляр объекта)...Это Вам попался горе-учитель, который кроме "парадигмы ООП" (это только слово в языке, каждый по-своему понимает),
больше ничего не захотел изучать (или умом слабоват), и поэтому сильно ограничен.
Не повезло Вам с преподом.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930564
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг.
А можно пример?Вот тут пара добровольцев всё ещё поддерживают старинный Сфинкс C-- , можно и мелкие примеры посмотреть.
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930569
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asws(мое скромное имхо - я-б не учил этому монстру, бедные люди, им-же всю жизнь переучиваться и зависить от MS для зарабатывания $ и кормления семьи).

Тогда чему? C++?
...
Рейтинг: 0 / 0
Преподавать C++ или C#?
    #37930637
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpace,

Учите тому, что Страуструп называл "Си с классами". Остальное пусть сами потом.
...
Рейтинг: 0 / 0
25 сообщений из 230, страница 8 из 10
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Преподавать C++ или C#?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]