|
|
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
все согласны?C# стоит между С и С++ и ближе к последнему.Трудно согласиться. Си --- это макроассемблер такой удобный. Си с двумя плюсами --- это ещё более навороченный макроассемблер. А C# --- это нечто со своей подковёрной внутренней жизнью, вроде Паскаля. Это не "достоинство" и не "недостаток", просто принципиальное отличие от двух других. Есть, кстати, ещё C--, SAC и куча "кастрированных Си", которые ещё нагляднее показывают "макроассемблерность" Си. Особенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 18:01 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruвсе согласны?C# стоит между С и С++ и ближе к последнему.Трудно согласиться. Си --- это макроассемблер такой удобный. Си с двумя плюсами --- это ещё более навороченный макроассемблер. А C# --- это нечто со своей подковёрной внутренней жизнью, вроде Паскаля. Это не "достоинство" и не "недостаток", просто принципиальное отличие от двух других. Есть, кстати, ещё C--, SAC и куча "кастрированных Си", которые ещё нагляднее показывают "макроассемблерность" Си. Особенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. Ну с С - макроасемблер соглашусь. А С++ макроассемблер? Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново. Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 18:20 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
шаблоны шаблонистей :)Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :) Про шаблоны спорно, а вот про "ООПшность" - так по идее наоборот, С++ еще как-то допускает мешать классы с процедурами, то C# - в более полной мере реализует лозунг "все есть объект". Там без класса вообще ничего не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 18:26 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
шаблоны шаблонистей :)Ну с С - макроасемблер соглашусь. А С++ макроассемблер? Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново.Макроассемблер не переводит "с ASM", так что логика непонятна. Имея, скажем, декларации классов и функций членов, вы можете "в уме" с точностью до байта представить себе раскладку объектов в памяти, содержимое вирттаблиц, понять, во что превратятся инлайны, в какие объектные модули и как лягут инстанцияции темплетов и т.п. Можете представить себе даже содержимое карт диапазонов адресов инструкций, которую "разматывалка стека" обходит при работе обработчика исключений. Были бы терпение, родная дока компилятора и производственная необходимость. Вы можете понять, как подкрутить структуры данных или код для того или иного изменения в раскладке данных. Или можете понять, что надо выпендриться на более низком уровне, и выпендриться строго как надо. От архитектурно-специфических функций gcc до вставок на асме включительно. Это IMHO и есть макроассемблер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 18:43 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
все согласны?множественное наследованиеЖуть какая, нормальное множественное наследование я видел только в CLOS. Интерфейсы уж куда более полезная штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 19:22 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruшаблоны шаблонистей :)Ну с С - макроасемблер соглашусь. А С++ макроассемблер? Допустим перевод кода с ASM на С чисто механический, а вот с ASM на C++ - это написать программу заново.Макроассемблер не переводит "с ASM", так что логика непонятна. Имея, скажем, декларации классов и функций членов, вы можете "в уме" с точностью до байта представить себе раскладку объектов в памяти, содержимое вирттаблиц, понять, во что превратятся инлайны, в какие объектные модули и как лягут инстанцияции темплетов и т.п. Можете представить себе даже содержимое карт диапазонов адресов инструкций, которую "разматывалка стека" обходит при работе обработчика исключений. Были бы терпение, родная дока компилятора и производственная необходимость. Вы можете понять, как подкрутить структуры данных или код для того или иного изменения в раскладке данных. Или можете понять, что надо выпендриться на более низком уровне, и выпендриться строго как надо. От архитектурно-специфических функций gcc до вставок на асме включительно. Это IMHO и есть макроассемблер. Я и не говорю что "Макроассемблер не переводит "с ASM"", я говорю "перевод кода с ASM на С чисто механический", т.е. вы можете легко перевести с ASM на C, а так как базовым языком макроассемблера является ассемблер и близостью языка можно назвать легкость перевода с одного на другой, то легкость перевода с ASM на другой язык и может считаться близостью его к макроассемблеру. Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++. А по вашему получается любой язык компилируемый в машинный код - макроассемблером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 20:11 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
с ASM на С++Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++.Не замечу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 20:21 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
Ares_ekbвсе согласны?множественное наследованиеЖуть какая, нормальное множественное наследование я видел только в CLOS. Интерфейсы уж куда более полезная штука. Наверняка вы просто не знаете для какой задачи подойдет множественное наследование, а если вам дать задачу, где оно применимо как нельзя лучше, то не сможете её красиво решить без него. А о достоинствах других языков здесь никто и не спорит. Прикладные языки ставят жесткие рамки защищающие от глупых ошибок, в этом их достоинство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 20:27 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruс ASM на С++Думаю вы заметите существенную разницу в сложности перевода с ASM на С, против перевода с ASM на С++.Не замечу. Ну чтож, поздравляю, вы уникальный человек на этой планете. А разницу в переводе с C на ASM, и с C++ на ASM наверное тоже не заметите, и не заметите разницу в сложности написания программы которая эти переводы делает, т.е компилятора С и С++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 20:33 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
с С++ на ASMiv_an_ruпропущено... Не замечу. Ну чтож, поздравляю, вы уникальный человек на этой планете. А разницу в переводе с C на ASM, и с C++ на ASM наверное тоже не заметите, и не заметите разницу в сложности написания программы которая эти переводы делает, т.е компилятора С и С++?По сравнению с построением хорошего сишного компилятора для современного проца, "нахлобучка" в виде двух плюсов сложности уже почти не добавляет. Аннотированный С++ транслируется в аннотированное подмножество С несложной переписывалкой, которую за два семестра пишет не очень-то старательный программист в глубоко "советском" НИИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 21:41 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
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 человеколет только на транслятор. За год не написали. А компилятор С за сколько бы вы написали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 21:58 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
с С++ на ASMА компилятор С за сколько бы вы написали?Нормальный вообще бы не написал, это не моя специальность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 22:08 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
все согласны?Наверняка вы просто не знаете для какой задачи подойдет множественное наследованиеТакой задачи нет. Наследуется либо внешнее поведение объекта (в этом случае используем абстрактные классы, интерфейсы - реализация нас не интересует), либо внутренняя реализация (в этом случае наследование всегда можно заменить композицией). Потребность во множественном наследовании возникнет только тогда, когда нужно одновременно унаследовать и внешнее поведение, и внутреннюю реализацию. Но эти два вида наследования на столько различны, и потребность их смешения возникает на столько редко, что во множественном наследовании нет никакого смысла. Конечно, композиция - это не совсем наследование. У родительского и встроенного объектов разные жизненные циклы. Но это меньшее зло. Отсутствие множественного наследования иногда несколько увеличивает количество кода, но, уж, лучше явно прописать какие-то вещи, чем допускать неявные ошибки с МН. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 22:12 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
с С++ на ASMУолтер Брайт: 1 год против более чем 10 лет.Разумеется. Есть принципиальная разница между построением "какого-нибудь" транслятора и построением _быстрого_ транслятора, к тому же _гарантированно_ соблюдающего стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 22:15 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
TopSpaceшаблоны шаблонистей :)Я к тому, что в С++ и ООП ООПей, чем в остальных (C#, Java), и шаблоны шаблонистей :) Про шаблоны спорно, а вот про "ООПшность" - так по идее наоборот, С++ еще как-то допускает мешать классы с процедурами, то C# - в более полной мере реализует лозунг "все есть объект". Там без класса вообще ничего не сделать. Если хочешь научить студентов только ООП за 4-8 лекций, то C# тогда, как сам выбрал. (мое скромное имхо - я-б не учил этому монстру, бедные люди, им-же всю жизнь переучиваться и зависить от MS для зарабатывания $ и кормления семьи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2012, 22:33 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. А можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 01:03 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
А можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. А можно пример?асм не заменишь никаким C, если только элементарный пример, тебе это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 01:06 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
aswsА можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. А можно пример?асм не заменишь никаким C, если только элементарный пример, тебе это надо? Ну тут говорят про cmm, который javascript. Да и с С было бы интересно что там за асм инструкции в "как-бы сишном коде". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 01:35 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
А можно пример?aswsпропущено... асм не заменишь никаким C, если только элементарный пример, тебе это надо? Ну тут говорят про cmm, который javascript. Да и с С было бы интересно что там за асм инструкции в "как-бы сишном коде". Не надо путать интерпретатор по-сути/или пока-еще - JavaScript , и машинные коды, на которых работает проц компа. Наиболее близок к машинным кодам - Ассемблер - в нем каждая команда имеет условную мнемонику соответсвия машинному коду. Все остальные компиляторы ЯП более высокого уровня - создают говнокодище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 01:45 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
После АСМа, из всех компиляторов - C создает наиболее лучший код с точки зрения машинных команд для процессора, за ним идет наверное Pascal, н тут я уже не уверен, это предположение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 01:49 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
TopSpace... ООП - это парадигма, глобальный подход, а оконные функции - частная техническая деталь. Это в итоге нужно знать, но стоит ли с этого прям начинать? Тогда нужно будет рассказать про IDE, процесс компиляции, виды языков, стек и кучу,... а как Вы хотели? Учить других - это талант, надо четко ЗНАТЬ на опыте и УМЕТЬ грамотно объяснить. Иначе будут задания от Вас, сравнимые с заданием от горе-препода - типа создать ООП пример на ассемблере... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 02:00 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
avlaxoftПомнится, у нас в универе даже домашнее задание на лето было: написать на ASMе (!!!) программу, использующую объекты (да, оказывается, даже на этом уровне есть механизм реализации всех трех "китов" ООП!) и моделирующую полет и упругое столкновение на экране шариков, отталкивающихся друг от друга и от стенок экрана (один шарик - один экземпляр объекта)...Это Вам попался горе-учитель, который кроме "парадигмы ООП" (это только слово в языке, каждый по-своему понимает), больше ничего не захотел изучать (или умом слабоват), и поэтому сильно ограничен. Не повезло Вам с преподом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 02:06 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
А можно пример?iv_an_ruОсобенно С-- показывает, в котором асмовые инструкции пишутся в как-бы сишный код даже без _asm {...} вокруг. А можно пример?Вот тут пара добровольцев всё ещё поддерживают старинный Сфинкс C-- , можно и мелкие примеры посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 06:03 |
|
||
|
Преподавать C++ или C#?
|
|||
|---|---|---|---|
|
#18+
asws(мое скромное имхо - я-б не учил этому монстру, бедные люди, им-же всю жизнь переучиваться и зависить от MS для зарабатывания $ и кормления семьи). Тогда чему? C++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2012, 08:04 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37930380&tid=1342152]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 484ms |

| 0 / 0 |
