Опуликовано интервью (часть 1 (http://www.technologyreview.com/InfoTech/17831/), часть 2 (http://www.technologyreview.com/Infotech/17868/)) с Bjarne Stroustrup, создателем языка C++ с попыткой выяснить причины низкого качества современного ПО.URL: http://www.technologyreview.com/Infotech/17868/
Новость: http://www.opennet.me/opennews/art.shtml?num=9535
Уже было...
В России две беды - Дураки и Дороги.
У остального мира - Языки и Программисты.
... в догонку,
Мы пьём всё, что горит, а если не горит, поджигаем и тоже пьём.
Мы пишем на том, что компилируется, а если не компилируется, то патчим и тоже компилим.
Зря вы так, он мегамужик. Идеалист правда, как большинство учёных...
Но вещи-то разумные говорит, как-никак всю жизнь в этом варится.
Он даже и не идеалист иначе не придумал бы C++.
Этот язык и задумывался и создан как один большой компромис между идеалами и реальностью.
Отсюда и плюсы и минусы.
>Он даже и не идеалист иначе не придумал бы C++.
>Этот язык и задумывался и создан как один большой компромис между идеалами
>и реальностью.
>Отсюда и плюсы и минусы.плюса целых 2! :)
>Зря вы так, он мегамужик. Идеалист правда, как большинство учёных...
>Но вещи-то разумные говорит, как-никак всю жизнь в этом варится.Я немного почитывал Страуструпа. Врядли его можно назвать идеалистом. Он всетаки начинает не с языка, а с экономической подоплеки и перспективы. Для меня было в этом плане примечательно, что мысль американского ученого прикладника начинается с экономики. Впрочем, наших инженеров вроде бы, тоже учат считать экономический эффект...
>>Зря вы так, он мегамужик. Идеалист правда, как большинство учёных...
>>Но вещи-то разумные говорит, как-никак всю жизнь в этом варится.
>
>Я немного почитывал Страуструпа. Врядли его можно назвать идеалистом. Он всетаки начинает
>не с языка, а с экономической подоплеки и перспективы. Для меня
>было в этом плане примечательно, что мысль американского ученого прикладника начинается
>с экономики. Впрочем, наших инженеров вроде бы, тоже учат считать экономический
>эффект...да потому что не бывает черного и белого. идеалист может рассчитывать на приятные денюжки за свое творение и прагматик в глубине души может надеятся на творческое самовыражение.
при чем тут наши инженеры? вы настолько ненавидите советское прошлое? :)
>да потому что не бывает черного и белого. идеалист может рассчитывать на
>приятные денюжки за свое творение и прагматик в глубине души может
>надеятся на творческое самовыражение.
>при чем тут наши инженеры? вы настолько ненавидите советское прошлое? :)Нет, я как раз очень положительно отношусь ко всем хорошему в этом прошлом, но не думаю, что все было идеально, на что уверен были объективные причины... ну как бы это грубо сказать, зачем например, делать экономически выгодный и дешевый танк, если это не требуется по определению или наоборот зачем делать перечень продуктов:
-очень дешевый
-дешевый
-нормальный по цене
-дорогой
-очень дорогой
если в среднем заранее известно, что востребованы будут к примеру только нормальные по цене товары...
т.е. в принципе вины инженера я не вижу, в том что нет, например смысла, ему заниматься разработкой качественного бтового товара...
Или например, почему у нас марксистко-ленинисткие философы вдруг определяли нужна ли нам кибернетика или нет, почему не экономисты?
Мне интересно, допустим напишем две сложные программы: одна на С++, другая на жабе. Вопрос: какая вылетит раньше?Чтото мне подсказывает, что на жабе проработает дольше потому как обработка исключений поставлена прилично, в отличии от С и С++.
разница лишь в том, что C++ априори требует бОльшей педантичности, вот и все :)
а уж кто проработет дольше... вопрос философский.
одинаково аккуратно написанные программы на С++ и Яве могут проработать как угодно.
представьте ситуацию: в программе на Ява возникло исключение, где-то на верхнем уровне исключение обработалось, а обрабатываться должно было чуть ближе к источнику. и программа перешла в состояние, в котором продолжала работать, но выдавать неправильный результат на выходе. что более опасно: получить неверный результат, или не получить его вообще?
Да без разницы практически.
Если программа хорошо написана - проработает столько, сколько нужно.
Если есть баги - не будет работать, и пофиг какой язык.
Не было бы, С и Ассемблера, где б ты свою исключительную жабу запускал.
это глупо утверждать что на java программы безопасней и у них нет утечки памяти конечно если вы не менеджер :). И самое прикольное в java - NullPointerException это при отсутствии указателей в языке :)
Вот очень хотелось бы просветитья на тему чем же это в жабе "обработка исключений поставлена прилично, в отличии от С и С++". Конечно при условии что товарисч не с ЛОРа или удафф-а.
>Вот очень хотелось бы просветитья на тему чем же это в жабе "обработка исключений
>поставлена прилично, в отличии от С и С++". Конечно при условии что товарисч
>не с ЛОРа или удафф-а.Весьма вероятно, что "товарисч" путает поддержку исключений в C++ с внеязыковыми
исключительными ситуациями типа SIGSEGV. Которых в Java вроде как не бывает.
Однако в Java ведь тоже есть Exception, а есть и Error, и ловить второй
в большинстве случаев IMHO аморально, ибо его возникновение указывает
на фатальный баг в программе.
И вообще, Жаба для Web страниц, пускай там и живёть.Трахал, трахал я Eclipse, насрал на него за его исключительные глюки,
и остался на vi + splint + gdb
Что Вы делали с Eclipse? =8-о
> И самое прикольное в java - NullPointerException это при отсутствии указателей в языке :)Указатели на самом деле есть, но их можно только создавать и все, больше ни каких операций с указателями java не позволяет делать.
По-моему, это не совсем так, или я ошибаюсь?Разве нет случаев, когда можно напрямую работать с указателями?
Да конечно в яве есть типа указателей, но ими нельзя манипулировать как в С. Но ява в отличии от С++ пошла путём ограничения возможностей - запретим все что можно дабы ты ни дай бог по не правильному пути пошёл(такой себе старший брат). Правильно Страуструп говорит что денег в неё вложили много что-бы донести до несведущих какой язык надёжный (кастрирован налево теперь не пойдёт ...). Единственное я не пойму как SUN на яве денег делает? Может кто просветит? Ну а если посмотреть код выпускников вузов которые пишут на яве и не пишут на С++ тогда чётко понимаем ява и дисциплина не совместимы (типа: о ресурсах пусть думают производители железа или нет указателей так и на null проверять не будем и т.д.).
>Указатели на самом деле есть, но их можно только создавать и все, больше ни каких операций с указателями java не позволяет делать.читал году едак в прошлом про товарища который обманным :) путем (какой хитрец) на%%бывал java-машину и использовал клас указателей (сорри за безграмотность в жабе не силен) но гдето в конце статьи подитожыл - мол "а зачем нам тут использовать указатели, если они тут нахер не нада?", да и вот тут товарищ вопрос задал как же сан делает деньги на жабе? никто не просветит?
Основной лозунг java - `одна задача одно решение` и это сделано не для того что бы ограничивать программистов, а для того что бы можно было понимать чужой код.
Сам я больше люблю С/С++ и ассемблер, но:
1. Ява очень удобна для широкого класса задач, от которых не требуется очень большая производительность, но требуется чтобы они работали везде. Напрмер всякие управляющие приблуды ко всяким девайсам - отличный кандидат.
2. Скорость программы в первую очередь определяют алгоритмы. При правильном подходе программы на яве могут быть очень быстрыми - пример - порт Quake2 на Яву - Jake2 - работает со скоростью, сопоставимой со скоростью оригинала. Я запускал ее и под линуксом и под виндой - работало и там и там, и работало быстро.
>- Jake2 - работает со скоростью, сопоставимой со скоростью оригинала. Я запускал ее и под линуксом и под виндой - работало и там и там, и работало быстро.
А на Pentium 133 MHz с 8 MB RAM оно тоже будет "работать со скоростью, сопоставимой со скоростью оригинала"?
>А на Pentium 133 MHz с 8 MB RAM оно тоже будет
>"работать со скоростью, сопоставимой со скоростью оригинала"?А это ваш основной рабочий или игровой компьютер?
Ну, ладно, бросьте спорить
И начинайте на машинном кодить :)
Статья вообще-то про С++, а вы медленно перешли на выяснение, чем плоха Java :)Кстати, насчет того на чем зарабатывает Sun - представьте, ведь от Sun зависит, как будет развиваться Java. Кому она откроет исходники, с кем будет сотрудничать, чьи интересы учитывать в новых версиях, обучение и сертификация - все это конвертируется в бабло не очень сложными методами ;) Так поддержку Java имеют очень многие производители ПО и hardware. Даже в вашем мобильнике наверняка уже есть есть java-машина, лицензия на которую тоже что-то стоит.
Блин, я проникся этим тредом. Впервые за несколько месяцев я не встретил здесь фраз "а я вот такой умный, все знаю, сейчас как выскажу гениальную фразу!", а ему в ответ "да, батюшка, ты не гений - ты чудозвон (а я вот гений)". Наверное, все таки программеры повежливее админов будут. Спор был, а вот оскорблений - нет. Так держать, господа!