LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

Google дал оценку Java и C++

Один из ведущих инженеров Google — Роб Пайк (Rob Pike) — выступил на конференции O'Reilly Open Source Convention (OSCON) и выразил мнение корпорации о современных языках разработки и месте C++ и Java в них. Он отозвался об этих индустриальных китах очень негативно, назвав их многословными, чрезмерно сложными и неадекватными к применению в решении задач современной компьютерной инфраструктуры.
"Я думаю, что эти языки слишком сложны для использования, слишком трудны для понимания, слишком замысловаты. Они очень многословны, их сложность, громоздкость и непонятность возрастают со временем", — заявил Роб.

>>> Подробности

Метки: c++, google, java, программирование

Karapuz **** (24.07.2010 15:08:21)
Проверено: mono (24.07.2010 16:31:17)
Juick

[#] Ответ на: комментарий от Led 27.07.2010 3:36:25  

Вроде они появились (с '+') в стандарте Extended Pascal 1990 года? У Вирта и в стандарте 1983-го их не было, не спорю.

sv75 ***** (27.07.2010 8:34:40)
[#] Ответ на: комментарий от sv75 27.07.2010 8:19:25  
zeloras

я вообще не понимаю как можно писать что то на фортране, язык очень хороший, но жрет десу очень много...

zeloras (27.07.2010 8:35:26)
[#] Ответ на: комментарий от sv75 27.07.2010 8:19:25  

>но на Фортране они могли писать и *без* курса обучения.

Шот я сомневаюсь :)

PS: Самого изначально начинали учить на фортране (:

Хотя глядя как моя помогала сделать ДЗ подружке из другого вуза на С#, которого она не изучала (вечер с книжкой по шарпу и монодевелопом) хз конечно...

sS ***** (27.07.2010 8:39:12)
[#] Ответ на: Это нечестный способ делать "короче" от Zloddey 27.07.2010 7:39:03  

Re: Это нечестный способ делать "короче"

C++ ОЧЕНЬ ПЛОХ ---- остальные еще хуже. ДзенЬ... ДзенЬ... ДзенЬ... ( ТИШИНА )

anonymous (27.07.2010 9:13:43)
[#] Ответ на: Re: Это нечестный способ делать "короче" от anonymous 27.07.2010 9:13:43  

Хуже? Для каких задач? Для всех что ли? Ну-ну...

Это не ДзенЬ, а банальное пустозвонство

Zloddey * (27.07.2010 9:21:30)
[#] Ответ на: комментарий от Zloddey 27.07.2010 9:21:30  

Для задач превышающих N-е кол.строк.

anonymous (27.07.2010 9:38:00)
[#] Ответ на: комментарий от sS 27.07.2010 7:28:54  

Фортран точно преподают в строительных и некоторых других инженерных ВУЗах.

buddhist ** (27.07.2010 9:39:14)
[#] Ответ на: комментарий от anonymous 27.07.2010 9:38:00  

N-ное количество строк? На каком языке? А как же другой дзен - "одна строка на шелле стоит 10000 строк на С"?

Жги дальше. Ты очень смешной и нелепый.

Zloddey * (27.07.2010 10:04:59)
[#] Ответ на: комментарий от anonymous 26.07.2010 21:30:38  
DNA_Seq

>Другие языки - лишь небольшая часть огромных возможностей С++

В рот мне ноги, все то же самое что можно сделать на Си можно сделать и на Паскале, все то же самое что можно сделать на С++ пожно сделать и на Обжект Паскаль, остальное лишь вопрос библиотек то есть вопрос исторический

DNA_Seq *** (27.07.2010 10:23:43)
[#] Ответ на: комментарий от sv75 27.07.2010 1:43:12  
DNA_Seq

>Список этих задач в студию.

Ну например у Перла и Руби максимальный размер целого числа ограничен лишь оперативной памятью компьютера.

DNA_Seq *** (27.07.2010 10:29:07)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:29:07  

> Ну например у Перла и Руби максимальный размер целого числа ограничен лишь оперативной памятью компьютера.

http://gmplib.org/

язык должен выполнять свои задачи, а библиотеки на нем - свои

ahonimous (27.07.2010 10:31:16)
[#] Ответ на: комментарий от sS 27.07.2010 7:28:54  
DNA_Seq

>Моему домашнему "и математику" сейчас преподают C/C++ (пока) а вот Fortran даже не планируют

То есть ты будешь утверждать что сотни тысяч математиков по всему миру ошибаются? При том что они поумнее абсолютного большинства кодеров

DNA_Seq *** (27.07.2010 10:31:30)
[#] Ответ на: комментарий от ahonimous 27.07.2010 10:31:16  
DNA_Seq

Зачем использовать библиотеку когда я просто могу написать $a=$$b+$c?

DNA_Seq *** (27.07.2010 10:35:25)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:35:25  

> Зачем использовать библиотеку когда я просто могу написать $a=$$b+$c?

затем что, если тебе нужны очень большие числа, то тебе точно так же нужна и быстрая скорость работы - а http://shootout.alioth.debian.org показывает, что на задаче с длинными числами - С и С++ ( с тем же gmp ) в два раза быстрее perl и в 23 раза быстрее ruby

ahonimous (27.07.2010 10:40:30)
[#] Ответ на: комментарий от ahonimous 27.07.2010 10:40:30  
DNA_Seq

Знаешь кто такой еврейский комсомолец?

DNA_Seq *** (27.07.2010 10:43:30)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:43:30  

не признал, шалом

ahonimous (27.07.2010 10:44:36)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:29:07  

> Ну например у Перла и Руби максимальный размер целого числа ограничен лишь оперативной памятью компьютера.

размер числа должен быть ограничен объемом ленточной библиотеки

anonymous (27.07.2010 11:21:19)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:31:30  

>То есть ты будешь утверждать что сотни тысяч математиков по всему миру ошибаются? При том что они поумнее абсолютного большинства кодеров

Я просто констатирую состояние _современного_ математического образования. Fortran в программе сейчас скорее исключение чем правило. Подозреваю что он активно преподаётся там где имеется солидная кодовая база для данной предметной области.

sS ***** (27.07.2010 11:24:47)
[#] Ответ на: комментарий от ahonimous 27.07.2010 10:44:36  
DNA_Seq

Не знаешь ты анекдотов. Еврейский комсомолец - это тот кто сначала создает себе проблемы а потом героически их преодолевает. Большинство тех кто высказывался здесь за си таких вот еврейких комсомольцев и напоминает

DNA_Seq *** (27.07.2010 11:42:54)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 11:42:54  

> Большинство тех кто высказывался здесь за си таких вот еврейких комсомольцев и напоминает

выбрать вариант в 23 раза медленее для числодробилки - это и есть создание проблемы на ровном месте

ahonimous (27.07.2010 11:44:23)
[#] Ответ на: комментарий от ahonimous 27.07.2010 11:44:23  
DNA_Seq

Перл всего в 2 раза медленнее а пишется в 10-20 раз быстрее. В научных задачах время ученого дороже времени компьютера

DNA_Seq *** (27.07.2010 12:15:29)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 12:15:29  

> В научных задачах время ученого дороже времени компьютера

а зачем тогда создают "супер-компьютеры", да еще в таких количествах?

ahonimous (27.07.2010 12:19:29)
[#] Ответ на: комментарий от ahonimous 27.07.2010 12:19:29  
DNA_Seq

Чтоб сэкономить время ученых

DNA_Seq *** (27.07.2010 12:20:51)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:29:07  

> Ну например у Перла и Руби максимальный размер целого числа ограничен лишь оперативной памятью компьютера.

GNU MP Bignum Library уже написали, но можно было и самому, штаная заждачка для перво-второкуров.

sv75 ***** (27.07.2010 12:39:10)
[#] Ответ на: комментарий от sS 27.07.2010 8:39:12  

> Шот я сомневаюсь :)

Не сумневайся, у меня есть много случаев, когда закончившие мехмат в 70-ые в 80-ые вынуждены были кодить на фортране.

sv75 ***** (27.07.2010 12:41:22)
[#] Ответ на: Это нечестный способ делать "короче" от Zloddey 27.07.2010 7:39:03  
Devix

Re: Это нечестный способ делать "короче"

1. Приводи в другой раз, получше пример, а то этот ничего ровным счетом не покзывает.

2. Оформляй код как тебе угодно, от этого он длиннее не станет.

3. Ну ты и зануда, я пример не проверял и надеялся что на мелкие ошибки люди закроют глаза. Сам после написания заметил все эти ошибки. Вот тебе исправленный вариант(надеюсь в этот раз ты будешь доволен:)), я его тоже не проверял):

#include <iostream>

class TooManyWords {
public:
TooManyWords (): _value(0) {
std::cout << "ctor" << std::endl;
}
virtual ~TooManyWords () {
std::cout << "dtor" << std::endl;
}

void SetValue (int value) {
_value = value;
}
int GetValue () const {
return _value;
}

private:
int _value;
};

int main () {
TooManyWords tmw;
tmw.SetValue(5);
std::cout << tmw.GetValue() << std::endl;
return 0;
}

Devix * (27.07.2010 14:50:40)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Devix 27.07.2010 14:50:40  
include <iostream>

struct TooManyWords {
int _value;
}

int main () {
TooManyWords tmw;
tmw._value = 5;
std::cout << tmw._value << std::endl;
return 0;
}

еще лучше так

ahonimous (27.07.2010 14:54:23)
[#] Ответ на: комментарий от ahonimous 27.07.2010 14:54:23  
Devix

>еще лучше так

Щас он и у тебя найдет ошибки:))) забыл решетку перед include:))

Devix * (27.07.2010 14:58:00)
[#] Ответ на: Они и в самом деле многословны от Zloddey 25.07.2010 8:45:46  
Devix

Re: Они и в самом деле многословны

>class LessWords:
> def __init__(self):

> value = 0

> print "ctor"

>

>lw = LessWords()

>lw.value = 5;

>print lw.value


Вот на C++:

#include <iostream>

struct LessWords
{
int value;
LessWords(): value(0) {
std::cout << "ctor" << std::endl;
}
};

int main()
{
LessWords lw;
lw.value = 5;
std::cout << lw.value << std::endl;
return 0;
}

PS: Надеюсь без ошибок получилось:))

Devix * (27.07.2010 15:03:42)
[#] Ответ на: комментарий от Devix 27.07.2010 14:58:00  

> забыл решетку перед include:))

то я твой код неудачно скопипастил

ahonimous (27.07.2010 15:06:55)
[#] Ответ на: Re: Они и в самом деле многословны от Devix 27.07.2010 15:03:42  

Re: Они и в самом деле многословны

#include <iostream>

struct LessWords
{
int value;
LessWords(): value(0) {
std::cout << "ctor\n";
}
} lw;

int main()
{
lw.value = 5;
std::cout << lw.value << std::endl;
}
И ещё короче, и всё строго стандартно, абсолютно переносимо и в полном соответствии с правилами языка.

anonymous (27.07.2010 15:16:02)
[#]  
[#] Ответ на: комментарий от skwish 27.07.2010 15:26:31  

>http://en.wikipedia.org/wiki/Rob_Pike
Кэп, перелогиньтесь.

WatchCat * (27.07.2010 15:32:19)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Devix 27.07.2010 14:50:40  

Re: Это нечестный способ делать "короче"

>а то этот ничего ровным счетом не покзывает

Этот пример показывает, насколько многословным (нередко) бывает С++.

>Оформляй код как тебе угодно, от этого он длиннее не станет.

От оформления кода зависит удобство его чтения. Чем яснее написан код, тем быстрее можно в нём разобраться. Чем проще разобраться в коде, тем меньше шансов совершить ошибку при модификации и тем продуктивнее можно с ним работать. Поэтому меня и бесят однострочники. Они хуже читаемы. По этой же причине я использую тег code для листингов.

Подробнее по этому вопросу можно почитать, например, у Роберта Мартина.

>Ну ты и зануда

Я предпочитаю термин "педантичность" :)

>я пример не проверял и надеялся что на мелкие ошибки люди закроют глаза

А когда ты коммит делаешь в общий репозиторий, тоже код не проверяешь? ;)

Zloddey * (27.07.2010 15:52:24)
[#]  

"Я думаю, что эти языки слишком сложны для использования, слишком трудны для понимания, слишком замысловаты. Они очень многословны, их сложность, громоздкость и непонятность возрастают со временем", — заявил Роб.

Плохому танцору и яйца мешают
Он ещё ассемблер не видел

pict_it (27.07.2010 16:15:36)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Zloddey 27.07.2010 15:52:24  

Re: Это нечестный способ делать "короче"

> Я предпочитаю термин "педантичность" :)

Тогда С++ не для Вас :)

Как же наверно прекрасен С++, если его так ругают !

anonymous (27.07.2010 16:31:16)
[#] Ответ на: Re: Это нечестный способ делать "короче" от anonymous 27.07.2010 16:31:16  

> Как же наверно прекрасен С++, если его так ругают !

Ну не зря же сказал поэт:

>>-----Цитата---->>

до чего же я ничтожен,
если в этакой стране
до сих пор не уничтожен!

<<-----Цитата----<<

(c) Евгений Лукин

archimag ** (27.07.2010 16:46:38)
[#] Ответ на: комментарий от sv75 27.07.2010 12:41:22  

>Не сумневайся, у меня есть много случаев, когда закончившие мехмат в 70-ые в 80-ые вынуждены были кодить на фортране.

Так я про 201x какбэ ... про 80 я не спорю :)

Хотя сейчас меня навряд-ли вынудят заниматься тем на что я забил в далёком 1990 :)

sS ***** (27.07.2010 16:53:18)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Zloddey 27.07.2010 15:52:24  
Devix

Re: Это нечестный способ делать "короче"

>Этот пример показывает, насколько многословным (нередко) бывает С++

Этот пример ничего не показывает:)

>От оформления кода зависит удобство его чтения. Чем яснее написан код, тем быстрее можно в нём разобраться. Чем проще разобраться в коде, тем меньше шансов совершить ошибку при модификации и тем продуктивнее можно с ним работать. Поэтому меня и бесят однострочники. Они хуже читаемы. По этой же причине я использую тег code для листингов.


Ты прям открыл америку:) Мне удобнее для чтения и понимания мой стиль написания тебе свой, комуто совсем другой.

>А когда ты коммит делаешь в общий репозиторий, тоже код не проверяешь? ;)


Ну ты и сравнил:), за коммит в репозиторий мне платят а за написание на форуме нет.

Devix * (27.07.2010 17:02:02)
[#] Ответ на: комментарий от buddhist 27.07.2010 9:39:14  
Aid_

>>Фортран точно преподают в строительных и некоторых других инженерных ВУЗах.

/me писал на первом курсе на фортране

! физический факультет

Aid_ * (27.07.2010 17:04:40)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Zloddey 27.07.2010 15:52:24  

>Этот пример показывает, насколько многословным (нередко) бывает С++.

Гы. Копипаст из открытого туториала спешиал фор ю :)

solve
(
    fvm::ddt(rho, U)
  + fvm::div(phi, U)
  - fvm::laplacian(mu, U)
    ==
  - fvc::grad(p)
);

Или ты и правда думаешь что если развернуьть солвер FNS во все свои 100-200 кб он станет более читаемый ? :))

sS ***** (27.07.2010 17:09:47)
[#] Ответ на: Re: Это нечестный способ делать "короче" от Zloddey 27.07.2010 15:52:24  
Devix

Re: Это нечестный способ делать "короче"

И еще вопрос, где в моем примере не удобно читать? Что там в однострочниках такого непонятного? В чем ты там не смог разобратся?

Devix * (27.07.2010 17:18:38)
[#] Ответ на: Re: Они и в самом деле многословны от anonymous 27.07.2010 15:16:02  
Devix

Re: Они и в самом деле многословны

#include <iostream>

struct LessWords
{
int value;
LessWords(): value(0) {
std::cout << "ctor\n";
}
} lw;

int main()
{
lw.value = 5;
std::cout << lw.value << '\n';
}

Так еще короче:))

Devix * (27.07.2010 17:31:01)
[#] Ответ на: комментарий от sv75 27.07.2010 1:28:33  

>> Фортран ничем не лучше С для числодробилок.

>Как минимум он лучше тем, что на нём могут писать и математики %)

Математики люди сообразительные, они могут писать и на Си. :)

То что "математики" пишут на фортране нету заслуги языка, скорее исторический курьез (лень писать вменяемый враппер для си для тех матиматических библиотек, что уже есть). А сейчас вообще есть тенденция сползание на что-то более высокоуровневое (MATLAB, numpy и т.д.)

ogronom * (27.07.2010 18:09:22)
[#] Ответ на: комментарий от DNA_Seq 27.07.2010 10:31:30  

>То есть ты будешь утверждать что сотни тысяч математиков по всему миру ошибаются? При том что они поумнее абсолютного большинства кодеров

Математикам пофиг, они берут инструмент с которым более знакомы. Раньше это был фортран, теперь больше используется МАТLAB.

И фортран и си для числодробилок, языки абсолютно одного класса. Позволяют писать (примерно) одинаково быстрый код, затрачивая на это достаточно много времени.

ogronom * (27.07.2010 18:16:09)
[#] Ответ на: комментарий от skwish 27.07.2010 15:26:31  

> http://en.wikipedia.org/wiki/Rob_Pike

Борода где? А Пайк то не настоящий!

anonymous (27.07.2010 19:24:49)
[#] Ответ на: комментарий от Zloddey 26.07.2010 14:39:03  
kde4-hater

Если тебе хочется мгновенного отклика, то следует использовать интерпретаторы языков программирования.

Если хочешь свести отклик к наименьшему значению -- отключи оптимизацию.

Я могу назвать самый быстрый компьютер, на котором я заморачивался с precompiled headers -- Coppermine 768 MHz.

kde4-hater (27.07.2010 20:27:50)
[#] Ответ на: комментарий от anonymous 27.07.2010 19:24:49  
[#] Ответ на: комментарий от tailgunner 27.07.2010 21:07:20  
www_linux_org_ru

где конкретно он там ноит? эмоциональный (в отличие от технического) английский я не понимаю

www_linux_org_ru **** (27.07.2010 22:02:34)
[#] Ответ на: комментарий от sS 27.07.2010 17:09:47  

Разумеется, нет. Станет только намного хуже. В приведённом тобой примере показан очень неплохой ясный код с хорошим уровнем абстракции. Зачем его разворачивать? Не понимаю.

Кстати, интересная штука этот OpenFOAM, надо будет посмотреть поближе.

Zloddey * (28.07.2010 8:23:22)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru