Наши преимущества

C++ ws Java2

[ximik]

Турист
Credits
10
Собственно хочу услышать за и против. Плюсы и минусы.
 
Последнее редактирование модератором:
А плюсы и минусы в каком плане. Хотелось бы более конкретное пояснение, а не просто красивая фраза и все.
 
Вопрос в том, что нужно сделать, а инструмент всегда выбирается исходя из задачи. С каждым годом применимость C++ все меньше и меньше...
 
с++ - скорее уже прошлое. но еще похоже долго будет мощным и поддерживаемым языком
java - вродь немплохо, но по мне DotNet круче и перспективнее :)
 
С++ отнюдь не прошлое и ни коим образом не уменьшается его применимость. В свете .NET и прочих хочется напомнить, что есть managed C++, который все еще с++, но со всеми примочками дотНета.
Ява - на мой взгляд, два основных плюса: кросплатформенность в широком смысле слова и куча средств помогающих в разработке и уберегающих от ошибок. Хотя грамотное использование С++ (использование его родных методов, а не попытка повторить привычные приемы из просто С или всяких Delphi) ничуть не хуже.
Кроме того, никто не заставляет писать все на одном языке. Возвращаясь к дотНету, мне было очень приятно ядро системы писать на голом С++, а интерфейсные части на C#.
Выводы. Пиши на чем угодно. Если умеешь на одном, то за пару дней перейдешь и на другой.
 
В принципе для большинства задач вполне хватает того что есть в С++. Всякие .NET - следствие маркетинговых политик и планов продаж, нужно же и в этом сегменте зарабатывать. Писал народ на VC 6.0, один раз купили и все устраивало. Выпуск новых продуктов - в интересах производителей, продажи, прибыль..
 
to djdm

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

Для большинства задач вполне хватает Ассемблера. Всякие Макрорасширения - следствие маркетинговых политик и планов продаж, нужно же и в этом сегменте зарабатывать.

Для большинства задач вполне хватает Фортрана. Всякие Коболы - см. выше.

Для большинства задач вполне хватает обычного С. Всякие С++ - см. выше.

Можно ещё вспомнить Томаса Уотсона, президента компании IBM, с его коронной фразой: "Думаю, что спрос на компьютеры во всем мире не превысит пяти штук в год" (1943 год). Наверное, тоже считал, что хватит :)


А если начать анализ (экономический, технический и технологический, по оценки безопастности и т.д.), рассмотреть тренды, посмотреть, какие задачи стали решать теперь (которые раньше даже не ставились!!!), то такие фразы толкать расхочется.

Чтобы не быть голословным, подкину тему для размышления. Требуется с нуля создать систему автоматизации бизнес-процессов уровня крупного предприятия. Сравните трудоёмкость проектирования, конструирования и сопровождения такой системы с использованием VC 6.0 (остальное ПО ПЖЦ 1997 года на выбор) и VC.NET 2005 (остальное ПО ПЖЦ 2006 года на выбор).

P.S. Обычно источник заблуждений - отсутствия знаний о современных технология создания ПО и ПЖЦ. Абсолютно ничего личного, просто тут рядом была тема про обучение программированию. Там было не понято, чему в институтах учат пять лет и сказано, что С++ можно выучить за год. А то, что человек, знающий С++, вовсе не обязательно программист, вниманием обойдено.
 
Отдельно - по поводы С++ vs Java.

Не надо путать сладкое с толстым.
На Native С++ можно написать ядро операционной системы. На Java - нет.
Перейти за пару дней с одного на другой можно только для задачи, которая хорошо ложится на оба языка (хотя они и похожи).

Ещё лучше отделять язык от его реализации и помнить, что .NET - не язык, а парадигма + набор технологий. J2EE и J2ME, кстати, тоже две больших разницы.
 
Топик можно назвать "священные войны" :) спорить можно бесконечно... "качество" языка определяется ЗАДАЧЕЙ и КВАЛИФИКАЦИЕЙ программиста :)
 
вот когда java действительно станет кросс-платформенной (возьмем к примеру программы для мобильных устройств), тогда можно о ней серьезно говорить....
 
J2 > C++
J2 - фреймворк, который содержит все самое необходимое достаточно для работы, причем все это платформонезависимо, так как реализуется на уровне JVM. Кроме того обладает такими замечательными дополнениями как скажем GC.
С++ это просто язык программирования, который без дополнительных стронних библиотек и API не является самодостаточным.
С++ > J2
В плане гибкости и потенциала С++ непревзойденно более мощное средство, однако для того что бы это прочувствовать достаточно обладать выскокой квалификацией и временные затраты также будут ощутимее больше чем скажем для решения схожих задач на J2 (ну что возможно реализовать).
По поводу скорой кончины C++ скажу следующее - пока есть *nix о смерти C++ даже не мечтайте - отсюда вывод - C++ - бессмертен;)
 
Все профессии важны, выбирай на вкус! Золотые слова. Действительно важны все, но выбирать на вкус возможно далеко не всегда :(

По поводу библиотек С++:
Рекомендую прочитать хотя бы книгу Николая Джосьютиса "С++: Стандартная библиотека" (совсем даже не дополнительная!). А потом сравнить с библиотеками J по целям, эффективности и возможностям.

Ещё раз подтвердится различие решаемых задач и подходов. И никаких религиозных войн :)
 
Как по мне кажется сравнивать Java2 и C++ это то же самое что обсуждать , кто выиграет хоккейный ЦСКА или Барселона играя на Марсе в гольф.
Всё зависит только от задачи и конкретных условий.
И та и другая технология имеет свои плюсы и минусы.
 
Верх