URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 96289
[ Назад ]

Исходное сообщение
"Проект GCC удостоен премии ACM "

Отправлено opennews , 13-Июн-14 00:07 
Ассоциация вычислительной техники (ACM), наиболее авторитетная международная организация в области компьютерных систем,
присудила (http://www.sigplan.org/Awards/Software/Main) проекту GCC премию за вклад в развитие языков программирования (SIGPLAN Programming Languages Software Award). Премия присуждается за значительное влияние на связанные с языками программирования исследования, реализации технологий и инструменты. В 2010 году аналогичную премию получил проект LLVM, в 2011 -  Glasgow Haskell Compiler, в 2012 - Research Virtual Machine (RVM), в 2013 - Coq.


URL: http://www.sigplan.org/Awards/Software/Main
Новость: http://www.opennet.me/opennews/art.shtml?num=39991


Содержание

Сообщения в этом обсуждении
"Проект GCC удостоен премии ACM "
Отправлено Аноним , 13-Июн-14 00:07 
Заслуженно. Это вам не эппл, который даже не знает - будет ли swift опенсорсным или нет. Видимо, "если не выстрелит - мы вам через 5-10 лет выбросим останки".

"Проект GCC удостоен премии ACM "
Отправлено Серг1110й Назаревич , 13-Июн-14 14:06 
http://www.opennet.me/opennews/art.shtml?num=39992

...имхо -- заслужено!


"Проект GCC удостоен премии ACM "
Отправлено arisu , 14-Июн-14 13:28 
> http://www.opennet.me/opennews/art.shtml?num=39992
> ...имхо -- заслужено!

конечно. если хотя бы один говнокодер из-за такого разочаруется и пойдёт делать что-то полезное — это уже мегавин.


"Проект GCC удостоен премии ACM "
Отправлено Аноним , 13-Июн-14 13:05 
Странно, что LLVM получил премию раньше, чем GCC, да ещё на 4(!) года.

"Проект GCC удостоен премии ACM "
Отправлено анон , 13-Июн-14 13:21 
что в этом странного?

"Проект GCC удостоен премии ACM "
Отправлено Аноним , 13-Июн-14 14:31 
GCC старше LLVM и в таком случае давно должен был получить эту премию, гораздо раньше LLVM.

"Проект GCC удостоен премии ACM "
Отправлено Аноним , 14-Июн-14 03:44 
Должен? А он что, занимал чтоли?

"Проект GCC удостоен премии ACM "
Отправлено Andrey Mitrofanov , 14-Июн-14 11:49 
> Странно, что LLVM получил премию раньше, чем GCC, да ещё на 4(!)
> года.

Да, странно, что у профессионалов из АЦМ ушло только "4(!) года", чтобы сообразить "ёйо-майо, что ж мы наделали" после того, как они купились на профессиональный llvm-овский продаж-маркетинг. Одно хорошо: бедняжкам наконец рассказали про GCC... Кругозор, всё такое.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 14-Июн-14 13:55 
gcc, впрочем, набежавшая хипстота тоже превращает в говно, пытаясь затащить туда (в реализацию) c++. видимо, чтобы как можно больше усложнить сборку: ведь требование наличия только компилятора си для сборки компилятора си — это слишком просто.

"Проект GCC удостоен премии ACM "
Отправлено burjui , 14-Июн-14 20:35 
Вообще-то, любой вменяемый компилятор уже достаточно сложен, чтобы не писать его на C, а тут исполин GCC. Желающим привести в пример удачной и масштабной разработки на C наш любимый Linux сообщаю, что писать компиляторы чуть ли не на порядок сложнее, чем ОС.

"Проект GCC удостоен премии ACM "
Отправлено arisu , 14-Июн-14 20:53 
> Вообще-то, любой вменяемый компилятор уже достаточно сложен, чтобы не писать его на
> C, а тут исполин GCC.

авторы pcc, tcc, cc8 — удивлены. ах, да, это же невменяемые компиляторы.

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


"Проект GCC удостоен премии ACM "
Отправлено burjui , 14-Июн-14 23:55 
> авторы pcc, tcc, cc8 — удивлены. ах, да, это же невменяемые компиляторы.
> си, конечно, далеко не самый удобный вариант, но и далеко не самый
> плохой. зато цпп — универсально плохой, со всех точек зрения. такие
> дела.

Приятно хоть было, когда передёргивали?
Знаете, я мог бы согласиться с тем, что C++ - ужасный объектно-ориентированный язык, но не могу согласиться с тем, что он принципиально хуже C. В конце концов, качество кода зависит не столько от ЯП, сколько от радиуса кривизны рук разработчика. Если C++ позволит разработчикам GCC избавиться от тонн boilerplate code, используя только необходимые им фичи C++, то почему бы и нет? Никто же не заставляет их городить ветвистое ООП, поросшее полиморфизмом и прочими наследованиями.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:01 
> Приятно хоть было, когда передёргивали?

не знаю, это ты, похоже, спец по такому.

> Знаете, я мог бы согласиться с тем, что C++ - ужасный объектно-ориентированный
> язык, но не могу согласиться с тем, что он принципиально хуже
> C.

какая досада! а я так надеялся… хотя нет, не надеялся.

> В конце концов, качество кода зависит не столько от ЯП,
> сколько от радиуса кривизны рук разработчика.

иншалла!

> Если C++ позволит разработчикам GCC
> избавиться от тонн boilerplate code, используя только необходимые им фичи C++,
> то почему бы и нет?

и сразу испортился.

может, если я повторю, то дойдёт? gcc больше нельзя собрать без компилятора C и компилятора C++ (нет, это *разные* языки, с *разными* компиляторами). в приличном обществе это называется «critical regression», и чинится в первую очередь. а у хипстеров — «прогресс», и не только не чинится, но усугубляется.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 14-Июн-14 23:28 
Тезис о магическом уменьшении сложности задачи от использования С++ был бы даже забавен, не будь так распространен.

>писать компиляторы чуть ли не на порядок сложнее, чем ОС

Смотря какие. Смотря как писать. Смотря с какими ОС сравнивать.


"Проект GCC удостоен премии ACM "
Отправлено burjui , 14-Июн-14 23:59 
> Тезис о магическом уменьшении сложности задачи от использования С++ был бы даже
> забавен, не будь так распространен.

Я не верю в подобные мифы. Однако C++ делает те же вещи, что и C, но лучше. Простейший пример:
const int X = 10;
const int Y = X; // C++ ok, C error!

> Смотря какие. Смотря как писать. Смотря с какими ОС сравнивать.

Хорошо, пусть будут G++ и Linux.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:06 
> Простейший пример

или такой:
char *c = malloc(64);
упс… wtf, c++?! are you nuts or what?!


"Проект GCC удостоен премии ACM "
Отправлено burjui , 15-Июн-14 00:12 
> или такой:
> char *c = malloc(64);
> упс… wtf, c++?! are you nuts or what?!

Во-первых, в C++ положено выделять память через new, который в курсе о типах данных. Во-вторых, malloc - часть стандартной библиотеки C, которая, напоминаю, написана на C для разработчиков на C. Вы вообще в курсе того, о чём рассуждаете, или мсье знает толк лишь в кукарекании?


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:25 
> Во-первых, в C++ положено выделять память через new

тогда malloc() должен быть запрещён к использованию в c++-коде. а если не запрещён, то мне совершенно положить на то, что там «положено». malloc() разрешён, для его использования не надо дополнительных флагов? отлично, пусть не ест мне мозги и работает так, как в си. не можете так сделать? разрешите, например, вызов malloc() только в коде, обёрнутом в extern «C» (да, я знаю, что оно не для этого; а почему?).

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

> Вы вообще в курсе того, о чём рассуждаете

конечно. а вот ты — не понимаешь вообще. но лезешь кукарекать.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:41 
> Во-первых, в C++ положено выделять память через new

Который есть довольно грязный хак [1] и признан вроде бы уже не рекомендованным, а вместо этого всем рекомендуется std::allocator? [2]

[1] http://www.scs.stanford.edu/~dm/home/papers/c++-new.html

[2] C++ Primer 4th edition, page 755:
> Modern C++ programs ordinarily ought to use the allocator class to allocate memory. It is safer and more flexible.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:43 
гыг. спасибо, не слежу за тамошними новостями. «классы для создания классов, делающих ваши классы ещё более классными».

"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:46 
Там всё красивше и красивше со временем.

http://en.cppreference.com/w/cpp/memory/scoped_allocator_ada...


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 01:38 
> Там всё красивше и красивше со временем.

остаётся надеяться (без толку, конечно), что однажды кто-то решиться сделать самое важное: выкинуть нафиг совместимость с прежними версиями языка.

впрочем, чего это я? кто-то уже решился, получился D.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 01:50 
С немного предсказуемым уровнем популярности. Как и все остальные кандидаты в "Си, только лучше", от Go и OCaml до ATS.

>Any sufficiently advanced technology
>is unkillable, even with fire. Even if you get the imperial space marines to H-bomb it from orbit, drop an asteroid on it, and bury the ashes at a crossroads on a night with no moon. It will come back, shake its head, regather its minions, and flatten you.
>“Advanced,” by the way, can be used in the sense that cancer can be considered advanced. “You’ve got an advanced and highly resistant case of everything-is-gonna-putrify-and-fall-off and nothing will ever be okay again, Version 1.0.”


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 02:03 
> С немного предсказуемым уровнем популярности.

да, со стабильно растущим. впрочем, лично мне это совершенно не важно: взаимодействие с legacy-библиотеками на си делается без проблем, стандартная библиотека весьма богатая, авторам платит пейцбук, так что они не должны думать, что будут завтра жрать. при этом я в общем согласен с тем, как и куда язык идёт (в отличие от того же go, от которого у меня изжога).

в общем, лично я на него перелез окончательно, и очень этим доволен. назад на си меня можно или физическим насилием пересадить, или заплатить много денег. а на цпп — ОЧЕНЬ-ОЧЕНЬ МНОГО денег.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 02:30 
>да, со стабильно растущим

Низкая база - несложно расти.

>в общем, лично я на него перелез окончательно, и очень этим доволен

Если писать постоянно на Си, имеет смысл, конечно. Только это нынче редко. Всё больше или как intermediate language, или для редких небольших кусочков. А в этом случае смысла большого нет что-то новое изучать.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 10:24 
> Если писать постоянно на Си, имеет смысл, конечно. Только это нынче редко.

а на чём сейчас модно-то? а то я опять все стильное и молодёжное пропустил.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 14:37 
Модно - наверное на Clojure.
А массово всё на том же - Python, Java, C#.

"Проект GCC удостоен премии ACM "
Отправлено Mural , 15-Июн-14 15:11 
Python мимо кассы

"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 15:12 
> Python мимо кассы

ещё как в кассу. и нодэ.жысы забыт.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 16:42 
Я думаю что на Javascript пишется на порядок меньше, а непропорциональное количество хайпа объясняется повышенной вокальностью писателей.

Кстати, о реальной жизни в разрезе С-С++ из USENIX 2001 года
>Another notable talk was by David Mazieres on a toolkit for user-level file systems. The toolkit, SFS, lets us write asynchronous RPC servers, e.g., user-level NFS daemons. Asynchronous RPC programming largely follows the continuation-passing style. The toolkit therefore relies on numerous C++ template hacks to create a closure (of a partially evaluated function), to capture continuations, and to do reference-counting-based automatic memory management. During the discussion, a person asked why such a helpful and needed toolkit as SFS hasn't been implemented before. David Mazieres replied that he first tried to write SFS in plain C. The complexity of memory management for closures and continuations was staggering. He gave up. It's only now, David Mazieres said, that C++ provides features such as partial template instantiation that make it possible to write memory management and continuation-handling hacks. This reply certainly begs a question of using a better language, with garbage collection, closures and continuations built in.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 16:44 
Хотя это конечно именно про "building a tectonically secure infrastructure for feeding billions of people".

"Проект GCC удостоен премии ACM "
Отправлено Аноним , 15-Июн-14 13:19 
> впрочем, чего это я? кто-то уже решился, получился D

кто-то ещё решился и получился Rust


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 13:26 
>> впрочем, чего это я? кто-то уже решился, получился D
> кто-то ещё решился и получился Rust

Rust пока только «получается». а D уже вполне «получился». кто не верит — может спросить у пейцбука.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:55 
Вообще он всё больше и больше становится LISP-ом, как и завещали мудрые предки в Greenspun's tenth rule. Но очень кривым, как они же и предостерегали. Так что если его современно и полно использовать, то выглядеть это начинает как-то примерно так:

>is like making biscuits. But the simple baking procedure is preceded by growing the wheat, which entails clearing the farmland, digging a well, defending it against the native hordes, establishing irrigation and a working agrarian economy, buying a bunch of fertilizer, plowing the field behind a great big smelly ox, planting the seeds, waiting all winter while the wolves howl outside your cabin, THEN (buried amongst all the templatified, exception-safe and const-driven madness) writing a kernel of meaningful code. Wait, what was I doing? Building a tectonically secure infrastructure for feeding billions of people, or just making biscuits for breakfast?  It’s hard to remember after all that epic bullshit.


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:24 
>> Тезис о магическом уменьшении сложности задачи от использования С++ был бы даже
>> забавен, не будь так распространен.
> Я не верю в подобные мифы. Однако C++ делает те же вещи,
> что и C, но лучше.

Некоторые лучше, некоторые хуже.
Дефиниции "хуже" и "лучше" также сильно различаются в зависимости от массы факторов.

> const int X = 10;
> const int Y = X; // C++ ok, C error!

Осталось объяснить в чем одно поведение лучше или хуже другого.

>> Смотря какие. Смотря как писать. Смотря с какими ОС сравнивать.
> Хорошо, пусть будут G++ и Linux.

А если это будут tcc и WindowsNT?


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 14-Июн-14 23:21 
Многие (не скажу что большинство, но многие) из старых девелоперов gcc - тоже за С++. И давно.

"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:04 
Такое тоже есть, конечно, и наблюдать это - не самое приятное ощущение, примерно как запущенный случай "седины в бороду, беса в ребро".

Но чаще всего имеется в виду некий "safe C++ subset", а не С++ со всеми bells & whistles. И чаще всего очень, очень safe.


"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:07 
> Но чаще всего имеется в виду некий "safe C++ subset"

без разницы. а что действительно имеет значение — это то, что теперь для сборки надо иметь два компилятора, а не один. потому что сишная часть gcc при помощи компилятора c++ тоже не собирается. они бы уж или трусы, или крестик, что ли…


"Проект GCC удостоен премии ACM "
Отправлено rob pike , 15-Июн-14 00:27 
Над такими вещами по-моему там вообще никто не задумывается.

"Проект GCC удостоен премии ACM "
Отправлено arisu , 15-Июн-14 00:35 
> Над такими вещами по-моему там вообще никто не задумывается.

у меня тоже есть такое подозрение. и это очень печально, я считаю.


"Проект GCC удостоен премии ACM "
Отправлено Аноним , 18-Июн-14 07:29 
Ага, как ты понимаешь что у тебя слишком мало мозгов и много комплексов чтобы понять почему профессионалы принимают те или иные решения, они сразу записываются в "хипстоту".

"Проект GCC удостоен премии ACM "
Отправлено arisu , 18-Июн-14 14:09 
а вот и подхипстор прибежал. от хипстеров отличается тем, что те хоть глупости, но недают, а подхипстор даже на это не способен. он только громко кричит — в надежде, что его заметят и посчитают не хуже остальных хипстеров.