![]() |
Цитата:
|
Цитата:
|
SINED_SEM
С++ тяжок! :) Лучше начинать с паскаля, потом пересесь со временем на делфи... :) ЗЫ В шапке все в факе есть ;) |
Если в дальнейшем человек хочет прогать графику, пусть начинает изучение языков программирования с C#, ибо он легок в освоении и прост в понимании, а так же в нем иной подход к реализации ООП. Все реализовано используя пространства имен и классы.
pokibor, вот не надо ля-ля. Согласись, ведь шарп гораздо проще освоить, чем С++? Начинать надо с простого. Потом, когда товарищ освоит азы кодинга - у него будет выбор, в какую сторону двигаться, захочет - будет плюсы учить, а точнее не плюсы, а тонкости, ибо синтаксис в плюсах такой же как и в шарпе за редкими исключениями. Захочет - будет паскаль учить. Еще раз повторяю. Мне очень нравится в шарпе его чистота, а так же реализация структуры исходного кода. Если тебя так напрягают мои посты про простоту шарпа - давай спросим у товарища SINED_SEM, какой из языков ему понравился бОльше? чисто ради интереса. ps// начал глосование на rsdn: http://rsdn.ru/poll/1979.aspx |
noLove, не нарывайтесь. Флеймить я вам не дам.
Цитата:
Цитата:
А вот с деструкторами в C# действительно проблема. Если в C++ они естественны, то в C# эти самые несчастные Dispose, которые нужно постоянно ручками прогать - тихий ужас. Вы скажете "зачем их использовать"? Я скажу - для получения навыков по созданию абстрактных классов (вроде стеков, деревьев и пр.). Написание такого класса, уж извините, входит в основы программирования (мы его на первом курсе осваивали, чуть ли не сразу после начала занятий). И если Вы сейчас заявите, что эти классы-де есть в библиотеках C#, то я Вам отвечу, что в реальных приложениях часто бывают нужны не они, а различные их вариации. Сбалансированные деревья, приоритетные очереди, деки и прочее. Цитата:
Цитата:
Серьёзно - я Вам то же самое могу сказать про C++. Что кому нравится - это в области чувств и ощущений, а она не рациональна. Меня Ваши посты не напрягают. Поставить галочку и нажать "удалить" больших усилий не надо. :Grin: Цитата:
Если что - я даже не думал голосовать. Смешно. |
noLove
pokibor может вместо споров создадим здесь голосование, какой язык вы считаете самым лучщим или что-то наподобие? pokibor Создай гголосование :)) |
ORTODOX
Не создам. Во-первых, оно будет оффтопом. Во-вторых, эти посты также являются оффтопом и будут вскоре удалены. В-третьих, оно бессмысленно. Война языков, как я уже говорил, всегда скатывается в флейм, ибо её участники находят, к чему придраться у противника, и начинают это со всех сторон бить, параллельно категорически опровергая наличие в своём любимом языке слабых мест. Любой язык имеет свою область применения, как и любая теория. Спорить тут можно долго, нудно и болезнено. Кстати, если сейчас дать SINED_SEM, например, Blitz3D с его Basic'ом, то через полгода он заклеймит позором и C#, и C++, и Delphi. Я Вас уверяю. Проверено на практике. |
Цитата:
про ООП. в шарпе все строго сгруппировано в пространства имен и классы. Там нельзя создать метод и разместить его вне класса. ps// про множественное наследование: http://www.gotdotnet.ru/Forums/Common/171156.aspx там разбор полетов pps// опять это все перерастает в соревнование, у кого "хозяйство" больше. ppps// пусть SINED_SEM сам выберет, что лучше изучать, попробовав и шарп, и плюсы. а? |
Цитата:
Цитата:
Ндааа... принципиальная разница, ничего не скажешь. Серьёзно - отличия никакого. Ну нельзя писать функции вне классов ("метод вне класса" есть понятие абсурдное), и что дальше? Ну будет программист вместо того, чтобы сразу писать функцию, сперва класс под неё подгонять. Разница-то какая? Цитата:
В C# множественного наследования нет, в C++ - есть. Факт в этом. Что множественно наследование может понадобиться - тоже факт, я в этом делая дипломные проект убеждался. Так что всякие разглагольствования, что можно там-де что-то куда-то как-то добавить, неуместны. Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Дискуссия о языках программирования
Создаю эту тему, ибо надоели споры, какой язык программирования для чего больше подходит. Здесь можно попытаться обсудить, что лучше для обучения, что - для программирования игр и т.п.
За попытку начала подобных дискуссий в других темах буду наказывать. Советы выбрать тот или иной язык программирования давать можно, разводить дискуссию о преимуществах - нет. Убедительная, подкреплёная увесистым плюсомётом, просьба соблюдать уважение к собеседникам и придерживаться фактов, а не личного мнения ("мне то-то нравится, поэтому всё остальное - ерунда"). Хотя своим опытом, разумеется, делиться можно ("я вот писал на том-то и вышло так-то, а на ином - вот так"). В тему перенесены посты из "Вопросы по программированию". |
реально C++ рулит
и несмотря на его сложность начинать бы советовал именно с него так как с самых азов обучения ты будешь иметь представление о работе с памятью и другх нюансах. я начинал с акшион скриптов (это во флеше) по синтаксису похоже на с++ когда в школе стали преподават QBasic я от него стрелялся. а в инсте щас С++ изучаю. и начинать само сабой с консоли. |
Что касается ООП - С++ это function-oriented язык. Можно вообще без классов (обьектов). какое тут ООП?
Цитата:
С++ хоть и быстрее чем Шарп, но зато он не так гибок как последний. Цитата:
Цитата:
|
Цитата:
Ну нравится Вам - можете в C++ хоть все функции в классы запихнуть (а в main единственный вызов нужной прописать) - кто ж мешает-то? ООП там самое обычное. Цитата:
Тогда что в C# делает, например, "goto"? Его же наличие неправильно! P.S. В тему: Скрытый текст: Цитата:
Цитата:
Т.н. "нежизнеспособные" возможности C++ никто не просит использовать, зато они есть, и это придаёт языку гибкости. Тот же goto тоже некоторые называют несуразностью, однако его никто выкидывать не решился (ох, как же я ругался на Java за отсутствие goto, когда одну программу на ней писал!). |
3 вещи из за которых не хочу связываться с c++:
1. Описание прототипов процедур и функций и сам программный код в разных файлах. 2. Непонятности с указателями(ну не понимаю я, когда их надо ставить, а когда - нет, хоть убейте) 3. Не очень нравятся стрелки "->" при работе со свойствами объектов, а так же что то для меня не ясное, когда надо ставить точки, а когда эти стрелки. 3.1. Отладка. В шарпе отлаживать свой софт - это просто сказка, чего я не могу сказать о плюсах. Это чисто мое имхо, и я его никому не навязываю, плюсы знаю хуже шарпа, и опыта работы там меньше... вот так то... ps// а нафига вообще этот гото нужен? я им никогда не пользовался, пока в делфи сидел(около 7 лет). pps// pokibor, а то, что в плюсах есть множественное наследование, работа с памятью - это делает его круче? Я конечно понимаю, что Вы папа в плюсах, но все-равно, нехорошо намекать на несостоятельность других языков. Я вот шарп люблю, я ж не говорю, что плюсы - фигня, и на них только дети пишут. И не надо мне тут проффессиональный геймдев приводить в пример. Я лично пишу на том, на чем мне легче\проще\удобнее писать, не знаю как остальные. Скажем НЕТ культу личности! :D |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
noLove
1. Так никто впринципе не заставляет. Можно писать все в одном файле и безо всяких прототипов. Вот только зачем.. 2. Ну тут уж просто не знаю где там можно путаться.. разве что при объевлени какогонибудь "указателя на массив функций возвращающих массив указателей..." 3. Если объект то точка, если указатель на объект, то стрелочка. 3.1 Честно скажу, что в шарпе не писал и не отлаживал, но помоему простота отладки должна зависеть не от языка а от среду в первую очередь.. Цитата:
|
Цитата:
Времена бейсика (когда можно было совсем уже без классов) - давно уже прошли. Да и С++, признаться, староват - пора и ему на покой.. Цитата:
Цитата:
А "нежизнеспособные" возможности C++ придают языку только еще больше "нежизнеспособности"... и уж никак не гибкости :lol: |
Цитата:
Подход "запретим, чтобы не было соблазна" бредов по самой своей сути и лишь только показывает ориентацию языка на новичков (чтобы не чувствовали себя такими уж новичками) и бессмысленность для профессионалов (которые отлично знают, что, когда и как надо применять). Зачем нужен C#, почему не Visual Basic? Ведь в VB-то как раз запрещено много больше, чем в C#... И ООП, по Вашей логике, там даже лучше, чем в C# получается (как раз потому что больше запрещено). А уж Java-то вообще супер-язык! И где она сейчас? Да этим самым C#'ом (который по такой логике хуже неё) вытесняется. Странно? Не то слово. Короче, логика "запретим, чтобы неповадно было" бредова. Больше напоминает "запретим, потому что нам лень это делать". Цитата:
Кстати, последняя версия стандарта C++ 2003 годом датируется. Цитата:
Цитата:
Я уж не говорю о воспитании и прочем. Как говорил Хазанов, нормальная семья: Отец - врач, мать - учительница, сын - оболтус. Пожалуйста: отец - C++, мать - Java, сын - C#! Цитата:
А уж работа с памятью - так вообще отличная штука. Хотя бы для оптимизации. |
Цитата:
Отсюда лозунг - если вы профи по части ООП - используйте goto везде! :lol: А вообще goto оставили для тех кто перешел на Шарп с других менее ООП языков.. Цитата:
Цитата:
Цитата:
Цитата:
А вообще, если напишите - то так оно и будет, Пролог окажется гибче. Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
То же множественное наследование в неумелых руках может принести не больше проблем, чем, скажем, цикл for; однако никто не заставляет этими возможностями пользоваться. и про работу с памятью ничего конкретного вы не сказали. какой язык более гибкий - C++, в котором можно как делать всё самостоятельно, так и подключить какой-нибудь сборщик мусора, коих немало, или же C#, в котором доступен только последний вариант? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Простейшая программа Код:
prove( true).Такие возможности никакому C# не снились. Это, конечно, простейший вариант, но для метапрограммирования в Prolog возможностей куда больше. Почитайте, например, Братко, "Алгоритмы искусственного интеллекта на языке PROLOG". Там метапрограммированию целая 23 глава посвящена. Цитата:
Prolog от этого стал гибче? :eek: Скрытый текст: Цитата:
А вот насчёт "большинстве случаев не стоит того" - по-подробнее! Чего конкретно она не стоит? Денег, времени, ресурсов? Конкретно - чего. Цитата:
А! Кстати! Вам 30 лет? Мне 23. Я младше Вас => я умнее Вас :lol: Супер! Мне нравится такая логика! :appl: Цитата:
|
Цитата:
Работа с памятью и множественное наследование - тут неоднократно уже рассказывалось о причинах их отсутствия в шарпе. Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Если программирование – это создание программ, то метапрограммирование – это создание программ, создающих программы (или себя) или манипулирующих другими программами (или собой) как данными, или же выполняющих часть работы, обычно приходящуюся на время исполнения, во время компиляции. К чему тут этот Прологовский пример? Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Википедию, кстати, пишут такие же люди, как мы с Вами. А статьи про C# - как раз такие, как Вы. Кстати, кто там призывал отказаться от культа личности и не признавал авторитеты? Вы или noLove? А то я на слова Страуструпа сошлюсь... Короче, пример "проблематичности приминения множественного наследования" покажите мне. Цитата:
Цитата:
Цитата:
Цитата:
Почитайте книжечку-то, я Вам даже ссылку дам. То, что Пролог - язык логического программирования, ещё не значит, что на нём невозможно писать метапрограммы. Точно так же, как то, что C# - язык ООП, не исключает возможности того же самого. Для справки, написание на Прологе его собственного интерпретатора вообще укладывается в две коротеньких строчки и является тривиальнейшей задачей: Код:
prove (Goal) :-Так что простите, но для метапрограммирования Пролог куда мощнее и C++, и C# вместе взятых! Скрытый текст: Цитата:
Цитата:
Цитата:
Вообще-то множественное наследование даёт выгоду хотя бы от сокращения количества строчек на переписывание методов класса и плюс вся та выгода от присвоения детей ссылкам на родителей и т.п. Так что выгода есть, я показал, почему. А вот про затраты - жду Ваших примеров. Цитата:
Мне сколько раз повторять, где лично я сам использую C#? Где лично я сам стал бы использовать вовсе не C++, а, скажем, Java или даже Prolog? Нет, я лишь протестую против Ваших утверждений, а сам-то ничего про всемогущесть C++ не говорю! Вы атакуете C++, я его защищаю - и вдруг - БАЦ! Из Ваших уст звучит заявление, что я, оказывается, атаковал все языки разом? Оно требует конкретных ссылок! Будте добры их дать. Цитата:
C# младше C++ => он всеобъемлюще лучше; Я младше Вас => я всеобъемлюще умнее; Но я не согласен с тем, что C# всеобъемлюще лучше, т.е. с истинным в рамках логики утверждением => Я умнее и глупее одновременно [либо C# и лучше C++, и хуже одновременно] => мы пришли к парадоксу. Скрытый текст: |
Цитата:
А как дело доходит до практики так вы сразу в сторонку. Зачем что то разрабатывать? ведь можно просто поиграть в разработчиков.. вот вы и играетесь. на форуме полно постов с идеями перестать уже трепаться и что то сделать. Ваши реплики - Да! Давайте! есть везде. и каков итог? где сделанные игры? Теоретики блин... Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Исходя из вашей "справки" о языке Пролог - "написание на Прологе его собственного интерпретатора" и метапрограммирование - это одно и тоже. Что ж, может для вас оно и так. Но где тут модификация выполняемой програмы? Где кодогенерация? Где декларация правил по которым эта самая генерация кода происходит. нету.. Цитата:
Код:
Цитата:
Цитата:
Цитата:
Цитата:
И вообще, хватит уже оправдывать недостатки С++ используя для этого достоинства других языков. Цитата:
Цитата:
Это именно Вы атакуете Шарп, а я его защищаю. До С++ мне дела нет, ненадо было вам начинать этот спор.. Цитата:
Человек поделился с вами хорошей новостью и тут же вы влезли и начали нести всякие нелепости, типа того что Шарп это интерпритируемый язык, что все функции в нем - виртуальные, 3Д игры делать нельзя (типа сам пробовал - неполучилось) и прочую тарабарщину... Такое навязчивое поведение естественно для человка совершенно не разбирающимся в предмете. Все ваши супе-пупер логические "доводы" и "аргументы" - укладываются в одну фразу (вашу) - О, да! Еще один "великий программер" пришел всех учить! |
raxxla
Что ж, этого и следовало ожидать. Опять двадцать пять. Вы с noLove начинаете дискуссию, Вы заявляете "C# - дальнейшее развитее С++. Он по-определению не может быть хуже своего родителя...", Вы не придерживаетесь в своих постах логики, Вы доводите спор до полного абсурда, Вы демонстрируете незнание предмета спора, а под конец во всём этом объвиняете меня. Что ж. Хорошо. Вы мне действительно кое-что доказали: Я закрываю эту тему. Отныне и навсегда либо до распоряжения супермодераторов я запрещаю любые дискуссии по поводу превосходства одного языка над другим. Любое подобное заявление и развитие такого спора будет караться как оффтоп. На этом ставится точка. |
Обсуждение в среде модераторов вылились в предложение реконструирования темы. В ближайшее время она будет переработана в смысле "есть мнение" с запретом дискуссий.
Просьба всем защитникам/противникам/флеймерам оформить свои знания в виде конкретных утверждений, желательно с подтверждениями (если это вообще возможно для подобного утверждения). Повторюсь, что жаркие дискуссии будут запрещены, как и чрезвычайно спорные мнения. |
| Часовой пояс GMT +4, время: 07:35. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.