| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Будущее С++ |
| Автор: yngwie19 5.11.2008, 22:21 |
| Блуждая на просторах всемирного интнрнета, стал часто встречать статьи и обсуждения о том, что С++ постепенно начинает сбавлять обороты, в плане разработки современного ПО. Мотивируется это неоправданными затратами времени для реализации той или иной задачи. Многие пишут, что будущее за С# .NET. Хотелось бы узнать ваше мнение, дорогие посетители форума, что же ждет нас в будущем и может не стоит больше тратить драгоценное время на изучение С++, а постепенно становиться дотнетчиком? |
| Автор: MAKCim 5.11.2008, 22:27 |
| сейчас C++ в его областях применения может потеснить только С |
| Автор: Daevaorn 5.11.2008, 22:29 | ||
Звучит как приговор. |
| Автор: MAKCim 5.11.2008, 22:36 |
ну а кто/что еще? |
| Автор: Daevaorn 5.11.2008, 22:39 |
Да ты прав. Только это говорит лишь о том, что этих областей применения всё меньше и меньше:( Получается С++ затыкает "высокоуровневые" дыры С. |
| Автор: Lazin 5.11.2008, 22:42 |
| смотри сам: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html |
| Автор: yngwie19 5.11.2008, 22:50 |
| посмотрите как С# набирает обороты http://www.tiobe.com/index.php/paperinfo/tpci/C_.html и как падает С++ http://www.tiobe.com/index.php/paperinfo/tpci/C__.html |
| Автор: J0ker 5.11.2008, 23:21 | ||||||||
скорее как анекдот Добавлено через 3 минуты и 54 секунды
слабенько C# растет, если учитывать кто его спонсирует данный рейтинг скорее показывает моду, нежели эффективность Добавлено через 11 минут и 43 секунды
если вы собираетесь разрабатывать небольшие и средние прикладные системы под винду - то однозначно .NET для крупных прикладных систем под винду - скорее всего комбинация .NET и C++ для несложных серверных систем с пропускной способностью до средней под винду тоже .NET скорее всего для сложных серверных систем с высокой пропускной способностью - C++ под *nix пока-что альтернативы C++ нет и вряд-ли скоро появится |
| Автор: bsa 6.11.2008, 00:58 | ||
Она есть! Это Си. |
| Автор: mr.DUDA 6.11.2008, 01:00 |
| Э-э-м-м... ну товарищи, давайте посмотрим на приложения с требованиями к максимальной производительности и минимальному расходу памяти (кроме микроконтроллеров). Что у нас тут? а. Игры (особенно под консоли) б. Софт под handheld devices - кпк, смартфоны, Sony PSP, iPhone и т.п. в. Мультимедиа софт - конвертеры, кодеки и т.п. г. Сетевой софт С играми ясно, никакого С, API под все современные консоли на С++. Софт под handhelds - у каждого девайса свой API, в 90% случаев на С++ Кодеки пишут на C, насколько я смог понять из увиденного (xvid, ffmpeg). Насчёт пункта г) неуверен, просветите |
| Автор: J0ker 6.11.2008, 04:28 | ||||
тролль |
| Автор: Rickert 6.11.2008, 05:29 |
| Бред. Это всё равно что сказать что асм не нужен. Люди так стали любить делать меньше работы, что я удивляюсь как мы ещё обратно в шемпанзе не привратились? Нагоами не ходим - ездим на машине, в спорт залах жрут стероиды, так теперь и программистам лень мозгами воротить где что надо вычистить и как построить архитектуру - им подавая готовые паттерны и решения, а мотивируют всё тем, что якобы это уже давно найденные эффективные решения, лучше которых быть не может. Мне жаль таких людей. ИМХО |
| Автор: J0ker 6.11.2008, 07:09 |
| Rickert, ну если вы возметесь за строительство архитектуры крупной системы с проработкой до уровня ассемблера, то не совсем понятно что закончится раньше - проектирование системы или ваша жисть укрупнение блоков абстракции происходит не от лени, а от ограниченности человеческого мышления при этом вовсе не обязательно изобретать свой велосипед (часто с квадратными колесами) - достаточно знать как работают уже изобретенные и области их применимости именно для этого вобщем-то и были придуманы ОО языки |
| Автор: Rickert 6.11.2008, 08:18 | ||
Одна из современных проблем - начальство хочет всё сразу и в короткие сроки. +далеко не все знают "как тут что работает". Я уже приводил ни один раз историю про то, как "квалифицированный" программист не знал что такое "двусторонний связанный список". При этом он получал бабла немерянно и имел высокий пост. Пузырь? |
| Автор: Severyanin 6.11.2008, 08:34 | ||
Это да))) Еще моего бывшего начальника (начальника отдела web-разработок) ввела в ступор конструкция public static)))) Я, конечно, все понимаю, но это уже слишком... короче, уволился я оттуда Добавлено через 1 минуту и 34 секунды Это оффтоп. А вообще, дотнет, конечно, удобная штука, но слишком много ресурсов кушает и память за собой чистить не умеет нормально, поэтому при разработке ресурсоемких систем все равно с++ юзать будут |
| Автор: Rickert 6.11.2008, 09:50 |
| Лично я попав на C#, после C++, когда там стали выскакивать подсказки и половину кода за меня писал автомат, ужаснулся. Не могу я так. Вот что хотите делайте, а мне нужны задачи и сложные комплексные решения с навороченными алгоритмами - работа мысли, пот и кровь; а не дома - матрёшки, в 256 этажей. |
| Автор: MAKCim 6.11.2008, 09:58 |
жжешь ну сколько можно повторять, причем здесь ОО языки? повторное использование кода != ОО язык это вообще разные понятия все либы на С - есть повторное использование кода, к примеру |
| Автор: J0ker 6.11.2008, 18:38 | ||||
Это не начальство хочет - это реалии жизни. Пойми, это отнюдь не прихоть, а вопрос конкурентоспособности в современном мире. Другое дело что трезвомыслящий человек понимает, что если в данной области он ни бум-бум, ему нужен опытный менаджер, который во-первых может организовать работу, во-вторых понимает достаточно в предметной области и в-третьих кому он может доверять в плане решения качество-скорость разработки. Конечно идеально, что этот менаджер и есть главный архитектор. Но очень часто так не бывает. а это проблема любой крупной системы. Как я уже писал, возможности человеческого интеллекта весьма ограниченны. В крупной системе невозможно знать все с уровнем детализации до машинных кодов. Именно здесь и работает ООД, позволяя абстрагироваться на любой уровень детализации системы.
это вполне возможный вариант менаджера, который работает не в своей области. К сожалению идеальные варианты встречаются весьма редко. Но грамотный менаджер в любом случае должен уметь управлять проектом и коммуницировать с рабочим персаналом и донести до начальства разумные сроки разработки. |
| Автор: J0ker 6.11.2008, 18:56 | ||
Идеология программирования разная. Как показывает практика, трудозатраты при структурном программировании нарастают экпоненциально по отношению к сложности задачи из-за слишком развлетвленной системы внутренних связей. ОО позволяет избежать этой проблемы. Это во-первых. Во-вторых структурное программирование не позволяет масштабировать модель, в то время как ОО позволяет работать практически на любом уровне абстракции. В-третьих, нативное человеческое мышление основано на ОО модели В-четвертых, природа большинства решаемых на сегодняшний день проблем так-же нативно объектно ориентированная - что позволяет эффективно отображать проблему на ОО языках. В-пятых, окружающий нас мир вообще нативно объектно ориентированный, и наделен хорошо различимыми уровнями абстракции - что опять-таки позволяет описывать его в терминах ОО языков. Безусловно МОЖНО все это организовать и на структурных языках (ты нам уже приводил этот пример если помнишь |
| Автор: MAKCim 6.11.2008, 23:43 | ||||||||||||||
все оно позволяет главное, чтобы руки были ровные и голова на плечах пример
агрегирование - подход настолько мощный, что позволяет достичь любого уровня абстракции Добавлено через 6 минут не хочу заново начинать ps. молотком мы шуруп вряд ли _закрутим_ Добавлено через 10 минут и 51 секунду ага забить гвоздь молотком или потребовать у молотка забить гвоздь кто не понял work(m) и m.work() |
| Автор: MAKCim 7.11.2008, 00:04 | ||||
| J0ker, кстати, я так и не понял, причем здесь повторное использование к ОО языку? очевидно, что мы с тем же успехом можем повторно использовать структуры и работающие с ними функции (кстати, не зная их внутреннюю организацию) пример - cURL
|
| Автор: J0ker 7.11.2008, 19:08 | ||||||||||||
пардон за самоцитирование
дальнейший пример - проблема в том, что данные которыми ты оперируешь - общие - они никак не защищены от некорректных воздействий - это одна из ключевы проблем структурного программирования, которую исправляет ОО. Основной смысл ООП - объединение данных с операциями, которые можно над ними совершать и разграничение доступа к данным как собственности объекта. Ну и так-же возможность построение иерархий.
абстракции невозможно достич без виртуальных функций ну надо-же, хоть в чем-то мы пришли к общему мнению
worker.DoWork(hammer); мы пожалуй обойдемся без волшебных самозабивающих молотков Добавлено через 2 минуты и 3 секунды
эээ... я тоже не понял еще я не понял почему ты ко мне с этим пристаешь Добавлено через 4 минуты и 9 секунд
безопасность типов??? |
| Автор: MAKCim 7.11.2008, 20:28 | ||||||
только на уровне кода а проблемы нет на самом деле программист, осуществляя RAW доступ к структурам не используя документированные интерфейсы, сильно рискует это категорически неправильно и является только его ошибкой хотя это даже не ошибка, а отсутствие элементарной логики если человеку говорят используй это, а не это, а он продолжает использовать второе, то извините, но он, мягко говоря, неадекватен а ops здесь что по-твоему? для каждого типа сокета свои операции по сути ops - набор виртуальных методы базового абстрактного класса struct socket (в терминах ООП) человек не может обладать работой, т. к сущность "работа" - не материальна это просто последовательность действий с объектами работы так что DoWork(worker, hammer) aka работа выполняется при помощи рабочего и молотка
твоя цитата?
"достаточно знать как работают уже изобретенные и области их применимости" != повторное использование кода? читай самый первый абзац |
| Автор: Daevaorn 7.11.2008, 20:44 | ||
Что пузырь? Если ему это не мешает выполнять свои обязяности, то зачем ему это знать? Да, в качестве повышения общей образованности полезно, но не критично. В жизни есть дела не менее прекрасные чем программирование. И зацикливаться на нем не стоит. И всё что помогает достичь цели с минимальными сроками и при этом не потерять в функционале - это благо и к этому надо стремиться. |
| Автор: J0ker 7.11.2008, 22:19 | ||||||||
этого достаточно для компрометации ну вот видите - если бы вы мне это сейчас не сказали, я бы не знал, что для каждого свои
а он и не обладает - работа - это его поведение для создания более сложного поведения (ака обучения) работу можно инкапсулировать в сущьность - скилл - но даже тут работа будет поведением
ага, а хвост вертит собакой? или собака вертит хвостом? безусловно
ты являешь собой яркий образчик структурного программиста даже по жизни видишь-ли, для меня контекст играет весьма ключевую роль (впрочем как и для любого нормального человека (помнишь, яговорил о нативности мышления?)) я не знаю, было-ли это намеренным, или-же это следствие мышления структурного программиста НО, все-таки контекст
читай самый первый и самый второй абзацы |
| Автор: MAKCim 7.11.2008, 22:50 | ||||
сочувствую на С ты точно не программировал, имхо вертеть = функция = поведение поведение "знает" об объектах поведения, иначе оно, представляя собой код, не имеет смысла
я не понял, в хорошем или плохом смысле это сказано? также я не понял, как связан контекст и структурное/ОО программирование и наконец, "структурный программист" это тот кто пишет на структурных ЯП или тот, кто пишет в структурном стиле? да ради бога какая разница, какой контекст неравенство выполняется или нет? да даже возьмем этот контекст ну да, укрупняются блоки абстракции, появляется куча готовых к использованию компонентов, становится все менее необходимым изобретение велосипедов и т. д какое из этого логическое следствие? |
| Автор: J0ker 8.11.2008, 00:42 | ||||||
не я просто мысли читать не умею вопрос был собственно кто кем, а не что делает... хотя вопрос мне казался очевидным... странное у вас мЫшленье
ты не находишь некоторого противоречия? в нейтральном я просто факт констатирую
не верю, что не понял ты при цитировании вырезал фразу определяющую контекст ну если хочется перечитай тот пост, который цитировал
программист, который ДУМАЕТ в структурном стиле ну для ОО программиста - огромная ну если ты можешь сравнить теплое и мягкое, то, пожалуй, лучше ответшь на сей каверзный вопрос понимашь, проблема в том, что ты приравнял утверждение об эволюционном укрупнении блоков, из которых строятся программы с утверждением, что ООП ексклюзивно владеет концепцией повторного использования кода... меня, честно говоря, повергает в ступор сия логическая конструкция - я не понимаю откуда ты ее взял. Вообще, чесгря, мне сложно общаться с человеком, чья логика столь странно закручена - уж не знаю что здесь первопричина а что ея следствие - структурное программирование-ли, или персональные особенности... но определенно, связь наблюдается в свете вышесказанного я теряюсь в догадках |
| Автор: MAKCim 8.11.2008, 03:14 | ||||||
не скорее всего я прав неа работа не материальна, это последовательность действий связанных с объектами этих действий последовательность описывает, что делать с объектами в данном случае материальны объекты термин "знает" здесь был применен не в контексте того, что работа материальна, а в контексте того, последовательность действий _предусматривает_ наличие объектов а, ну тут как говорится, каждой задаче... (если речь идет про меня) где-то больше подойдет ОО подход, где-то структурный вообще говоря, по тексту контекст можно придумать практически любой он субъективен зачастую а вывод о повторном использовании кода вполне логичен, ибо повышается уровень абстракции -> формирование независимых завершенных блоков -> повторное использование кода -> возможность построения на основе этих блоков более сложных структур тогда возвращаемся к вопросу
объясняю начнем с конца т. е чтобы осуществить но в то же время ведет к тому, что
и в то же время устраняет теперь видно? |
| Автор: J0ker 8.11.2008, 05:41 | ||||||
а теперь сравним с: объект А совершает некоторое действия используя объект Б причем ИМЕННО объект А совершает - т.к. он это умеет правда нативней? (для нормального человека конечно а вот у тебя получается, что есть какая-то работа-не-пришей-кобыле-хвост, которая то-ли совершается объектом А над Б, то-ли совершается объектом Б над А, то-ли совершается дружными усилиями А и Б (ага, рабочего и молотка
ну знаешь дАрАгой товарищ, совесть надо иметь этот "по тексту" - единственная строка из цитируемого тобой абзаца, которую ты вырезал тут уж трудно не заподозрить намерение да он (вывод) может быть каким угодно - главное что к делу он не относится, ибо злостный поклёп не совсем понимаю, о чем вопрос - о моем высказывании или о контексте в программировании? видно ЧТО???? как с этим "видно" сообразуется фраза
??? я все больше и больше в непонятках |
| Автор: SVN74 9.11.2008, 16:08 | ||
Поддерживаю - "золотые слова" , нельзя стоять на месте используя "тот" велосипед, который для нас кто то уже придумал и мы приняли его как должное, никто не задумывается, что велосипед мог бы быть совсем другим - приносящим человеку больше пользы, чем уже принятый всеми.... -------------- По своему опыту могу утверждать, что чем сложнее программа, тем ниже должен быть язык программирования для написания такой программы.......... |
| Автор: Daevaorn 9.11.2008, 16:15 |
| SVN74, -1 |
| Автор: Lazin 9.11.2008, 16:27 | ||
а ты сможешь написать свой велосипед? |
| Автор: SVN74 9.11.2008, 16:30 |
Если страна потребует, напишу.... |
| Автор: mr.DUDA 9.11.2008, 20:31 |
| SVN74, успехов тебе... Давай проведи исследования сначала на академическом уровне, потом реализуй с максимальной эффективностью твой алгоритм, опробуй в сотне проектов, потом хвастайся. С чего ты бы начал "дорогу к идеальному коду"? |
| Автор: SVN74 9.11.2008, 20:41 | ||
Шутка конечно. Все реально, если есть "маньяки - кодеры", ну и как известно в создании Windows XP участвовало около 50000 человек, правда это подсчитали вместе с уборщиками даже. |
| Автор: Goliaf777 11.12.2008, 21:19 |
| Незнай как вы.А я изучая С++ доволен |
| Автор: Kallikanzarid 12.12.2008, 16:38 |
| Будущее С++ - увеличение статических возможностей, добавление небольших фич by popular demand, расширение поддержки шаблонов, расширение стандартной библиотеки за счет буста. Вряд ли будет что-то кардинально новое. |
| Автор: source777 12.12.2008, 18:01 | ||
Не, это не так, за C# настоящее, а будущее, на мой взгляд, за языками параллельного программирования и за функционально- и аспектно-ориентированными языками. Однако Си изучать надо, так же как и ассемблер, для того, чтобы понимать как "это" работает на низком уровне, а вот использовать на практике вряд ли стоит, исключением будет лишь небольшой ряд узкоспециализированных областей. А на поле "завтрашней битвы" мы скорее увидим MC#, AspectJ, Erlang, Alice, etc. Список претендентов весьма велик, их не один десяток, но лидеры ещё чётко не определились... Так же стоит отметить тенденцию к переходу на тонкие клиенты, т.е. вероятнее всего веб-сервисы и в будущем продолжат укреплять свои позиции.
|
| Автор: Kallikanzarid 13.12.2008, 06:58 | ||
Заблуждаешься. С++ - язык для написания высокопроизводительных программ с низким футпринтом памяти. И в этом классе он давно вне конкуренции, а с новым стандартом станет еще лучше. Ты просто сравниваешь его с языками, предназначенными совсем для другого, да еще пытаешься самоутвердиться. Со стороны выглядит глупо. Java - язык для написания переносимых и легко распределяемых систем, и в своем классе он лучший, в том числе и по производительности. C# - Delphi с наработками Джавы, предназначен для RAD. Python и Ruby - языки, предназначенные для макисимизации продуктивности программиста, во многом они достигают этого за счет полного отказа от претензий на производительность. И это я только коснулся классификации императивных языков, а ведь есть еще и логические (Prolog, для решения оптимизационных задач), функциональные (Haskell, для решения широкого круга математических задач), декларативные (SQL, для унификации запросов к реляционным базам данных) и еще многие, о которых мне не известно |
| Автор: kemiisto 13.12.2008, 13:33 | ||
Kallikanzarid, можно примеры? |
| Автор: source777 13.12.2008, 14:35 | ||||||
это и есть стагнация!!!
где? Где я в этом топике что-то с чем-то сравнивал? О возможности сравнения языков даже речи не шло, читай внимательнее, если с первого раза не понял смысл прочитанного.. |
| Автор: source777 13.12.2008, 14:50 | ||
Декларативные языки поставил в один ряд с логическими и функциональными, хотя функциональная и логическая парадигмы - подвиды декларативной парадигмы, а SQL кстати относится к ещё одному подвиду декларативных языков - языки предметной области (DSL) Сравнивать парадигмы не стоит, но каждой своя пространственно-временная область, вот как раз об этом и топик, что время императивных структурно-ориентированных языков, таких как С, С++, Delphi уходит, а область их применения стремительно сокращается. На смену им приходят другие парадигмы, в данный момент мы наблюдаем господство ОО-парадигмы, но и оно лишь временное явление... "Всё течёт - всё изменяется" (с) Гераклид |
| Автор: Goliaf777 16.12.2008, 20:33 |
| Интерестно какой язык можно изучить и быть увереным что он не устареет? |
| Автор: nubliK 17.12.2008, 09:11 |
| Развели дяденки спор - можно ставки ставить? теперь моя очередь идти в 1. если мне предложат как строителю выбирать молоток сделанный на с++ или с#, то я выбиру на с++ - потому что он с мотором шустрее. 2. Чтобы молоток начал завинчивать шурупы в стены совсем не важен язык программирования с++ или с#, потому что на любом языке программирования (c++/c#) это можно реализовать достаточно легко и непринужденно. Тогда встает вопрос - зачем мне молоток который может завинчивать шурупы когда у меня есть отвертка? ведь молоток завинчивающий шурупы в корни ломает все мои стериотипы - а стало быть извращение. и тут тоже вопрос спорный - потому что допустим пиво я пью с лимоном и солью - я извращенец? нет скорее у меня вкус такой и мироощущение. Так что не важно какой язык - че удобно то и пользуем (оглядываясь на девелоперов из команды и главного архитектора с менегерами и есесно заказчика который как обычно хочет сразу все и за меньшие деньги). 3. Архитектура, защита типов данных и конечно же гребаные утечки памяти. А вот тут С++ ошень проигрывает С#. Только не надо бить меня сейчас палкой - вы сами понимаете что многие проблемы которые вылезают в процессе эксплуатации програмного обеспечения можно было избежать - причем методом банального чтения отладочных сообщений вашего компилятора и поиска этих ошибок и БЛИН КОМПОТ исправлений онных. Не секрет что многие "ворнинги" у компила с++ в таком же коде на с# просто спаткнется с ошибкой или выкидоном исключения. Это уже вопрос профессионализма - не так ли? Что косается кто помер - кто не помер - кто гламурней и красивше: То тут неизвесно что будет. Ведь вы сами понимаете что потдержка языка непосредственно завязана на компиле - а компил завязан на архитектуре машины. Вот я ж не заю полечу я завтра на алфацентавру потому что сегодня изобрели гравицапу? |
| Автор: Lazin 17.12.2008, 10:18 |
| Вот прямо сейчас мои коллеги ищут утечку памяти в проекте на шарпе Вообще, это у новичков бывают простые утечки памяти, в сложных проектах, утечки памяти возникают не из-за ручного управления памятью(как в С++) а из-за ошибок в проектировании + автоматическое управление памятью, где-то осталась ссылка на объект, он не удалился и держит ссылки на множество других объектов. Забытый delete это как правило в лабораторных, а то что я описал не зависит от языка программирования. |
| Автор: source777 17.12.2008, 12:54 | ||||
|
| Автор: Lazin 17.12.2008, 13:03 |
используемого довольно редко |
| Автор: Avaj 20.1.2009, 09:50 |
| А теперь по ближе к теме - "Будущее С++" Когда Н. Вирта спросили: "Ваше мнение о языке C#?", он ответил - "...C# гораздо лучше чем C++." Подробнее http://alenacpp.blogspot.com/2005/09/blog-post_21.html. |
| Автор: nerezus 20.1.2009, 15:59 |
| Avaj, дык конечно, пытается пропихнуть свой проект(он учавствует в разработке C#). |
| Автор: Lazin 20.1.2009, 16:27 |
а разве не Андерс Хейлсберг? |
| Автор: kemiisto 20.1.2009, 16:47 | ||
nerezus, Вирт? |
| Автор: nerezus 21.1.2009, 15:17 |
| Пардон, что-то попутал. |
| Автор: Goliaf777 21.1.2009, 15:23 |
| на данный момент сам C++ ведь исползуеться разработчиками? |
| Автор: kemiisto 21.1.2009, 15:33 |
Как прикажите понимать? |
| Автор: Goliaf777 21.1.2009, 17:08 |
| Я имел ввиду что на данный момент то есть 2008-2009 год на языке С++ осуществляются большие проекты? |
| Автор: kemiisto 21.1.2009, 17:11 |
А то как же. |
| Автор: mrbrooks 21.1.2009, 17:13 | ||
Я даже не представляю на чем еще вести проекты для промышленности. Только старик С/С++ и выручает. |
| Автор: Goliaf777 21.1.2009, 17:17 |
| Обнадеживает что мои накапливающиеся знания будут полезны. |
| Автор: kemiisto 21.1.2009, 17:18 | ||
mrbrooks, ой, ну умоляю не надо таких громких заявлений. Только... Слишком широко обощил! Холивара хошь? |
| Автор: source777 21.1.2009, 17:22 | ||
|
| Автор: Goliaf777 21.1.2009, 17:28 |
| Вот знакомый на заводе работает он там только на С драйвера и пишет, и С++ тож часто использует. |
| Автор: source777 21.1.2009, 18:02 | ||
Те же программы автоматизации производства могут быть когда-то давно написаны на С++ и сейчас руководство завода просто не захочет переходить на что-то более надёжное... Это нормальная эволюция главного языка отрасли, выглядит она примерно так: C++ -> Java -> C# -> ... это касается как корпоративного сегмента отрасли, так и робототехники и многого другого. Если тебя интересует эта тема, то обратись к книгам Шилдта и Фаулера, по ним эта эволюция чётко прослеживается. Просто не надо останавливаться в развитии и зацикливаться на С++ с пеной у рта доказывая, что это самый крутой на свете язык, это смешно не признавать кучу недостатков С++, которые являются с одной стороны следствиями обратной совместимости, а с другой - времени создания языка. Отрасль не стоит на месте, и глупо игнорировать сей факт, ограничивая себя одним С++, впрочем это надо перерасти, новичок всё равно сразу не поймёт... Это так же как математика, пока ты решаешь задачи на уровне арифметики, ты не поймёшь зачем нужно дифференциально-интегральное исчисление... И тут два пути: 1) понять самому что для интегрирования пользоваться арифметикой не удобно и найти альтернативу; 2) с самого начала узнать, что существует дифференциально-интегральное исчисление, и пытаться с его помощью решать арифметические задачи. Первый путь правильнее, хотя второй и короче... |
| Автор: nerezus 21.1.2009, 18:09 | ||
|
| Автор: MAKCim 21.1.2009, 18:17 |
я бы сказал так C++ -> Java |
| Автор: Goliaf777 21.1.2009, 21:58 |
| Думаю С++ потом С (хотя...) потом подумаю |
| Автор: Lazin 21.1.2009, 22:05 |
| haskell |
| Автор: Goliaf777 21.1.2009, 22:09 |
| Lazin а хаскел в какой области применяется? |
| Автор: Lazin 21.1.2009, 22:17 |
| в программировании Добавлено через 5 минут и 9 секунд haskell - функциональный язык программирования, со статической типизацией, при этом он поддерживает type inference(не ручаюсь что правильно написал=) - вывод типов, что приводит к тому, что типы явно указывать не нужно, этим он похож на языки программирования с динамической типизацией и за счет этого программировать намного проще, так-же программы на haskell-e можно компилировать в машинный код, в целом он будет работать немного медленнее чем аналогичный код на С++, но ошибок там будет на порядок меньше и отладчик вряд-ли понадобится |
| Автор: Goliaf777 21.1.2009, 22:28 |
| Спасибо)))А программы в каких сферах на нем пишутся? |
| Автор: Lazin 21.1.2009, 22:37 |
| я могу сказать какие не пишутся - системные программы, драйверы и тому подобное, к тому-же этот ЯП мало распространен, но, ИМХО, за ФП будущее, даже в MS это осознают, поэтому в С# появился LINQ, лямбда ф-ии, а так-же Microsoft развивает F# |
| Автор: Goliaf777 21.1.2009, 22:57 |
| А вот слышал что хаскел чистый функциональный парадигмы язык.Получается Лиспы и другие не тянут функциональностью до Хаскела? |
| Автор: Lazin 21.1.2009, 23:26 |
| Lisp это мульлтипарадигменный(слово то какое=) язык, из чисто ф-х я еще слышал о Clean |
| Автор: mrbrooks 22.1.2009, 09:19 | ||
Почему только драйвера? В последнее время капиталисты выпускают девайсы сугубо с Linux. К примеру - рядом со мной лежит такой (с Debian) - предназначенный для архивации данных. И такая тенденция только увеличивается. Хотя мягкотелые сделали удачный маркетинговый ход и WinCE стоит от 7 $ за лицензию. А с ней то работать по проще То же можно сказать и о контроллерах. Что может быть надежнее C/C++ для них? Ведь не стоит забывать об ограниченности ресурсов этих девайсов. Где мозгов то 32 метра? И это в лучшем случае. В промышленной автоматизации в перспективе революций не будет. Хотя конечно введение МЭК 61131 несколько упрощает ситуацию. |
| Автор: nerezus 22.1.2009, 10:11 | ||
|
| Автор: mrbrooks 22.1.2009, 10:56 |
да Я не к тому, что маздай СЕ круче линуха или наоборот. И там, и там нормальным инструментарием является только С/С++. |
| Автор: source777 22.1.2009, 11:36 |
| А что ещё? ну драйвера, ну микроконтроллеры, хотя для микроконтроллеров я С++ не видел в применении, там и С с асмом хватает, это не те масштабы, чтобы говорить о тенденциях, это всё равно что рассматривать рынок ОС для дома с позиции Solaris. Естественно, потому что много чего уже написанного никто выкидывать не будет, след. будет эволюция. Насчёт функциональных языков, это тоже достойная тема, но у них своя ветвь эволюции, хотя попытки её соединения с императивной веткой уже вовсю идут... |
| Автор: mrbrooks 22.1.2009, 11:56 | ||
С микроконтроллерами да, но я имел ввиду ПЛК. Это несколько иные девайсы. |
| Автор: source777 22.1.2009, 13:42 | ||
|
| Автор: mrbrooks 22.1.2009, 13:51 |
это все входит в МЭК 61131. Но ПЛК бывают разные. Одно дело когда тупая логика, другое дело когда возлагаются более расширенные задачи. Я же привел пример - станционный архиватор. |
| Автор: source777 22.1.2009, 14:02 |
| имхо, данный пример к ПЛК вообще никаким боком, это уже мини-компьютер... |
| Автор: mrbrooks 22.1.2009, 15:13 | ||
source777,
блин чем ПЛК отличается от мини-компьютера? чем мини-компьютер отличается от калькулятора? Где четкий перечень терминологии по которому ты судишь? вот тебе http://www.prosoft-technology.com/content/download/9440/130053/file/AppSrvCE_Driver_Reference.pdf его у нас используют в двух направлениях - либо контроллер телемеханики, либо стендовый архиватор. зы. и вообще - разговор несколько об ином. не уводи его в другое русло. |