|
|
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 MasterZiv >Что вы заладили "указатель-не указатель" ? Чего тут вообще спорить ? Как можно сравнивать универсальный язык программирования С++ с Java, этим объектно-ориентированным бейсиком с С++ -ным синтаксисом ? Обсуждаются в основном 2 момента: 1) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами. Таким вполне логичным представляется экспериментальный результат, что джава код получается длиннее и сложнее, а программисты тратят больше времени на его разработку. Этот эффект небольшой, но есть. 2) джава имеет некие не менее загадочные свойства, облегчающие его использование в качестве языка разработки интернет приложений. В пользу этого вообще не было высказано никаких аргументов, кроме наличия библиотек. Кстати библиотеки всплывают постоянно, но библиотеки дело наживное. Кросплатформенность тоже является не таким безоблачным вопросом, как это пытаются представить сторонники джавы. Это понятно поскольку для работы джавы требуется во-первых JVM, которая присутствует далеко не всегда, а во-вторых JVM и библиотеки строго определенной версии. C/C++ не имеет виртуальной машины и p-кода, но это не принципиальная проблема, виртуальную машину можно легко построить, в языке для этого ничего менять не нужно. Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 11:38 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
с127Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение. Эхх... и где же вы были, когда дяденьки из SUN задумали Джаву, что же это вы их дураков не вразумили, паскалю и бейсику не научили... ай ай ай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 12:02 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2с127 И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же????????? Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 12:16 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
wessen2с127 И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же????????? Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля???? Не хочу вас обидеть но такое впечетление что вы ничего не знаете ни про С++, ни про C#... .NET полностью копирует Яву? Ану покажите ка мне где в Яве независимость от языка? А где возможность использовать COM, OLE? Где возможность использовать Ява библиотеки на С++, VB или томже Делфи? С таким же успехом можна утверждать что Ява это урезаный клон С++... Почему МS толкнули новый язык? Потому что сложность приложений растет по экспоненте и сейчас для разработчику приходится решать гораздо больше вопросов. Новые задачи требуют новых решений. С++ не забыт, и используется, и будет использоваться. Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 13:12 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
c127 1) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами. И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции. Я в принципе согласен, что с этим в Java перебор, но особой проблемы я в этом не вижу. А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 13:24 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
NET полностью копирует Яву? вы немного не в ту сторону поехали, я имел в виду, что скопирована сама идея, понятно, что в шарпе что то убрали, что то добавили и т.д. Ану покажите ка мне где в Яве независимость от языка? Согласен, можно писать только на Java, тут конечно Билли схитрил, программеру на VB будет легче перейти на VB.NET чем на Java. Я не знаю как там организована многоязыковая поддержка, но думаю что в итоге все равно останется максимум два языка под NET. Я думаю, что выйгриш получили только программисты, а вот сама платформа .NET вряд ли, как интересно выглядит проект написанный на 10-и языках, а как его поддерживать потом?? Как программист на С# будет разбираться в приложении под .NET на VB? А где возможность использовать COM, OLE? а зачем мне это????? Ведь это чисто Виндозные приблуды, я и без них спокойно обхожусь другими много платформенными технологиями. авторГде возможность использовать Ява библиотеки на С++, VB или том же Делфи? Есть такая штука JNI(Java Native Interface), через него я могу вызвать любую натив функцию, любой платформы. Если припрет, через JNI я могу использовать ваши любымие COM or OLE. "VB или томже Делфи" виндозные приблуды, давно мною забыты. Почему МS толкнули новый язык? Потому что сложность приложений растет по экспоненте и сейчас для разработчику приходится решать гораздо больше вопросов. Новые задачи требуют новых решений. С++ не забыт, и используется, и будет использоваться. Вот это хорошие слова, советую господину с127 внимательно в них вчитаться, может тогда пойме, зачем Джаву придумали. Добавлю еще от себя, то чего нет в Джаве по сравнению с С++, действительно ей не надо, по крайней мере для решения тех проблем, для которых она используется. Все эти ссылки, указатели, директивы , работа с памятью, все это хорошо подходит для написание системных программ, тех же JVM. Зачем мне при разработке веб-приложения забивать голову работой с памятью. Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:15 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
wessen VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему. Мож он сначала спецификацию выложит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:19 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Гоша c127 1) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами. И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции. Я в принципе согласен, что с этим в Java перебор, но особой проблемы я в этом не вижу. А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать. Ну у вас может и нет, а вообще по умолчанию Вб передает параметры по ссылке По поводу VM я немного утрировал, есть например ManagedC++ на котором можна писать точно так как и на C#. Но это уже не стандартный С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 14:41 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
c127 Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение. Неа, не согласен. С++ - сложный язык, ОЧЕНЬ сложный язык. Для него виртуальную машину писать они бы упарились. Соответственно, они сделали просто - кастрировали язык (я бы сказал, операция была обратная кастрации - то, что при кастрации выбрасывают , они оставили) и написали VM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 15:05 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
wessen а зачем мне это????? Ведь это чисто Виндозные приблуды, я и без них спокойно обхожусь другими много платформенными технологиями. Да панимаишь, людям иногда нужно, чтобы программы делали то, что им НАДА , а не то, что умеет Жаба. wessen Есть такая штука JNI(Java Native Interface), через него я могу вызвать любую натив функцию, любой платформы. Если припрет, через JNI я могу использовать ваши любымие COM or OLE. "VB или томже Делфи" виндозные приблуды, давно мною забыты. Один такой вызывал уже, SUN потом его по судам затаскала ... wessen VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему. Да нет, в Microsoft его вот уже написали ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 15:13 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
viperНу у вас может и нет, а вообще по умолчанию Вб передает параметры по ссылке У нас как раз нет. Текстовый редактор VB.NET автоматически вставляет ByVal, если забыл написать ByRef. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 15:25 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ... Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 15:56 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
wessen MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ... Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее. Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 16:04 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
MasterZiv wessen MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ... Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее. Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было. Я думаю, что за написание классов с вызовом native функций никто вам ничего не скажет, хотите пользуйтесь, хотите нет. Насколько я помню, M$ сделал так, что если я написал код на Жаве без их классов и скомпилил его в J++, то в байт код, все равно всавлялись вызовы native функций и в результате программа работала только под винду, а это не есть хорошо. Поправте если я не прав. MasterZivДа панимаишь, людям иногда нужно, чтобы программы делали то, что им НАДА , а не то, что умеет Жаба. Панимаю, вот тогда пускай эти люди берут тот язык, который умеет делать то, что им надо, Жава это не решение всех проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 16:16 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
авторСогласен, можно писать только на Java, тут конечно Билли схитрил, программеру на VB будет легче перейти на VB.NET чем на Java. Да это просто дело вкуса. Между VB и VB.NET не больше общего, чем между C++ и Java. Всё равно нужно изучать. автор Я не знаю как там организована многоязыковая поддержка, но думаю что в итоге все равно останется максимум два языка под NET. Я думаю, что выйгриш получили только программисты, а вот сама платформа .NET вряд ли, как интересно выглядит проект написанный на 10-и языках, а как его поддерживать потом?? Как программист на С# будет разбираться в приложении под .NET на VB? Да так же, как сейчас программист VC++ разбирается в проекте на VB6. Ещё и проще даже, потому что возможности C# и VB.NET аналогичны. А что останется только 2 языка, это неизвестно. COM-компоненты например не на 2 языках можно создавать. То же и с .NET. Проект затевать на 10 языках нет смысла, но почему не пользоваться библиотеками, написанными на других языках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 16:49 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Может и не к теме, но я заметил что c++ програмисты больше и охотнее разбираются в другрих языках - в той же джаве, вб или шарпе, чем джависты в си, вб или шарпе... Это я по своей команде сужу. У нас пацаны во всем шустрят по зову партии и приказу шефа. Но вот два джава-профика как то фанатично упираются - типа пусть через жопу но чтоб в jave. Ну а вобщем они пацаны нормальные, только вот кофе пьют литрами. Вообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 21:39 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
я вот тоже кофий литрами пью... может и мне на яву перейти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 21:50 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
alex_kя вот тоже кофий литрами пью... может и мне на яву перейти? Если перейдешь на яву, то наверное кофею тебе нужно будет пить еще в два раза больше. :) Я бы не советовал, здоровье дороже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2004, 22:06 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 viper >Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера Такие машины есть и называются эмуляторы. Например эмулятор покетов/палмов, работающий под winnt. Эмулятор есть виртуальная машина для всего, включая ассемблер и C++, кстати иногда сильно облегчает жизнь. Возможно есть и другие. 2 wessen >И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же????????? Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля???? Там же по-русски написано: маркетинговый ход. Вкладывают миллионы в надежде получить миллиарды. По-моему все понятно. Тяжело убедить пользователя, что хорошо известный язык способен совершить революцию. Всем ясно что не способен. Проще придумать какую-нибудь глупость и убеждать всех что это революция, глядишь кто-то поведется. 2 Гоша >И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции. Бейсик это, конечно, аргумент. >А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать. Если посмотреть на упомянутые Вами свойства революционного характера более внимательно, то окажется что их там не 4 а всего 2. Это: 1) сборщик мусора и все что с ним связано; 2) препроцессор. Второе под большим вопросом. Я, например вообще не вижу проблем с препроцессором и не очень понимаю о чем идет речь. Остается только сборщик мусора, поскольку malloc все равно есть в виде new. Но я уже говорил, что при совсем небольшом усилии со стороны программиста от явного освобожденя памяти можно избавиться и сборщик мусора не нужен. Насчет что джава программы читать и писать легче так это ничем не подтвержденная легенда бытующая среди джавистов, возникшая очевидно от того что ничего другого они не знают. Если у Вас есть данные, опровергающие эту точку зрения то ознакомьте нас. Я свою точку зрения обосновывал. Так что с революцией на этот раз похоже не сложилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 00:22 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
kompotFXВообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...) Вы разве не знаете ? Всемирная кофейная мафия - спонсоры Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 13:54 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
c127понимаю о чем идет речь. Остается только сборщик мусора, поскольку malloc все равно есть в виде new. Но я уже говорил, что при совсем небольшом усилии со стороны программиста от явного освобожденя памяти можно избавиться и сборщик мусора не нужен. "Знатоки" говорят, что есть дескать такие сложные структуры данных, которые ссылаются друг на друга циклически, и возможно опосредованно. Например, 5 объектов, ссылающихся друг на друга по цепочке 1->2->3->4->5->опять 1. И дескать применяя алгоритмы автоматического удаления объектов типа AddRef/Release такие структуры невозможно будет освободить никогда. Звучит в общем убедительно, но блин, я более десяти лет программы пишу, а никогда с надобностью реализации таких структур данных не встречался. Да если бы и встретился - можно декларативно агрегировать это все в еще один объект и удалять все при удалении его. Ну или еще как-то выкрутиться. Да и другие алгоритмы наверняка имеются. В общем, я целиком согласен - нужность сборщика мусора весьма спорна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 14:05 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Тут все просто, сборщик сделан для отстранения от ответственности за выделеную память и для избежания утечек. Посадите паскалиста писать на С++ и вы поймете в чем сила. Удобно другое, например GC постоянно дефрагментирует память, что не говори а для производительности плюс... Да и ко всему особождает вашу систему от чужих кривых рук... _________________________________________________ Легче написать не правильную программу чем понять правильную (С) Alan Perlis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 16:24 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2alex_k я тут посчитал за последние 5 лет выпил больше тонны кофе. вот вклад в экономику Бразилии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2004, 21:07 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 viper >Тут все просто, сборщик сделан для отстранения от ответственности за выделеную память и для избежания утечек. Посадите паскалиста писать на С++ и вы поймете в чем сила. Если паскалист учился по Вирту, то ничего страшного не произойдет. Другое дело если он закончил курсы типа "дельфи для идиотов". В паскале тоже есть указатели и используются они для тех же нужд, что и в C/C++, так что нормальные паскалисты к ним привыкли. А вот GC как раз не сильно успешная попытка удовлетворить выпускников упомянутых курсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 00:40 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
авторАну покажите ка мне где в Яве независимость от языка? Jython я точно пробовал :-) http://www.jython.org/ и есь еще некие JRuby, JPerl, Jacl и даже Jscheme и JLisp а также JBasic (Jaba) [Жаба ????!] :-)) и множество других! ссылки на енто дело сами леГКО найдете, так шта Java bytecode вполне "языконезависим" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 12:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32685665&tid=1343323]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
197ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 546ms |

| 0 / 0 |
