LINUX.ORG.RU

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

 , , ,


0

2

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

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

★★★★★

Проверено: mono ()
Последнее исправление: MuZHiK-2 (всего исправлений: 2)

Ответ на: комментарий от Led

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

sv75 ★★★★★
()
Ответ на: комментарий от sv75

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

zeloras
()
Ответ на: комментарий от sv75

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

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

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

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

sS ★★★★★
()
Ответ на: комментарий от anonymous

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

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

Zloddey
()
Ответ на: комментарий от anonymous

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

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от sv75

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

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

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

http://gmplib.org/

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

ahonimous
()
Ответ на: комментарий от sS

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

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

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

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

ahonimous
()
Ответ на: комментарий от DNA_Seq

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

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

anonymous
()
Ответ на: комментарий от DNA_Seq

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

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

sS ★★★★★
()
Ответ на: комментарий от ahonimous

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

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

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

ahonimous
()
Ответ на: комментарий от ahonimous

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

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

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

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

ahonimous
()
Ответ на: комментарий от DNA_Seq

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

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

sv75 ★★★★★
()
Ответ на: комментарий от sS

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

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

sv75 ★★★★★
()
Ответ на: Это нечестный способ делать "короче" от Zloddey

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
()
Ответ на: Они и в самом деле многословны от Zloddey

>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
()
Ответ на: комментарий от Devix

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

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

ahonimous
()
Ответ на: комментарий от Devix

#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
()
Ответ на: комментарий от Devix

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

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

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

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

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

Ну ты и зануда

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

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

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

Zloddey
()

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

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

pict_it
()
Ответ на: комментарий от Zloddey

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

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

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

archimag ★★★
()
Ответ на: комментарий от sv75

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

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

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

sS ★★★★★
()
Ответ на: комментарий от Zloddey

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

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

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


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

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


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

Devix
()
Ответ на: комментарий от buddhist

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

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

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

Aid_
()
Ответ на: комментарий от Zloddey

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

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

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

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

sS ★★★★★
()
Ответ на: комментарий от Zloddey

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

Devix
()
Ответ на: комментарий от anonymous

#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
()
Ответ на: комментарий от sv75

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

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

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

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

ogronom
()
Ответ на: комментарий от DNA_Seq

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

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

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

ogronom
()
Ответ на: комментарий от Zloddey

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

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

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

kde4-hater
()
Ответ на: комментарий от tailgunner

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от sS

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

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

Zloddey
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.